Browse Source

Merge pull request #171 from loeck/master

Switch Recharts to Victory for Chart
master
Meriadec Pillet 7 years ago
committed by GitHub
parent
commit
efeb31ddd8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .babelrc
  2. 1
      electron-builder.yml
  3. 31
      package.json
  4. 10
      src/components/DashboardPage/AccountCard.js
  5. 70
      src/components/DashboardPage/index.js
  6. 43
      src/components/DevTools.js
  7. 288
      src/components/base/Chart/index.js
  8. 12
      src/styles/helpers.js
  9. 9
      src/styles/reset.js
  10. 11
      src/styles/styled/fontFamily.js
  11. 480
      yarn.lock

2
.babelrc

@ -15,5 +15,5 @@
"react",
"stage-0"
],
"plugins": [["module-resolver", { "root": ["src"] }], "recharts", "styled-components"]
"plugins": [["module-resolver", { "root": ["src"] }], "styled-components"]
}

1
electron-builder.yml

@ -44,4 +44,3 @@ nsis:
files:
- dist/internals
- "!node_modules/jsqr/test-data${/*}"
- "!node_modules/recharts/node_modules${/*}"

31
package.json

@ -42,14 +42,14 @@
"webpack-sources": "1.0.1"
},
"dependencies": {
"@fortawesome/fontawesome": "^1.1.3",
"@fortawesome/fontawesome-free-brands": "^5.0.6",
"@fortawesome/fontawesome-free-regular": "^5.0.6",
"@fortawesome/fontawesome-free-solid": "^5.0.6",
"@fortawesome/fontawesome": "^1.1.4",
"@fortawesome/fontawesome-free-brands": "^5.0.7",
"@fortawesome/fontawesome-free-regular": "^5.0.7",
"@fortawesome/fontawesome-free-solid": "^5.0.7",
"@fortawesome/react-fontawesome": "^0.0.17",
"@ledgerhq/common": "^4.2.0",
"@ledgerhq/currencies": "^4.2.0",
"@ledgerhq/hw-app-btc": "^4.2.1",
"@ledgerhq/currencies": "^4.2.2",
"@ledgerhq/hw-app-btc": "^4.2.2",
"@ledgerhq/hw-app-eth": "^4.2.0",
"@ledgerhq/hw-transport": "^4.2.0",
"@ledgerhq/hw-transport-node-hid": "^4.2.0",
@ -61,12 +61,12 @@
"color": "^3.0.0",
"cross-env": "^5.1.3",
"debug": "^3.1.0",
"downshift": "^1.28.0",
"downshift": "^1.28.1",
"electron-store": "^1.3.0",
"electron-updater": "^2.20.1",
"fuse.js": "^3.2.0",
"history": "^4.7.2",
"i18next": "^10.4.1",
"i18next": "^10.5.0",
"i18next-node-fs-backend": "^1.0.0",
"ledger-test-library": "KhalilBellakrid/ledger-test-library",
"lodash": "^4.17.5",
@ -87,7 +87,6 @@
"react-router-dom": "^4.2.2",
"react-router-redux": "5.0.0-alpha.9",
"react-smooth-scrollbar": "^8.0.6",
"recharts": "^1.0.0-beta.10",
"redux": "^3.7.2",
"redux-actions": "^2.2.1",
"redux-thunk": "^2.2.0",
@ -95,7 +94,8 @@
"source-map-support": "^0.5.3",
"styled-components": "^3.1.6",
"styled-system": "^2.1.0",
"tippy.js": "^2.2.3"
"tippy.js": "^2.2.3",
"victory": "^0.25.6"
},
"devDependencies": {
"@storybook/addon-actions": "^3.3.14",
@ -106,9 +106,8 @@
"@storybook/react": "^3.3.14",
"babel-core": "^6.26.0",
"babel-eslint": "^8.2.1",
"babel-loader": "^7.1.2",
"babel-loader": "^7.1.3",
"babel-plugin-module-resolver": "^3.1.0",
"babel-plugin-recharts": "^1.1.1",
"babel-plugin-styled-components": "^1.5.0",
"babel-preset-env": "^1.6.1",
"babel-preset-flow": "^6.23.0",
@ -117,9 +116,9 @@
"chalk": "^2.3.1",
"chance": "^1.0.13",
"concurrently": "^3.5.1",
"dotenv": "^5.0.0",
"dotenv": "^5.0.1",
"electron": "1.8.2",
"electron-builder": "^20.0.8",
"electron-builder": "^20.2.0",
"electron-devtools-installer": "^2.2.3",
"electron-webpack": "1.13.0",
"eslint": "^4.18.1",
@ -132,12 +131,12 @@
"eslint-plugin-react": "^7.7.0",
"flow-bin": "^0.66.0",
"flow-typed": "^2.3.0",
"hard-source-webpack-plugin": "^0.5.18",
"hard-source-webpack-plugin": "^0.6.0",
"husky": "^0.14.3",
"js-yaml": "^3.10.0",
"lint-staged": "^7.0.0",
"node-loader": "^0.6.0",
"prettier": "^1.10.2",
"prettier": "^1.11.0",
"react-hot-loader": "^4.0.0-beta.21",
"webpack": "^3.11.0"
}

10
src/components/DashboardPage/AccountCard.js

