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__, }, ], diff --git a/package.json b/package.json index 376b660c..0dc5266c 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ } }, "resolutions": { - "uglify-es": "3.3.7", "webpack-sources": "1.0.1" }, "dependencies": { @@ -107,6 +106,9 @@ "tippy.js": "^2.5.2", "uncontrollable": "^6.0.0", "uuid": "^3.2.1", + "winston": "^3.0.0", + "winston-daily-rotate-file": "^3.2.3", + "winston-transport": "^4.2.0", "ws": "^5.1.1", "zxcvbn": "^4.4.2" }, @@ -157,7 +159,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/scripts/compile.sh b/scripts/compile.sh index c91606cd..3486c2b9 100644 --- a/scripts/compile.sh +++ b/scripts/compile.sh @@ -2,11 +2,10 @@ set -e -GIT_REVISION=`git rev-parse HEAD` -SENTRY_URL=https://db8f5b9b021048d4a401f045371701cb@sentry.io/274561 -NODE_ENV=production +export GIT_REVISION=`git rev-parse HEAD` +export SENTRY_URL=https://db8f5b9b021048d4a401f045371701cb@sentry.io/274561 rm -rf ./node_modules/.cache dist JOBS=max yarn -yarn run webpack-cli --mode production --config webpack/internals.config.js -yarn run electron-webpack +NODE_ENV=production yarn run webpack-cli --mode production --config webpack/internals.config.js +NODE_ENV=production yarn run electron-webpack diff --git a/scripts/postinstall.sh b/scripts/postinstall.sh index 5c919a72..fe39dd1f 100755 --- a/scripts/postinstall.sh +++ b/scripts/postinstall.sh @@ -18,7 +18,7 @@ function INSTALL_FLOW_TYPED { echo "> Installing flow-typed defs" flow-typed install -s --overwrite echo "> Removing broken flow definitions" - rm flow-typed/npm/{react-i18next_v7.x.x.js,styled-components_v3.x.x.js,redux_*} + rm flow-typed/npm/{react-i18next_v7.x.x.js,styled-components_v3.x.x.js,redux_*,winston*} SET_HASH 'flow-typed' $LATEST_FLOW_TYPED_COMMIT_HASH fi } 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/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 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/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/commands/getAddress.js b/src/commands/getAddress.js index fd4c3a73..d4a73ae9 100644 --- a/src/commands/getAddress.js +++ b/src/commands/getAddress.js @@ -6,6 +6,11 @@ import { fromPromise } from 'rxjs/observable/fromPromise' import { withDevice } from 'helpers/deviceAccess' import getAddressForCurrency from 'helpers/getAddressForCurrency' +import { createCustomErrorClass } from 'helpers/errors' + +const DeviceAppVerifyNotSupported = createCustomErrorClass('DeviceAppVerifyNotSupported') +const UserRefusedAddress = createCustomErrorClass('UserRefusedAddress') + type Input = { currencyId: string, devicePath: string, @@ -26,7 +31,17 @@ const cmd: Command = createCommand( fromPromise( withDevice(devicePath)(transport => getAddressForCurrency(transport, getCryptoCurrencyById(currencyId), path, options), - ), + ).catch(e => { + if (e && e.name === 'TransportStatusError') { + if (e.statusCode === 0x6b00 && options.verify) { + throw new DeviceAppVerifyNotSupported() + } + if (e.statusCode === 0x6985) { + throw new UserRefusedAddress() + } + } + throw e + }), ), ) 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/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} > { {'app is installed to receive funds.'} - - diff --git a/src/components/DeviceInteraction/DeviceInteractionStep.js b/src/components/DeviceInteraction/DeviceInteractionStep.js index 9b77fb4a..3ba0fb8a 100644 --- a/src/components/DeviceInteraction/DeviceInteractionStep.js +++ b/src/components/DeviceInteraction/DeviceInteractionStep.js @@ -177,10 +177,10 @@ class DeviceInteractionStep extends PureComponent< isPrecedentActive={isPrecedentActive} isError={isError} > - {step.icon} + {step.icon} {title && ( - + {title} )} diff --git a/src/components/DeviceInteraction/components.js b/src/components/DeviceInteraction/components.js index 3477110a..10a6bcb3 100644 --- a/src/components/DeviceInteraction/components.js +++ b/src/components/DeviceInteraction/components.js @@ -27,7 +27,7 @@ export const DeviceInteractionStepContainer = styled(Box).attrs({ min-height: 80px; border: 1px solid ${p => p.theme.colors.fog}; border-color: ${p => - p.isError ? p.theme.colors.alertRed : p.isActive && !p.isFinished ? p.theme.colors.wallet : ''}; + p.isError ? p.theme.colors.alertRed : p.isActive || p.isSuccess ? p.theme.colors.wallet : ''}; border-top-color: ${p => (p.isFirst || p.isActive ? '' : 'transparent')}; border-bottom-color: ${p => (p.isPrecedentActive ? 'transparent' : '')}; border-bottom-left-radius: ${p => (p.isLast ? `${radii[1]}px` : 0)}; @@ -42,8 +42,22 @@ export const DeviceInteractionStepContainer = styled(Box).attrs({ : 'none'}; ` -export const IconContainer = ({ children }: { children: any }) => ( - +export const IconContainer = ({ + children, + isTransparent, +}: { + children: any, + isTransparent: boolean, +}) => ( + {children} ) @@ -58,10 +72,10 @@ const SpinnerContainerWrapper = styled.div` display: flex; align-items: center; justify-content: center; - transition: 350ms cubic-bezier(0.62, 0.28, 0.39, 0.94); + transition: 300ms cubic-bezier(0.62, 0.28, 0.39, 0.94); transition-property: transform opacity; opacity: ${p => (p.isVisible ? 1 : 0)}; - transform: translate3d(0, ${p => (!p.isVisible ? -40 : 0)}px, 0); + transform: translate3d(0, ${p => (!p.isVisible ? -20 : 0)}px, 0); ` export const SpinnerContainer = ({ isVisible }: { isVisible: boolean }) => ( @@ -72,7 +86,7 @@ export const SpinnerContainer = ({ isVisible }: { isVisible: boolean }) => ( const SuccessContainerWrapper = styled(SpinnerContainerWrapper)` color: ${p => p.theme.colors.wallet}; - transform: translate3d(0, ${p => (!p.isVisible ? 40 : 0)}px, 0); + transform: translate3d(0, ${p => (!p.isVisible ? 20 : 0)}px, 0); ` export const SuccessContainer = ({ isVisible }: { isVisible: boolean }) => ( @@ -83,7 +97,7 @@ export const SuccessContainer = ({ isVisible }: { isVisible: boolean }) => ( const ErrorContainerWrapper = styled(SpinnerContainerWrapper)` color: ${p => p.theme.colors.alertRed}; - transform: translate3d(0, ${p => (!p.isVisible ? 40 : 0)}px, 0); + transform: translate3d(0, ${p => (!p.isVisible ? 20 : 0)}px, 0); ` export const ErrorContainer = ({ isVisible }: { isVisible: boolean }) => ( diff --git a/src/components/DeviceInteraction/stories.js b/src/components/DeviceInteraction/stories.js index 2ae99f16..13feab77 100644 --- a/src/components/DeviceInteraction/stories.js +++ b/src/components/DeviceInteraction/stories.js @@ -22,7 +22,7 @@ const MockIcon = styled.div` border-radius: 50%; ` -const mockIcon = +const mockIcon = class Wrapper extends React.Component { _ref = null @@ -37,11 +37,18 @@ class Wrapper extends React.Component { shouldRenderRetry ref={n => (this._ref = n)} steps={[ + { + id: 'deviceOpen', + title: ({ deviceConnect: device }) => + `Open the Bitcoin application on your ${device ? `${device.name} ` : ''}device`, + desc: 'To be able to retriev your Bitcoins', + icon: mockIcon, + run: () => new Promise(resolve => setTimeout(resolve, 1 * 1000)), + }, { id: 'deviceConnect', title: 'Connect your device', - icon: , - desc: 'If you dont connect your device, we wont be able to read on it', + icon: , render: ({ onSuccess, onFail }) => ( @@ -58,14 +65,6 @@ class Wrapper extends React.Component { ), }, - { - id: 'deviceOpen', - title: ({ deviceConnect: device }) => - `Open the Bitcoin application on your ${device ? `${device.name} ` : ''}device`, - desc: 'To be able to retriev your Bitcoins', - icon: mockIcon, - run: () => new Promise(resolve => setTimeout(resolve, 1 * 1000)), - }, { id: 'check', title: 'Checking if all is alright...', 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/EnsureDeviceApp.js b/src/components/EnsureDeviceApp.js index 7685c77c..23385b67 100644 --- a/src/components/EnsureDeviceApp.js +++ b/src/components/EnsureDeviceApp.js @@ -27,7 +27,7 @@ import { getCurrentDevice } from 'reducers/devices' export const WrongAppOpened = createCustomErrorClass('WrongAppOpened') export const WrongDeviceForAccount = createCustomErrorClass('WrongDeviceForAccount') -const usbIcon = +const usbIcon = const Bold = props => const mapStateToProps = state => ({ @@ -107,7 +107,7 @@ class EnsureDeviceApp extends Component<{ { id: 'address', title: this.renderOpenAppTitle, - icon: Icon ? : null, + icon: Icon ? : null, run: this.openAppInteractionHandler, }, ]} diff --git a/src/components/ExportLogsBtn.js b/src/components/ExportLogsBtn.js index 22291d90..389538ea 100644 --- a/src/components/ExportLogsBtn.js +++ b/src/components/ExportLogsBtn.js @@ -5,58 +5,37 @@ import fs from 'fs' import { webFrame, remote } from 'electron' import React, { Component } from 'react' import { translate } from 'react-i18next' -import { connect } from 'react-redux' import KeyHandler from 'react-key-handler' -import { createStructuredSelector, createSelector } from 'reselect' -import { accountsSelector, encodeAccountsModel } from 'reducers/accounts' -import { storeSelector as settingsSelector } from 'reducers/settings' +import { getCurrentLogFile } from 'helpers/resolveLogsDirectory' import Button from './base/Button' -const mapStateToProps = createStructuredSelector({ - accounts: createSelector(accountsSelector, encodeAccountsModel), - settings: settingsSelector, -}) - class ExportLogsBtn extends Component<{ t: *, - settings: ?*, - accounts: ?*, hookToShortcut?: boolean, }> { handleExportLogs = () => { - const { accounts, settings } = this.props - const logs = logger.exportLogs() + const srcLogFile = getCurrentLogFile() const resourceUsage = webFrame.getResourceUsage() - const report = { + logger.log('exportLogsMeta', { resourceUsage, - logs, - accounts, - settings, - date: new Date(), release: __APP_VERSION__, git_commit: __GIT_REVISION__, environment: __DEV__ ? 'development' : 'production', - } - console.log(report) // eslint-disable-line no-console - const reportJSON = JSON.stringify(report) + }) const path = remote.dialog.showSaveDialog({ title: 'Export logs', defaultPath: `ledgerlive-export-${moment().format( 'YYYY.MM.DD-HH.mm.ss', - )}-${__GIT_REVISION__ || 'unversionned'}.json`, + )}-${__GIT_REVISION__ || 'unversionned'}.log`, filters: [ { name: 'All Files', - extensions: ['json'], + extensions: ['log'], }, ], }) if (path) { - fs.writeFile(path, reportJSON, err => { - if (err) { - logger.error(err) - } - }) + fs.createReadStream(srcLogFile).pipe(fs.createWriteStream(path)) } } @@ -71,17 +50,11 @@ class ExportLogsBtn extends Component<{ return hookToShortcut ? ( ) : ( - ) } } -const WithAppData = connect(mapStateToProps)(ExportLogsBtn) -const WithoutAppData = ExportLogsBtn - -const ExportLogsBtnDispatcher = ({ withAppData, ...rest }: *) => - withAppData ? : - -export default translate()(ExportLogsBtnDispatcher) +export default translate()(ExportLogsBtn) 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< (item ? item.name : '')} + renderSelected={item => item && item.name} + options={fiats} + value={cvOption} + /> + + ) + } +} + +export default connect( + createStructuredSelector({ + counterValueCurrency: counterValueCurrencySelector, + }), + { setCounterValue }, +)(CounterValueSelect) diff --git a/src/components/SettingsPage/DevModeButton.js b/src/components/SettingsPage/DevModeButton.js new file mode 100644 index 00000000..8e53a2d1 --- /dev/null +++ b/src/components/SettingsPage/DevModeButton.js @@ -0,0 +1,39 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { setDeveloperMode } from 'actions/settings' +import { developerModeSelector } from 'reducers/settings' +import Track from 'analytics/Track' +import Switch from 'components/base/Switch' + +const mapStateToProps = createStructuredSelector({ + developerMode: developerModeSelector, +}) + +const mapDispatchToProps = { + setDeveloperMode, +} + +type Props = { + developerMode: boolean, + setDeveloperMode: boolean => void, +} + +class DevModeButton extends PureComponent { + render() { + const { developerMode, setDeveloperMode } = this.props + return ( + + + + + ) + } +} + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(DevModeButton) diff --git a/src/components/SettingsPage/DisablePasswordButton.js b/src/components/SettingsPage/DisablePasswordButton.js new file mode 100644 index 00000000..7c397c17 --- /dev/null +++ b/src/components/SettingsPage/DisablePasswordButton.js @@ -0,0 +1,133 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { translate } from 'react-i18next' +import type { T } from 'types/common' +import { createStructuredSelector } from 'reselect' +import bcrypt from 'bcryptjs' +import { setEncryptionKey } from 'helpers/db' +import { cleanAccountsCache } from 'actions/accounts' +import { saveSettings } from 'actions/settings' +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 Switch from 'components/base/Switch' +import Box from 'components/base/Box' +import Button from 'components/base/Button' +import PasswordModal from './PasswordModal' +import DisablePasswordModal from './DisablePasswordModal' + +const mapStateToProps = createStructuredSelector({ + // FIXME in future we should use dedicated password selector and a savePassword action (you don't know the shape of settings) + settings: storeSelector, +}) + +const mapDispatchToProps = { + unlock, + cleanAccountsCache, + saveSettings, +} + +type Props = { + t: T, + unlock: () => void, + settings: SettingsState, + saveSettings: Function, +} + +type State = { + isPasswordModalOpened: boolean, + isDisablePasswordModalOpened: boolean, +} + +class DisablePasswordButton extends PureComponent { + state = { + isPasswordModalOpened: false, + isDisablePasswordModalOpened: 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() + }) + } + + handleOpenPasswordModal = () => this.setState({ isPasswordModalOpened: true }) + handleClosePasswordModal = () => this.setState({ isPasswordModalOpened: false }) + handleDisablePassowrd = () => this.setState({ isDisablePasswordModalOpened: true }) + handleCloseDisablePasswordModal = () => this.setState({ isDisablePasswordModalOpened: 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() + } + } + + render() { + const { t, settings } = this.props + const { isDisablePasswordModalOpened, isPasswordModalOpened } = this.state + const isPasswordEnabled = settings.password.isEnabled === true + return ( + + + + + {isPasswordEnabled && ( + + )} + + + + + + + + ) + } +} + +export default translate()( + connect( + mapStateToProps, + mapDispatchToProps, + )(DisablePasswordButton), +) 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 { - + ) + } +} + +export default translate()( + connect( + null, + mapDispatchToProps, + )(ReleaseNotesButton), +) diff --git a/src/components/SettingsPage/ResetButton.js b/src/components/SettingsPage/ResetButton.js new file mode 100644 index 00000000..9e8e5e0c --- /dev/null +++ b/src/components/SettingsPage/ResetButton.js @@ -0,0 +1,82 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import styled from 'styled-components' +import { remote } from 'electron' +import { translate } from 'react-i18next' +import type { T } from 'types/common' +import hardReset from 'helpers/hardReset' +import Box from 'components/base/Box' +import Button from 'components/base/Button' +import { ConfirmModal } from 'components/base/Modal' +import IconTriangleWarning from 'icons/TriangleWarning' + +type Props = { + t: T, +} + +type State = { + opened: boolean, + pending: boolean, +} + +class ResetButton extends PureComponent { + state = { + opened: false, + pending: false, + } + + open = () => this.setState({ opened: true }) + close = () => this.setState({ opened: false }) + + action = async () => { + this.setState({ pending: true }) + try { + await hardReset() + remote.getCurrentWindow().webContents.reloadIgnoringCache() + } catch (err) { + this.setState({ pending: false }) + } + } + + render() { + const { t } = this.props + const { opened, pending } = this.state + return ( + + + + ( + // FIXME why not pass in directly the DOM 🤷🏻 + + + + )} + /> + + ) + } +} + +export const IconWrapperCircle = styled(Box)` + width: 50px; + height: 50px; + border-radius: 50%; + background: #ea2e4919; + align-items: center; + justify-content: center; +` + +export default translate()(ResetButton) diff --git a/src/components/SettingsPage/SentryLogsButton.js b/src/components/SettingsPage/SentryLogsButton.js new file mode 100644 index 00000000..5260b9a0 --- /dev/null +++ b/src/components/SettingsPage/SentryLogsButton.js @@ -0,0 +1,39 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { setSentryLogs } from 'actions/settings' +import { sentryLogsSelector } from 'reducers/settings' +import Track from 'analytics/Track' +import Switch from 'components/base/Switch' + +const mapStateToProps = createStructuredSelector({ + sentryLogs: sentryLogsSelector, +}) + +const mapDispatchToProps = { + setSentryLogs, +} + +type Props = { + sentryLogs: boolean, + setSentryLogs: boolean => void, +} + +class SentryLogsButton extends PureComponent { + render() { + const { sentryLogs, setSentryLogs } = this.props + return ( + + + + + ) + } +} + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(SentryLogsButton) diff --git a/src/components/SettingsPage/ShareAnalyticsButton.js b/src/components/SettingsPage/ShareAnalyticsButton.js new file mode 100644 index 00000000..03aa018b --- /dev/null +++ b/src/components/SettingsPage/ShareAnalyticsButton.js @@ -0,0 +1,38 @@ +// @flow +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { setShareAnalytics } from 'actions/settings' +import { shareAnalyticsSelector } from 'reducers/settings' +import Track from 'analytics/Track' +import Switch from 'components/base/Switch' + +const mapStateToProps = createStructuredSelector({ + shareAnalytics: shareAnalyticsSelector, +}) + +const mapDispatchToProps = { + setShareAnalytics, +} + +type Props = { + shareAnalytics: boolean, + setShareAnalytics: boolean => void, +} + +class ShareAnalytics extends PureComponent { + render() { + const { shareAnalytics, setShareAnalytics } = this.props + return ( + + + + + ) + } +} + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(ShareAnalytics) diff --git a/src/components/SettingsPage/index.js b/src/components/SettingsPage/index.js index 481716cb..51faedbf 100644 --- a/src/components/SettingsPage/index.js +++ b/src/components/SettingsPage/index.js @@ -4,42 +4,26 @@ import React, { PureComponent } from 'react' import { compose } from 'redux' import { connect } from 'react-redux' import { translate } from 'react-i18next' +import type { T } from 'types/common' import { Switch, Route } from 'react-router' - -import type { SettingsState as Settings } from 'reducers/settings' import type { RouterHistory, Match, Location } from 'react-router' -import type { T } from 'types/common' -import type { SaveSettings } from 'actions/settings' - -import { saveSettings } from 'actions/settings' +import { EXPERIMENTAL_TOOLS_SETTINGS } from 'config/constants' import { accountsSelector } from 'reducers/accounts' - 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' -// FIXME this component should not be connected. each single tab should be. -// maybe even each single settings row should be connected!! const mapStateToProps = state => ({ - settings: state.settings, accountsCount: accountsSelector(state).length, }) -const mapDispatchToProps = { - saveSettings, -} - type Props = { history: RouterHistory, - i18n: Object, location: Location, match: Match, - saveSettings: SaveSettings, - settings: Settings, accountsCount: number, t: T, } @@ -56,25 +40,28 @@ class SettingsPage extends PureComponent { { key: 'display', label: props.t('app:settings.tabs.display'), - value: p => () => , + value: SectionDisplay, }, { key: 'currencies', label: props.t('app:settings.tabs.currencies'), - value: p => () => , - }, - { - key: 'profile', - label: props.t('app:settings.tabs.profile'), - value: p => () => , + value: SectionCurrencies, }, { key: 'about', label: props.t('app:settings.tabs.about'), - value: p => () => , + value: SectionAbout, }, ] + if (EXPERIMENTAL_TOOLS_SETTINGS) { + this._items.push({ + key: 'tool', + label: 'Experimental Tools', + value: SectionTools, + }) + } + this.state = { tab: this.getCurrentTab({ url: props.match.url, pathname: props.location.pathname }), } @@ -105,14 +92,8 @@ class SettingsPage extends PureComponent { } render() { - const { match, settings, t, i18n, saveSettings, accountsCount } = this.props + const { match, t, accountsCount } = this.props const { tab } = this.state - const props = { - t, - settings, - saveSettings, - i18n, - } const defaultItem = this._items[0] const items = this._items.filter(item => item.key !== 'currencies' || accountsCount > 0) @@ -124,10 +105,8 @@ class SettingsPage extends PureComponent { - {items.map(i => ( - - ))} - + {items.map(i => )} + ) @@ -135,9 +114,6 @@ class SettingsPage extends PureComponent { } export default compose( - connect( - mapStateToProps, - mapDispatchToProps, - ), + connect(mapStateToProps), translate(), )(SettingsPage) diff --git a/src/components/SettingsPage/sections/About.js b/src/components/SettingsPage/sections/About.js index 69516126..460d56eb 100644 --- a/src/components/SettingsPage/sections/About.js +++ b/src/components/SettingsPage/sections/About.js @@ -1,20 +1,17 @@ // @flow -/* eslint-disable react/no-multi-comp */ import React, { PureComponent } from 'react' -import { shell } from 'electron' -import { connect } from 'react-redux' - +import { translate } from 'react-i18next' import type { T } from 'types/common' - +import TrackPage from 'analytics/TrackPage' import IconHelp from 'icons/Help' -import IconExternalLink from 'icons/ExternalLink' -import Button from 'components/base/Button' -import { Tabbable } from 'components/base/Box' +import resolveLogsDirectory from 'helpers/resolveLogsDirectory' -import { openModal } from 'reducers/modals' -import { MODAL_RELEASES_NOTES } from 'config/constants' -import TrackPage from 'analytics/TrackPage' +import ExportLogsBtn from 'components/ExportLogsBtn' +import CleanButton from '../CleanButton' +import ResetButton from '../ResetButton' +import ReleaseNotesButton from '../ReleaseNotesButton' +import AboutRowItem from '../AboutRowItem' import { SettingsSection as Section, @@ -25,90 +22,62 @@ import { type Props = { t: T, - openModal: Function, -} - -const mapDispatchToProps = { - openModal, } -const ITEMS = [ - { - key: 'faq', - title: t => t('app:settings.about.faq'), - desc: t => t('app:settings.about.faqDesc'), - url: 'https://support.ledgerwallet.com/hc/en-us', - }, - { - key: 'terms', - title: t => t('app:settings.about.terms'), - desc: t => t('app:settings.about.termsDesc'), - url: 'https://www.ledgerwallet.com/terms', - }, -] - class SectionAbout extends PureComponent { - handleOpenLink = (url: string) => shell.openExternal(url) - render() { - const { t, openModal } = this.props + const { t } = this.props const version = __APP_VERSION__ return (
+
} title={t('app:settings.tabs.about')} desc={t('app:settings.about.desc')} /> + - + + + + + + + + + + + - {ITEMS.map(item => ( - - ))} + + + +
) } } -class AboutRowItem extends PureComponent<{ - onClick: string => void, - url: string, - title: string, - desc: string, - url: string, -}> { - render() { - const { onClick, title, desc, url } = this.props - const boundOnClick = () => onClick(url) - return ( - - - - - - ) - } -} - -export default connect( - null, - mapDispatchToProps, -)(SectionAbout) +export default translate()(SectionAbout) diff --git a/src/components/SettingsPage/sections/Currencies.js b/src/components/SettingsPage/sections/Currencies.js index 9d75cdea..054ef95c 100644 --- a/src/components/SettingsPage/sections/Currencies.js +++ b/src/components/SettingsPage/sections/Currencies.js @@ -1,41 +1,25 @@ // @flow -// TODO refactoring: -// this component shouldn't accept the full settings object, actually it needs to be connected to nothing, -// it doesn't need saveSettings nor settings, instead, it just need to track selected Currency and delegate to 2 new components: -// - a new ConnectedSelectCurrency , that filters only the currency that comes from accounts (use the existing selector) -// - a new CurrencySettings component, that receives currency & will connect to the store to grab the relevant settings as well as everything it needs (counterValueCurrency), it also takes a saveCurrencySettings action (create if not existing) - import React, { PureComponent } from 'react' +import { translate } from 'react-i18next' import { connect } from 'react-redux' import { createStructuredSelector } from 'reselect' - import type { CryptoCurrency } from '@ledgerhq/live-common/lib/types' import type { T } from 'types/common' - -import { intermediaryCurrency, currencySettingsLocaleSelector } from 'reducers/settings' -import type { SettingsState } from 'reducers/settings' import { currenciesSelector } from 'reducers/accounts' -import { currencySettingsDefaults } from 'helpers/SettingsDefaults' - +import IconCurrencies from 'icons/Currencies' import TrackPage from 'analytics/TrackPage' import SelectCurrency from 'components/SelectCurrency' -import StepperNumber from 'components/base/StepperNumber' -import ExchangeSelect from 'components/SelectExchange' - -import IconCurrencies from 'icons/Currencies' +import CurrencyRows from './CurrencyRows' import { SettingsSection as Section, SettingsSectionHeader as Header, SettingsSectionBody as Body, - SettingsSectionRow as Row, } from '../SettingsSection' type Props = { currencies: CryptoCurrency[], - settings: SettingsState, - saveSettings: ($Shape) => void, t: T, } @@ -54,45 +38,10 @@ class TabCurrencies extends PureComponent { handleChangeCurrency = (currency: CryptoCurrency) => this.setState({ currency }) - handleChangeConfirmationsToSpend = (nb: number) => - this.updateCurrencySettings('confirmationsToSpend', nb) - - handleChangeConfirmationsNb = (nb: number) => this.updateCurrencySettings('confirmationsNb', nb) - - handleChangeExchange = exchange => - this.updateCurrencySettings('exchange', exchange ? exchange.id : null) - - updateCurrencySettings = (key: string, val: *) => { - // FIXME this really should be a dedicated action - const { settings, saveSettings } = this.props - const { currency } = this.state - const currencySettings = settings.currenciesSettings[currency.id] - let newCurrenciesSettings = [] - if (!currencySettings) { - newCurrenciesSettings = { - ...settings.currenciesSettings, - [currency.id]: { - [key]: val, - }, - } - } else { - newCurrenciesSettings = { - ...settings.currenciesSettings, - [currency.id]: { - ...currencySettings, - [key]: val, - }, - } - } - saveSettings({ currenciesSettings: newCurrenciesSettings }) - } - render() { const { currency } = this.state if (!currency) return null // this case means there is no accounts - const { t, currencies, settings } = this.props - const { confirmationsNb, exchange } = currencySettingsLocaleSelector(settings, currency) - const defaults = currencySettingsDefaults(currency) + const { t, currencies } = this.props return (
@@ -101,7 +50,6 @@ class TabCurrencies extends PureComponent { title={t('app:settings.tabs.currencies')} desc={t('app:settings.currencies.desc')} renderRight={ - // TODO this should only be the subset of currencies of the app { } /> - {currency !== intermediaryCurrency ? ( - - - - ) : null} - {defaults.confirmationsNb ? ( - - - - ) : null} +
) } } -export default connect(mapStateToProps)(TabCurrencies) +export default translate()(connect(mapStateToProps)(TabCurrencies)) diff --git a/src/components/SettingsPage/sections/CurrencyRows.js b/src/components/SettingsPage/sections/CurrencyRows.js new file mode 100644 index 00000000..d6cb937e --- /dev/null +++ b/src/components/SettingsPage/sections/CurrencyRows.js @@ -0,0 +1,114 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { translate } from 'react-i18next' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import type { CryptoCurrency } from '@ledgerhq/live-common/lib/types' +import type { T } from 'types/common' +import { saveSettings } from 'actions/settings' +import { intermediaryCurrency, currencySettingsSelector, storeSelector } from 'reducers/settings' +import type { SettingsState, CurrencySettings } from 'reducers/settings' +import { currencySettingsDefaults } from 'helpers/SettingsDefaults' +import StepperNumber from 'components/base/StepperNumber' +import ExchangeSelect from 'components/SelectExchange' + +import { SettingsSectionRow as Row } from '../SettingsSection' + +type Props = { + t: T, + currency: CryptoCurrency, + currencySettings: CurrencySettings, + // FIXME: the stuff bellow to be to be gone! + settings: SettingsState, + saveSettings: ($Shape) => void, +} + +class CurrencyRows extends PureComponent { + handleChangeConfirmationsToSpend = (nb: number) => + this.updateCurrencySettings('confirmationsToSpend', nb) + + handleChangeConfirmationsNb = (nb: number) => this.updateCurrencySettings('confirmationsNb', nb) + + handleChangeExchange = (exchange: *) => + this.updateCurrencySettings('exchange', exchange ? exchange.id : null) + + updateCurrencySettings = (key: string, val: *) => { + // FIXME this really should be a dedicated action + const { settings, saveSettings, currency } = this.props + const currencySettings = settings.currenciesSettings[currency.id] + let newCurrenciesSettings = [] + if (!currencySettings) { + newCurrenciesSettings = { + ...settings.currenciesSettings, + [currency.id]: { + [key]: val, + }, + } + } else { + newCurrenciesSettings = { + ...settings.currenciesSettings, + [currency.id]: { + ...currencySettings, + [key]: val, + }, + } + } + saveSettings({ currenciesSettings: newCurrenciesSettings }) + } + + render() { + const { currency, t, currencySettings } = this.props + const { confirmationsNb, exchange } = currencySettings + const defaults = currencySettingsDefaults(currency) + return ( + + {currency !== intermediaryCurrency ? ( + + + + ) : null} + {defaults.confirmationsNb ? ( + + + + ) : null} + + ) + } +} + +export default translate()( + connect( + createStructuredSelector({ + currencySettings: currencySettingsSelector, + settings: storeSelector, + }), + { + saveSettings, + }, + )(CurrencyRows), +) diff --git a/src/components/SettingsPage/sections/Display.js b/src/components/SettingsPage/sections/Display.js index 123d5abc..76b4015d 100644 --- a/src/components/SettingsPage/sections/Display.js +++ b/src/components/SettingsPage/sections/Display.js @@ -1,26 +1,25 @@ // @flow import React, { PureComponent } from 'react' -import moment from 'moment' -import { listFiatCurrencies } from '@ledgerhq/live-common/lib/helpers/currencies' - -import { - intermediaryCurrency, - counterValueCurrencyLocalSelector, - counterValueExchangeLocalSelector, -} from 'reducers/settings' - -import type { SettingsState as Settings } from 'reducers/settings' +import { translate } from 'react-i18next' +import { connect } from 'react-redux' +import { createSelector } from 'reselect' +import { langAndRegionSelector, counterValueCurrencySelector } from 'reducers/settings' +import type { Currency } from '@ledgerhq/live-common/lib/types' import type { T } from 'types/common' +import { EXPERIMENTAL_MARKET_INDICATOR_SETTINGS } from 'config/constants' -import TrackPage from 'analytics/TrackPage' -import SelectExchange from 'components/SelectExchange' -import Select from 'components/base/Select' -import RadioGroup from 'components/base/RadioGroup' import IconDisplay from 'icons/Display' -import languageKeys from 'config/languages' - -import regionsByKey from 'helpers/regions.json' +import TrackPage from 'analytics/TrackPage' +import MarketIndicatorRadio from '../MarketIndicatorRadio' +import LanguageSelect from '../LanguageSelect' +import CounterValueSelect from '../CounterValueSelect' +import CounterValueExchangeSelect from '../CounterValueExchangeSelect' +import RegionSelect from '../RegionSelect' +import DisablePasswordButton from '../DisablePasswordButton' +import DevModeButton from '../DevModeButton' +import SentryLogsButton from '../SentryLogsButton' +import ShareAnalyticsButton from '../ShareAnalyticsButton' import { SettingsSection as Section, @@ -29,120 +28,15 @@ import { SettingsSectionRow as Row, } from '../SettingsSection' -const regions = Object.keys(regionsByKey).map(key => { - const [language, region] = key.split('-') - return { value: key, language, region, label: regionsByKey[key] } -}) - -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 = { t: T, - settings: Settings, - saveSettings: Function, - i18n: Object, -} - -type State = { - cachedMarketIndicator: string, - cachedLanguageKey: ?string, - cachedCounterValue: ?Object, - cachedRegion: ?string, + counterValueCurrency: Currency, + useSystem: boolean, } -class TabProfile extends PureComponent { - state = { - cachedMarketIndicator: this.props.settings.marketIndicator, - cachedLanguageKey: this.props.settings.language, - cachedCounterValue: fiats.find(fiat => fiat.fiat.code === this.props.settings.counterValue), - cachedRegion: this.props.settings.region, - } - - getMarketIndicators() { - const { t } = this.props - return [ - { - label: t('app:common.eastern'), - key: 'eastern', - }, - { - label: t('app:common.western'), - key: 'western', - }, - ] - } - - handleChangeCounterValue = (item: Object) => { - const { saveSettings } = this.props - this.setState({ cachedCounterValue: item.fiat }) - window.requestIdleCallback(() => { - saveSettings({ counterValue: item.fiat.code }) - }) - } - - handleChangeLanguage = ({ value: languageKey }: *) => { - const { i18n, saveSettings } = this.props - this.setState({ cachedLanguageKey: languageKey }) - window.requestIdleCallback(() => { - i18n.changeLanguage(languageKey) - moment.locale(languageKey) - saveSettings({ language: languageKey }) - }) - } - - handleChangeRegion = ({ region }: *) => { - const { saveSettings } = this.props - this.setState({ cachedRegion: region }) - window.requestIdleCallback(() => { - saveSettings({ region }) - }) - } - - handleChangeMarketIndicator = (item: Object) => { - const { saveSettings } = this.props - const marketIndicator = item.key - this.setState({ - cachedMarketIndicator: marketIndicator, - }) - window.requestIdleCallback(() => { - saveSettings({ marketIndicator }) - }) - } - - handleChangeExchange = (exchange: *) => - this.props.saveSettings({ counterValueExchange: exchange ? exchange.id : null }) - +class TabGeneral extends PureComponent { render() { - const { t, settings } = this.props - const { - cachedMarketIndicator, - cachedLanguageKey, - cachedCounterValue, - cachedRegion, - } = this.state - - const counterValueCurrency = counterValueCurrencyLocalSelector(settings) - const counterValueExchange = counterValueExchangeLocalSelector(settings) - - const languages = [{ value: null, label: t(`language:system`) }].concat( - languageKeys.map(key => ({ value: key, label: t(`language:${key}`) })), - ) - const regionsFiltered = regions.filter(({ language }) => cachedLanguageKey === language) - - const currentLanguage = languages.find(l => l.value === cachedLanguageKey) - const currentRegion = - regionsFiltered.find(({ region }) => cachedRegion === region) || regionsFiltered[0] - - const cvOption = cachedCounterValue - ? fiats.find(f => f.value === cachedCounterValue.value) - : null + const { t, useSystem, counterValueCurrency } = this.props return (
@@ -157,72 +51,64 @@ class TabProfile extends PureComponent { title={t('app:settings.display.counterValue')} desc={t('app:settings.display.counterValueDesc')} > - item && item.name} - value={currentLanguage} - options={languages} - /> + - {regionsFiltered.length === 0 ? null : ( + {useSystem ? null : ( - { render() { const { data, onClose, render } = this.props - return {render({ data, onClose })} + return render({ data, onClose }) } } 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', () => ( + +)) 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 diff --git a/src/components/base/Switch/index.js b/src/components/base/Switch/index.js new file mode 100644 index 00000000..3d6b9e07 --- /dev/null +++ b/src/components/base/Switch/index.js @@ -0,0 +1,53 @@ +// @flow + +import React from 'react' +import noop from 'lodash/noop' +import styled from 'styled-components' + +import { Tabbable } from 'components/base/Box' + +const Base = styled(Tabbable).attrs({ + bg: p => (p.isChecked ? 'wallet' : 'lightFog'), + horizontal: true, + align: 'center', +})` + backround: red; + width: 50px; + height: 26px; + border-radius: 13px; + transition: 250ms linear background-color; + cursor: pointer; + &:focus { + outline: none; + } +` + +const Ball = styled.div` + width: 20px; + height: 20px; + border-radius: 50%; + background: white; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2); + transition: 250ms ease-in-out transform; + transform: translate3d(${p => (p.isChecked ? '27px' : '3px')}, 0, 0); +` + +type Props = { + isChecked: boolean, + onChange?: Function, +} + +function Switch(props: Props) { + const { isChecked, onChange, ...p } = props + return ( + onChange && onChange(!isChecked)} {...p}> + + + ) +} + +Switch.defaultProps = { + onChange: noop, +} + +export default Switch diff --git a/src/components/base/Switch/stories.js b/src/components/base/Switch/stories.js new file mode 100644 index 00000000..670cfca8 --- /dev/null +++ b/src/components/base/Switch/stories.js @@ -0,0 +1,12 @@ +import React from 'react' +import { storiesOf } from '@storybook/react' +import { boolean } from '@storybook/addon-knobs' +import { action } from '@storybook/addon-actions' + +import Switch from 'components/base/Switch' + +const stories = storiesOf('Components/base', module) + +stories.add('Switch', () => ( + +)) 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/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/AddAccounts/index.js b/src/components/modals/AddAccounts/index.js index ba0388f8..8c5230f5 100644 --- a/src/components/modals/AddAccounts/index.js +++ b/src/components/modals/AddAccounts/index.js @@ -28,7 +28,7 @@ import { validateNameEdition } from 'helpers/accountName' import StepChooseCurrency, { StepChooseCurrencyFooter } from './steps/01-step-choose-currency' import StepConnectDevice, { StepConnectDeviceFooter } from './steps/02-step-connect-device' import StepImport, { StepImportFooter } from './steps/03-step-import' -import StepFinish from './steps/04-step-finish' +import StepFinish, { StepFinishFooter } from './steps/04-step-finish' const createSteps = ({ t }: { t: T }) => { const onBack = ({ transitionTo, resetScanState }: StepProps) => { @@ -64,7 +64,7 @@ const createSteps = ({ t }: { t: T }) => { id: 'finish', label: t('app:addAccounts.breadcrumb.finish'), component: StepFinish, - footer: null, + footer: StepFinishFooter, onBack: null, hideFooter: true, }, diff --git a/src/components/modals/AddAccounts/steps/04-step-finish.js b/src/components/modals/AddAccounts/steps/04-step-finish.js index 6f6e0470..77e410c7 100644 --- a/src/components/modals/AddAccounts/steps/04-step-finish.js +++ b/src/components/modals/AddAccounts/steps/04-step-finish.js @@ -1,32 +1,57 @@ // @flow -import React from 'react' +import React, { Fragment } from 'react' +import styled from 'styled-components' import TrackPage from 'analytics/TrackPage' import Box from 'components/base/Box' import Button from 'components/base/Button' -import IconCheckCircle from 'icons/CheckCircle' - +import IconCheckFull from 'icons/CheckFull' +import { CurrencyCircleIcon } from '../../../base/CurrencyBadge' import type { StepProps } from '../index' -function StepFinish({ onCloseModal, onGoStep1, t }: StepProps) { +const Title = styled(Box).attrs({ + ff: 'Museo Sans', + fontSize: 5, + mt: 2, + color: 'dark', +})` + text-align: center; +` + +const Text = styled(Box).attrs({ + ff: 'Open Sans', + fontSize: 4, + mt: 2, +})` + text-align: center; +` + +function StepFinish({ currency, t, checkedAccountsIds }: StepProps) { return ( - - - - {t('app:addAccounts.success')} - - - - + {currency ? ( + + + + + ) : null} + {t('app:addAccounts.success', { count: checkedAccountsIds.length })} + {t('app:addAccounts.successDescription', { count: checkedAccountsIds.length })} ) } export default StepFinish + +export const StepFinishFooter = ({ onCloseModal, onGoStep1, t }: StepProps) => ( + + + + +) diff --git a/src/components/modals/Debug.js b/src/components/modals/Debug.js index 22968053..bcd5284a 100644 --- a/src/components/modals/Debug.js +++ b/src/components/modals/Debug.js @@ -1,18 +1,23 @@ // @flow /* eslint-disable react/jsx-no-literals */ +import React, { Component } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' import { getCryptoCurrencyById } from '@ledgerhq/live-common/lib/helpers/currencies' import last from 'lodash/last' -import React, { Component } from 'react' import Modal, { ModalBody, ModalTitle, ModalContent } from 'components/base/Modal' +import { getCurrentDevice } from 'reducers/devices' import Button from 'components/base/Button' import Box from 'components/base/Box' import Input from 'components/base/Input' -import EnsureDevice from 'components/EnsureDevice' import { getDerivations } from 'helpers/derivations' import getAddress from 'commands/getAddress' import testInterval from 'commands/testInterval' import testCrash from 'commands/testCrash' import testApdu from 'commands/testApdu' +import ping from 'commands/ping' +import libcoreGetVersion from 'commands/libcoreGetVersion' +import SyncSkipUnderPriority from '../SyncSkipUnderPriority' class Debug extends Component<*, *> { 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) diff --git a/src/components/modals/Disclaimer.js b/src/components/modals/Disclaimer.js new file mode 100644 index 00000000..4ceaa006 --- /dev/null +++ b/src/components/modals/Disclaimer.js @@ -0,0 +1,48 @@ +// @flow + +import React, { PureComponent } from 'react' +import { translate } from 'react-i18next' + +import type { T } from 'types/common' + +import { MODAL_DISCLAIMER } from 'config/constants' + +import Modal, { ModalBody, ModalTitle, ModalContent, ModalFooter } from 'components/base/Modal' +import Button from 'components/base/Button' +import Box from 'components/base/Box' +import { HandShield } from 'components/WarnBox' + +type Props = { + t: T, +} + +class DisclaimerModal extends PureComponent { + render() { + const { t } = this.props + + return ( + ( + + {t('app:disclaimerModal.title')} + + + + +

{t('app:disclaimerModal.desc_1')}

+

{t('app:disclaimerModal.desc_2')}

+
+ + + +
+ )} + /> + ) + } +} + +export default translate()(DisclaimerModal) 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/Receive/index.js b/src/components/modals/Receive/index.js index bcdce22c..df3b6fb9 100644 --- a/src/components/modals/Receive/index.js +++ b/src/components/modals/Receive/index.js @@ -41,6 +41,7 @@ type State = { isAddressVerified: ?boolean, disabledSteps: number[], errorSteps: number[], + verifyAddressError: ?Error, } export type StepProps = DefaultStepProps & { @@ -49,12 +50,13 @@ export type StepProps = DefaultStepProps & { closeModal: void => void, isAppOpened: boolean, isAddressVerified: ?boolean, + verifyAddressError: ?Error, onRetry: void => void, onSkipConfirm: void => void, onResetSkip: void => void, onChangeAccount: (?Account) => void, onChangeAppOpened: boolean => void, - onChangeAddressVerified: (?boolean) => void, + onChangeAddressVerified: (?boolean, ?Error) => void, } const createSteps = ({ t }: { t: T }) => [ @@ -102,6 +104,7 @@ const INITIAL_STATE = { isAddressVerified: null, disabledSteps: [], errorSteps: [], + verifyAddressError: null, } class ReceiveModal extends PureComponent { @@ -114,7 +117,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] }) } @@ -127,16 +130,17 @@ class ReceiveModal extends PureComponent { handleStepChange = step => this.setState({ stepId: step.id }) handleChangeAccount = (account: ?Account) => this.setState({ account }) handleChangeAppOpened = (isAppOpened: boolean) => this.setState({ isAppOpened }) - handleChangeAddressVerified = (isAddressVerified: boolean) => { + handleChangeAddressVerified = (isAddressVerified: boolean, err: ?Error) => { if (isAddressVerified) { - this.setState({ isAddressVerified }) + this.setState({ isAddressVerified, verifyAddressError: err }) } else if (isAddressVerified === null) { - this.setState({ isAddressVerified: null, errorSteps: [] }) + this.setState({ isAddressVerified: null, errorSteps: [], verifyAddressError: err }) } else { const confirmStepIndex = this.STEPS.findIndex(step => step.id === 'confirm') if (confirmStepIndex > -1) { this.setState({ isAddressVerified, + verifyAddressError: err, errorSteps: [confirmStepIndex], }) } @@ -161,6 +165,7 @@ class ReceiveModal extends PureComponent { isAddressVerified, disabledSteps, errorSteps, + verifyAddressError, } = this.state const addtionnalProps = { @@ -168,6 +173,7 @@ class ReceiveModal extends PureComponent { account, isAppOpened, isAddressVerified, + verifyAddressError, closeModal: this.handleCloseModal, onRetry: this.handleRetry, onSkipConfirm: this.handleSkipConfirm, diff --git a/src/components/modals/Receive/steps/03-step-confirm-address.js b/src/components/modals/Receive/steps/03-step-confirm-address.js index debdc74a..1329881e 100644 --- a/src/components/modals/Receive/steps/03-step-confirm-address.js +++ b/src/components/modals/Receive/steps/03-step-confirm-address.js @@ -15,6 +15,7 @@ import CurrentAddressForAccount from 'components/CurrentAddressForAccount' import { WrongDeviceForAccount } from 'components/EnsureDeviceApp' import type { StepProps } from '../index' +import TranslatedError from '../../../TranslatedError' export default class StepConfirmAddress extends PureComponent { componentDidMount() { @@ -43,12 +44,12 @@ export default class StepConfirmAddress extends PureComponent { onChangeAddressVerified(true) transitionTo('receive') } catch (err) { - onChangeAddressVerified(false) + onChangeAddressVerified(false, err) } } render() { - const { t, device, account, isAddressVerified } = this.props + const { t, device, account, isAddressVerified, verifyAddressError } = this.props invariant(account, 'No account given') invariant(device, 'No device given') return ( @@ -56,8 +57,12 @@ export default class StepConfirmAddress extends PureComponent { {isAddressVerified === false ? ( - {t('app:receive.steps.confirmAddress.error.title')} - {t('app:receive.steps.confirmAddress.error.text')} + + <TranslatedError error={verifyAddressError} /> + + + + ) : ( 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; } ` 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/index.js b/src/components/modals/Send/index.js index 2f4bbafe..e78eaecf 100644 --- a/src/components/modals/Send/index.js +++ b/src/components/modals/Send/index.js @@ -44,6 +44,7 @@ type Props = { type State = { stepId: string, + openedFromAccount: boolean, account: ?Account, bridge: ?WalletBridge, transaction: ?Transaction, @@ -54,6 +55,7 @@ type State = { } export type StepProps = DefaultStepProps & { + openedFromAccount: boolean, device: ?Device, account: ?Account, bridge: ?WalletBridge, @@ -118,6 +120,7 @@ const mapDispatchToProps = { const INITIAL_STATE = { stepId: 'amount', amount: 0, + openedFromAccount: false, account: null, bridge: null, transaction: null, @@ -151,7 +154,12 @@ class SendModal extends PureComponent> { const account = (data && data.account) || accounts[0] const bridge = account ? getBridgeForCurrency(account.currency) : null const transaction = bridge ? bridge.createTransaction(account) : null - this.setState({ account, bridge, transaction }) + this.setState({ + openedFromAccount: !!(data && data.account), + account, + bridge, + transaction, + }) } } @@ -227,6 +235,7 @@ class SendModal extends PureComponent> { const { t, device, openModal } = this.props const { stepId, + openedFromAccount, account, isAppOpened, bridge, @@ -237,6 +246,7 @@ class SendModal extends PureComponent> { const addtionnalProps = { device, + openedFromAccount, account, bridge, transaction, diff --git a/src/components/modals/Send/steps/01-step-amount.js b/src/components/modals/Send/steps/01-step-amount.js index efa72337..3461a4d7 100644 --- a/src/components/modals/Send/steps/01-step-amount.js +++ b/src/components/modals/Send/steps/01-step-amount.js @@ -20,6 +20,7 @@ export default ({ t, account, bridge, + openedFromAccount, transaction, onChangeAccount, onChangeTransaction, @@ -35,14 +36,14 @@ export default ({ - + {account && bridge && transaction && ( {
- diff --git a/src/components/modals/index.js b/src/components/modals/index.js index 2f942504..adae65fd 100644 --- a/src/components/modals/index.js +++ b/src/components/modals/index.js @@ -5,3 +5,4 @@ export Receive from './Receive' export Send from './Send' export SettingsAccount from './SettingsAccount' export ReleaseNotes from './ReleaseNotes' +export Disclaimer from './Disclaimer' diff --git a/src/config/constants.js b/src/config/constants.js index 101731e4..b9a4b4ce 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) @@ -80,6 +81,10 @@ 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') +export const EXPERIMENTAL_MARKET_INDICATOR_SETTINGS = boolFromEnv( + 'EXPERIMENTAL_MARKET_INDICATOR_SETTINGS', +) // Other constants @@ -91,3 +96,6 @@ export const MODAL_RECEIVE = 'MODAL_RECEIVE' export const MODAL_SEND = 'MODAL_SEND' export const MODAL_SETTINGS_ACCOUNT = 'MODAL_SETTINGS_ACCOUNT' export const MODAL_RELEASES_NOTES = 'MODAL_RELEASES_NOTES' + +export const MODAL_DISCLAIMER = 'MODAL_DISCLAIMER' +export const MODAL_DISCLAIMER_DELAY = 1 * 1000 diff --git a/src/helpers/devices/getDeviceInfo.js b/src/helpers/devices/getDeviceInfo.js index c5d114a9..f133b43e 100644 --- a/src/helpers/devices/getDeviceInfo.js +++ b/src/helpers/devices/getDeviceInfo.js @@ -16,13 +16,6 @@ export type DeviceInfo = { fullVersion: string, } -// prettier-ignore -const DETECT_CLUBCOIN = [ - [0xe0, 0x04, 0x00, 0x00, Buffer.from([0x31, 0x10, 0x00, 0x02])], - [0xe0, 0x50, 0x00, 0x00, Buffer.from([0xe4, 0x6c, 0x4c, 0x71, 0x8b, 0xc8, 0x7f, 0xb7])], - [0xe0, 0x51, 0x80, 0x00, Buffer.from([0x41, 0x04, 0xc9, 0x8c, 0xa0, 0x99, 0x53, 0x47, 0x2b, 0x36, 0x06, 0x1e, 0x0e, 0x40, 0xc9, 0x3d, 0x50, 0x52, 0x34, 0x09, 0x0e, 0xfd, 0x74, 0xf1, 0xd7, 0xa2, 0x93, 0xe8, 0x28, 0x15, 0x9a, 0x97, 0x71, 0x1b, 0x33, 0xd1, 0x8a, 0xfc, 0x17, 0xad, 0x15, 0x6e, 0xae, 0xd9, 0x9c, 0xf4, 0x3b, 0x20, 0xe1, 0x5d, 0x64, 0xaf, 0x39, 0xa5, 0x51, 0x3b, 0x4e, 0x3c, 0x5f, 0x43, 0x17, 0xe6, 0x42, 0x70, 0x2f, 0x05, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xf1, 0xd2, 0xb8, 0x34, 0x99, 0x4a, 0x0c, 0x1f, 0x25, 0xea, 0x20, 0xcf, 0x33, 0xe3, 0x2b, 0xd0, 0x6b, 0xcf, 0x7c, 0x42, 0x4a, 0x02, 0xee, 0xe8, 0xf6, 0x96, 0x99, 0x20, 0xe1, 0xe8, 0xc2, 0xb3, 0x02, 0x20, 0x63, 0x2d, 0x19, 0xbd, 0x30, 0xab, 0x20, 0x76, 0x18, 0x78, 0x78, 0xae, 0xaa, 0x0f, 0x4d, 0x48, 0x04, 0x01, 0x32, 0x79, 0xd0, 0x16, 0xde, 0xca, 0x66, 0x93, 0xf3, 0x7b, 0x4e, 0x50, 0x7f, 0x43])], -] - const PROVIDERS = { '': 1, das: 2, @@ -32,19 +25,8 @@ const PROVIDERS = { export default async (transport: Transport<*>): Promise => { const res = await getFirmwareInfo(transport) - let { seVersion } = res + const { seVersion } = res const { targetId, mcuVersion, flags } = res - if (seVersion === '1.2') { - try { - for (let i = 0; i < DETECT_CLUBCOIN.length; i++) { - const instructions = DETECT_CLUBCOIN[i] - await transport.send(...instructions) - } - seVersion = '1.2.0-club' - } catch (e) { - seVersion = '1.2.0' - } - } const parsedVersion = seVersion.match(/([0-9]+.[0-9])+(.[0-9]+)?((?!-osu)-([a-z]+))?(-osu)?/) || [] const isOSU = typeof parsedVersion[5] !== 'undefined' 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/helpers/init-libcore.js b/src/helpers/init-libcore.js index 70e3e632..3819333f 100644 --- a/src/helpers/init-libcore.js +++ b/src/helpers/init-libcore.js @@ -122,7 +122,7 @@ const NJSLogPrinter = new lib.NJSLogPrinter({ printWarning: message => logger.libcore('Warning', message), printApdu: message => logger.libcore('Apdu', message), printCriticalError: message => logger.libcore('CriticalError', message), - getContext: () => NJSThreadDispatcher.getMainExecutionContext(), + getContext: () => new lib.NJSExecutionContext(NJSExecutionContextImpl), }) const NJSRandomNumberGenerator = new lib.NJSRandomNumberGenerator({ diff --git a/src/helpers/resolveLogsDirectory.js b/src/helpers/resolveLogsDirectory.js new file mode 100644 index 00000000..380fcb8e --- /dev/null +++ b/src/helpers/resolveLogsDirectory.js @@ -0,0 +1,30 @@ +// @flow + +import path from 'path' +import moment from 'moment' + +const resolveLogsDirectory = () => { + const { LEDGER_LOGS_DIRECTORY } = process.env + if (LEDGER_LOGS_DIRECTORY) return LEDGER_LOGS_DIRECTORY + const electron = require('electron') + return path.resolve((electron.app || electron.remote.app).getPath('userData'), 'logs') +} + +export default resolveLogsDirectory + +export const RotatingLogFileParameters = { + filename: 'application-%DATE%.log', + datePattern: 'YYYY-MM-DD', + zippedArchive: true, + maxSize: '20m', + maxFiles: '14d', +} + +export const getCurrentLogFile = () => + path.resolve( + resolveLogsDirectory(), + RotatingLogFileParameters.filename.replace( + '%DATE%', + moment().format(RotatingLogFileParameters.datePattern), + ), + ) diff --git a/src/icons/GenuineCheck.js b/src/icons/GenuineCheck.js new file mode 100644 index 00000000..791c0ff4 --- /dev/null +++ b/src/icons/GenuineCheck.js @@ -0,0 +1,32 @@ +// @flow + +import React, { Fragment } from 'react' + +const path = ( + + + + +) + +export default ({ size, ...p }: { size: number }) => ( + + {path} + +) diff --git a/src/icons/Home.js b/src/icons/Home.js index 14ab4f05..cc38981f 100644 --- a/src/icons/Home.js +++ b/src/icons/Home.js @@ -1,16 +1,32 @@ // @flow -import React from 'react' +import React, { Fragment } from 'react' const path = ( - + + + + ) export default ({ size, ...p }: { size: number }) => ( - + {path} ) 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 = ( ) diff --git a/src/icons/Usb.js b/src/icons/Usb.js index 728431ad..45be58c8 100644 --- a/src/icons/Usb.js +++ b/src/icons/Usb.js @@ -4,15 +4,22 @@ import React from 'react' const group = ( - - - - + + ) export default ({ size, ...p }: { size: number }) => ( - + {group} ) 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; + } + 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: @@ -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. diff --git a/static/i18n/fr/app.yml b/static/i18n/fr/app.yml index 87d94577..aa97ce6f 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}} @@ -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: @@ -136,7 +136,7 @@ emptyState: installApp: Open Manager exchange: title: Exchanges - desc: Try a selection of exchange services offered by our sponsors + desc: Try a few exchange services we've selected for you visitWebsite: Visit website coinhouse: 'Coinhouse is a trusted platform for individuals and institutional investors looking to analyze, acquire, sell and securely store crypto assets.' changelly: 'Changelly is a popular instant crypto asset exchange with 100+ coins and tokens listed.' @@ -160,7 +160,10 @@ addAccounts: newAccount: New account legacyAccount: '{{accountName}} (legacy)' noAccountToImport: No existing {{currencyName}} accounts to add - success: Account added to your portfolio + success: Account successfully added to your portfolio + success_plural: Accounts successfully added to your portfolio + successDescription: Your account have been created. + successDescription_plural: Your accounts have been created. createNewAccount: title: Add a new account noOperationOnLastAccount: 'You have to receive crypto assets on <1><0>{{accountName}} before you can create a new account.' @@ -246,9 +249,6 @@ receive: action: Confirm address on device text: Verify that the address below matches the address displayed on your device support: Contact us - error: - title: Receive address rejected - text: Please try again or contact Support when in doubt receiveFunds: title: Receive label: Amount (optional) @@ -291,7 +291,7 @@ send: title: Broadcasting transaction... releaseNotes: title: Release notes - version: Version {{versionNb}} + version: Ledger Live {{versionNb}} settings: title: Settings tabs: @@ -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}}. The value of crypto assets is first calculated in Bitcoin, before being 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 @@ -330,13 +330,11 @@ settings: changePassword: Change password sync: Synchronize accounts syncDesc: Resynchronize your accounts with the network. - export: Export logs - exportDesc: Exporting Ledger Live logs may be necessary for troubleshooting purposes. softResetTitle: Clear cache softResetDesc: Clear the Ledger Live cache to force resynchronization with the blockchain. softReset: Clear hardResetTitle: Reset Ledger Live - hardResetDesc: 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. + hardResetDesc: Erase all Ledger Live data stored on your computer, including your accounts, transaction history and settings. hardReset: Reset developerMode: Developer mode developerModeDesc: Show developer apps in the Manager and enable testnet apps. @@ -346,10 +344,10 @@ settings: reportErrorsDesc: Share anonymous usage and diagnostics data to help improve Ledger products, services and security features. about: desc: Learn about Ledger Live features or get help. - version: Ledger Live version - releaseNotesBtn: Show release notes + version: Version + releaseNotesBtn: Details 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: @@ -365,7 +363,7 @@ settings: desc: The account will no longer be included in your portfolio. This operation does not affect your assets. Accounts can always be re-added. exportLogs: title: Export logs - desc: Exporting Ledger Live logs may be necessary for troubleshooting purposes. + desc: 'Exporting Ledger Live logs may be necessary for troubleshooting purposes.' btn: Export password: warning_0: Very weak @@ -404,6 +402,11 @@ crash: uselessText: You may try again by restarting Ledger Live. Please export your logs and contact Ledger Support if the problem persists. restart: Restart reset: Reset - createTicket: Ledger Support + createTicket: Contact us showDetails: Show details showError: Show error +disclaimerModal: + title: Trade safely + desc_1: Before sending and receiving crypto assets, educate yourself to make informed decisions. Crypto assets are volatile and the prices can go up and down. Carefully evaluate your trading goals and the financial risk you are willing to take. + desc_2: Please beware that Ledger does not provide financial, tax, or legal advice. You should take such decisions on your own or rely on opinions of reliable experts. + cta: Got it diff --git a/static/i18n/fr/errors.yml b/static/i18n/fr/errors.yml index 35e32c36..090f926e 100644 --- a/static/i18n/fr/errors.yml +++ b/static/i18n/fr/errors.yml @@ -1,97 +1,106 @@ --- 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: 'Oops, an error occurred.' - description: '{{message}}' + title: '{{message}}' + 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. +TransportError: + title: 'Something went wrong. Please replug your device.' + description: '{{message}}' TransportStatusError: - title: '{{message}}' - description: '' + title: 'Something went wrong. Please replug your device.' + description: '{{message}}' UserRefusedOnDevice: - title: Transaction refused on device. - description: '' + title: Transaction refused on device + description: Please retry or contact Ledger Support in case of doubt. +UserRefusedAddress: + title: Receive address rejected + description: Please try again or contact Support 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. +DeviceAppVerifyNotSupported: + title: Open Manager to update this App + description: The app verification is not supported diff --git a/static/i18n/fr/onboarding.yml b/static/i18n/fr/onboarding.yml index 78307dae..d497e3f8 100644 --- a/static/i18n/fr/onboarding.yml +++ b/static/i18n/fr/onboarding.yml @@ -108,12 +108,14 @@ genuineCheck: genuineCheck: Check now contactSupport: Contact us errorPage: - ledgerNano: - title: Oops, something went wrong... - desc: Go back to the security checklist or request Ledger Support 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. 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..f1f62680 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" +"@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-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-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.49" - -"@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" - 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/unitless@^0.6.2": +"@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.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" @@ -4401,17 +4438,21 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" +color-convert@^0.5.0, color-convert@~0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + 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.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, color-name@^1.1.1: +color-name@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -4428,6 +4469,13 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" +color@0.8.x: + version "0.8.0" + resolved "https://registry.yarnpkg.com/color/-/color-0.8.0.tgz#890c07c3fd4e649537638911cf691e5458b6fca5" + dependencies: + color-convert "^0.5.0" + color-string "^0.3.0" + color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -4451,11 +4499,15 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" +colornames@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31" + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" -colors@^1.1.2: +colors@^1.1.2, colors@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e" @@ -4463,6 +4515,13 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +colorspace@1.0.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.0.1.tgz#c99c796ed31128b9876a52e1ee5ee03a4a719749" + dependencies: + color "0.8.x" + text-hex "0.0.x" + columnify@~1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -4470,13 +4529,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 +4564,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 +4603,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 +4741,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 +4827,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 +4926,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 +4997,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 +5010,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 +5019,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" @@ -4958,6 +5029,10 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" +cycle@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" @@ -4996,8 +5071,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 +5158,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 +5218,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" @@ -5400,6 +5475,14 @@ dezalgo@^1.0.0, dezalgo@~1.0.3: asap "^2.0.0" wrappy "1" +diagnostics@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.0.tgz#e1090900b49523e8527be20f081275205f2ae36a" + dependencies: + colorspace "1.0.x" + enabled "1.0.x" + kuler "0.0.x" + diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -5557,6 +5640,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 +5849,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 +5950,17 @@ 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" + +enabled@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93" + dependencies: + env-variable "0.0.x" encodeurl@~1.0.2: version "1.0.2" @@ -5894,9 +5987,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" @@ -5910,6 +6003,10 @@ env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" +env-variable@0.0.x: + version "0.0.4" + resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.4.tgz#0d6280cf507d84242befe35a512b5ae4be77c54e" + envinfo@^5.7.0: version "5.10.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.10.0.tgz#503a9774ae15b93ea68bdfae2ccd6306624ea6df" @@ -5925,8 +6022,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 +6134,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 +6204,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 +6231,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 +6345,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 +6364,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 +6403,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 +6525,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 +6609,12 @@ 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" + +fast-safe-stringify@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.4.tgz#4fe828718aa61dbcf9119c3c24e79cc4dea973b2" fastparse@^1.1.1: version "1.1.1" @@ -6538,8 +6639,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 +6648,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" @@ -6555,6 +6656,10 @@ fd-slicer@~1.0.1: dependencies: pend "~1.2.0" +fecha@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" + figgy-pudding@^3.0.0, figgy-pudding@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.1.0.tgz#a77ed2284175976c424b390b298569e9df86dd1e" @@ -6586,6 +6691,12 @@ file-loader@^1.1.11: loader-utils "^1.0.2" schema-utils "^0.4.5" +file-stream-rotator@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/file-stream-rotator/-/file-stream-rotator-0.2.1.tgz#0d6fea1a9a7aba25a87cfd31b6e269e44e8f0af2" + dependencies: + moment "^2.11.2" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -6696,8 +6807,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 +6861,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 +6909,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 +6950,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 +6985,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 +7017,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 +7197,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 +7335,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 +7370,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 +7437,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 +7451,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 +7488,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 +7518,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 +7569,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 +7578,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 +7698,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 +7751,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 +7775,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 +7789,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" @@ -7860,8 +8001,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 +8199,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 +8696,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 +8711,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 +8835,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" @@ -8826,6 +8969,12 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" +kuler@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-0.0.0.tgz#b66bb46b934e550f59d818848e0abba4f7f5553c" + dependencies: + colornames "0.0.2" + latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -9146,6 +9295,16 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" +logform@^1.6.0, logform@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/logform/-/logform-1.9.1.tgz#58b29d7b11c332456d7a217e17b48a13ad69d60a" + dependencies: + colors "^1.2.1" + fast-safe-stringify "^2.0.4" + fecha "^2.3.3" + ms "^2.1.1" + triple-beam "^1.2.0" + loglevel@^1.4.1: version "1.6.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" @@ -9207,7 +9366,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 +9414,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 +9480,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 +9562,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 +9625,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 +9658,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" @@ -9612,7 +9772,7 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi dependencies: minimist "0.0.8" -moment@^2.21.0, moment@^2.22.2: +moment@^2.11.2, moment@^2.21.0, moment@^2.22.2: version "2.22.2" resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" @@ -9631,7 +9791,7 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@2.1.1, ms@^2.0.0: +ms@2.1.1, ms@^2.0.0, ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" @@ -9664,15 +9824,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 +9873,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 +9909,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 +9983,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 +9992,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 +10133,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 +10330,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 +10354,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" @@ -10282,6 +10434,10 @@ once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: dependencies: wrappy "1" +one-time@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" + onetime@^1.0.0: version "1.1.0" resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" @@ -10410,8 +10566,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 +11198,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 +11265,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 +11356,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 +11389,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 +11479,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 +11562,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 +11584,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 +11670,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 +11717,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 +11733,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 +11808,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 +11832,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 +11868,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 +11887,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 +11915,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 +11929,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" @@ -12042,13 +12188,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 +12214,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 +12259,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 +12377,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 +12498,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 +12618,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 +12635,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 +12684,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 +12917,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 +13036,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 +13082,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 +13135,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 +13150,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" @@ -13089,7 +13264,7 @@ stable@~0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" -stack-trace@0.0.10: +stack-trace@0.0.10, stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -13235,18 +13410,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 +13486,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 +13501,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 +13511,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 +13527,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 +13673,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: @@ -13536,6 +13705,10 @@ test-exclude@^4.2.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" +text-hex@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3" + text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -13597,8 +13770,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 +13834,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: @@ -13703,6 +13876,10 @@ trim@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" +triple-beam@^1.2.0, triple-beam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + trough@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.2.tgz#7f1663ec55c480139e2de5e486c6aef6cc24a535" @@ -13714,12 +13891,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 +13933,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 +13973,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 +14014,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 +14100,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 +14140,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 +14276,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 +14375,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 +14585,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 +14625,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 +14680,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" @@ -14575,6 +14739,45 @@ window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" +winston-compat@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/winston-compat/-/winston-compat-0.1.4.tgz#599b4ce807ffe728713ecc25ede3f6b89425b739" + dependencies: + cycle "~1.0.3" + logform "^1.6.0" + triple-beam "^1.2.0" + +winston-daily-rotate-file@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-3.2.3.tgz#9f80e7a421ab32b073c1217bae62e762001197d6" + dependencies: + file-stream-rotator "^0.2.1" + semver "^5.5.0" + triple-beam "^1.3.0" + winston-compat "^0.1.4" + winston-transport "^4.2.0" + +winston-transport@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.2.0.tgz#a20be89edf2ea2ca39ba25f3e50344d73e6520e5" + dependencies: + readable-stream "^2.3.6" + triple-beam "^1.2.0" + +winston@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.0.0.tgz#1f0b24a96586798bcf0cd149fb07ed47cb01a1b2" + dependencies: + async "^2.6.0" + diagnostics "^1.0.1" + is-stream "^1.1.0" + logform "^1.9.0" + one-time "0.0.4" + readable-stream "^2.3.6" + stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.2.0" + wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -14653,8 +14856,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 +14958,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 +14992,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 +15086,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"