@ -5,7 +5,7 @@ import { getIconByCoinType } from '@ledgerhq/currencies/react'
import type { Account } from 'types/common'
import { AreaChart } from 'components/base/Chart'
import { SimpleAreaChart } from 'components/base/Chart'
import Bar from 'components/base/Bar'
import Box, { Card } from 'components/base/Box'
import FormattedVal from 'components/base/FormattedVal'
@ -20,6 +20,7 @@ const AccountCard = ({
onClick: Function,
}) => {
const Icon = getIconByCoinType(account.currency.coinType)
return (
<Card p={4} flow={4} flex={1} style={{ cursor: 'pointer' }} onClick={onClick}>
<Box horizontal ff="Open Sans|SemiBold" flow={3} alignItems="center">
@ -45,14 +46,13 @@ const AccountCard = ({
val={account.balance}
/>
</Box>
<AreaChart
tiny
<SimpleAreaChart
id={`account-chart-${account.id}`}
color={account.currency.color}
height={52}
data={data}
strokeWidth={1}
linearGradient={[[5, 0.4], [80, 0]]}
strokeWidth={1.5}
linearGradient={[[5, 0.2], [75, 0]]}
/>
</Card>
)

70
src/components/DashboardPage/index.js

@ -51,7 +51,7 @@ type Props = {
type State = {
accountsChunk: Array<any>,
allTransactions: Array<Object>,
fakeDatas: Array<any>,
fakeDatas: Object,
fakeDatasMerge: Array<any>,
selectedTime: string,
}
@ -63,16 +63,22 @@ const TIMEOUT_REFRESH_DATAS = 5e3
const itemsTimes = [{ key: 'day' }, { key: 'week' }, { key: 'month' }, { key: 'year' }]
const generateFakeData = v => ({
index: v,
name: `Day ${v}`,
value: random(10, 100),
})
const generateFakeDatas = accounts =>
accounts.map(() => [...Array(25).keys()].map(v => generateFakeData(v + 1)))
accounts.reduce((result, a) => {
result[a.id] = [...Array(25).keys()].map(v => generateFakeData(v + 1))
return result
}, {})
const mergeFakeDatas = fakeDatas =>
takeRight(
fakeDatas.reduce((res, data) => {
Object.keys(fakeDatas).reduce((res, k) => {
const data = fakeDatas[k]
data.forEach((d, i) => {
res[i] = {
name: d.name,
@ -122,7 +128,7 @@ class DashboardPage extends PureComponent<Props, State> {
this.state = {
accountsChunk: getAccountsChunk(props.accounts),
allTransactions: getAllTransactions(props.accounts),
fakeDatas: generateFakeDatas(props.accounts),
fakeDatas,
fakeDatasMerge: mergeFakeDatas(fakeDatas),
selectedTime: 'day',
}
@ -142,7 +148,7 @@ class DashboardPage extends PureComponent<Props, State> {
}
componentWillReceiveProps(nextProps) {
if (this.state.fakeDatas.length === 0) {
if (Object.keys(this.state.fakeDatas).length === 0) {
const fakeDatas = generateFakeDatas(nextProps.accounts)
this.setState({
@ -165,30 +171,32 @@ class DashboardPage extends PureComponent<Props, State> {
}
addFakeDatasOnAccounts = () => {
const { accounts } = this.props
const { fakeDatas } = this.state
const newFakeDatas = accounts.reduce((res, acc, i) => {
if (res[i]) {
const nextIndex = res[i].length
res[i][nextIndex] = generateFakeData(nextIndex)
res[i] = takeRight(res[i], 25)
}
return res
}, fakeDatas)
this._timeout = setTimeout(() => {
const { fakeDatas } = this.state
const newFakeDatas = {}
Object.keys(fakeDatas).forEach(k => {
const data = fakeDatas[k]
data.shift()
window.requestIdleCallback(() => {
if (this._mounted) {
this.setState({
fakeDatas: newFakeDatas,
fakeDatasMerge: mergeFakeDatas(newFakeDatas),
})
}
const lastIndex = data[data.length - 1]
newFakeDatas[k] = [...data, generateFakeData(lastIndex.index + 1)]
})
window.requestIdleCallback(() => {
if (this._mounted) {
this.setState({
fakeDatas: newFakeDatas,
fakeDatasMerge: mergeFakeDatas(newFakeDatas),
})
}
this._timeout = setTimeout(() => {
this.addFakeDatasOnAccounts()
}, TIMEOUT_REFRESH_DATAS)
})
})
}, TIMEOUT_REFRESH_DATAS)
}
_timeout = undefined
@ -199,7 +207,6 @@ class DashboardPage extends PureComponent<Props, State> {
const { push, accounts, t } = this.props
const { accountsChunk, allTransactions, selectedTime, fakeDatas, fakeDatasMerge } = this.state
let accountIndex = 0
const totalAccounts = accounts.length
return (
@ -232,15 +239,16 @@ class DashboardPage extends PureComponent<Props, State> {
<Box ff="Open Sans" fontSize={4} color="graphite">
<AreaChart
id="dashboard-chart"
margin={{
padding={{
top: space[6],
bottom: 0,
left: space[6] - 10,
bottom: space[6],
left: space[6] * 2,
right: space[6],
}}
color="#5286f7"
height={250}
data={fakeDatasMerge}
strokeWidth={2}
/>
</Box>
</Card>
@ -272,7 +280,7 @@ class DashboardPage extends PureComponent<Props, State> {
<AccountCard
key={account.id}
account={account}
data={fakeDatas[accountIndex++]}
data={fakeDatas[account.id]}
onClick={() => push(`/account/${account.id}`)}
/>
),

43
src/components/DevTools.js

@ -5,7 +5,12 @@
import React, { PureComponent } from 'react'
import { remote, ipcRenderer } from 'electron'
import { translate } from 'react-i18next'
import { AreaChart, Area } from 'recharts'
import { VictoryArea } from 'victory'
import styled from 'styled-components'
import color from 'color'
import fs from 'fs'
import path from 'path'
import takeRight from 'lodash/takeRight'
import last from 'lodash/last'
import reduce from 'lodash/fp/reduce'
@ -13,15 +18,11 @@ import flow from 'lodash/fp/flow'
import filter from 'lodash/fp/filter'
import sortBy from 'lodash/fp/sortBy'
import chunk from 'lodash/chunk'
import styled from 'styled-components'
import color from 'color'
import fs from 'fs'
import path from 'path'
import Box from 'components/base/Box'
import Bar from 'components/base/Bar'
import CopyToClipboard from 'components/base/CopyToClipboard'
import { ChartWrapper } from 'components/base/Chart'
import { WrapperChart } from 'components/base/Chart'
import staticPath from 'helpers/staticPath'
@ -245,22 +246,22 @@ class DevTools extends PureComponent<any, State> {
<Box>{k}</Box>
</Box>
<Box>
<ChartWrapper
render={({ width }) => (
<AreaChart
width={width}
height={40}
<WrapperChart
height={50}
render={({ height, width }) => (
<VictoryArea
data={cpuUsage[k]}
margin={{ top: 10, right: 0, left: 0, bottom: 0 }}
>
<Area
type="monotone"
stroke="#8884d8"
fill="#8884d8"
dataKey="value"
isAnimationActive={false}
/>
</AreaChart>
y="value"
style={{
data: {
stroke: '#8884d8',
fill: '#8884d8',
},
}}
height={height}
width={width}
padding={{ top: 10, right: 0, left: 0, bottom: 0 }}
/>
)}
/>
</Box>

288
src/components/base/Chart/index.js

@ -1,13 +1,24 @@
// @flow
import React, { PureComponent } from 'react'
import { AreaChart as ReactAreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip } from 'recharts'
import React, { Fragment, PureComponent } from 'react'
import {
VictoryChart,
VictoryArea,
VictoryAxis,
VictoryTooltip,
VictoryVoronoiContainer,
VictoryLabel,
} from 'victory'
import { radii, space, colors, fontSizes } from 'styles/theme'
import { rgba, ff } from 'styles/helpers'
import Box from 'components/base/Box'
const ANIMATION_DURATION = 1000
const ANIMATION_DURATION = 600
type Props = {
height: number,
render: Function,
}
@ -16,7 +27,7 @@ type State = {
width: number,
}
export class ChartWrapper extends PureComponent<Props, State> {
export class WrapperChart extends PureComponent<Props, State> {
state = {
isAnimationActive: true,
width: 0,
@ -58,110 +69,203 @@ export class ChartWrapper extends PureComponent<Props, State> {
_timeout = undefined
render() {
const { render } = this.props
const { render, height } = this.props
const { isAnimationActive, width } = this.state
return <Box innerRef={n => (this._node = n)}>{render({ isAnimationActive, width })}</Box>
return (
<Box ff="Open Sans" innerRef={n => (this._node = n)} style={{ height }}>
{render({ isAnimationActive, height, width })}
</Box>
)
}
}
export const AreaChart = ({
id,
function getLinearGradient({
linearGradient,
strokeWidth,
height,
id,
color,
data,
margin,
tiny,
}: {
linearGradient: LinearGradient,
id: string,
color: string,
}) {
return (
<svg style={{ height: 0 }}>
<defs>
<linearGradient id={id} x1="0" y1="0" x2="0" y2="100%">
{linearGradient.map((g, i) => (
<stop
key={i} // eslint-disable-line react/no-array-index-key
offset={`${g[0]}%`}
stopColor={color}
stopOpacity={g[1]}
/>
))}
</linearGradient>
</defs>
</svg>
)
}
type LinearGradient = Array<Array<*>>
type Chart = {
id: string,
linearGradient?: Array<Array<*>>,
strokeWidth?: number,
linearGradient: LinearGradient,
strokeWidth: number,
height: number,
padding?: Object | number,
color: string,
data: Array<Object>,
margin?: Object,
tiny?: boolean,
}) => (
<ChartWrapper
render={({ width, isAnimationActive }) => (
<ReactAreaChart width={width} height={height} data={data} margin={margin}>
{linearGradient && (
<defs>
<linearGradient id={id} x1="0" y1="0" x2="0" y2="1">
{linearGradient.map((g, i) => (
<stop
key={i} // eslint-disable-line react/no-array-index-key
offset={`${g[0]}%`}
stopColor={color}
stopOpacity={g[1]}
/>
))}
</linearGradient>
</defs>
)}
{!tiny && (
<YAxis
interval={0}
dataKey="value"
tickMargin={0}
stroke={null}
tickLine={false}
tick={({ x, y, index, payload }) => {
const { value } = payload
if (index !== 0) {
return (
<g transform={`translate(${x}, ${y})`}>
<text x={-30} y={0} dy={5} textAnchor="middle" fill="currentColor">
{value}k
</text>
</g>
)
}
}
return null
}}
/>
)}
{!tiny && (
<XAxis
dataKey="name"
stroke="#e9eff4"
tickLine={false}
interval={2}
tick={({ x, y, payload }) => {
const { value } = payload
return (
<g transform={`translate(${x}, ${y})`}>
<text x={0} y={0} dy={20} textAnchor="middle" fill="currentColor">
{value}
</text>
</g>
)
}}
/>
)}
{!tiny && <CartesianGrid vertical={false} strokeDasharray="5" stroke="#e9eff4" />}
{!tiny && <Tooltip isAnimationActive={false} />}
<Area
isAnimationActive={isAnimationActive}
animationDuration={ANIMATION_DURATION}
animationEasing="ease-in-out"
dataKey="value"
fill={`url(#${id})`}
stroke={color}
strokeWidth={strokeWidth}
export const SimpleAreaChart = ({
linearGradient,
height,
data,
strokeWidth,
id,
padding,
color,
}: Chart) => (
<WrapperChart
height={height}
render={({ width, isAnimationActive }) => (
<Fragment>
{getLinearGradient({
linearGradient,
id,
color,
})}
<VictoryArea
animate={isAnimationActive ? { duration: ANIMATION_DURATION } : null}
data={data}
x="name"
y="value"
style={{
data: {
stroke: color,
fill: `url(#${id})`,
strokeWidth,
},
}}
padding={padding}
height={height}
width={width}
/>
</ReactAreaChart>
</Fragment>
)}
/>
)
SimpleAreaChart.defaultProps = {
padding: 0,
}
export const AreaChart = ({
strokeWidth,
id,
color,
linearGradient,
padding,
height,
data,
}: Chart) => {
const tickLabelsStyle = {
fill: colors.grey,
fontSize: fontSizes[4],
fontFamily: 'inherit',
fontWeight: 'inherit',
}
return (
<WrapperChart
height={height}
render={({ width, isAnimationActive }) => (
<Fragment>
{getLinearGradient({
linearGradient,
id,
color,
})}
<VictoryChart
height={height}
width={width}
padding={padding}
containerComponent={<VictoryVoronoiContainer voronoiDimension="x" />}
>
<VictoryAxis
tickCount={6}
style={{
axis: {
stroke: colors.lightGrey,
},
tickLabels: {
...tickLabelsStyle,
padding: space[2],
},
}}
/>
<VictoryAxis
dependentAxis
tickCount={4}
style={{
grid: {
stroke: colors.lightGrey,
strokeDasharray: 5,
},
axis: {
stroke: null,
},
tickLabels: {
...tickLabelsStyle,
padding: space[4],
},
}}
/>
<VictoryArea
animate={isAnimationActive ? { duration: ANIMATION_DURATION } : null}
data={data}
x="name"
y="value"
labelComponent={
<VictoryTooltip
corderRadius={radii[1]}
pointerLength={0}
height={25}
labelComponent={
<VictoryLabel
style={{
...ff('Open Sans|SemiBold'),
fontSize: fontSizes[2],
fill: colors.white,
}}
/>
}
flyoutStyle={{
fill: rgba(colors.dark, 0.8),
stroke: null,
}}
width={a => space[1] * 2 + a.value.length}
/>
}
labels={d => d.y}
style={{
data: {
stroke: color,
fill: `url(#${id})`,
strokeWidth,
},
}}
width={width}
/>
</VictoryChart>
</Fragment>
)}
/>
)
}
AreaChart.defaultProps = {
linearGradient: [[5, 0.3], [65, 0]],
margin: undefined,
strokeWidth: 2,
tiny: false,
linearGradient: [[5, 0.2], [50, 0]],
padding: undefined,
}

12
src/styles/helpers.js

@ -3,6 +3,7 @@
import Color from 'color'
import staticPath from 'helpers/staticPath'
import { fontFamilies } from 'styles/theme'
export const rgba = (c: string, a: number) =>
Color(c)
@ -10,6 +11,17 @@ export const rgba = (c: string, a: number) =>
.rgb()
.toString()
export const ff = (v: string) => {
const [font, type = 'Regular'] = v.split('|')
const { style, weight } = fontFamilies[font][type]
return {
fontFamily: font,
fontWeight: weight,
fontStyle: style,
}
}
export const fontFace = ({
name,
file,

9
src/styles/reset.js

@ -52,14 +52,9 @@ em {
z-index: 20 !important;
}
.recharts-wrapper {
cursor: inherit !important;
.tippy-tooltip {
padding: 0;
}
.tippy-tooltip .tippy-content {
background: transparent;
}
.tippy-tooltip {
padding: 0;
}`

11
src/styles/styled/fontFamily.js

@ -1,3 +1,5 @@
import { ff } from 'styles/helpers'
export default props => {
const prop = props.ff
@ -5,12 +7,5 @@ export default props => {
return null
}
const [font, type = 'Regular'] = prop.split('|')
const { style, weight } = props.theme.fontFamilies[font][type]
return {
fontFamily: font,
fontWeight: weight,
fontStyle: style,
}
return ff(prop)
}

480
yarn.lock

@ -116,33 +116,33 @@
lodash "^4.2.0"
to-fast-properties "^2.0.0"
"@fortawesome/fontawesome-common-types@^0.1.2":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.2.tgz#d6aa075058f0c984d6e2ebcbc0052c1f7f9bea72"
"@fortawesome/fontawesome-common-types@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.3.tgz#8475e0f2d1ad1f858c4ec2e76ed9a2456a09ad83"
"@fortawesome/fontawesome-free-brands@^5.0.6":
version "5.0.6"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.6.tgz#fee054ce0c4d74019020f6353ca85cfb408de719"
"@fortawesome/fontawesome-free-brands@^5.0.7":
version "5.0.7"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.7.tgz#0fe131da1bfb7f5f49b7b800b9e198e530fab418"
dependencies:
"@fortawesome/fontawesome-common-types" "^0.1.2"
"@fortawesome/fontawesome-common-types" "^0.1.3"
"@fortawesome/fontawesome-free-regular@^5.0.6":
version "5.0.6"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.6.tgz#fafc624025a247c1a1bbb5080b9902a490cd79f5"
"@fortawesome/fontawesome-free-regular@^5.0.7":
version "5.0.7"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.7.tgz#3a347278e34c58db8c1c7891e9e567d57d1d7db9"
dependencies:
"@fortawesome/fontawesome-common-types" "^0.1.2"
"@fortawesome/fontawesome-common-types" "^0.1.3"
"@fortawesome/fontawesome-free-solid@^5.0.6":
version "5.0.6"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.6.tgz#6bb5acdd081b03ab25b7684f7089b37ed3d20740"
"@fortawesome/fontawesome-free-solid@^5.0.7":
version "5.0.7"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.7.tgz#b7e68876a24b3a0a34c09ee68bd57fe63925a578"
dependencies:
"@fortawesome/fontawesome-common-types" "^0.1.2"
"@fortawesome/fontawesome-common-types" "^0.1.3"
"@fortawesome/fontawesome@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome/-/fontawesome-1.1.3.tgz#7a4844345cbc7fb238f5f1788af73bd302ee9b80"
"@fortawesome/fontawesome@^1.1.4":
version "1.1.4"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome/-/fontawesome-1.1.4.tgz#03065638046206c2226e103b550196934c75be9b"
dependencies:
"@fortawesome/fontawesome-common-types" "^0.1.2"
"@fortawesome/fontawesome-common-types" "^0.1.3"
"@fortawesome/react-fontawesome@^0.0.17":
version "0.0.17"
@ -165,15 +165,15 @@
redux "^3.7.2"
redux-thunk "^2.2.0"
"@ledgerhq/currencies@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/currencies/-/currencies-4.2.0.tgz#c54e9d19493c1086dbdbc968096dcc107c46becc"
"@ledgerhq/currencies@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@ledgerhq/currencies/-/currencies-4.2.2.tgz#3fadbdff2b4f7adce9ba255a407bd3999aea3fdc"
dependencies:
querystring "^0.2.0"
"@ledgerhq/hw-app-btc@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.2.1.tgz#987900030484253ce1e5e0e01739c8d8319a6935"
"@ledgerhq/hw-app-btc@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.2.2.tgz#17be52803ce4fb639b62e9920ff450acebac789f"
dependencies:
"@ledgerhq/hw-transport" "^4.2.0"
create-hash "^1.1.3"
@ -471,11 +471,7 @@ airbnb-js-shims@^1.4.0:
string.prototype.padend "^3.0.0"
string.prototype.padstart "^3.0.0"
ajv-keywords@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
ajv-keywords@^3.1.0:
ajv-keywords@^3.0.0, ajv-keywords@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be"
@ -486,7 +482,7 @@ ajv@^4.9.1:
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:
ajv@^5.0.0, ajv@^5.1.0, ajv@^5.3.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
@ -495,9 +491,9 @@ 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.1.0, ajv@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e"
ajv@^6.0.1, ajv@^6.1.0, ajv@^6.1.1:
version "6.2.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.2.0.tgz#afac295bbaa0152449e522742e4547c1ae9328d2"
dependencies:
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
@ -581,45 +577,25 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
app-builder-bin-linux@1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.3.7.tgz#9eeb28f7f2c9eb91f4dcd02f03e9117b45891cae"
app-builder-bin-linux@1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.3.8.tgz#138eaddce970fb485b715e8c3cd88064aee4efb4"
app-builder-bin-mac@1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.3.7.tgz#43705d9f0c75ef8ac2a07dcf9c31d9c0d3e27770"
app-builder-bin-mac@1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.3.8.tgz#ca7fa326ffeea0eb70cbdce1715ebb27b2ebb7a2"
app-builder-bin-win@1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.3.7.tgz#f5ddef00b0822885fd376f4323aa48c14a5788bf"
app-builder-bin-linux@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.5.0.tgz#c22df1ab9ee7fb0270ec27a3c8a6993966ea4220"
app-builder-bin-win@1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.3.8.tgz#5f48cbe5ca9b200a11b7f786c7de486b53543df9"
app-builder-bin-mac@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.5.0.tgz#40821128a1f20e0559f1fca71a59ecab81bb59b5"
app-builder-bin@1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.3.7.tgz#4df1bc9b9448935caaa2f45283655b0704ab994f"
optionalDependencies:
app-builder-bin-linux "1.3.7"
app-builder-bin-mac "1.3.7"
app-builder-bin-win "1.3.7"
app-builder-bin-win@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.5.0.tgz#0a12437d825ac89fc2357e8be0ba855f54c083e9"
app-builder-bin@1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.3.8.tgz#f0f2f41d5fa30aad7b2543d7263d2139c8a918ec"
app-builder-bin@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.5.0.tgz#dc768af9704876959c68af5456ef31f67a4663fe"
optionalDependencies:
app-builder-bin-linux "1.3.8"
app-builder-bin-mac "1.3.8"
app-builder-bin-win "1.3.8"
app-builder-bin-linux "1.5.0"
app-builder-bin-mac "1.5.0"
app-builder-bin-win "1.5.0"
app-root-path@^2.0.1:
version "2.0.1"
@ -713,16 +689,16 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
array.prototype.flatmap@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.0.tgz#279f7ed4eeb1cedfe5515e92e63cfb40ca15b74b"
version "1.2.1"
resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9"
dependencies:
define-properties "^1.1.2"
es-abstract "^1.10.0"
function-bind "^1.1.1"
array.prototype.flatten@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.0.tgz#e46fb18954f8796381a73755e122570647984be3"
version "1.2.1"
resolved "https://registry.yarnpkg.com/array.prototype.flatten/-/array.prototype.flatten-1.2.1.tgz#a77ae1b64524ce373b137fade324d12040d3c680"
dependencies:
define-properties "^1.1.2"
es-abstract "^1.10.0"
@ -1072,9 +1048,9 @@ babel-helpers@^6.24.1:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-loader@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126"
babel-loader@^7.1.2, babel-loader@^7.1.3:
version "7.1.3"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.3.tgz#ff5b440da716e9153abb946251a9ab7670037b16"
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
@ -1189,14 +1165,6 @@ babel-plugin-react-docgen@^1.8.0:
lodash "^4.17.0"
react-docgen "^2.20.0"
babel-plugin-recharts@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/babel-plugin-recharts/-/babel-plugin-recharts-1.1.1.tgz#44fedb9250eaf0073455b06248441bc12e64ed18"
dependencies:
babel-traverse "^6.19.0"
babel-types "^6.19.0"
babylon "^6.14.1"
babel-plugin-styled-components@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.0.tgz#4549f28a19fb05170aa9ee429b4de0eac2d2401d"
@ -1786,7 +1754,7 @@ babel-template@^6.24.1, babel-template@^6.26.0:
babylon "^6.18.0"
lodash "^4.17.4"
babel-traverse@^6.19.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
@ -1813,7 +1781,7 @@ babylon@7.0.0-beta.40, babylon@^7.0.0-beta.40:
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.40.tgz#91fc8cd56d5eb98b28e6fde41045f2957779940a"
babylon@^6.14.1, babylon@^6.18.0:
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@ -2181,31 +2149,12 @@ builder-util-runtime@4.0.5, builder-util-runtime@^4.0.5, builder-util-runtime@~4
fs-extra-p "^4.5.0"
sax "^1.2.4"
builder-util@5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.4.0.tgz#77de5715e2cc624856a3c3b51d0e60a0c4bbe165"
builder-util@5.6.0, builder-util@^5.6.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.6.0.tgz#c37c5207cd818531bda819ac836b6d51dfbccd4a"
dependencies:
"7zip-bin" "~3.1.0"
app-builder-bin "1.3.7"
bluebird-lst "^1.0.5"
builder-util-runtime "^4.0.5"
chalk "^2.3.0"
debug "^3.1.0"
fs-extra-p "^4.5.2"
is-ci "^1.1.0"
js-yaml "^3.10.0"
lazy-val "^1.0.3"
semver "^5.5.0"
source-map-support "^0.5.3"
stat-mode "^0.2.2"
temp-file "^3.1.1"
builder-util@5.4.1, builder-util@^5.3.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.4.1.tgz#a387252162bca5a54e8ed979f2a45a63fc3d7b42"
dependencies:
"7zip-bin" "~3.1.0"
app-builder-bin "1.3.8"
app-builder-bin "1.5.0"
bluebird-lst "^1.0.5"
builder-util-runtime "^4.0.5"
chalk "^2.3.0"
@ -2470,7 +2419,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
classnames@2.2.5, classnames@^2.2.5:
classnames@^2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
@ -2775,10 +2724,6 @@ copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
core-js@2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b"
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
@ -3063,11 +3008,15 @@ d3-color@1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b"
d3-ease@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e"
d3-format@1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz#1a39c479c8a57fe5051b2e67a3bee27061a74e7a"
d3-interpolate@1, d3-interpolate@^1.1.5:
d3-interpolate@1, d3-interpolate@^1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6"
dependencies:
@ -3077,9 +3026,9 @@ d3-path@1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764"
d3-scale@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.6.tgz#bce19da80d3a0cf422c9543ae3322086220b34ed"
d3-scale@^1.0.0:
version "1.0.7"
resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d"
dependencies:
d3-array "^1.2.0"
d3-collection "1"
@ -3089,7 +3038,7 @@ d3-scale@1.0.6:
d3-time "1"
d3-time-format "2"
d3-shape@1.2.0:
d3-shape@^1.0.0, d3-shape@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777"
dependencies:
@ -3105,6 +3054,14 @@ d3-time@1:
version "1.0.8"
resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84"
d3-timer@^1.0.0:
version "1.0.7"
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531"
d3-voronoi@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c"
d@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
@ -3285,14 +3242,14 @@ dijkstrajs@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b"
dmg-builder@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.1.0.tgz#40b6ce05b59a3baebd69680a1f2875b1ff475e24"
dmg-builder@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.1.1.tgz#a12214eb3eb3cba0addccfd129f1981c9805045c"
dependencies:
bluebird-lst "^1.0.5"
builder-util "^5.3.0"
electron-builder-lib "~20.0.5"
fs-extra-p "^4.5.0"
builder-util "^5.6.0"
electron-builder-lib "~20.2.0"
fs-extra-p "^4.5.2"
iconv-lite "^0.4.19"
js-yaml "^3.10.0"
parse-color "^1.0.0"
@ -3410,9 +3367,13 @@ dotenv@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.0.tgz#0206eb5b336639bf377618a2a304ff00c6a1fddb"
downshift@^1.28.0:
version "1.28.0"
resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.28.0.tgz#4d2d153ee6a45fcdba0a7121a7858aff42dd0bf3"
dotenv@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"
downshift@^1.28.1:
version "1.28.1"
resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.28.1.tgz#8e787eda4e31c8a5519dccaf0e16dd90787720a4"
duplexer3@^0.1.4:
version "0.1.4"
@ -3448,21 +3409,21 @@ ejs@^2.5.7:
version "2.5.7"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a"
electron-builder-lib@20.0.8:
version "20.0.8"
resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.0.8.tgz#5b9a57797b5313f6cbecf655a7883a4050c1aa1c"
electron-builder-lib@20.2.0, electron-builder-lib@~20.2.0:
version "20.2.0"
resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.2.0.tgz#e8dba288cf26858803eb1800da870d7312837bfa"
dependencies:
"7zip-bin" "~3.1.0"
app-builder-bin "1.3.7"
app-builder-bin "1.5.0"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.5"
builder-util "5.4.0"
builder-util "5.6.0"
builder-util-runtime "4.0.5"
chromium-pickle-js "^0.2.0"
debug "^3.1.0"
ejs "^2.5.7"
electron-osx-sign "0.4.8"
electron-publish "20.0.6"
electron-publish "20.2.0"
fs-extra-p "^4.5.2"
hosted-git-info "^2.5.0"
is-ci "^1.1.0"
@ -3477,45 +3438,16 @@ electron-builder-lib@20.0.8:
semver "^5.5.0"
temp-file "^3.1.1"
electron-builder-lib@~20.0.5:
version "20.0.9"
resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.0.9.tgz#62d06eb8536ee6d85f82f9416c6e452dffa4734f"
electron-builder@^20.2.0:
version "20.2.0"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.2.0.tgz#aaeaa439cb96c9a3d7ffda25b28130327c982982"
dependencies:
"7zip-bin" "~3.1.0"
app-builder-bin "1.3.8"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.5"
builder-util "5.4.1"
builder-util-runtime "4.0.5"
chromium-pickle-js "^0.2.0"
debug "^3.1.0"
ejs "^2.5.7"
electron-osx-sign "0.4.8"
electron-publish "20.0.6"
fs-extra-p "^4.5.2"
hosted-git-info "^2.5.0"
is-ci "^1.1.0"
isbinaryfile "^3.0.2"
js-yaml "^3.10.0"
lazy-val "^1.0.3"
minimatch "^3.0.4"
normalize-package-data "^2.4.0"
plist "^2.1.0"
read-config-file "3.0.0"
sanitize-filename "^1.6.1"
semver "^5.5.0"
temp-file "^3.1.1"
electron-builder@^20.0.8:
version "20.0.8"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.0.8.tgz#5007874b43e6a9537e1167464d738edfbfb22fbb"
dependencies:
bluebird-lst "^1.0.5"
builder-util "5.4.0"
builder-util "5.6.0"
builder-util-runtime "4.0.5"
chalk "^2.3.0"
dmg-builder "4.1.0"
electron-builder-lib "20.0.8"
dmg-builder "4.1.1"
electron-builder-lib "20.2.0"
electron-download-tf "4.3.4"
fs-extra-p "^4.5.2"
is-ci "^1.1.0"
@ -3577,12 +3509,12 @@ electron-osx-sign@0.4.8:
minimist "^1.2.0"
plist "^2.1.0"
electron-publish@20.0.6:
version "20.0.6"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.0.6.tgz#24a3c508428eea31813e064f80468f626dff1d87"
electron-publish@20.2.0:
version "20.2.0"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.2.0.tgz#1812738c4a4e14a8e156a9a083424a6e4e8e8264"
dependencies:
bluebird-lst "^1.0.5"
builder-util "^5.3.0"
builder-util "^5.6.0"
builder-util-runtime "^4.0.5"
chalk "^2.3.0"
fs-extra-p "^4.5.2"
@ -3720,7 +3652,7 @@ env-paths@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0"
errno@^0.1.3, errno@^0.1.4:
errno@^0.1.3, errno@~0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
dependencies:
@ -4236,8 +4168,8 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
fast-deep-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
@ -4802,16 +4734,15 @@ har-validator@~5.0.3:
ajv "^5.1.0"
har-schema "^2.0.0"
hard-source-webpack-plugin@^0.5.18:
version "0.5.18"
resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.5.18.tgz#4f328e344ad5305227c7db526d5365e8d7786712"
hard-source-webpack-plugin@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.6.0.tgz#ec2f60068a8d1f358439b7b1587f1c64fe642eda"
dependencies:
lodash "^4.15.0"
mkdirp "^0.5.1"
node-object-hash "^1.2.0"
rimraf "^2.6.2"
source-list-map "^0.1.6"
source-map "^0.5.6"
tapable "^1.0.0-beta.5"
webpack-core "~0.6.0"
webpack-sources "^1.0.1"
write-json-file "^2.3.0"
@ -4841,8 +4772,8 @@ has-flag@^3.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
has-symbol-support-x@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz#66ec2e377e0c7d7ccedb07a3a84d77510ff1bc4c"
version "1.4.2"
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
has-to-string-tag-x@^1.2.0:
version "1.4.1"
@ -5138,9 +5069,9 @@ i18next-node-fs-backend@^1.0.0:
js-yaml "3.5.4"
json5 "0.5.0"
i18next@^10.4.1:
version "10.4.1"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.4.1.tgz#90b0ac1683b0a5874a38588c6aaf1831360b460f"
i18next@^10.5.0:
version "10.5.0"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.5.0.tgz#a2a90e67774fa85b8ff9cd0063e697e482440de7"
iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.19, iconv-lite@~0.4.13:
version "0.4.19"
@ -6138,10 +6069,6 @@ lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
lodash.endswith@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09"
lodash.flattendeep@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
@ -6158,18 +6085,10 @@ lodash.isequal@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
lodash.isfunction@^3.0.8:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
lodash.isstring@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
lodash.keys@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
@ -6194,10 +6113,6 @@ lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
lodash.startswith@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c"
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@ -6206,7 +6121,7 @@ lodash@^3.10.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.4:
lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
@ -6397,8 +6312,8 @@ micromatch@^2.1.5, micromatch@^2.3.11:
regex-cache "^0.4.2"
micromatch@^3.1.4, micromatch@^3.1.8:
version "3.1.8"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.8.tgz#5c8caa008de588eebb395e8c0ad12c128f25fff1"
version "3.1.9"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89"
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@ -6593,8 +6508,8 @@ no-case@^2.2.0:
lower-case "^1.1.1"
node-abi@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.2.0.tgz#e802ac7a2408e2c0593fb3176ffdf8a99a9b4dec"
version "2.3.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.3.0.tgz#f3d554d6ac72a9ee16f0f4dc9548db7c08de4986"
dependencies:
semver "^5.4.1"
@ -7314,8 +7229,8 @@ postcss-load-plugins@^2.3.0:
object-assign "^4.1.0"
postcss-loader@^2.0.9:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.0.tgz#038c2d6d59753fef4667827fd3ae03f5dc5e6a7a"
version "2.1.1"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.1.tgz#208935af3b1d65e1abb1a870a912dd12e7b36895"
dependencies:
loader-utils "^1.1.0"
postcss "^6.0.0"
@ -7539,9 +7454,9 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
prettier@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.10.2.tgz#1af8356d1842276a99a5b5529c82dd9e9ad3cc93"
prettier@^1.11.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.0.tgz#c024f70cab158c993f50fc0c25ffe738cb8b0f85"
pretty-bytes@^1.0.2:
version "1.0.4"
@ -7753,7 +7668,7 @@ radium@^0.19.0:
inline-style-prefixer "^2.0.5"
prop-types "^15.5.8"
raf@^3.1.0, raf@^3.2.0:
raf@^3.1.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz#a28876881b4bc2ca9117d4138163ddb80f781575"
dependencies:
@ -7959,12 +7874,6 @@ react-redux@^5.0.5, react-redux@^5.0.7:
loose-envify "^1.1.0"
prop-types "^15.6.0"
react-resize-detector@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-1.1.0.tgz#4a9831fa3caad32230478dd0185cbd2aa91a5ebf"
dependencies:
prop-types "^15.5.10"
react-router-dom@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.2.2.tgz#c8a81df3adc58bba8a76782e946cbd4eae649b8d"
@ -8000,15 +7909,6 @@ react-smooth-scrollbar@^8.0.6:
version "8.0.6"
resolved "https://registry.yarnpkg.com/react-smooth-scrollbar/-/react-smooth-scrollbar-8.0.6.tgz#179072e6a547b3af589ea303c50fd86366275edc"
react-smooth@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-1.0.0.tgz#b29dbebddddb06d21b5b08962167fb9eac1897d8"
dependencies:
lodash "~4.17.4"
prop-types "^15.6.0"
raf "^3.2.0"
react-transition-group "^2.2.1"
react-split-pane@^0.1.74:
version "0.1.77"
resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db"
@ -8039,17 +7939,6 @@ react-transition-group@^1.1.2:
prop-types "^15.5.6"
warning "^3.0.0"
react-transition-group@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.2.1.tgz#e9fb677b79e6455fd391b03823afe84849df4a10"
dependencies:
chain-function "^1.0.0"
classnames "^2.2.5"
dom-helpers "^3.2.0"
loose-envify "^1.3.1"
prop-types "^15.5.8"
warning "^3.0.0"
react-treebeard@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/react-treebeard/-/react-treebeard-2.1.0.tgz#fbd5cf51089b6f09a9b18350ab3bddf736e57800"
@ -8178,26 +8067,6 @@ recast@~0.11.12:
private "~0.1.5"
source-map "~0.5.0"
recharts-scale@0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.3.2.tgz#dac7621714a4765d152cb2adbc30c73b831208c9"
recharts@^1.0.0-beta.10:
version "1.0.0-beta.10"
resolved "https://registry.yarnpkg.com/recharts/-/recharts-1.0.0-beta.10.tgz#d3cd15df6b7879d5968da3c942b5fcdaf2504fe1"
dependencies:
classnames "2.2.5"
core-js "2.5.1"
d3-interpolate "^1.1.5"
d3-scale "1.0.6"
d3-shape "1.2.0"
lodash "~4.17.4"
prop-types "^15.6.0"
react-resize-detector "1.1.0"
react-smooth "1.0.0"
recharts-scale "0.3.2"
reduce-css-calc "1.3.0"
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@ -8211,7 +8080,7 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
reduce-css-calc@1.3.0, reduce-css-calc@^1.2.6:
reduce-css-calc@^1.2.6:
version "1.3.0"
resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
dependencies:
@ -8277,7 +8146,7 @@ regex-cache@^0.4.2:
dependencies:
is-equal-shallow "^0.1.3"
regex-not@^1.0.0:
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
dependencies:
@ -8875,14 +8744,14 @@ sort-keys@^2.0.0:
dependencies:
is-plain-obj "^1.0.0"
source-list-map@^0.1.6, source-list-map@~0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-list-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
source-list-map@~0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-map-resolve@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
@ -9284,11 +9153,11 @@ symbol-tree@^3.2.2:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
table@^4.0.1, table@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
version "4.0.3"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
dependencies:
ajv "^5.2.3"
ajv-keywords "^2.1.0"
ajv "^6.0.1"
ajv-keywords "^3.0.0"
chalk "^2.1.0"
lodash "^4.17.4"
slice-ansi "1.0.0"
@ -9298,6 +9167,10 @@ tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
tapable@^1.0.0-beta.5:
version "1.0.0"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2"
tar-fs@^1.13.0:
version "1.16.0"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896"
@ -9438,12 +9311,13 @@ to-regex-range@^2.1.0:
repeat-string "^1.6.1"
to-regex@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae"
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
dependencies:
define-property "^0.2.5"
extend-shallow "^2.0.1"
regex-not "^1.0.0"
define-property "^2.0.2"
extend-shallow "^3.0.2"
regex-not "^1.0.2"
safe-regex "^1.1.0"
toposort@^1.0.0:
version "1.0.6"
@ -9562,8 +9436,8 @@ uglifyjs-webpack-plugin@^0.4.6:
webpack-sources "^1.0.1"
uglifyjs-webpack-plugin@^1.1.6, uglifyjs-webpack-plugin@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz#f706fa4c655000a086b4a97c7d835ed0f6e9b0ef"
version "1.2.2"
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz#e7516d4367afdb715c3847841eb46f94c45ca2b9"
dependencies:
cacache "^10.0.1"
find-cache-dir "^1.0.0"
@ -9650,13 +9524,8 @@ unzip@^0.1.11:
setimmediate ">= 1.0.1 < 2"
upath@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.2.tgz#80aaae5395abc5fd402933ae2f58694f0860204c"
dependencies:
lodash.endswith "^4.2.1"
lodash.isfunction "^3.0.8"
lodash.isstring "^4.0.1"
lodash.startswith "^4.2.1"
version "1.0.4"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d"
update-notifier@^2.3.0:
version "2.3.0"
@ -9807,6 +9676,41 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
victory-chart@^25.1.1:
version "25.1.1"
resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-25.1.1.tgz#5b5d9bde802eea774f1105af6fb723d478717532"
dependencies:
d3-voronoi "^1.1.2"
lodash "^4.17.4"
victory-core "^21.0.4"
victory-core@^21.0.2, victory-core@^21.0.4:
version "21.0.4"
resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-21.0.4.tgz#5ac6d495a43e5d95249c56973290b182ec607b4a"
dependencies:
d3-ease "^1.0.0"
d3-interpolate "^1.1.1"
d3-scale "^1.0.0"
d3-shape "^1.2.0"
d3-timer "^1.0.0"
lodash "^4.17.4"
victory-pie@^14.0.1:
version "14.0.1"
resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-14.0.1.tgz#53dff9e81696253c3da00f347d908d3ac1241c66"
dependencies:
d3-shape "^1.0.0"
lodash "^4.17.4"
victory-core "^21.0.2"
victory@^0.25.6:
version "0.25.6"
resolved "https://registry.yarnpkg.com/victory/-/victory-0.25.6.tgz#3b5b0a1d2a773caf75cc916e6ace9ad3d7d75024"
dependencies:
victory-chart "^25.1.1"
victory-core "^21.0.4"
victory-pie "^14.0.1"
virtual-module-webpack-plugin@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/virtual-module-webpack-plugin/-/virtual-module-webpack-plugin-0.3.0.tgz#b2095b2b8c51480362ab3ec2bd613bdd507cbd46"
@ -10046,11 +9950,11 @@ wordwrap@~1.0.0:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
worker-farm@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae"
version "1.5.4"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.4.tgz#4debbe46b40edefcc717ebde74a90b1ae1e909a1"
dependencies:
errno "^0.1.4"
xtend "^4.0.1"
errno "~0.1.7"
xtend "~4.0.1"
wrap-ansi@^2.0.0:
version "2.1.0"
@ -10119,7 +10023,7 @@ xpipe@*:
version "1.0.5"
resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf"
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"

Loading…
Cancel
Save