diff --git a/.stylelintrc b/.stylelintrc
index f665a0aef..af2b3f750 100644
--- a/.stylelintrc
+++ b/.stylelintrc
@@ -1,7 +1,7 @@
{
"extends": ["stylelint-config-standard", "stylelint-config-recommended-scss"],
"rules": {
- "max-nesting-depth": 5,
+ "max-nesting-depth": 9,
"string-quotes": "single",
"declaration-colon-space-after": "always",
"declaration-colon-space-before": "never",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0a41b83aa..0f15c2e02 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,18 +1,26 @@
# 更新日志
+## 2.1.0
+
+- 新增 `` 面包屑组件 [#573](https://github.com/XiaoMi/hiui/issues/573)
+- 新增 `` 线型展示模式 [#541](https://github.com/XiaoMi/hiui/issues/541)
+- 修复 `` 中的自定义上传同一个文件失败的问题 [#567](https://github.com/XiaoMi/hiui/issues/567)
+- 修复 `` 重复渲染问题 [#565](https://github.com/XiaoMi/hiui/issues/565)
+- 修复 `` activeId 无效的问题 [#560](https://github.com/XiaoMi/hiui/issues/560)
+
## 2.0.5
- 修复 `` hover 的闪烁问题 [#522](https://github.com/XiaoMi/hiui/issues/522)
-- 修复 `` maxCount 结合 onChange return false的计算错误问题 [#549](https://github.com/XiaoMi/hiui/issues/549)
+- 修复 `` maxCount 结合 onChange return false 的计算错误问题 [#549](https://github.com/XiaoMi/hiui/issues/549)
- 修复 `` 部分区域点击无效的问题 [#555](https://github.com/XiaoMi/hiui/issues/555)
- 修复 `
` 高亮项计算错误的问题 [#556](https://github.com/XiaoMi/hiui/issues/556)
## 2.0.4
-- 修复:`DatePicker.format` 方法丢失的问题 [#540](https://github.com/XiaoMi/hiui/issues/540)
-- 修复:`` 垂直布局的问题 [#545](https://github.com/XiaoMi/hiui/issues/545)
-- 修复:`` 增加默认背景色 [#546](https://github.com/XiaoMi/hiui/issues/546)
-- 优化:过滤`` 、 `` 无关属性 [#547](https://github.com/XiaoMi/hiui/issues/547)
+- 修复:`DatePicker.format` 方法丢失的问题 [#540](https://github.com/XiaoMi/hiui/issues/540)
+- 修复:`` 垂直布局的问题 [#545](https://github.com/XiaoMi/hiui/issues/545)
+- 修复:`` 增加默认背景色 [#546](https://github.com/XiaoMi/hiui/issues/546)
+- 优化:过滤`` 、 `` 无关属性 [#547](https://github.com/XiaoMi/hiui/issues/547)
## 2.0.2
diff --git a/components/alert/__tests__/index.test.js b/components/alert/__tests__/index.test.js
new file mode 100644
index 000000000..ebd4882be
--- /dev/null
+++ b/components/alert/__tests__/index.test.js
@@ -0,0 +1,90 @@
+import React from 'react'
+import { mount, shallow } from 'enzyme'
+import { spy, fake } from 'sinon'
+import Alert from '../alert'
+
+describe('Alert', () => {
+ beforeAll(() => {
+ jest.useFakeTimers()
+ })
+ afterAll(() => {
+ jest.useRealTimers()
+ })
+
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const componentDidMountSpy = spy(Alert.prototype, 'componentDidMount')
+ const wrapper = mount()
+
+ expect(wrapper.instance()).toBeInstanceOf(Alert)
+
+ expect(componentDidMountSpy.callCount).toEqual(1)
+ componentDidMountSpy.restore()
+
+ expect(wrapper.find('.icon-info-circle-o')).toHaveLength(1)
+ expect(wrapper.find('.close-btn')).toHaveLength(1)
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('type', () => {
+ const wrapper = mount(
+
+ )
+
+ // NOTE 缺少 type 对应唯一标识
+ expect(wrapper.find('.icon-info-circle-o')).toHaveLength(2)
+ expect(wrapper.find('.icon-close-circle-o')).toHaveLength(1)
+ expect(wrapper.find('.icon-check-circle-o')).toHaveLength(1)
+ })
+
+ it('onClose', () => {
+ const callback = fake()
+ const wrapper = shallow(
+
+ )
+
+ wrapper.find('.close-btn').first().simulate('click')
+ expect(callback.callCount).toEqual(1)
+ })
+
+ it('content', () => {
+ const content = 'text-content'
+ const wrapper = shallow(
+
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringMatching(content))
+ })
+
+ it('title', () => {
+ const title = 'text-title'
+ const wrapper = shallow(
+
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringMatching(title))
+ })
+
+ it('duration', () => {
+ const duration = 100
+ const wrapper = shallow(
+
+ )
+ const handleCloseSpy = spy(Alert.prototype, 'handleClose')
+
+ expect(handleCloseSpy.callCount).toEqual(0)
+ expect(setTimeout).toHaveBeenCalledTimes(1);
+ expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function), duration)
+
+ jest.runAllTimers()
+ expect(handleCloseSpy.callCount).toEqual(1)
+ handleCloseSpy.restore()
+ })
+ })
+})
diff --git a/components/badge/__tests__/index.test.js b/components/badge/__tests__/index.test.js
new file mode 100644
index 000000000..63412b7a7
--- /dev/null
+++ b/components/badge/__tests__/index.test.js
@@ -0,0 +1,86 @@
+import React from 'react'
+import { mount, shallow } from 'enzyme'
+import Badge from '../Badge'
+
+describe('Badge', () => {
+ describe('Lifecycle', () => {
+ // FIXME #34 typeof +content === 'number' always be true
+ it('componentDidMount', () => {
+ const wrapper = mount()
+
+ expect(wrapper.instance()).toBeInstanceOf(Badge)
+
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-base`)).toHaveLength(1)
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-value`)).toHaveLength(1)
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('type', () => {
+ const wrapper = mount(
+
+
+
+
+ )
+
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-dot`)).toHaveLength(1)
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-value`)).toHaveLength(1)
+ })
+
+ it('content', () => {
+ const content = 'test-content'
+ const contentNumber1 = 1
+ const contentNumber2 = 100
+ const wrapper = shallow(
+
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringMatching(content))
+
+ wrapper.setProps({ content: contentNumber1 })
+ expect(wrapper.text()).toEqual(expect.stringMatching(`${contentNumber1}`))
+
+ wrapper.setProps({ content: contentNumber2 })
+ expect(wrapper.text()).toEqual(expect.stringMatching(`${Badge.defaultProps.max}+`))
+ })
+
+ it('max', () => {
+ const props = {
+ max: 33,
+ content: 1
+ }
+ const wrapper = shallow(
+
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringMatching(`${props.content}`))
+
+ wrapper.setProps({ content: 34 })
+ expect(wrapper.text()).toEqual(expect.stringMatching(`${props.max}+`))
+ })
+
+ it('visible', () => {
+ const wrapper = mount(
+
+
+
+
+ )
+
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-dot.hi-hide`)).toHaveLength(1)
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-value.hi-hide`)).toHaveLength(1)
+ })
+
+ it('style', () => {
+ const style = {
+ color: '#ffff00'
+ }
+ const wrapper = shallow(
+
+ )
+
+ expect(wrapper.find(`.${Badge.defaultProps.prefixCls}-base`).prop('style')).toMatchObject(style)
+ })
+ })
+})
diff --git a/components/breadcrumb/index.js b/components/breadcrumb/index.js
new file mode 100644
index 000000000..4896ac75c
--- /dev/null
+++ b/components/breadcrumb/index.js
@@ -0,0 +1,32 @@
+import React, { Component } from 'react'
+import PropTypes from 'prop-types'
+import Icon from '../icon'
+import './style/index'
+
+class Breadcrumb extends Component {
+ render () {
+ const { separator, data, onClick } = this.props
+ return
+ {
+ data.map((item, index) => {
+ return
+ { onClick(item.path) }}>{item.icon && }{item.content}
+ {separator}
+
+ })
+ }
+
+ }
+}
+
+Breadcrumb.propTypes = {
+ separator: PropTypes.string,
+ data: PropTypes.array,
+ onClick: PropTypes.func
+}
+Breadcrumb.defaultProps = {
+ separator: '|',
+ data: [],
+ onClick: () => {}
+}
+export default Breadcrumb
diff --git a/components/breadcrumb/style/index.js b/components/breadcrumb/style/index.js
new file mode 100644
index 000000000..63810a681
--- /dev/null
+++ b/components/breadcrumb/style/index.js
@@ -0,0 +1 @@
+import './index.scss'
diff --git a/components/breadcrumb/style/index.scss b/components/breadcrumb/style/index.scss
new file mode 100644
index 000000000..10cda5d73
--- /dev/null
+++ b/components/breadcrumb/style/index.scss
@@ -0,0 +1,33 @@
+.hi-breadcrumb {
+ color: rgba(153, 153, 153, 1);
+
+ &__content {
+ cursor: pointer;
+
+ &:hover {
+ color: #4284f5;
+ }
+
+ .hi-icon {
+ margin: 0 4px;
+ }
+ }
+
+ &__separator {
+ margin: 0 10px;
+ }
+
+ &__item:last-child {
+ .hi-breadcrumb__content {
+ cursor: text;
+
+ &:hover {
+ color: rgba(153, 153, 153, 1);
+ }
+ }
+
+ .hi-breadcrumb__separator {
+ display: none;
+ }
+ }
+}
diff --git a/components/button/__test__/index.test.js b/components/button/__test__/index.test.js
deleted file mode 100644
index cf7254c8c..000000000
--- a/components/button/__test__/index.test.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react'
-import { mount } from 'enzyme'
-import Button from '../'
-
-let wrapper
-const clickCallback = jest.fn(val => val)
-
-describe('Dropdown', () => {
- beforeEach(() => {})
-
- afterEach(() => {
- wrapper && wrapper.unmount()
- clickCallback.mockClear()
- })
-
- it('点击事件', () => {
- wrapper = mount(
-
-
-
- )
-
- wrapper.find(Button).simulate('click')
-
- expect(clickCallback).toHaveBeenCalled()
- })
-})
diff --git a/components/button/__tests__/index.test.js b/components/button/__tests__/index.test.js
new file mode 100644
index 000000000..b29480186
--- /dev/null
+++ b/components/button/__tests__/index.test.js
@@ -0,0 +1,231 @@
+import React, { Fragment } from 'react'
+import { mount } from 'enzyme'
+import { fake } from 'sinon'
+import Button from '../'
+import Icon from '../../icon'
+import IconLoading from '../IconLoading'
+
+describe('Button', () => {
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const wrapper = mount()
+
+ // wrappered by Provider
+ // expect(wrapper.instance()).toBeInstanceOf(Button)
+
+ expect(wrapper.find(`button`)).toHaveLength(1)
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('type', () => {
+ const types = [
+ 'primary',
+ 'line',
+ 'success',
+ 'danger',
+ 'default',
+ 'warning',
+ 'info'
+ ]
+
+ const wrapper = mount(
+
+ { types.map((type, index) => ) }
+
+ )
+
+ types.map((type) => expect(wrapper.find(`button.hi-btn--type--${type}`)).toHaveLength(1))
+ })
+
+ it('size', () => {
+ const sizes = [
+ 'large',
+ 'small',
+ 'normal'
+ ]
+
+ const wrapper = mount(
+
+ { sizes.map((size, index) => ) }
+
+ )
+
+ sizes.map((size) => expect(wrapper.find(`button.hi-btn--size--${size}`)).toHaveLength(1))
+ })
+
+ it('appearance', () => {
+ const appearances = [
+ 'link',
+ 'button',
+ 'line'
+ ]
+
+ const wrapper = mount(
+
+ { appearances.map((appearance, index) => ) }
+
+ )
+
+ appearances.map((appearance) => expect(wrapper.find(`button.hi-btn--appearance--${appearance}`)).toHaveLength(1))
+ })
+
+ it('theme', () => {
+ const theme = 'custom-theme'
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`button.theme__${theme}`)).toHaveLength(1)
+ })
+
+ it('icon', () => {
+ const icon = 'custom-icon'
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Icon)).toHaveLength(1)
+ })
+
+ it('loading', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(IconLoading)).toHaveLength(1)
+ })
+
+ it('className', () => {
+ const className = 'test-class'
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`button.${className}`)).toHaveLength(1)
+ })
+
+ it('style', () => {
+ const style = {
+ color: '#ffff00'
+ }
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`button`).prop('style')).toMatchObject(style)
+ })
+
+ it('disabled', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`button.hi-btn--disabled`)).toHaveLength(1)
+ })
+
+ it('href', () => {
+ const href = 'https://www.mi.com'
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`a`).prop('href')).toEqual(expect.stringMatching(href))
+ })
+
+ // FIXME 源码 target 有遗漏
+ it.skip('target', () => {
+ const targets = [
+ '_self',
+ '_blank',
+ '_parent',
+ '_top'
+ ]
+ const href = 'https://www.mi.com'
+ const wrapper = mount(
+
+ { targets.map((target, index) => ) }
+
+ )
+
+ targets.map((target, index) => expect(wrapper.find(`a`).at(index).prop('target')).toEqual(expect.stringMatching(target)))
+ })
+
+ it('children', () => {
+ const Children = function () {
+ return children
+ }
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Children)).toHaveLength(1)
+ })
+
+ it('onClick', () => {
+ const callback = fake()
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('button').first().simulate('click')
+ expect(callback.callCount).toEqual(1)
+ })
+ })
+
+ describe('Branch', () => {
+ it('props: icon && children', () => {
+ const icon = 'custom-icon'
+ const children = 'children'
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Icon)).toHaveLength(1)
+ expect(wrapper.text()).toEqual(expect.stringContaining(children))
+ })
+
+ it('props: type && appearance', () => {
+ const props = {
+ type: 'primary',
+ appearance: 'line'
+ }
+ const wrapper = mount()
+
+ expect(wrapper.find(`button.hi-btn--type--line`)).toHaveLength(1)
+ })
+ })
+})
+
+describe('ButtonGroup', () => {
+ const Children = () => (
+
+
+
+
+
+
+
+
+
+ )
+
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const wrapper = mount(
+
+
+
+ )
+
+ expect(wrapper.instance()).toBeInstanceOf(Button.Group)
+
+ expect(wrapper.find(`.hi-btn-group`)).toHaveLength(1)
+ })
+ })
+})
diff --git a/components/card/__tests__/index.test.js b/components/card/__tests__/index.test.js
new file mode 100644
index 000000000..3da84a404
--- /dev/null
+++ b/components/card/__tests__/index.test.js
@@ -0,0 +1,221 @@
+import React from 'react'
+import { mount } from 'enzyme'
+import Card from '../'
+
+describe('Card', () => {
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const wrapper = mount()
+
+ expect(wrapper.instance()).toBeInstanceOf(Card)
+
+ expect(wrapper.find(`.hi-card`)).toHaveLength(1)
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('type', () => {
+ const types = [
+ 'simple',
+ 'default'
+ ]
+
+ const wrapper = mount(
+
+ { types.map((type, index) => ) }
+
+ )
+
+ expect(wrapper.find(`.hi-card`)).toHaveLength(2)
+ expect(wrapper.find(`.hi-card__content--simple`)).toHaveLength(1)
+ })
+
+ it('extraType', () => {
+ const extraTypes = [
+ 'hover',
+ 'default'
+ ]
+
+ const wrapper = mount(
+
+ { extraTypes.map((extraType, index) => ) }
+
+ )
+
+ const firstCard = wrapper.find(Card).first()
+
+ expect(firstCard.state().extraShow).toBeFalsy()
+
+ firstCard.find('.hi-card').simulate('mouseenter')
+ expect(firstCard.state().extraShow).toBeTruthy()
+
+ firstCard.find('.hi-card').simulate('mouseleave')
+ expect(firstCard.state().extraShow).toBeFalsy()
+ })
+
+ // NOTE 将要废弃 添加 it.skip
+ it('extraShow', () => {
+ const extraShows = [
+ 'hover',
+ 'stay'
+ ]
+
+ const wrapper = mount(
+
+ { extraShows.map((extraShow, index) => ) }
+
+ )
+
+ const firstCard = wrapper.find(Card).first()
+
+ expect(firstCard.state().extraShow).toEqual(false)
+
+ firstCard.find('.hi-card').simulate('mouseenter')
+ expect(firstCard.state().extraShow).toEqual(true)
+
+ firstCard.find('.hi-card').simulate('mouseleave')
+ expect(firstCard.state().extraShow).toEqual(false)
+ })
+
+ // NOTE 将要废弃 添加 it.skip
+ it('disabled', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.hi-card--disabled`)).toHaveLength(1)
+ })
+
+ it('children', () => {
+ const Children = function () {
+ return children
+ }
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Children)).toHaveLength(1)
+ })
+
+ it('content', () => {
+ const content = 'custom-content'
+
+ const wrapper = mount(
+ } {...{content}} />
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringContaining(content))
+ })
+
+ // NOTE 将要废弃 添加 it.skip
+ it('description', () => {
+ const description = 'custom-description'
+
+ const wrapper = mount(
+ } {...{description}} />
+ )
+
+ expect(wrapper.text()).toEqual(expect.stringContaining(description))
+ })
+
+ it('coverUrl', () => {
+ const coverUrl = 'custom-coverUrl'
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find('img').prop('src')).toEqual(coverUrl)
+ })
+
+ it('cover', () => {
+ const cover =
+
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.cover-class`)).toHaveLength(1)
+ })
+
+ it('extra', () => {
+ const extras = [
+ ,
+ 'extra-string',
+ [
+ ,
+ 'extra-array-string'
+ ]
+ ]
+
+ const wrapper = mount(
+
+ { extras.map((extra, index) => ) }
+
+ )
+
+ expect(wrapper.find(`.extra-element-class`)).toHaveLength(1)
+ expect(wrapper.find(`.extra-array-element`)).toHaveLength(1)
+
+ expect(wrapper.text()).toEqual(expect.stringContaining('extra-string'))
+ expect(wrapper.text()).toEqual(expect.stringContaining('extra-array-string'))
+ })
+
+ it('title', () => {
+ const titles = [
+ ,
+ 'title-string'
+ ]
+
+ const wrapper = mount(
+
+ { titles.map((title, index) => ) }
+
+ )
+
+ expect(wrapper.find(`.title-element-class`)).toHaveLength(1)
+
+ expect(wrapper.text()).toEqual(expect.stringContaining('title-string'))
+ })
+
+ it('hoverable', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.hi-card--hover`)).toHaveLength(1)
+ })
+
+ it('size', () => {
+ const sizes = [
+ 'small',
+ 'default',
+ 'large'
+ ]
+
+ const wrapper = mount(
+
+ { sizes.map((size, index) => ) }
+
+ )
+
+ expect(wrapper.find(`.hi-card--small`)).toHaveLength(1)
+ expect(wrapper.find(`.hi-card--middle`)).toHaveLength(1)
+ expect(wrapper.find(`.hi-card--large`)).toHaveLength(1)
+ })
+
+ it('style', () => {
+ const style = {
+ color: '#ffff00'
+ }
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.hi-card`).prop('style')).toMatchObject(style)
+ })
+ })
+})
+
+
diff --git a/components/cascader/Cascader.js b/components/cascader/Cascader.js
index b085ef24f..debf5fbde 100644
--- a/components/cascader/Cascader.js
+++ b/components/cascader/Cascader.js
@@ -378,3 +378,6 @@ Cascader.childContextTypes = {
}
export default Provider(Cascader)
+export {
+ Cascader
+}
diff --git a/components/cascader/__test__/index.test.js b/components/cascader/__test__/index.test.js
deleted file mode 100644
index 6390082d9..000000000
--- a/components/cascader/__test__/index.test.js
+++ /dev/null
@@ -1,307 +0,0 @@
-import React from 'react'
-import { mount } from 'enzyme'
-import Cascader from '../'
-
-let wrapper
-const changeCallback = jest.fn(value => value)
-const activeItemChangeCallback = jest.fn(value => value)
-jest.mock('lodash/debounce', () => jest.fn(fn => fn))
-const options = [
- {
- value: '手机',
- label: '手机',
- children: [
- {
- value: '小米',
- label: '小米',
- children: [
- {
- value: '小米3',
- label: '小米3'
- },
- {
- value: '小米4',
- label: '小米4'
- }
- ]
- },
- {
- value: '红米',
- label: '红米',
- children: [
- {
- value: '红米3',
- label: '红米3',
- disabled: true
- },
- {
- value: '红米4',
- label: '红米4'
- }
- ]
- }
- ]
- },
- {
- value: '电视',
- label: '电视',
- children: [
- {
- value: '小米电视4A',
- label: '小米电视4A'
- },
- {
- value: '小米电视4C',
- label: '小米电视4C'
- }
- ]
- }
-]
-
-describe('Cascader', () => {
- beforeEach(() => {
- jest.useFakeTimers()
- jest.setTimeout(10000)
- })
-
- afterEach(() => {
- wrapper && wrapper.unmount()
- changeCallback.mockClear()
- activeItemChangeCallback.mockClear()
- jest.useRealTimers()
- })
-
- it('禁用', () => {
- wrapper = mount(
-
- )
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(0)
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(0)
- })
-
- it('基础用法', () => {
- wrapper = mount(
-
- )
- // 测试默认值
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '红米', '红米4'])
-
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(0)
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(1)
-
- // 测试默认值选中
- expect(document.querySelectorAll('.hi-cascader-menu')[0].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('手机')
- expect(document.querySelectorAll('.hi-cascader-menu')[1].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('红米')
- expect(document.querySelectorAll('.hi-cascader-menu')[2].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('红米4')
-
- // 测试禁用项不可点击
- document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(1)
- expect(changeCallback).not.toHaveBeenCalled()
-
- // 切换
- document.querySelectorAll('.hi-cascader-menu')[1].querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')).toHaveLength(2)
- expect(document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].textContent).toEqual('小米3')
- expect(document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[1].textContent).toEqual('小米4')
-
- // 选中小米3
- document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '小米', '小米3'])
- expect(changeCallback).toHaveBeenCalledTimes(1)
- expect(changeCallback.mock.results[0].value).toEqual(['手机', '小米', '小米3'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1) // 收起
- })
-
- it('自定义字段名', () => {
- const options = [
- {
- goodsId: '手机',
- goodsName: '手机',
- subGoods: [
- {
- goodsId: '小米',
- goodsName: '小米',
- subGoods: [
- {
- goodsId: '小米3',
- goodsName: '小米3'
- },
- {
- goodsId: '小米4',
- goodsName: '小米4'
- }
- ]
- },
- {
- goodsId: '红米',
- goodsName: '红米',
- subGoods: [
- {
- goodsId: '红米3',
- goodsName: '红米3'
- },
- {
- goodsId: '红米4',
- goodsName: '红米4'
- }
- ]
- }
- ]
- },
- {
- goodsId: '电视',
- goodsName: '电视',
- subGoods: [
- {
- goodsId: '小米电视4A',
- goodsName: '小米电视4A'
- },
- {
- goodsId: '小米电视4C',
- goodsName: '小米电视4C'
- }
- ]
- }
- ]
- wrapper = mount(
-
- )
-
- // 测试默认值
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '红米', '红米4'])
-
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(0)
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
- expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(1)
-
- // 测试默认值选中
- expect(document.querySelectorAll('.hi-cascader-menu')[0].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('手机')
- expect(document.querySelectorAll('.hi-cascader-menu')[1].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('红米')
- expect(document.querySelectorAll('.hi-cascader-menu')[2].querySelector('.hi-cascader-menu__item-active').textContent).toEqual('红米4')
-
- // 选中红米3
- document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '红米', '红米3'])
- expect(changeCallback).toHaveBeenCalledTimes(1)
- expect(changeCallback.mock.results[0].value).toEqual(['手机', '红米', '红米3'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1) // 收起
- })
-
- it('选择即改变', () => {
- wrapper = mount(
-
- )
-
- // 测试默认值
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual([])
-
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
-
- document.querySelectorAll('.hi-cascader-menu')[0].querySelectorAll('.hi-cascader-menu__item')[0].click()
- // test onChange
- expect(changeCallback).toHaveBeenCalledTimes(1)
- expect(changeCallback.mock.results[0].value).toEqual(['手机'])
- // test onActiveItemChange
- expect(activeItemChangeCallback).toHaveBeenCalledTimes(1)
- expect(activeItemChangeCallback.mock.results[0].value).toEqual(['手机'])
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(0) // 未收起
-
- document.querySelectorAll('.hi-cascader-menu')[1].querySelectorAll('.hi-cascader-menu__item')[0].click()
- // test onChange
- expect(changeCallback).toHaveBeenCalledTimes(2)
- expect(changeCallback.mock.results[1].value).toEqual(['手机', '小米'])
- // test onActiveItemChange
- expect(activeItemChangeCallback).toHaveBeenCalledTimes(2)
- expect(activeItemChangeCallback.mock.results[1].value).toEqual(['手机', '小米'])
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '小米'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(0) // 未收起
-
- document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].click()
- // test onChange
- expect(changeCallback).toHaveBeenCalledTimes(3)
- expect(changeCallback.mock.results[2].value).toEqual(['手机', '小米', '小米3'])
- // test onActiveItemChange
- expect(activeItemChangeCallback).toHaveBeenCalledTimes(2)
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '小米', '小米3'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1) // 收起
- })
-
- it('自定义显示', () => {
- wrapper = mount(
- {
- return values.join(' > ')
- }}
- />
- )
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
- document.querySelectorAll('.hi-cascader-menu')[0].querySelectorAll('.hi-cascader-menu__item')[0].click()
- document.querySelectorAll('.hi-cascader-menu')[1].querySelectorAll('.hi-cascader-menu__item')[0].click()
- document.querySelectorAll('.hi-cascader-menu')[2].querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(changeCallback).toHaveBeenCalledTimes(1)
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '小米', '小米3'])
- expect(wrapper.find('.hi-cascader__input-keyword').instance().value).toEqual('手机 > 小米 > 小米3')
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1) // 收起
- })
-
- it('搜索', () => {
- wrapper = mount(
-
- )
- wrapper.find('.hi-cascader__input-container').simulate('click') // 展开
-
- wrapper.find('input').simulate('change', { target: { value: '00' } }) // 无搜索结果
- wrapper.find('input').simulate('keyUp')
- expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
- expect(document.querySelector('.hi-cascader-menu__item').textContent).toEqual('未搜索到相关内容')
-
- wrapper.find('input').simulate('change', { target: { value: '3' } })
- wrapper.find('input').simulate('keyUp')
- expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
- expect(document.querySelectorAll('.hi-cascader-menu__item')).toHaveLength(2)
-
- document.querySelectorAll('.hi-cascader-menu__item')[0].click()
- expect(changeCallback).toHaveBeenCalledTimes(1)
- expect(wrapper.find('Cascader').state().cascaderValue).toEqual(['手机', '小米', '小米3'])
- expect(document.querySelectorAll('.hi-popper__container--hide')).toHaveLength(1) // 收起
- })
-})
diff --git a/components/cascader/__tests__/index.test.js b/components/cascader/__tests__/index.test.js
new file mode 100644
index 000000000..b3e0a5a1a
--- /dev/null
+++ b/components/cascader/__tests__/index.test.js
@@ -0,0 +1,455 @@
+import React from 'react'
+import { mount } from 'enzyme'
+import sinon, { spy, stub } from 'sinon'
+import CascaderProvider, { Cascader } from '../Cascader'
+
+describe('Cascader', () => {
+ const data = [
+ {
+ content: '手机',
+ id: '手机',
+ children: [
+ {
+ content: '小米',
+ id: '小米',
+ children: [
+ {
+ content: '小米3',
+ id: '小米3'
+ },
+ {
+ content: '小米4',
+ id: '小米4'
+ }
+ ]
+ },
+ {
+ content: '红米',
+ id: '红米',
+ children: [
+ {
+ content: '红米3',
+ id: '红米3',
+ disabled: true
+ },
+ {
+ content: '红米4',
+ id: '红米4'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ content: '电视',
+ id: '电视',
+ children: [
+ {
+ content: '小米电视4A',
+ id: '小米电视4A'
+ },
+ {
+ content: '小米电视4C',
+ id: '小米电视4C',
+ disabled: true
+ }
+ ]
+ }
+ ]
+
+ let clock
+
+ beforeEach(() => {
+ clock = sinon.useFakeTimers()
+ })
+
+ afterEach(() => {
+ clock.restore()
+ })
+
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const componentDidMountSpy = spy(Cascader.prototype, 'componentDidMount')
+ const wrapper = mount()
+
+ expect(wrapper.find(Cascader).instance()).toBeInstanceOf(Cascader)
+
+ expect(componentDidMountSpy.callCount).toEqual(1)
+ componentDidMountSpy.restore()
+
+ expect(wrapper.find(`.hi-cascader`)).toHaveLength(1)
+ })
+
+ it('componentWillUnmount', () => {
+ const componentWillUnmountSpy = spy(Cascader.prototype, 'componentWillUnmount')
+ const wrapper = mount()
+
+ wrapper.unmount()
+
+ expect(componentWillUnmountSpy.callCount).toEqual(1)
+ componentWillUnmountSpy.restore()
+
+ expect(wrapper.find(`.hi-cascader`)).toHaveLength(0)
+ })
+
+ it('componentWillReceiveProps', () => {
+ const componentWillReceivePropsSpy = spy(Cascader.prototype, 'componentWillReceiveProps')
+ const wrapper = mount()
+
+ wrapper.setProps({
+ disabled: true
+ })
+
+ expect(componentWillReceivePropsSpy.callCount).toEqual(1)
+ componentWillReceivePropsSpy.restore()
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('data', () => {
+ const wrapper = mount()
+
+ expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(0)
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(document.querySelectorAll('.hi-cascader__popper')).toHaveLength(1)
+
+ wrapper.unmount()
+ })
+
+ it('value', () => {
+ const value = ['手机', '红米', '红米4']
+ const nextValue = ['电视', '电磁炉', '空调']
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Cascader).state().cascaderValue).toEqual(value)
+
+ wrapper.setProps({ value: nextValue })
+ expect(wrapper.find(Cascader).state().cacheValue).toEqual(nextValue)
+ expect(nextValue.join(' / ')).toEqual(
+ expect.stringContaining(wrapper.find(Cascader).state().cascaderLabel)
+ )
+ })
+
+ // NOTE 默认 fieldNames 与线上文档不一致
+ it('fieldNames', () => {
+ const fieldNames = {
+ label: 'label',
+ value: 'value',
+ children: 'child'
+ }
+ const data = [
+ {
+ label: '电视',
+ value: '电视',
+ child: [
+ {
+ label: '小米电视4A',
+ value: '小米电视4A'
+ }
+ ]
+ }
+ ]
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(Cascader).instance()).toBeInstanceOf(Cascader)
+ expect(wrapper.find(Cascader).prop('data')).toMatchObject(data)
+ })
+
+ it('searchable', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find('input').prop('readOnly')).toEqual(false)
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+
+ wrapper.find('input').simulate('change', { target: { value: 'empty' } })
+ wrapper.find('input').simulate('keyUp')
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
+ clock.tick(500)
+ expect(document.querySelector('.hi-cascader-menu__item').textContent).toEqual('无匹配数据')
+
+ wrapper.find('input').simulate('change', { target: { value: '电视' } })
+ wrapper.find('input').simulate('keyUp')
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
+ clock.tick(500)
+ expect(document.querySelector('.hi-cascader-menu__item').textContent).toEqual(expect.stringContaining('电视'))
+
+ wrapper.unmount()
+ })
+
+ it('clearable', () => {
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find('.hi-cascader--clearable')).toHaveLength(1)
+ expect(wrapper.find('.hi-cascader__icon--clear')).toHaveLength(1)
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ document.querySelectorAll('.hi-cascader-menu')[0].children[0].click()
+ document.querySelectorAll('.hi-cascader-menu')[1].children[0].click()
+ document.querySelectorAll('.hi-cascader-menu')[2].children[0].click()
+ wrapper.update()
+ expect(wrapper.find('input').prop('value')).not.toEqual('')
+
+ wrapper.find('.hi-cascader__icon--clear').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(false)
+
+ wrapper.setProps({ clearable: false })
+
+ expect(wrapper.find('.hi-cascader--clearable')).toHaveLength(0)
+ expect(wrapper.find('.hi-cascader__icon--clear')).toHaveLength(0)
+
+ wrapper.unmount()
+ })
+
+ it('disabled', () => {
+ const wrapper = mount(
+
+ )
+
+
+ expect(wrapper.find('.hi-cascader--disabled')).toHaveLength(1)
+ expect(wrapper.find('input').prop('disabled')).toEqual(true)
+
+ wrapper.find('.hi-cascader__input-container').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(false)
+
+ wrapper.unmount()
+ })
+
+ it('changeOnSelect', () => {
+ const wrapper = mount(
+
+ )
+ let cascaderLabel = ''
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
+ expect(document.querySelectorAll('.hi-cascader-menu')[0].children).toHaveLength(2)
+
+ cascaderLabel = data[0].content
+ document.querySelectorAll('.hi-cascader-menu')[0].children[0].click()
+ wrapper.update()
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(2)
+ expect(document.querySelectorAll('.hi-cascader-menu')[1].children).toHaveLength(2)
+ expect(wrapper.find('input').prop('placeholder')).toEqual(cascaderLabel)
+ wrapper.find(Cascader).setState({ popperShow: false })
+ expect(wrapper.find('input').prop('value')).toEqual(cascaderLabel)
+ wrapper.find(Cascader).setState({ popperShow: true })
+
+ cascaderLabel = [data[0].content, data[0].children[0].content].join(' / ')
+ document.querySelectorAll('.hi-cascader-menu')[1].children[0].click()
+ wrapper.update()
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(3)
+ expect(document.querySelectorAll('.hi-cascader-menu')[2].children).toHaveLength(2)
+ expect(wrapper.find('input').prop('placeholder')).toEqual(cascaderLabel)
+ wrapper.find(Cascader).setState({ popperShow: false })
+ expect(wrapper.find('input').prop('value')).toEqual(cascaderLabel)
+ wrapper.find(Cascader).setState({ popperShow: true })
+
+ cascaderLabel = [data[0].content, data[0].children[0].content, data[0].children[0].children[0].content].join(' / ')
+ document.querySelectorAll('.hi-cascader-menu')[2].children[0].click()
+ wrapper.update()
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(3)
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(false)
+ expect(wrapper.find('input').prop('value')).toEqual(cascaderLabel)
+
+ wrapper.unmount()
+ })
+
+ it('className', () => {
+ const className = 'custom-className'
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.hi-cascader.${className}`)).toHaveLength(1)
+ })
+
+ it('className', () => {
+ const placeholder = 'custom-placeholder'
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find('input').prop('placeholder')).toEqual(placeholder)
+ })
+
+ // NOTE emptyContent 没有展示预期内容
+ it.skip('emptyContent', () => {
+ const emptyContent = 'custom-emptyContent'
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(document.querySelectorAll('.hi-cascader-menu')[0].innerHTML).toEqual(expect.stringContaining(emptyContent))
+
+ wrapper.unmount()
+ })
+
+ it('style', () => {
+ const style = {
+ color: '#ffff00'
+ }
+ const wrapper = mount(
+
+ )
+
+ expect(wrapper.find(`.hi-cascader`).prop('style')).toMatchObject(style)
+ })
+
+ it('onActiveItemChange', () => {
+ const onActiveItemChange = stub()
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ document.querySelectorAll('.hi-cascader-menu')[0].children[0].click()
+ expect(onActiveItemChange.callCount).toEqual(1)
+
+ document.querySelectorAll('.hi-cascader-menu')[1].children[0].click()
+ expect(onActiveItemChange.callCount).toEqual(2)
+
+ document.querySelectorAll('.hi-cascader-menu')[2].children[0].click()
+ expect(onActiveItemChange.callCount).toEqual(2)
+
+ onActiveItemChange.reset()
+ wrapper.unmount()
+ })
+
+ it('onChange', () => {
+ const onChange = stub()
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ document.querySelectorAll('.hi-cascader-menu')[0].children[0].click()
+ expect(onChange.callCount).toEqual(0)
+
+ document.querySelectorAll('.hi-cascader-menu')[1].children[0].click()
+ expect(onChange.callCount).toEqual(0)
+
+ document.querySelectorAll('.hi-cascader-menu')[2].children[0].click()
+ expect(onChange.callCount).toEqual(1)
+
+ onChange.reset()
+ wrapper.unmount()
+ })
+
+ it('displayRender', () => {
+ const displayRender = stub()
+ const returnValue = 'displayRender-return'
+ displayRender.returns(returnValue)
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ document.querySelectorAll('.hi-cascader-menu')[0].children[0].click()
+ document.querySelectorAll('.hi-cascader-menu')[1].children[0].click()
+ document.querySelectorAll('.hi-cascader-menu')[2].children[0].click()
+ wrapper.update()
+
+ expect(wrapper.find('input').prop('value')).toEqual(returnValue)
+
+ displayRender.reset()
+ wrapper.unmount()
+ })
+ })
+
+ describe('Branch', () => {
+ it('state: { popperShow: true } && props: { disabled: false } && handleClick', () => {
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-container').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(true)
+
+ wrapper.find('.hi-cascader__input-container').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(false)
+
+ wrapper.unmount()
+ })
+
+ it('state: { keyword:undefined }', () => {
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+
+ wrapper.find('input').simulate('change', { target: { value: undefined } })
+ wrapper.find('input').simulate('keyUp')
+ expect(document.querySelectorAll('.hi-cascader-menu')).toHaveLength(1)
+ clock.tick(500)
+ expect(document.querySelector('.hi-cascader-menu__item').textContent).toEqual(data[0].content)
+
+ wrapper.unmount()
+ })
+
+ it('clickOutside', () => {
+ const outsideDom = document.createElement('div')
+ const wrapper = mount(
+
+ )
+
+ document.body.appendChild(outsideDom)
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(true)
+
+ outsideDom.click()
+ wrapper.update()
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(false)
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(true)
+
+ document.querySelector('.hi-cascader-menu').click()
+ expect(wrapper.find(Cascader).state('popperShow')).toEqual(true)
+
+ outsideDom.remove()
+ wrapper.unmount()
+ })
+
+ it('props: { data: [] }', () => {
+ const data = []
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('.hi-cascader__input-keyword').simulate('click')
+ expect(document.querySelectorAll('.hi-cascader-menu__item')).toHaveLength(0)
+ })
+ })
+})
diff --git a/components/collapse/index.js b/components/collapse/index.js
index 844422ab8..f514cceeb 100755
--- a/components/collapse/index.js
+++ b/components/collapse/index.js
@@ -56,17 +56,13 @@ class Collapse extends Component {
renderPanels () {
const activeKey = this.state.activeId
const { children, accordion, arrow, arrowPlacement, showArrow } = this.props
+
const newChildren = []
Children.forEach(children, (child, index) => {
if (!child) return
- const key = child.id || child.key || String(index)
+ const key = child.props.id || child.key || String(index)
const { header, disabled, title } = child.props
- let isActive = false
- if (accordion) {
- isActive = activeKey[0] === key
- } else {
- isActive = activeKey.indexOf(key) > -1
- }
+ let isActive = accordion ? activeKey[0] === key : activeKey.includes(key)
const props = {
key,
header: title || header,
diff --git a/components/index.js b/components/index.js
index 8a5528bfe..823896e3c 100755
--- a/components/index.js
+++ b/components/index.js
@@ -41,4 +41,5 @@ export { default as Switch } from './switch'
export { default as Rate } from './rate'
export { default as Message } from './message'
export { default as Tag } from './tag'
+export { default as Breadcrumb } from './breadcrumb'
export { ThemeContext, LocaleContext } from './context'
diff --git a/components/notification/HandleNotification.js b/components/notification/HandleNotification/index.js
similarity index 94%
rename from components/notification/HandleNotification.js
rename to components/notification/HandleNotification/index.js
index ef90334a2..54bfd1d64 100755
--- a/components/notification/HandleNotification.js
+++ b/components/notification/HandleNotification/index.js
@@ -2,7 +2,7 @@ import React, { Component } from 'react'
import { render, unmountComponentAtNode } from 'react-dom'
import PropTypes from 'prop-types'
import classNames from 'classnames'
-import './style-legacy/index'
+import './style/index'
/**
*
*
@@ -109,16 +109,6 @@ class Notification extends Component {
}
render () {
- // const {
- // autoClose,
- // duration,
- // positionAlign,
- // positionFrom,
- // type,
- // onClose,
- // title,
- // message
- // } = this.props
const classnames = classNames(this.props.prefixCls, this.props.type, {
show: this.state.show
})
diff --git a/components/notification/HandleNotification/style/index.js b/components/notification/HandleNotification/style/index.js
new file mode 100755
index 000000000..1f02fd8f1
--- /dev/null
+++ b/components/notification/HandleNotification/style/index.js
@@ -0,0 +1,2 @@
+import './index.scss'
+import '../../../style/icon/index.scss'
diff --git a/components/notification/style-legacy/index.scss b/components/notification/HandleNotification/style/index.scss
similarity index 97%
rename from components/notification/style-legacy/index.scss
rename to components/notification/HandleNotification/style/index.scss
index 9e12651c6..26bb2033d 100755
--- a/components/notification/style-legacy/index.scss
+++ b/components/notification/HandleNotification/style/index.scss
@@ -1,4 +1,4 @@
-@import '../../style/icon/index.scss';
+@import '../../../style/icon/index.scss';
.hi-notification-legacy {
position: fixed;
diff --git a/components/notification/style-legacy/index.js b/components/notification/style-legacy/index.js
deleted file mode 100755
index 14dd01250..000000000
--- a/components/notification/style-legacy/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import './index.scss'
-import '../../style/icon/index.scss'
diff --git a/components/style/icon/index.scss b/components/style/icon/index.scss
index 3577107ac..3547aea9e 100644
--- a/components/style/icon/index.scss
+++ b/components/style/icon/index.scss
@@ -2,7 +2,7 @@
@font-face {
font-family: 'hi-icon';
src:
- url('data:application/octet-stream;base64,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')
+ url('data:application/x-font-woff2;charset=utf-8;base64,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')
format('woff2');
}
@@ -606,3 +606,11 @@
.icon-packup::before {
content: '\e67b';
}
+
+.icon-TreeMinus::before {
+ content: '\e697';
+}
+
+.icon-TreePlus::before {
+ content: '\e698';
+}
diff --git a/components/switch/index.js b/components/switch/index.js
index 88f3246e0..3222742dc 100755
--- a/components/switch/index.js
+++ b/components/switch/index.js
@@ -13,10 +13,8 @@ class Switch extends Component {
}
componentWillReceiveProps (nextProps) {
- if (nextProps.checked !== this.state.checked) {
- this.setState({
- checked: nextProps.checked
- }, () => {
+ if (nextProps.checked !== this.props.checked) {
+ this.setState({ checked: nextProps.checked }, () => {
this.props.onChange(nextProps.checked)
})
}
@@ -29,9 +27,7 @@ class Switch extends Component {
if (typeof res === 'boolean' && !res) {
return
}
- this.setState({
- checked: !this.state.checked
- }, () => {
+ this.setState({ checked: !this.state.checked }, () => {
onChange(this.state.checked)
})
}
@@ -46,18 +42,13 @@ class Switch extends Component {
!checked && 'hi-switch--closed',
disabled && 'hi-switch--disabled'
)
- return
-
- {
- content.length > 0 && (
- checked ? content[0] : content[1]
- )
- }
+ return (
+
+
+ {content.length > 0 && (checked ? content[0] : content[1])}
+
-
+ )
}
}
@@ -66,7 +57,9 @@ Switch.defaultProps = {
checked: false,
disabled: false,
onChange: () => {},
- onClick: () => { return true }
+ onClick: () => {
+ return true
+ }
}
Switch.propTypes = {
content: PropTypes.array,
diff --git a/components/table/__test__/index.test.js b/components/table/__test__/index.test.js
deleted file mode 100644
index 21cc0c376..000000000
--- a/components/table/__test__/index.test.js
+++ /dev/null
@@ -1,69 +0,0 @@
-import React from 'react'
-import { mount } from 'enzyme'
-import Table from '../index'
-
-let wrapper
-const changeCallback = jest.fn(items => items)
-const successCallback = jest.fn(res => res.data)
-const errorCallback = jest.fn(err => err)
-jest.mock('lodash/debounce', () => jest.fn(fn => fn))
-
-const columns = [
- {
- key: 'name',
- dataIndex: 'name',
- title: '姓名'
- },
- {
- key: 'age',
- dataIndex: 'age',
- title: '年龄'
- },
- {
- key: 'sex',
- dataIndex: 'sex',
- title: '性别'
- }
-]
-
-const data = [
-
-]
-
-for (let i=0; i<10; i++) {
- data.push({
- name: `siri${i}`,
- age: i,
- sex: i%2 === 0 ? 'boy' : 'girl'
- })
-}
-
-describe('Table', () => {
-
- let random = Math.floor(Math.random())
- it('base', () => {
- wrapper = mount(
-
- )
- expect(wrapper.find('table tbody tr').at(random).find('td').at(0).text()).toEqual(data[random].name)
- })
-
- it('sort', () => {
- let sorterColumns = [...columns]
- sorterColumns[1].sorter = function() {
- return pre.age - next.age
- }
- wrapper = mount(
-
- )
- expect(wrapper.find('table tbody tr').at(random).find('td').at(0).text()).toEqual(data[random].name)
- wrapper.find('table thead tr th').at(1).find('div span').at(1).simulate('click')
- expect(wrapper.find('table tbody tr').at(random).find('td').at(0).text()).toEqual(data[9-random].name)
- })
-})
diff --git a/components/table/__tests__/index.test.js b/components/table/__tests__/index.test.js
new file mode 100644
index 000000000..dd36b910b
--- /dev/null
+++ b/components/table/__tests__/index.test.js
@@ -0,0 +1,157 @@
+import React from 'react'
+import { mount, shallow } from 'enzyme'
+import sinon, { spy, stub } from 'sinon'
+import Table from '../'
+
+describe('Table', () => {
+ const dataLength = 10
+ const columns = [
+ { title: 'Column 1', dataIndex: 'name', key: '1'},
+ { title: 'Column 1', dataIndex: 'age', key: '2'},
+ { title: 'Column 1', dataIndex: 'address', key: '3'},
+ {
+ title: ()=>自定义标题
,
+ dataIndex: 'address', key: '4',
+ width: '500px',
+ render(text,record,index){
+ return (
+
+ {text} --- {index} --- 自定义渲染
+
+ )
+ }},
+ {
+ title: 'Action',
+ key: 'operation',
+ width: 100,
+ render: () => action,
+ },
+ ]
+ const generateData = (length) => {
+ const data = []
+ for (let i = 0; i < dataLength; i++) {
+ data.push({
+ // key: i,
+ name: `Don Diablo ${i}`,
+ age: `${i}${i}`,
+ address: `EDC Las Vegas no. ${i}`,
+ })
+ }
+ return data
+ }
+
+ const data = generateData(dataLength)
+
+ let clock
+
+ beforeEach(() => {
+ clock = sinon.useFakeTimers()
+ })
+
+ afterEach(() => {
+ clock.restore()
+ })
+
+ describe('Lifecycle', () => {
+ it('componentDidMount', () => {
+ const componentDidMountSpy = spy(Table.prototype, 'componentDidMount')
+ const wrapper = mount()
+
+ expect(wrapper.instance()).toBeInstanceOf(Table)
+
+ expect(componentDidMountSpy.callCount).toEqual(1)
+ componentDidMountSpy.restore()
+
+ expect(wrapper.find(`.hi-table`)).toHaveLength(1)
+ })
+
+ it('shouldComponentUpdate', () => {
+ const shouldComponentUpdateSpy = spy(Table.prototype, 'shouldComponentUpdate')
+ const wrapper = mount()
+
+ // runMemory() in componentDidmount() and setState()
+ expect(shouldComponentUpdateSpy.callCount).toEqual(1)
+ shouldComponentUpdateSpy.restore()
+ })
+
+ it('componentDidUpdate', () => {
+ const componentDidUpdateSpy = spy(Table.prototype, 'componentDidUpdate')
+ const wrapper = mount()
+
+ // runMemory() in componentDidmount() and setState()
+ expect(componentDidUpdateSpy.callCount).toEqual(1)
+ componentDidUpdateSpy.restore()
+ })
+
+ it('componentWillReceiveProps', () => {
+ const componentWillReceivePropsSpy = spy(Table.prototype, 'componentWillReceiveProps')
+ const wrapper = mount()
+
+ wrapper.setProps({ data: [] })
+ expect(componentWillReceivePropsSpy.callCount).toEqual(1)
+ componentWillReceivePropsSpy.restore()
+ })
+ })
+
+ describe('PropTypes', () => {
+ it('data', () => {
+ const wrapper = mount()
+
+ expect(wrapper.find(`Row`)).toHaveLength(dataLength)
+ })
+
+ // NOTE useFixedHeader 源码中未使用
+ it.skip('useFixedHeader', () => {})
+
+ it('columns', () => {
+ const wrapper = mount()
+
+ expect(wrapper.find(`.hi-table-thead`)).toHaveLength(1)
+ })
+
+ // NOTE bodyStyle 源码中未使用
+ it.skip('bodyStyle', () => {})
+
+ it('style', () => {
+ const style = {
+ color: '#ffff00'
+ }
+ const wrapper = mount()
+
+ expect(wrapper.find(`TableContent`).prop('style')).toMatchObject(style)
+ })
+
+ // NOTE rowKey 源码中未使用
+ it.skip('rowKey', () => {})
+
+ // NOTE rowClassName 源码中未使用
+ it.skip('rowClassName', () => {})
+
+ // NOTE onRow 源码中未使用
+ it.skip('onRow', () => {})
+
+ // NOTE onHeaderRow 源码中未使用
+ it.skip('onHeaderRow', () => {})
+
+ // NOTE onRowDoubleClick 源码中未使用
+ it.skip('onRowDoubleClick', () => {})
+
+ // NOTE onRowContextMenu 源码中未使用
+ it.skip('onRowContextMenu', () => {})
+
+ // NOTE onRowMouseEnter 源码中未使用
+ it.skip('onRowMouseEnter', () => {})
+
+ // NOTE onRowMouseLeave 源码中未使用
+ it.skip('onRowMouseLeave', () => {})
+
+ // NOTE showHeader 源码中未使用
+ it.skip('showHeader', () => {})
+
+ // NOTE title 源码中未使用
+ it.skip('title', () => {})
+
+ // NOTE id 源码中未使用
+ it.skip('id', () => {})
+ })
+})
diff --git a/components/tree/Tree.js b/components/tree/Tree.js
index 7b47c44a4..0ebbd9c56 100644
--- a/components/tree/Tree.js
+++ b/components/tree/Tree.js
@@ -26,7 +26,8 @@ class Tree extends Component {
static defaultProps = {
prefixCls: 'hi-tree',
defaultCheckedKeys: [],
- data: []
+ data: [],
+ apperance: 'default'
}
static getDerivedStateFromProps (props, state) {
@@ -188,13 +189,18 @@ class Tree extends Component {
onDropEnd,
onDelete,
onSave,
- onClick
+ onClick,
+ apperance
} = this.props
const { data } = this.state
return (
-
+
item.semi).map(item => item.id)}
diff --git a/components/tree/TreeItem.js b/components/tree/TreeItem.js
index 1f8e8fcbd..438eab6f3 100644
--- a/components/tree/TreeItem.js
+++ b/components/tree/TreeItem.js
@@ -1,6 +1,7 @@
import React, { Component } from 'react'
import Checkbox from '../table/checkbox/index'
import { DragSource, DropTarget } from 'react-dnd'
+import classNames from 'classnames'
import Input from '../input'
import { findDOMNode } from 'react-dom'
import TreeDivider from './TreeDivider'
@@ -43,14 +44,30 @@ class TreeItem extends Component {
targetNode,
saveEditNode,
origin,
- loadChildren
+ loadChildren,
+ isRoot,
+ showLine
} = this.props
const treeItem = (
-
+
{targetNode === item.id && dropDividerPosition === 'up' && isOver && (
)}
-
+
0,
+ 'item__wrapper--expanded': expanded
+ })}
+ >
{(!item.children || (item.children && !expanded)) &&
targetNode === item.id &&
dropDividerPosition === 'down' &&
@@ -63,10 +80,12 @@ class TreeItem extends Component {
loadChildren(item.id)
}
}}
+ style={{ position: 'relative' }}
className={`${prefixCls}_item-icon`}
>
- {((item.children && item.children.length > 0) || (origin && !expanded)) &&
- renderSwitcher(expanded)}
+ {(item.children && item.children.length > 0) || (origin && !expanded)
+ ? renderSwitcher(expanded)
+ : showLine &&
}
}
{checkable ? (
diff --git a/components/tree/TreeNode.js b/components/tree/TreeNode.js
index 9d2207801..bdd5bb756 100644
--- a/components/tree/TreeNode.js
+++ b/components/tree/TreeNode.js
@@ -97,11 +97,15 @@ export default class TreeNode extends Component {
return count
}
renderSwitcher = expanded => {
- const { prefixCls, openIcon, closeIcon } = this.props
+ const { prefixCls, openIcon, closeIcon, showLine } = this.props
const switcherClsName = classNames(
`${prefixCls}-switcher`,
'hi-icon',
- `icon-${expanded ? openIcon || 'open' : closeIcon || 'packup'}`
+ `icon-${
+ expanded
+ ? openIcon || (showLine && 'TreeMinus') || 'open'
+ : closeIcon || (showLine && 'TreePlus') || 'packup'
+ }`
)
return
}
@@ -445,7 +449,7 @@ export default class TreeNode extends Component {
currentDeleteNode: nodeId
})
}
- renderTree = data => {
+ renderTree = (data, allData = []) => {
const {
draggable,
prefixCls,
@@ -461,7 +465,8 @@ export default class TreeNode extends Component {
checked,
expanded,
origin,
- onDragStart
+ onDragStart,
+ showLine
} = this.props
const {
highlight,
@@ -473,14 +478,16 @@ export default class TreeNode extends Component {
positionX,
positionY
} = this.state
-
return (
- {data.map(item => {
+ {data.map((item, index) => {
return (
d.id === item.id)}
+ isLevelLast={index === data.length - 1}
editable={editable}
dropDividerPosition={dropDividerPosition}
prefixCls={prefixCls}
@@ -560,8 +567,8 @@ export default class TreeNode extends Component {
)}
{searchable
- ? this.renderTree(this.highlightData(cloneDeep(dataCache), searchValue))
- : this.renderTree(cloneDeep(dataCache))}
+ ? this.renderTree(this.highlightData(cloneDeep(dataCache), searchValue), dataCache)
+ : this.renderTree(cloneDeep(dataCache), dataCache)}
ul {
+ position: relative;
+
+ &::after {
+ position: absolute;
+ top: 0;
+ left: -10px;
+ width: 1px;
+ height: 100%;
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+
+ &.is-root {
+ > .item__wrapper {
+ &::before {
+ display: none;
+ }
+
+ &::after {
+ display: none;
+ }
+ }
+
+ & > ul {
+ position: relative;
+
+ &::after {
+ display: none;
+ }
+ }
+
+ &:not(:last-of-type) {
+ > ul {
+ > li {
+ &:last-of-type {
+ > ul {
+ &::after {
+ display: block;
+ height: calc(100% + 4px);
+ }
+ }
+
+ > .item__wrapper {
+ &::after {
+ position: absolute;
+ top: -4px;
+ left: -10px;
+ height: calc(100% + 8px);
+ width: 1px;
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+ }
+ }
+ }
+
+ &.no-expanded {
+ &::before {
+ position: absolute;
+ top: calc(50% + 5px);
+ left: 9px;
+ width: 1px;
+ height: calc(50% - 5px);
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+ }
+
+ &:not(:first-of-type) {
+ &:not(.no-expanded) {
+ > .item__wrapper {
+ &::before {
+ position: absolute;
+ top: 1px;
+ left: 7px;
+ width: 1px;
+ height: calc(50% - 9px);
+ background: #c8c8c8;
+ content: '';
+ display: block;
+ }
+ }
+ }
+
+ &.no-expanded {
+ &::after {
+ position: absolute;
+ top: 0;
+ left: 9px;
+ width: 1px;
+ height: calc(50% - 11px);
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+ }
+ }
+
+ &:last-of-type {
+ > .item__wrapper {
+ &::after {
+ position: absolute;
+ top: -4px;
+ left: -10px;
+ height: calc(50% + 2px);
+ width: 1px;
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+
+ & > ul {
+ &::after {
+ display: none;
+ }
+ }
+ }
+ }
+
+ .item__wrapper {
+ .hi-checkbox-legacy {
+ height: 24px;
+ }
+
+ &.can-expand {
+ &::before {
+ width: 10px;
+ }
+ }
+
+ &--expanded {
+ &.can-expand {
+ > .hi-tree_item-text {
+ &::before {
+ position: absolute;
+ top: calc(50% + 8px);
+ left: -11px;
+ height: calc(50% - 4px);
+ width: 1px;
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+
+ > .editing {
+ position: relative;
+
+ &::before {
+ position: absolute;
+ top: calc(50% + 7px);
+ left: -11px;
+ height: calc(50% - 2px);
+ width: 1px;
+ background: #c8c8c8;
+ content: '';
+ }
+ }
+ }
+ }
- li:last-child {
- &.with-line {
&::before {
- display: none;
+ position: absolute;
+ left: -10px;
+ top: 50%;
+ height: 1px;
+ width: 14px;
+ background: #c8c8c8;
+ transform: translateY(-3px);
+ content: '';
+ }
+
+ &::after {
+ position: absolute;
+ top: -4px;
+ left: -10px;
+ height: calc(100% + 4px);
+ width: 1px;
+ background: #c8c8c8;
+ content: '';
}
}
}
+ ul {
+ padding-left: 15px;
+ }
+
li {
position: relative;
padding: 2px;
- & > .item--wrapper {
+ & > .item__wrapper {
display: flex;
+ align-items: center;
padding-bottom: 5px;
- }
-
- &.with-line {
- &::before {
- content: ' ';
- width: 1px;
- border-left: 1px dashed #bfc1c3;
- height: calc(100% - 16px);
- position: absolute;
- left: 6px;
- margin: 22px 0;
- }
+ position: relative;
}
.editing {
@@ -205,6 +376,17 @@ $tree: 'hi-tree' !default;
color: #999;
font-size: 16px;
}
+
+ .hi-tree__dot {
+ position: absolute;
+ width: 7px;
+ height: 7px;
+ border-radius: 3.5px;
+ background: #c8c8c8;
+ transform: translateY(-50%);
+ top: 50%;
+ left: 3.5px;
+ }
}
.#{$tree} {
diff --git a/docs/demo/breadcrumb/section-base.jsx b/docs/demo/breadcrumb/section-base.jsx
new file mode 100644
index 000000000..4a7f39e5f
--- /dev/null
+++ b/docs/demo/breadcrumb/section-base.jsx
@@ -0,0 +1,35 @@
+import React from 'react'
+import DocViewer from '../../../libs/doc-viewer'
+import Breadcrumb from '../../../components/breadcrumb'
+const prefix = 'alert-base'
+const code = `import React from 'react'
+import Alert from '@hi-ui/hiui/es/alert'\n
+class Demo extends React.Component {
+ render () {
+ const data = [{
+ content: '首页',
+ path: '/home'
+ }, {
+ content: '产品类',
+ icon: 'document',
+ path: '/product'
+ }, {
+ icon: 'component',
+ path: '/phone'
+ }, {
+ content: '红米系列',
+ path: '/redmi'
+ }, {
+ content: 'Note7',
+ path: '/note7'
+ }]
+ return (
+
+
+
+ )
+ }
+}`
+
+const DemoBase = () =>
+export default DemoBase
diff --git a/docs/demo/breadcrumb/section-icon.jsx b/docs/demo/breadcrumb/section-icon.jsx
new file mode 100644
index 000000000..bea6eba06
--- /dev/null
+++ b/docs/demo/breadcrumb/section-icon.jsx
@@ -0,0 +1,35 @@
+import React from 'react'
+import DocViewer from '../../../libs/doc-viewer'
+import Breadcrumb from '../../../components/breadcrumb'
+const prefix = 'breadcrumb-base'
+const code = `import React from 'react'
+import Breadcrumb from '@hi-ui/hiui/es/Breadcrumb'\n
+class Demo extends React.Component {
+ render () {
+ const data = [{
+ content: '首页',
+ path: '/home'
+ }, {
+ icon: 'document',
+ path: '/product'
+ }, {
+ icon: 'component',
+ content: '手机',
+ path: '/phone'
+ }, {
+ content: '红米系列',
+ path: '/redmi'
+ }, {
+ content: 'Note7',
+ path: '/note7'
+ }]
+ return (
+
+
+
+ )
+ }
+}`
+
+const DemoBase = () =>
+export default DemoBase
diff --git a/docs/demo/notification/section-base.jsx b/docs/demo/notification/section-base.jsx
index d284bc0df..d8946d15d 100755
--- a/docs/demo/notification/section-base.jsx
+++ b/docs/demo/notification/section-base.jsx
@@ -11,7 +11,7 @@ class Demo extends React.Component {
return(
-
+
)
}
@@ -22,7 +22,7 @@ class Demo extends React.Component {
content:'通知内容',
})
}
- open1(){
+ openManual(){
Notification.open({
title:'通知',
content:'通知内容',
diff --git a/docs/demo/tree/section-edit.jsx b/docs/demo/tree/section-edit.jsx
index b9b2c2d17..3549e10e3 100644
--- a/docs/demo/tree/section-edit.jsx
+++ b/docs/demo/tree/section-edit.jsx
@@ -43,6 +43,7 @@ class Demo extends React.Component {
{
diff --git a/docs/demo/tree/section-line.jsx b/docs/demo/tree/section-line.jsx
new file mode 100644
index 000000000..203782c7d
--- /dev/null
+++ b/docs/demo/tree/section-line.jsx
@@ -0,0 +1,57 @@
+import React from 'react'
+import DocViewer from '../../../libs/doc-viewer'
+import Tree from '../../../components/tree'
+const prefix = 'tree-line'
+const code = `import React from 'react'
+import Tree from '@hi-ui/hiui/es/tree'\n
+class Demo extends React.Component {
+ constructor(props) {
+ super(props)
+ this.state = {
+ treeData: [
+ { id: 1, title: '小米',
+ children: [
+ { id: 2, title: '技术',
+ children: [
+ { id: 3, title: '后端', onClick: data => {console.log('后端:', data)} },
+ { id: 4, title: '运维' },
+ { id: 5, title: '前端' }
+ ]
+ },
+ { id: 6, title: '产品' }
+ ]
+ },
+ { id: 11, title: '小米',
+ children: [
+ { id: 22, title: '技术',
+ children: [
+ { id: 33, title: '后端' },
+ { id: 44, title: '运维' },
+ { id: 55, title: '前端' }
+ ]
+ },
+ { id: 66, title: '产品' }
+ ]
+ },
+ ]
+ }
+
+ }
+
+ render() {
+ return (
+
+ {console.log('Tree data:', data)}}
+ highlightable
+ onClick={(item) => console.log('------click node', item)}
+ />
+
+ )
+ }
+}`
+const DemoLine = () =>
+export default DemoLine
diff --git a/docs/zh-CN/components/breadcrumb.mdx b/docs/zh-CN/components/breadcrumb.mdx
new file mode 100644
index 000000000..4f18e3d3f
--- /dev/null
+++ b/docs/zh-CN/components/breadcrumb.mdx
@@ -0,0 +1,32 @@
+# Breadcrumb 面包屑
+
+## 基础用法
+
+import DemoBase from '../../demo/breadcrumb/section-base.jsx'
+
+
+
+## 自定义图标
+
+import DemoIcon from '../../demo/breadcrumb/section-icon.jsx'
+
+
+
+## Props
+
+| 参数 | 说明 | 类型 | 可选值 | 默认值 |
+| --------- | ------------------------ | ----------------------- | ------------------------------------------- | ------ |
+| data | 面包屑数据 | DataItem [] | - | - |
+| separator | 自定义分隔符 | string | - | '|' |
+| onClick | 点击回调函数 | (path: string)=> void | - | - |
+
+
+## Type
+
+### DataItem
+
+| 参数 | 说明 | 类型 | 可选值 | 默认值 |
+| -------- | ----------------------------------- | ------------------- | ------------- | ------ |
+| content | 面包屑的内容 | string \| ReactNode | - | - |
+| path | 要跳转的路径 | string | - | - |
+| icon | 自定义图标 | string | 详见 [``](/hiui/zh-CN/docs/icon) 组件 ︎ | - |
diff --git a/docs/zh-CN/components/dropdown.mdx b/docs/zh-CN/components/dropdown.mdx
index f15a133c6..314674e06 100755
--- a/docs/zh-CN/components/dropdown.mdx
+++ b/docs/zh-CN/components/dropdown.mdx
@@ -48,7 +48,7 @@ import { Badge } from '@libs'
## Type
-### DateItem
+### DataItem
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| -------- | ----------------------------------- | ------------------- | ------------- | ------ |
diff --git a/docs/zh-CN/components/radio.mdx b/docs/zh-CN/components/radio.mdx
index 2b2f9a124..ab6ae2724 100755
--- a/docs/zh-CN/components/radio.mdx
+++ b/docs/zh-CN/components/radio.mdx
@@ -26,8 +26,8 @@ import DemoType from '../../demo/radio/section-type'
| --------- | ---------------------------------------- | ----------------------- | -------------------------- | ------------ |
| data | 选择项数据源 | DataItem[] | - | - |
| placement | 设置水平或垂直展示 | string | 'vertical' \| 'horizontal' | 'horizontal' |
-| value | 选中项的值(受控) | string | - | - |
-| defaultValue | 默认选中项的值 | string | - | - |
+| value | 选中项的值(受控) | string \| number | - | - |
+| defaultValue | 默认选中项的值 | string \| number | - | - |
| onChange | 选中项改变时的回调,回调值为新选中项的值 | (value: string) => void | - | - |
| disabled | 是否禁用 | boolean | - | - |
| type | 单选按钮展示形状 | string | 'default' \| 'button' | 'default' |
diff --git a/docs/zh-CN/components/stepper.mdx b/docs/zh-CN/components/stepper.mdx
index e0265cd47..17e8a91df 100755
--- a/docs/zh-CN/components/stepper.mdx
+++ b/docs/zh-CN/components/stepper.mdx
@@ -54,7 +54,7 @@ import DemoVerticalIcon from '../../demo/stepper/section-vertical-icon.jsx'
## Type
-### DateItem
+### DataItem
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| ------- | ---------- | ------------------- | ------ | ------ |
diff --git a/docs/zh-CN/components/theme.mdx b/docs/zh-CN/components/theme.mdx
index bfe7c4e44..1075a4781 100644
--- a/docs/zh-CN/components/theme.mdx
+++ b/docs/zh-CN/components/theme.mdx
@@ -7,7 +7,7 @@
## 使用
```bash
-npm i @hi-ui/classic-theme --save
+npm i @hi-ui/classic-theme@next --save
```
```diff
diff --git a/docs/zh-CN/components/transfer.mdx b/docs/zh-CN/components/transfer.mdx
index ee6eddc63..cf5d19fab 100755
--- a/docs/zh-CN/components/transfer.mdx
+++ b/docs/zh-CN/components/transfer.mdx
@@ -54,7 +54,7 @@ import DemoArea from '../../demo/transfer/section-area.jsx'
| searchable | 是否可筛选 | boolean | true \| false | false |
| emptyContent | 数据为空时的显示内容 | string[] \| ReactNode[] | - | - |
| disabled | 是否禁用 | boolean | true \| false | false |
-| data | 穿梭框数据源 | string | DateItem[] | - |
+| data | 穿梭框数据源 | string | DataItem[] | - |
| targetLimit | 最大可穿梭上线 | number | - | - |
| targetIds | 目标框内的元素 id 集合 | number[] \| string[] | | - |
| onChange | 选中元素被移动到目标框内后的回调,回调值为目标框的值 | (targetKey: number[] \| string[]) => void | - | - |
diff --git a/docs/zh-CN/components/tree.mdx b/docs/zh-CN/components/tree.mdx
index 80b460a3d..2272dddd9 100755
--- a/docs/zh-CN/components/tree.mdx
+++ b/docs/zh-CN/components/tree.mdx
@@ -44,29 +44,36 @@ import DemoDrag from '../../demo/tree/section-drag.jsx'
+## 不同的视觉风格
+
+import DemoLine from '../../demo/tree/section-line.jsx'
+
+
+
## Props
-| 参数 | 说明 | 类型 | 可选值 | 默认值 |
-| ---------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------- | ------ |
-| data | 展示数据 | DataItem [] | - | - |
-| checkable | 节点前添加 Checkbox 复选框(暂不支持与 draggable 和 editable 同时使用) | boolean | true \| false | false |
-| editable | 节点右键可编辑(添加同级节点、添加子节点、编辑节点、删除节点) | boolean | true \| false | false |
-| draggable | 节点可拖拽 | boolean | true \| false | false |
-| searchable | 节点可搜索 | boolean | true \| false | false |
-| loadTreeNode | 点击异步加载子项 | object | - | - |
-| defaultExpandAll | 是否默认展开所有树节点 | boolean | true \| false | false |
-| checkedIds | 选中的 checkbox | string[] | - | - |
-| openIcon | 表示展开的图标 | string | Icon 图标名称 | - |
-| closeIcon | 表示闭合的图标 | string | Icon 图标名称 | - |
-| onChange | 树组件改变时触发 | (data:TreeNode[]) => void | - | - |
-| onExpand | 节点被点击(展开/收起)时触发 | (expanded: boolean, expandIds: string[], expandedNode: TreeNode) => void | - | - |
-| onCheck | 点击节点多选框触发 | (checked: boolean, checkedIds: string[], checkedNode: TreeNode) => void | - | - |
-| onClick | 点击节点文字时触发 | (clickNode: TreeNode) => void | - | - |
-| onDragStart | 节点开始拖拽时触发 | (dragNode: TreeNode) => void | - | - |
-| onDrop | 节点拖拽时触发 | (dragNode: TreeNode, dropNode: TreeNode) => boolean | - | - |
-| onDropEnd | 节点拖拽成功时触发 | (dragNode: TreeNode, dropNode: TreeNode) => void | - | - |
-| onDelete | 节点删除时触发 | (deletedNode: TreeNode, data: TreeNode[]) => void | - | - |
-| onSave | 节点保存新增、编辑状态时触发 | (savedNode: TreeNode, data: TreeNode[]) => void | - | - |
+| 参数 | 说明 | 类型 | 可选值 | 默认值 |
+| ---------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------- | --------- |
+| data | 展示数据 | DataItem [] | - | - |
+| checkable | 节点前添加 Checkbox 复选框(暂不支持与 draggable 和 editable 同时使用) | boolean | true \| false | false |
+| editable | 节点右键可编辑(添加同级节点、添加子节点、编辑节点、删除节点) | boolean | true \| false | false |
+| draggable | 节点可拖拽 | boolean | true \| false | false |
+| searchable | 节点可搜索 | boolean | true \| false | false |
+| loadTreeNode | 点击异步加载子项 | object | - | - |
+| defaultExpandAll | 是否默认展开所有树节点 | boolean | true \| false | false |
+| checkedIds | 选中的 checkbox | string[] | - | - |
+| openIcon | 表示展开的图标 | string | Icon 图标名称 | - |
+| closeIcon | 表示闭合的图标 | string | Icon 图标名称 | - |
+| apperance | 树形控件的展现形态 | string | 'default' \| 'line' | 'default' |
+| onChange | 树组件改变时触发 | (data:TreeNode[]) => void | - | - |
+| onExpand | 节点被点击(展开/收起)时触发 | (expanded: boolean, expandIds: string[], expandedNode: TreeNode) => void | - | - |
+| onCheck | 点击节点多选框触发 | (checked: boolean, checkedIds: string[], checkedNode: TreeNode) => void | - | - |
+| onClick | 点击节点文字时触发 | (clickNode: TreeNode) => void | - | - |
+| onDragStart | 节点开始拖拽时触发 | (dragNode: TreeNode) => void | - | - |
+| onDrop | 节点拖拽时触发 | (dragNode: TreeNode, dropNode: TreeNode) => boolean | - | - |
+| onDropEnd | 节点拖拽成功时触发 | (dragNode: TreeNode, dropNode: TreeNode) => void | - | - |
+| onDelete | 节点删除时触发 | (deletedNode: TreeNode, data: TreeNode[]) => void | - | - |
+| onSave | 节点保存新增、编辑状态时触发 | (savedNode: TreeNode, data: TreeNode[]) => void | - | - |
## Type
diff --git a/jest.config.js b/jest.config.js
index c75be2294..57e588a5e 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -1,24 +1,61 @@
-const transformIgnorePatterns = [
- '/output/',
- 'node_modules/[^/]+?/(?!(es|node_modules)/)'
-]
-
module.exports = {
- // automock: true,
- // clearMocks: true,
- // verbose: false,
- // testEnvironment: 'jsdom',
- setupFiles: [ '/jest.setup.js' ],
- moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
- modulePathIgnorePatterns: [ '/_site/', '/output/' ],
- // unmockedModulePathPatterns: [
- // 'node_modules/react/',
- // 'node_modules/enzyme/'
+ // Stop running tests after the first failure
+ bail: true,
+
+ // Indicates whether the coverage information should be collected while executing the test
+ collectCoverage: false,
+
+ // An array of regexp pattern strings used to skip coverage collection
+ coveragePathIgnorePatterns: [
+ '/node_modules/'
+ ],
+
+ // The directory where Jest should output its coverage files
+ coverageDirectory: '/test/coverage',
+
+ // A list of reporter names that Jest uses when writing coverage reports
+ coverageReporters: [
+ 'json-summary',
+ 'text',
+ 'lcov'
+ ],
+
+ // An array of glob patterns indicating a set of files for which coverage information should be collected
+ collectCoverageFrom: [
+ '/components/**/*',
+ '!/components/(alert|badge|button)/index.js',
+ '!/components/**/style/**/*',
+ '!/components/**/__test__/**/*',
+ '!/components/**/(*-legacy)/**/*'
+ ],
+ // 本地单测使用
+ // 1. 修改范围 /components/[组件名称]/**/*
+ // 2. 运行单测命令 npx jest components/[组件名称]/__tests__/index.test.js --coverage 即可看到当前文件夹的覆盖率
+ // collectCoverageFrom: [
+ // '/components/table/**/*',
+ // '!/components/**/style/**/*',
+ // '!/components/**/__test__/**/*',
+ // '!/components/**/(*-legacy)/**/*'
// ],
+
+ // The test environment that will be used for testing
+ testEnvironment: 'jest-environment-jsdom-global',
+
+ // The paths to modules that run some code to configure or set up the testing environment before each test
+ setupFiles: [
+ '/jest.setup.js'
+ ],
+
+ // An array of file extensions your modules use
+ moduleFileExtensions: [ 'ts', 'tsx', 'js', 'jsx' ],
+
+ // A map from regular expressions to module names that allow to stub out resources with a single module
moduleNameMapper: {
'\\.(css|scss)$': '/test/stylesMock.js',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/test/fileMock.js'
},
+
+ // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
testPathIgnorePatterns: [
'/node_modules/',
'/output/',
@@ -26,19 +63,17 @@ module.exports = {
'dekko',
'node'
],
+
+ // A map from regular expressions to paths to transformers
transform: {
'^.+\\.(js|jsx|mjs)$': '/node_modules/babel-jest'
},
- testRegex: '(.*/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
- collectCoverage: false, // 是否收集测试时的覆盖率信息
- collectCoverageFrom: ['/components/**/*.{js,jsx,mjs}'], // 哪些文件需要收集覆盖率信息
- coverageDirectory: '/test/coverage',
- // setupTestFrameworkScriptFile: './node_modules/jest-enzyme/lib/index.js',
- transformIgnorePatterns
- // runner: 'jest-electron-runner',
- // testEnvironment: 'jest-environment-electron',
- // snapshotSerializers: [
- // 'enzyme-to-json/serializer',
- // ],
+ // The regexp pattern Jest uses to detect test files
+ testRegex: '(.*/__tests__/.*(\\.|/)(test|spec))\\.[jt]sx?$',
+
+ transformIgnorePatterns: [
+ '/output/',
+ 'node_modules/[^/]+?/(?!(es|node_modules)/)'
+ ]
}
diff --git a/jest.setup.js b/jest.setup.js
index 83643328f..cbab40ee3 100644
--- a/jest.setup.js
+++ b/jest.setup.js
@@ -1,5 +1,5 @@
-var enzyme = require('enzyme')
-var Adapter = require('enzyme-adapter-react-16')
+const enzyme = require('enzyme')
+const Adapter = require('enzyme-adapter-react-16')
global.fetch = require('jest-fetch-mock')
enzyme.configure({ adapter: new Adapter() })
diff --git a/package-lock.json b/package-lock.json
index 8825681c2..181fff307 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "@hi-ui/hiui",
- "version": "2.0.3",
+ "version": "2.1.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1003,84 +1003,85 @@
"integrity": "sha512-r9Upmf27iN0A9hEcgcNxEWNDqMHjmtbGBhq/imqe44B01PmiHQkVlyjhGWJxHNJ78J2pQOAzd9yPO6s4K5AKIw=="
},
"@jest/console": {
- "version": "24.7.1",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.7.1.tgz",
- "integrity": "sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
+ "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
"dev": true,
"requires": {
- "@jest/source-map": "^24.3.0",
+ "@jest/source-map": "^24.9.0",
"chalk": "^2.0.1",
"slash": "^2.0.0"
}
},
"@jest/core": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.8.0.tgz",
- "integrity": "sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
+ "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
"dev": true,
"requires": {
"@jest/console": "^24.7.1",
- "@jest/reporters": "^24.8.0",
- "@jest/test-result": "^24.8.0",
- "@jest/transform": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/reporters": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
"ansi-escapes": "^3.0.0",
"chalk": "^2.0.1",
"exit": "^0.1.2",
"graceful-fs": "^4.1.15",
- "jest-changed-files": "^24.8.0",
- "jest-config": "^24.8.0",
- "jest-haste-map": "^24.8.0",
- "jest-message-util": "^24.8.0",
+ "jest-changed-files": "^24.9.0",
+ "jest-config": "^24.9.0",
+ "jest-haste-map": "^24.9.0",
+ "jest-message-util": "^24.9.0",
"jest-regex-util": "^24.3.0",
- "jest-resolve-dependencies": "^24.8.0",
- "jest-runner": "^24.8.0",
- "jest-runtime": "^24.8.0",
- "jest-snapshot": "^24.8.0",
- "jest-util": "^24.8.0",
- "jest-validate": "^24.8.0",
- "jest-watcher": "^24.8.0",
+ "jest-resolve": "^24.9.0",
+ "jest-resolve-dependencies": "^24.9.0",
+ "jest-runner": "^24.9.0",
+ "jest-runtime": "^24.9.0",
+ "jest-snapshot": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-validate": "^24.9.0",
+ "jest-watcher": "^24.9.0",
"micromatch": "^3.1.10",
"p-each-series": "^1.0.0",
- "pirates": "^4.0.1",
"realpath-native": "^1.1.0",
"rimraf": "^2.5.4",
+ "slash": "^2.0.0",
"strip-ansi": "^5.0.0"
}
},
"@jest/environment": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.8.0.tgz",
- "integrity": "sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
+ "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^24.8.0",
- "@jest/transform": "^24.8.0",
- "@jest/types": "^24.8.0",
- "jest-mock": "^24.8.0"
+ "@jest/fake-timers": "^24.9.0",
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "jest-mock": "^24.9.0"
}
},
"@jest/fake-timers": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.8.0.tgz",
- "integrity": "sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
+ "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-mock": "^24.8.0"
+ "@jest/types": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-mock": "^24.9.0"
}
},
"@jest/reporters": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.8.0.tgz",
- "integrity": "sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
+ "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
"dev": true,
"requires": {
- "@jest/environment": "^24.8.0",
- "@jest/test-result": "^24.8.0",
- "@jest/transform": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/environment": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.0.1",
"exit": "^0.1.2",
"glob": "^7.1.2",
@@ -1088,13 +1089,13 @@
"istanbul-lib-instrument": "^3.0.1",
"istanbul-lib-report": "^2.0.4",
"istanbul-lib-source-maps": "^3.0.1",
- "istanbul-reports": "^2.1.1",
- "jest-haste-map": "^24.8.0",
- "jest-resolve": "^24.8.0",
- "jest-runtime": "^24.8.0",
- "jest-util": "^24.8.0",
+ "istanbul-reports": "^2.2.6",
+ "jest-haste-map": "^24.9.0",
+ "jest-resolve": "^24.9.0",
+ "jest-runtime": "^24.9.0",
+ "jest-util": "^24.9.0",
"jest-worker": "^24.6.0",
- "node-notifier": "^5.2.1",
+ "node-notifier": "^5.4.2",
"slash": "^2.0.0",
"source-map": "^0.6.0",
"string-length": "^2.0.0"
@@ -1109,9 +1110,9 @@
}
},
"@jest/source-map": {
- "version": "24.3.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.3.0.tgz",
- "integrity": "sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
+ "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
@@ -1128,45 +1129,46 @@
}
},
"@jest/test-result": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.8.0.tgz",
- "integrity": "sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
+ "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
"dev": true,
"requires": {
- "@jest/console": "^24.7.1",
- "@jest/types": "^24.8.0",
+ "@jest/console": "^24.9.0",
+ "@jest/types": "^24.9.0",
"@types/istanbul-lib-coverage": "^2.0.0"
}
},
"@jest/test-sequencer": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz",
- "integrity": "sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
+ "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
"dev": true,
"requires": {
- "@jest/test-result": "^24.8.0",
- "jest-haste-map": "^24.8.0",
- "jest-runner": "^24.8.0",
- "jest-runtime": "^24.8.0"
+ "@jest/test-result": "^24.9.0",
+ "jest-haste-map": "^24.9.0",
+ "jest-runner": "^24.9.0",
+ "jest-runtime": "^24.9.0"
}
},
"@jest/transform": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.8.0.tgz",
- "integrity": "sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
+ "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"babel-plugin-istanbul": "^5.1.0",
"chalk": "^2.0.1",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
"graceful-fs": "^4.1.15",
- "jest-haste-map": "^24.8.0",
- "jest-regex-util": "^24.3.0",
- "jest-util": "^24.8.0",
+ "jest-haste-map": "^24.9.0",
+ "jest-regex-util": "^24.9.0",
+ "jest-util": "^24.9.0",
"micromatch": "^3.1.10",
+ "pirates": "^4.0.1",
"realpath-native": "^1.1.0",
"slash": "^2.0.0",
"source-map": "^0.6.1",
@@ -1182,14 +1184,14 @@
}
},
"@jest/types": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.8.0.tgz",
- "integrity": "sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
+ "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^12.0.9"
+ "@types/yargs": "^13.0.0"
}
},
"@mapbox/rehype-prism": {
@@ -1203,43 +1205,81 @@
}
},
"@mdx-js/loader": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-1.1.6.tgz",
- "integrity": "sha512-YReLLyALz/O22fpX2eXSLFY376JZH0aCgSARxoelf7pOViMs4KMqhKARWeV45A5vHNhCDA8mf+ayOGtH2IkbyQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-1.3.1.tgz",
+ "integrity": "sha512-wg1uxBZ+7lkfawtznD29Acrh9UJ/sySeaDzgi+Q3zk55A25tPmVxKVjwGXWDC0mrRRJ8cjcoWant3whok+WPDw==",
"dev": true,
"requires": {
- "@mdx-js/mdx": "^1.1.6",
- "@mdx-js/react": "^1.1.6",
+ "@mdx-js/mdx": "^1.3.1",
+ "@mdx-js/react": "^1.3.1",
"loader-utils": "1.2.3"
}
},
"@mdx-js/mdx": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.1.6.tgz",
- "integrity": "sha512-DyHEQ+17/XrzBOV+Jxt8PuzpJ5iZ1L7G7My7qtUrIjstQXu24emfo3E0/uIt/rizEXu4CuX/ryBVWrqUwcJPYQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.3.1.tgz",
+ "integrity": "sha512-mLP4iN6OhDnA9IqAiKAFb/wSnmwU1Mb9gy0szzV0QbDHtlinmzQmK2YyEv9Stf8NXvWbsNVTj9p3hy01nZY9yA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "7.0.0",
+ "@babel/core": "7.5.5",
"@babel/plugin-syntax-jsx": "7.2.0",
"@babel/plugin-syntax-object-rest-spread": "7.2.0",
+ "@mdx-js/util": "^1.3.1",
+ "babel-plugin-apply-mdx-type-prop": "^1.3.1",
+ "babel-plugin-extract-import-names": "^1.3.1",
"camelcase-css": "2.0.1",
"detab": "2.0.2",
"hast-util-raw": "5.0.1",
"lodash.uniq": "4.5.0",
"mdast-util-to-hast": "6.0.1",
- "remark-mdx": "^1.1.6",
- "remark-parse": "7.0.0",
+ "remark-mdx": "^1.3.1",
+ "remark-parse": "7.0.1",
"remark-squeeze-paragraphs": "3.0.4",
"style-to-object": "0.2.3",
"unified": "8.3.2",
"unist-builder": "1.0.4",
- "unist-util-visit": "1.4.1"
+ "unist-util-visit": "2.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.0.tgz",
+ "integrity": "sha512-E5JLUKRQlAYiJmN2PVBdSz01R3rUKRSM00X+0DB/yLqxdLu6wZZkRdTIsxDp9X+bkxh8Eq+O2YYRbZvLZtQT1A==",
+ "dev": true
+ },
+ "unist-util-visit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.0.tgz",
+ "integrity": "sha512-kiTpWKsF54u/78L/UU/i7lxrnqGiEWBgqCpaIZBYP0gwUC+Akq0Ajm4U8JiNIoQNfAioBdsyarnOcTEAb9mLeQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.0.tgz",
+ "integrity": "sha512-H3K8d81S4V3XVXVwLvrLGk+R5VILryfUotD06/R/rLsTsPLGjkn6gIP8qEEVITcuIySNYj0ocJLsePjm9F/Vcg==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.3",
+ "unist-util-is": "^4.0.0"
+ }
+ }
}
},
"@mdx-js/react": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.1.6.tgz",
- "integrity": "sha512-IQf5WIuInyk85liH1jXoK16pRr3ExQAuR4tzE1GnXK6IyuZoj3DBKMlwKZ93Fa5WF31o3Vc39CIkosuC/xIHhQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.3.1.tgz",
+ "integrity": "sha512-HwpA0r4XiydiUXceAtzguLs3FH8Jbfpgoff3L+pejemiqyxol/FYMxwMu0WcBxti5eJYBqZEwL+C5od6OsS7Gw==",
+ "dev": true
+ },
+ "@mdx-js/util": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.3.1.tgz",
+ "integrity": "sha512-YOlSyl/EfTRoO7Twzad6RYJlHcyW1WZo8gDRO+4uFTy6+AHMaqSCMAPJIJkmKwgi+IPojQUGuMzKJ47qxQ9BbA==",
"dev": true
},
"@mrmlnc/readdir-enhanced": {
@@ -1301,9 +1341,9 @@
}
},
"@oclif/config": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.13.2.tgz",
- "integrity": "sha512-RUOKeuAaopo3zrA5hcgE0PT2lbAUT72+eJdqTlWyI9sbPrGHZgUwV+vrL6Qal7ywWYDkL0vrKd1YS4yXtKIDKw==",
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.13.3.tgz",
+ "integrity": "sha512-qs5XvGRw+1M41abOKCjd0uoeHCgsMxa2MurD2g2K8CtQlzlMXl0rW5idVeimIg5208LLuxkfzQo8TKAhhRCWLg==",
"dev": true,
"requires": {
"@oclif/parser": "^3.8.0",
@@ -1401,9 +1441,9 @@
}
},
"@oclif/plugin-help": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.0.tgz",
- "integrity": "sha512-56iIgE7NQfwy/ZrWrvrEfJGb5rrMUt409yoQGw4feiU101UudA1btN1pbUbcKBr7vY9KFeqZZcftXEGxOp7zBg==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.1.tgz",
+ "integrity": "sha512-psEA3t41MSGBErLk6xCaAq2jKrRtx3Br+kHpd43vZeGEeZ7Gos4wgK0JAaHBbvhvUQskCHg8dzoqv4XEeTWeVQ==",
"dev": true,
"requires": {
"@oclif/command": "^1.5.13",
@@ -1430,16 +1470,16 @@
}
},
"@oclif/plugin-not-found": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-1.2.2.tgz",
- "integrity": "sha512-SPlmiJFmTFltQT/owdzQwKgq6eq5AEKVwVK31JqbzK48bRWvEL1Ye60cgztXyZ4bpPn2Fl+KeL3FWFQX41qJuA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-1.2.3.tgz",
+ "integrity": "sha512-Igbw2T4gLrb/f28Llr730FeMXBSI2PXdky2YvQfsZeQGDsyBZmC4gprJJtmrMWQcjz0B51IInRBnZYERvwfIpw==",
"dev": true,
"requires": {
"@oclif/color": "^0.0.0",
"@oclif/command": "^1.5.3",
"cli-ux": "^4.9.0",
"fast-levenshtein": "^2.0.6",
- "lodash": "^4.17.11"
+ "lodash": "^4.17.13"
}
},
"@oclif/plugin-update": {
@@ -1553,6 +1593,42 @@
"any-observable": "^0.3.0"
}
},
+ "@sinonjs/commons": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.6.0.tgz",
+ "integrity": "sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@sinonjs/formatio": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz",
+ "integrity": "sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1",
+ "@sinonjs/samsam": "^3.1.0"
+ }
+ },
+ "@sinonjs/samsam": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz",
+ "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.3.0",
+ "array-from": "^2.1.1",
+ "lodash": "^4.17.15"
+ }
+ },
+ "@sinonjs/text-encoding": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
+ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
+ "dev": true
+ },
"@types/babel__core": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.2.tgz",
@@ -1671,9 +1747,9 @@
"dev": true
},
"@types/node": {
- "version": "12.7.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.1.tgz",
- "integrity": "sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw==",
+ "version": "12.7.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz",
+ "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==",
"dev": true
},
"@types/prop-types": {
@@ -1688,9 +1764,9 @@
"dev": true
},
"@types/react": {
- "version": "16.8.25",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.25.tgz",
- "integrity": "sha512-ydAAkLnNTC4oYSxJ3zwK/4QcVmEecACJ4ZdxXITbxz/dhahBSDKY6OQ1uawAW6rE/7kfHccxulYLSAIZVrSq0A==",
+ "version": "16.9.2",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.2.tgz",
+ "integrity": "sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg==",
"requires": {
"@types/prop-types": "*",
"csstype": "^2.2.0"
@@ -1736,9 +1812,18 @@
}
},
"@types/yargs": {
- "version": "12.0.12",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.12.tgz",
- "integrity": "sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==",
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz",
+ "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz",
+ "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==",
"dev": true
},
"@webassemblyjs/ast": {
@@ -1968,9 +2053,9 @@
},
"dependencies": {
"acorn": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz",
- "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
+ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
"dev": true
}
}
@@ -2014,9 +2099,9 @@
}
},
"airbnb-prop-types": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.14.0.tgz",
- "integrity": "sha512-Yb09vUkr3KP9r9NqfRuYtDYZG76wt8mhTUi2Vfzsghk+qkg01/gOc9NU8n63ZcMCLzpAdMEXyKjCHlxV62yN1A==",
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz",
+ "integrity": "sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==",
"dev": true,
"requires": {
"array.prototype.find": "^2.1.0",
@@ -2028,7 +2113,7 @@
"object.entries": "^1.1.0",
"prop-types": "^15.7.2",
"prop-types-exact": "^1.2.0",
- "react-is": "^16.8.6"
+ "react-is": "^16.9.0"
}
},
"ajv": {
@@ -2242,6 +2327,12 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
+ "array-from": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
+ "dev": true
+ },
"array-includes": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
@@ -2666,16 +2757,16 @@
}
},
"babel-jest": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.8.0.tgz",
- "integrity": "sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
+ "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
"dev": true,
"requires": {
- "@jest/transform": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
"@types/babel__core": "^7.1.0",
"babel-plugin-istanbul": "^5.1.0",
- "babel-preset-jest": "^24.6.0",
+ "babel-preset-jest": "^24.9.0",
"chalk": "^2.4.2",
"slash": "^2.0.0"
}
@@ -2709,6 +2800,16 @@
"babel-runtime": "^6.22.0"
}
},
+ "babel-plugin-apply-mdx-type-prop": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.3.1.tgz",
+ "integrity": "sha512-tyh0iGhU4upNy4ruxOOOnqTO9Ci43gcXrH0vtcVmOMvGjyfhDHzug8ULoZZJqSTl5V77qUskafQsYHF3f1UV9g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0",
+ "@mdx-js/util": "^1.3.1"
+ }
+ },
"babel-plugin-dynamic-import-node": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
@@ -2718,6 +2819,15 @@
"object.assign": "^4.1.0"
}
},
+ "babel-plugin-extract-import-names": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.3.1.tgz",
+ "integrity": "sha512-7KqXFwbzj9y6anLoIpMKQsC2J3PsiZMRaSP3qTCP9PY38Bz2cwsJnTIMKvottVQB2evBCYPqjp3VPSZ74jM1Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "7.0.0"
+ }
+ },
"babel-plugin-istanbul": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
@@ -2731,9 +2841,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "24.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz",
- "integrity": "sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
+ "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
"dev": true,
"requires": {
"@types/babel__traverse": "^7.0.6"
@@ -2763,13 +2873,13 @@
"dev": true
},
"babel-preset-jest": {
- "version": "24.6.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz",
- "integrity": "sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
+ "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
"dev": true,
"requires": {
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
- "babel-plugin-jest-hoist": "^24.6.0"
+ "babel-plugin-jest-hoist": "^24.9.0"
}
},
"babel-runtime": {
@@ -3333,9 +3443,9 @@
"dev": true
},
"cacache": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.2.tgz",
- "integrity": "sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg==",
+ "version": "12.0.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
+ "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
"dev": true,
"requires": {
"bluebird": "^3.5.5",
@@ -3353,6 +3463,23 @@
"ssri": "^6.0.1",
"unique-filename": "^1.1.1",
"y18n": "^4.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
+ }
}
},
"cache-base": {
@@ -3623,9 +3750,9 @@
}
},
"chokidar": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz",
- "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==",
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
"dev": true,
"requires": {
"anymatch": "^2.0.0",
@@ -3928,76 +4055,36 @@
}
},
"cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true,
"requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
}
},
"wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
}
}
}
@@ -4009,15 +4096,14 @@
"dev": true
},
"clone-deep": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
- "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"requires": {
- "for-own": "^1.0.0",
"is-plain-object": "^2.0.4",
- "kind-of": "^6.0.0",
- "shallow-clone": "^1.0.0"
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
}
},
"clone-regexp": {
@@ -4357,14 +4443,13 @@
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
},
"core-js-compat": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz",
- "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
+ "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
"dev": true,
"requires": {
- "browserslist": "^4.6.2",
- "core-js-pure": "3.1.4",
- "semver": "^6.1.1"
+ "browserslist": "^4.6.6",
+ "semver": "^6.3.0"
},
"dependencies": {
"semver": {
@@ -4375,12 +4460,6 @@
}
}
},
- "core-js-pure": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz",
- "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==",
- "dev": true
- },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -5712,10 +5791,16 @@
"defined": "^1.0.0"
}
},
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ },
"diff-sequences": {
- "version": "24.3.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz",
- "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
+ "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
"dev": true
},
"diffie-hellman": {
@@ -5956,9 +6041,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.220",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.220.tgz",
- "integrity": "sha512-ZsaFWi+9J9Nsm4OmGM/BvZF3HEeZL4bte1+CcN9vHUcqdkOOVAXP4SeacPZ/W5uCQZEKPYBXg6yUjZx8/jpD0Q==",
+ "version": "1.3.237",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.237.tgz",
+ "integrity": "sha512-SPAFjDr/7iiVK2kgTluwxela6eaWjjFkS9rO/iYpB/KGXgccUom5YC7OIf19c8m8GGptWxLU0Em8xM64A/N7Fg==",
"dev": true
},
"elegant-spinner": {
@@ -6169,9 +6254,9 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz",
- "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz",
+ "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==",
"dev": true,
"requires": {
"esprima": "^3.1.3",
@@ -6310,12 +6395,6 @@
"requires": {
"ansi-regex": "^3.0.0"
}
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
}
}
},
@@ -6617,9 +6696,9 @@
}
},
"eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
"dev": true
},
"espree": {
@@ -6657,9 +6736,9 @@
}
},
"estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
"esutils": {
@@ -6795,17 +6874,17 @@
}
},
"expect": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-24.8.0.tgz",
- "integrity": "sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
+ "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"ansi-styles": "^3.2.0",
- "jest-get-type": "^24.8.0",
- "jest-matcher-utils": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-regex-util": "^24.3.0"
+ "jest-get-type": "^24.9.0",
+ "jest-matcher-utils": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-regex-util": "^24.9.0"
}
},
"express": {
@@ -7318,6 +7397,17 @@
"graceful-fs": "^4.1.2",
"rimraf": "~2.6.2",
"write": "^0.2.1"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
},
"flatted": {
@@ -7461,25 +7551,29 @@
"dependencies": {
"abbrev": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true,
"optional": true
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"dev": true,
"optional": true,
"requires": {
@@ -7489,13 +7583,15 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"optional": true,
"requires": {
@@ -7505,37 +7601,43 @@
},
"chownr": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"dev": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true,
"optional": true
},
"debug": {
"version": "4.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"optional": true,
"requires": {
@@ -7544,25 +7646,29 @@
},
"deep-extend": {
"version": "0.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true,
"optional": true
},
"delegates": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true,
"optional": true
},
"detect-libc": {
"version": "1.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"dev": true,
"optional": true
},
"fs-minipass": {
"version": "1.2.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
+ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
"dev": true,
"optional": true,
"requires": {
@@ -7571,13 +7677,15 @@
},
"fs.realpath": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true,
"optional": true
},
"gauge": {
"version": "2.7.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"optional": true,
"requires": {
@@ -7593,7 +7701,8 @@
},
"glob": {
"version": "7.1.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"optional": true,
"requires": {
@@ -7607,13 +7716,15 @@
},
"has-unicode": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true,
"optional": true
},
"iconv-lite": {
"version": "0.4.24",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"optional": true,
"requires": {
@@ -7622,7 +7733,8 @@
},
"ignore-walk": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
"dev": true,
"optional": true,
"requires": {
@@ -7631,7 +7743,8 @@
},
"inflight": {
"version": "1.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"optional": true,
"requires": {
@@ -7641,19 +7754,22 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"optional": true,
"requires": {
@@ -7662,13 +7778,15 @@
},
"isarray": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true,
"optional": true
},
"minimatch": {
"version": "3.0.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"optional": true,
"requires": {
@@ -7677,13 +7795,15 @@
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true,
"optional": true
},
"minipass": {
"version": "2.3.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
+ "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
"dev": true,
"optional": true,
"requires": {
@@ -7693,7 +7813,8 @@
},
"minizlib": {
"version": "1.2.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
+ "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
"dev": true,
"optional": true,
"requires": {
@@ -7702,7 +7823,8 @@
},
"mkdirp": {
"version": "0.5.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"optional": true,
"requires": {
@@ -7711,13 +7833,15 @@
},
"ms": {
"version": "2.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true,
"optional": true
},
"needle": {
"version": "2.3.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz",
+ "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
"dev": true,
"optional": true,
"requires": {
@@ -7728,7 +7852,8 @@
},
"node-pre-gyp": {
"version": "0.12.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
+ "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
"dev": true,
"optional": true,
"requires": {
@@ -7746,7 +7871,8 @@
},
"nopt": {
"version": "4.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"dev": true,
"optional": true,
"requires": {
@@ -7756,13 +7882,15 @@
},
"npm-bundled": {
"version": "1.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
+ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
"dev": true,
"optional": true
},
"npm-packlist": {
"version": "1.4.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
+ "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
"dev": true,
"optional": true,
"requires": {
@@ -7772,7 +7900,8 @@
},
"npmlog": {
"version": "4.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true,
"optional": true,
"requires": {
@@ -7784,19 +7913,22 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true,
"optional": true
},
"once": {
"version": "1.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"optional": true,
"requires": {
@@ -7805,19 +7937,22 @@
},
"os-homedir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true,
"optional": true
},
"osenv": {
"version": "0.1.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"optional": true,
"requires": {
@@ -7827,19 +7962,22 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true,
"optional": true
},
"process-nextick-args": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true,
"optional": true
},
"rc": {
"version": "1.2.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true,
"optional": true,
"requires": {
@@ -7851,7 +7989,8 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true,
"optional": true
}
@@ -7859,7 +7998,8 @@
},
"readable-stream": {
"version": "2.3.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"optional": true,
"requires": {
@@ -7874,7 +8014,8 @@
},
"rimraf": {
"version": "2.6.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
"optional": true,
"requires": {
@@ -7883,43 +8024,50 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true,
"optional": true
},
"sax": {
"version": "1.2.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true,
"optional": true
},
"semver": {
"version": "5.7.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
"dev": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true,
"optional": true
},
"string-width": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"optional": true,
"requires": {
@@ -7930,7 +8078,8 @@
},
"string_decoder": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"optional": true,
"requires": {
@@ -7939,7 +8088,8 @@
},
"strip-ansi": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"optional": true,
"requires": {
@@ -7948,13 +8098,15 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true,
"optional": true
},
"tar": {
"version": "4.4.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
+ "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
"dev": true,
"optional": true,
"requires": {
@@ -7969,13 +8121,15 @@
},
"util-deprecate": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true,
"optional": true
},
"wide-align": {
"version": "1.1.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true,
"optional": true,
"requires": {
@@ -7984,13 +8138,15 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
"dev": true,
"optional": true
}
@@ -8107,9 +8263,9 @@
}
},
"get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
"get-own-enumerable-property-symbols": {
@@ -8161,9 +8317,9 @@
}
},
"gh-pages": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.1.0.tgz",
- "integrity": "sha512-QmV1fh/2W5GZkfoLsG4g6dRTWiNYuCetMQmm8CL6Us8JVnAufYtS0uJPD8NYogmNB4UZzdRG44uPAL+jcBzEwQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.1.1.tgz",
+ "integrity": "sha512-yNW2SFp9xGRP/8Sk2WXuLI/Gn92oOL4HBgudn6PsqAnuWT90Y1tozJoTfX1WdrDSW5Rb90kLVOf5mm9KJ/2fDw==",
"dev": true,
"requires": {
"async": "^2.6.1",
@@ -8423,12 +8579,6 @@
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
"dev": true
},
- "lru-cache": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
- "dev": true
- },
"minimatch": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
@@ -8476,9 +8626,9 @@
}
},
"graceful-fs": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz",
- "integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
+ "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
"dev": true
},
"growly": {
@@ -8978,13 +9128,10 @@
}
},
"hosted-git-info": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.2.tgz",
- "integrity": "sha512-CyjlXII6LMsPMyUzxpTt8fzh5QwzGqPmQXgY/Jyf4Zfp27t/FvfhwoE/8laaMUcMy816CkWF20I7NeQhwwY88w==",
- "dev": true,
- "requires": {
- "lru-cache": "^5.1.1"
- }
+ "version": "2.8.4",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
+ "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
+ "dev": true
},
"hpack.js": {
"version": "2.1.6",
@@ -9546,9 +9693,9 @@
}
},
"invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ip": {
@@ -10138,133 +10285,148 @@
}
},
"jest": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-24.8.0.tgz",
- "integrity": "sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
+ "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==",
"dev": true,
"requires": {
"import-local": "^2.0.0",
- "jest-cli": "^24.8.0"
+ "jest-cli": "^24.9.0"
},
"dependencies": {
"jest-cli": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.8.0.tgz",
- "integrity": "sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
+ "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
"dev": true,
"requires": {
- "@jest/core": "^24.8.0",
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/core": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.0.1",
"exit": "^0.1.2",
"import-local": "^2.0.0",
"is-ci": "^2.0.0",
- "jest-config": "^24.8.0",
- "jest-util": "^24.8.0",
- "jest-validate": "^24.8.0",
+ "jest-config": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-validate": "^24.9.0",
"prompts": "^2.0.1",
"realpath-native": "^1.1.0",
- "yargs": "^12.0.2"
+ "yargs": "^13.3.0"
}
}
}
},
"jest-changed-files": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.8.0.tgz",
- "integrity": "sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
+ "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"execa": "^1.0.0",
"throat": "^4.0.0"
}
},
"jest-config": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.8.0.tgz",
- "integrity": "sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
+ "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^24.8.0",
- "@jest/types": "^24.8.0",
- "babel-jest": "^24.8.0",
+ "@jest/test-sequencer": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "babel-jest": "^24.9.0",
"chalk": "^2.0.1",
"glob": "^7.1.1",
- "jest-environment-jsdom": "^24.8.0",
- "jest-environment-node": "^24.8.0",
- "jest-get-type": "^24.8.0",
- "jest-jasmine2": "^24.8.0",
+ "jest-environment-jsdom": "^24.9.0",
+ "jest-environment-node": "^24.9.0",
+ "jest-get-type": "^24.9.0",
+ "jest-jasmine2": "^24.9.0",
"jest-regex-util": "^24.3.0",
- "jest-resolve": "^24.8.0",
- "jest-util": "^24.8.0",
- "jest-validate": "^24.8.0",
+ "jest-resolve": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-validate": "^24.9.0",
"micromatch": "^3.1.10",
- "pretty-format": "^24.8.0",
+ "pretty-format": "^24.9.0",
"realpath-native": "^1.1.0"
}
},
+ "jest-coverage-badges": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/jest-coverage-badges/-/jest-coverage-badges-1.1.2.tgz",
+ "integrity": "sha512-44A7i2xR6os8+fWk8ZRM6W4fKiD2jwKOLU9eB3iTIIWACd9RbdvmiCNpQZTOsUBhKvz7aQ/ASFhu5JOEhWUOlg==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1"
+ }
+ },
"jest-diff": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.8.0.tgz",
- "integrity": "sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
+ "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
- "diff-sequences": "^24.3.0",
- "jest-get-type": "^24.8.0",
- "pretty-format": "^24.8.0"
+ "diff-sequences": "^24.9.0",
+ "jest-get-type": "^24.9.0",
+ "pretty-format": "^24.9.0"
}
},
"jest-docblock": {
- "version": "24.3.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.3.0.tgz",
- "integrity": "sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
+ "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
"dev": true,
"requires": {
"detect-newline": "^2.1.0"
}
},
"jest-each": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.8.0.tgz",
- "integrity": "sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
+ "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.0.1",
- "jest-get-type": "^24.8.0",
- "jest-util": "^24.8.0",
- "pretty-format": "^24.8.0"
+ "jest-get-type": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "pretty-format": "^24.9.0"
}
},
"jest-environment-jsdom": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz",
- "integrity": "sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
+ "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
"dev": true,
"requires": {
- "@jest/environment": "^24.8.0",
- "@jest/fake-timers": "^24.8.0",
- "@jest/types": "^24.8.0",
- "jest-mock": "^24.8.0",
- "jest-util": "^24.8.0",
+ "@jest/environment": "^24.9.0",
+ "@jest/fake-timers": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "jest-mock": "^24.9.0",
+ "jest-util": "^24.9.0",
"jsdom": "^11.5.1"
}
},
+ "jest-environment-jsdom-global": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom-global/-/jest-environment-jsdom-global-1.2.0.tgz",
+ "integrity": "sha512-41cDl0OxzmFY/cnW0COUN+lnt2N2ks1r3V4fAKOnlZ9xIrGy0PNPan+Bz8HP+uQy/8bGV6T7J4Oi7X+h43It6g==",
+ "dev": true
+ },
"jest-environment-node": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.8.0.tgz",
- "integrity": "sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
+ "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
"dev": true,
"requires": {
- "@jest/environment": "^24.8.0",
- "@jest/fake-timers": "^24.8.0",
- "@jest/types": "^24.8.0",
- "jest-mock": "^24.8.0",
- "jest-util": "^24.8.0"
+ "@jest/environment": "^24.9.0",
+ "@jest/fake-timers": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "jest-mock": "^24.9.0",
+ "jest-util": "^24.9.0"
}
},
"jest-fetch-mock": {
@@ -10278,85 +10440,86 @@
}
},
"jest-get-type": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.8.0.tgz",
- "integrity": "sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
+ "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
"dev": true
},
"jest-haste-map": {
- "version": "24.8.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.8.1.tgz",
- "integrity": "sha512-SwaxMGVdAZk3ernAx2Uv2sorA7jm3Kx+lR0grp6rMmnY06Kn/urtKx1LPN2mGTea4fCT38impYT28FfcLUhX0g==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
+ "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"anymatch": "^2.0.0",
"fb-watchman": "^2.0.0",
"fsevents": "^1.2.7",
"graceful-fs": "^4.1.15",
"invariant": "^2.2.4",
- "jest-serializer": "^24.4.0",
- "jest-util": "^24.8.0",
- "jest-worker": "^24.6.0",
+ "jest-serializer": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-worker": "^24.9.0",
"micromatch": "^3.1.10",
"sane": "^4.0.3",
"walker": "^1.0.7"
}
},
"jest-jasmine2": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz",
- "integrity": "sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
+ "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
- "@jest/environment": "^24.8.0",
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/environment": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.0.1",
"co": "^4.6.0",
- "expect": "^24.8.0",
+ "expect": "^24.9.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^24.8.0",
- "jest-matcher-utils": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-runtime": "^24.8.0",
- "jest-snapshot": "^24.8.0",
- "jest-util": "^24.8.0",
- "pretty-format": "^24.8.0",
+ "jest-each": "^24.9.0",
+ "jest-matcher-utils": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-runtime": "^24.9.0",
+ "jest-snapshot": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "pretty-format": "^24.9.0",
"throat": "^4.0.0"
}
},
"jest-leak-detector": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz",
- "integrity": "sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
+ "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
"dev": true,
"requires": {
- "pretty-format": "^24.8.0"
+ "jest-get-type": "^24.9.0",
+ "pretty-format": "^24.9.0"
}
},
"jest-matcher-utils": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz",
- "integrity": "sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
+ "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
- "jest-diff": "^24.8.0",
- "jest-get-type": "^24.8.0",
- "pretty-format": "^24.8.0"
+ "jest-diff": "^24.9.0",
+ "jest-get-type": "^24.9.0",
+ "pretty-format": "^24.9.0"
}
},
"jest-message-util": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.8.0.tgz",
- "integrity": "sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
+ "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
"@types/stack-utils": "^1.0.1",
"chalk": "^2.0.1",
"micromatch": "^3.1.10",
@@ -10365,12 +10528,12 @@
}
},
"jest-mock": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.8.0.tgz",
- "integrity": "sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
+ "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0"
+ "@jest/types": "^24.9.0"
}
},
"jest-pnp-resolver": {
@@ -10380,18 +10543,18 @@
"dev": true
},
"jest-regex-util": {
- "version": "24.3.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz",
- "integrity": "sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
+ "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
"dev": true
},
"jest-resolve": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.8.0.tgz",
- "integrity": "sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
+ "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"browser-resolve": "^1.11.3",
"chalk": "^2.0.1",
"jest-pnp-resolver": "^1.2.1",
@@ -10399,111 +10562,120 @@
}
},
"jest-resolve-dependencies": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz",
- "integrity": "sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
+ "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"jest-regex-util": "^24.3.0",
- "jest-snapshot": "^24.8.0"
+ "jest-snapshot": "^24.9.0"
}
},
"jest-runner": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.8.0.tgz",
- "integrity": "sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
+ "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
"dev": true,
"requires": {
"@jest/console": "^24.7.1",
- "@jest/environment": "^24.8.0",
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/environment": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.4.2",
"exit": "^0.1.2",
"graceful-fs": "^4.1.15",
- "jest-config": "^24.8.0",
+ "jest-config": "^24.9.0",
"jest-docblock": "^24.3.0",
- "jest-haste-map": "^24.8.0",
- "jest-jasmine2": "^24.8.0",
- "jest-leak-detector": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-resolve": "^24.8.0",
- "jest-runtime": "^24.8.0",
- "jest-util": "^24.8.0",
+ "jest-haste-map": "^24.9.0",
+ "jest-jasmine2": "^24.9.0",
+ "jest-leak-detector": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-resolve": "^24.9.0",
+ "jest-runtime": "^24.9.0",
+ "jest-util": "^24.9.0",
"jest-worker": "^24.6.0",
"source-map-support": "^0.5.6",
"throat": "^4.0.0"
}
},
"jest-runtime": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.8.0.tgz",
- "integrity": "sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
+ "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
"dev": true,
"requires": {
"@jest/console": "^24.7.1",
- "@jest/environment": "^24.8.0",
+ "@jest/environment": "^24.9.0",
"@jest/source-map": "^24.3.0",
- "@jest/transform": "^24.8.0",
- "@jest/types": "^24.8.0",
- "@types/yargs": "^12.0.2",
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "@types/yargs": "^13.0.0",
"chalk": "^2.0.1",
"exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.1.15",
- "jest-config": "^24.8.0",
- "jest-haste-map": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-mock": "^24.8.0",
+ "jest-config": "^24.9.0",
+ "jest-haste-map": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-mock": "^24.9.0",
"jest-regex-util": "^24.3.0",
- "jest-resolve": "^24.8.0",
- "jest-snapshot": "^24.8.0",
- "jest-util": "^24.8.0",
- "jest-validate": "^24.8.0",
+ "jest-resolve": "^24.9.0",
+ "jest-snapshot": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-validate": "^24.9.0",
"realpath-native": "^1.1.0",
"slash": "^2.0.0",
"strip-bom": "^3.0.0",
- "yargs": "^12.0.2"
+ "yargs": "^13.3.0"
}
},
"jest-serializer": {
- "version": "24.4.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz",
- "integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
+ "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==",
"dev": true
},
"jest-snapshot": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.8.0.tgz",
- "integrity": "sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
+ "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0",
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"chalk": "^2.0.1",
- "expect": "^24.8.0",
- "jest-diff": "^24.8.0",
- "jest-matcher-utils": "^24.8.0",
- "jest-message-util": "^24.8.0",
- "jest-resolve": "^24.8.0",
+ "expect": "^24.9.0",
+ "jest-diff": "^24.9.0",
+ "jest-get-type": "^24.9.0",
+ "jest-matcher-utils": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-resolve": "^24.9.0",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^24.8.0",
- "semver": "^5.5.0"
+ "pretty-format": "^24.9.0",
+ "semver": "^6.2.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"jest-util": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.8.0.tgz",
- "integrity": "sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
+ "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
"dev": true,
"requires": {
- "@jest/console": "^24.7.1",
- "@jest/fake-timers": "^24.8.0",
- "@jest/source-map": "^24.3.0",
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
+ "@jest/console": "^24.9.0",
+ "@jest/fake-timers": "^24.9.0",
+ "@jest/source-map": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
"callsites": "^3.0.0",
"chalk": "^2.0.1",
"graceful-fs": "^4.1.15",
@@ -10522,41 +10694,41 @@
}
},
"jest-validate": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.8.0.tgz",
- "integrity": "sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
+ "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
- "camelcase": "^5.0.0",
+ "@jest/types": "^24.9.0",
+ "camelcase": "^5.3.1",
"chalk": "^2.0.1",
- "jest-get-type": "^24.8.0",
- "leven": "^2.1.0",
- "pretty-format": "^24.8.0"
+ "jest-get-type": "^24.9.0",
+ "leven": "^3.1.0",
+ "pretty-format": "^24.9.0"
}
},
"jest-watcher": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.8.0.tgz",
- "integrity": "sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
+ "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
"dev": true,
"requires": {
- "@jest/test-result": "^24.8.0",
- "@jest/types": "^24.8.0",
- "@types/yargs": "^12.0.9",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "@types/yargs": "^13.0.0",
"ansi-escapes": "^3.0.0",
"chalk": "^2.0.1",
- "jest-util": "^24.8.0",
+ "jest-util": "^24.9.0",
"string-length": "^2.0.0"
}
},
"jest-worker": {
- "version": "24.6.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz",
- "integrity": "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
"dev": true,
"requires": {
- "merge-stream": "^1.0.1",
+ "merge-stream": "^2.0.0",
"supports-color": "^6.1.0"
},
"dependencies": {
@@ -10821,6 +10993,12 @@
}
}
},
+ "just-extend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz",
+ "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==",
+ "dev": true
+ },
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -10865,12 +11043,12 @@
}
},
"lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"requires": {
- "invert-kv": "^2.0.0"
+ "invert-kv": "^1.0.0"
}
},
"left-pad": {
@@ -10880,9 +11058,9 @@
"dev": true
},
"leven": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
- "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true
},
"levn": {
@@ -11006,6 +11184,12 @@
"pretty-format": "^23.6.0"
}
},
+ "leven": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+ "dev": true
+ },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -11025,12 +11209,6 @@
"ansi-regex": "^3.0.0",
"ansi-styles": "^3.2.0"
}
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
}
}
},
@@ -11329,12 +11507,6 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
- "lodash.tail": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
- "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
- "dev": true
- },
"lodash.template": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
@@ -11422,6 +11594,12 @@
"integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==",
"dev": true
},
+ "lolex": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz",
+ "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==",
+ "dev": true
+ },
"longest-streak": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
@@ -11453,13 +11631,10 @@
"dev": true
},
"lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "requires": {
- "yallist": "^3.0.2"
- }
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
},
"magic-string": {
"version": "0.25.3",
@@ -11655,6 +11830,14 @@
"map-age-cleaner": "^0.1.1",
"mimic-fn": "^2.0.0",
"p-is-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ }
}
},
"memory-fs": {
@@ -11782,13 +11965,10 @@
"dev": true
},
"merge-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
- "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
},
"merge2": {
"version": "1.2.4",
@@ -11855,9 +12035,9 @@
}
},
"mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
"min-document": {
@@ -11989,24 +12169,6 @@
}
}
},
- "mixin-object": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
- "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
- "dev": true,
- "requires": {
- "for-in": "^0.1.3",
- "is-extendable": "^0.1.1"
- },
- "dependencies": {
- "for-in": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
- "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
- "dev": true
- }
- }
- },
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
@@ -12154,6 +12316,19 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
+ "nise": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.1.tgz",
+ "integrity": "sha512-edFWm0fsFG2n318rfEnKlTZTkjlbVOFF9XIA+fj+Ed+Qz1laYW2lobwavWoMzGrYDHH1EpiNJgDfvGnkZztR/g==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/formatio": "^3.2.1",
+ "@sinonjs/text-encoding": "^0.7.1",
+ "just-extend": "^4.0.2",
+ "lolex": "^4.1.0",
+ "path-to-regexp": "^1.7.0"
+ }
+ },
"no-case": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
@@ -12258,9 +12433,9 @@
"dev": true
},
"node-notifier": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.1.tgz",
- "integrity": "sha512-p52B+onAEHKW1OF9MGO/S7k/ahGEHfhP5/tvwYzog/5XLYOd8ZuD6vdNZdUuWMONRnKPneXV43v3s6Snx1wsCQ==",
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
+ "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
"dev": true,
"requires": {
"growly": "^1.3.0",
@@ -12271,9 +12446,9 @@
}
},
"node-releases": {
- "version": "1.1.26",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.26.tgz",
- "integrity": "sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ==",
+ "version": "1.1.28",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.28.tgz",
+ "integrity": "sha512-AQw4emh6iSXnCpDiFe0phYcThiccmkNWMZnFZ+lDJjAP8J0m2fVd59duvUUyuTirQOhIAajTFkzG6FHCLBO59g==",
"dev": true,
"requires": {
"semver": "^5.3.0"
@@ -12383,12 +12558,6 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
}
}
},
@@ -12715,14 +12884,6 @@
"dev": true,
"requires": {
"mimic-fn": "^1.0.0"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true
- }
}
},
"opn": {
@@ -12832,14 +12993,12 @@
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
+ "lcid": "^1.0.0"
}
},
"os-tmpdir": {
@@ -12886,9 +13045,9 @@
"dev": true
},
"p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@@ -13272,9 +13431,9 @@
}
},
"please-upgrade-node": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz",
- "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
"requires": {
"semver-compare": "^1.0.0"
@@ -13305,9 +13464,9 @@
"dev": true
},
"portfinder": {
- "version": "1.0.21",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.21.tgz",
- "integrity": "sha512-ESabpDCzmBS3ekHbmpAIiESq3udRsCBGiBZLsC+HgBKv2ezb0R4oG+7RnYEVZ/ZCfhel5Tx3UzdNWA0Lox2QCA==",
+ "version": "1.0.23",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.23.tgz",
+ "integrity": "sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ==",
"dev": true,
"requires": {
"async": "^1.5.2",
@@ -16134,12 +16293,12 @@
}
},
"pretty-format": {
- "version": "24.8.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.8.0.tgz",
- "integrity": "sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw==",
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
+ "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
"dev": true,
"requires": {
- "@jest/types": "^24.8.0",
+ "@jest/types": "^24.9.0",
"ansi-regex": "^4.0.0",
"ansi-styles": "^3.2.0",
"react-is": "^16.8.4"
@@ -16488,14 +16647,13 @@
"dev": true
},
"react": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz",
- "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==",
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz",
+ "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.13.6"
+ "prop-types": "^15.6.2"
}
},
"react-addons-css-transition-group": {
@@ -16580,14 +16738,14 @@
}
},
"react-dom": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz",
- "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==",
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
+ "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
- "scheduler": "^0.13.6"
+ "scheduler": "^0.15.0"
}
},
"react-hot-loader": {
@@ -16605,9 +16763,9 @@
}
},
"react-is": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
- "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
+ "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw=="
},
"react-lifecycles-compat": {
"version": "3.0.4",
@@ -16615,9 +16773,9 @@
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-live": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/react-live/-/react-live-2.1.2.tgz",
- "integrity": "sha512-RAyu0FaFPnSqC3mG3ira0qmAGfPmGKEmGcAkXHwUNTFgbhVa38gbUSz8K1kvLSZ4yi19EbtVEa7LWQwxO5mEsA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/react-live/-/react-live-2.2.0.tgz",
+ "integrity": "sha512-Ebbqz2hJGdC0OisXk1XbJ5gb3M3xn7ZdaheisVVFCbivM901Pixy12k1tqBTLoMYjlY2wGAGwgDBTE63Lqaweg==",
"requires": {
"buble": "0.19.6",
"core-js": "^2.4.1",
@@ -16714,15 +16872,15 @@
"integrity": "sha512-doNaIIt4w7QIiB6ysWHMtYL4M3xOGPvZJH8vGq3W/hGk43pn25RDA27IS8GkbfhA1eLX72CWDhuC7KmDKax13g=="
},
"react-test-renderer": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.8.6.tgz",
- "integrity": "sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw==",
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.9.0.tgz",
+ "integrity": "sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ==",
"dev": true,
"requires": {
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
- "react-is": "^16.8.6",
- "scheduler": "^0.13.6"
+ "react-is": "^16.9.0",
+ "scheduler": "^0.15.0"
}
},
"react-transition-group": {
@@ -16987,12 +17145,12 @@
"dev": true
},
"regexpu-core": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz",
- "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==",
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
+ "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
"requires": {
"regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.0.2",
+ "regenerate-unicode-properties": "^8.1.0",
"regjsgen": "^0.5.0",
"regjsparser": "^0.6.0",
"unicode-match-property-ecmascript": "^1.0.4",
@@ -17104,24 +17262,25 @@
}
},
"remark-mdx": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.1.6.tgz",
- "integrity": "sha512-asKqUQbXgWvc8AUSGl/Pjlfv9wrVlItaWodeemVGp7xmC87QL9PdbiRpEerJrPQpEujG9iFEw4A4J1GVT12GiA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.3.1.tgz",
+ "integrity": "sha512-meOzRZRatApALyx8uPugc+O97e7CsMUOCMC8mJq4agdRG2J1Upg7+PAQiTiDJnT2TRok4EbLoz7OXWjDDDHIRw==",
"dev": true,
"requires": {
"@babel/core": "7.5.5",
"@babel/helper-plugin-utils": "7.0.0",
"@babel/plugin-proposal-object-rest-spread": "7.5.5",
"@babel/plugin-syntax-jsx": "7.2.0",
+ "@mdx-js/util": "^1.3.1",
"is-alphabetical": "1.0.3",
- "remark-parse": "7.0.0",
+ "remark-parse": "7.0.1",
"unified": "8.3.2"
}
},
"remark-parse": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.0.tgz",
- "integrity": "sha512-UlfoqASKUnwSrzOcLSa7fwYdkpbeWwAs49YYdQmoYXK1TUJ2CvDBb3v8Lkt2GQzdPW9dWbjhteOsJJ27p1rNFg==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.1.tgz",
+ "integrity": "sha512-WOZLa545jYXtSy+txza6ACudKWByQac4S2DmGk+tAGO/3XnVTOxwyCIxB7nTcLlk8Aayhcuf3cV1WV6U6L7/DQ==",
"dev": true,
"requires": {
"collapse-white-space": "^1.0.2",
@@ -17466,9 +17625,9 @@
"dev": true
},
"rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
"requires": {
"glob": "^7.1.3"
@@ -17787,10 +17946,10 @@
"pinkie-promise": "^2.0.0"
}
},
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
"dev": true
},
"is-fullwidth-code-point": {
@@ -17802,15 +17961,6 @@
"number-is-nan": "^1.0.0"
}
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@@ -17824,15 +17974,6 @@
"strip-bom": "^2.0.0"
}
},
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -17979,17 +18120,30 @@
}
},
"sass-loader": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
- "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
+ "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
"dev": true,
"requires": {
- "clone-deep": "^2.0.1",
+ "clone-deep": "^4.0.1",
"loader-utils": "^1.0.1",
- "lodash.tail": "^4.1.1",
"neo-async": "^2.5.0",
- "pify": "^3.0.0",
- "semver": "^5.5.0"
+ "pify": "^4.0.1",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
"sax": {
@@ -17999,9 +18153,9 @@
"dev": true
},
"scheduler": {
- "version": "0.13.6",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
- "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
+ "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -18059,9 +18213,9 @@
}
},
"semver": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
- "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"semver-compare": {
@@ -18123,9 +18277,9 @@
"dev": true
},
"serialize-javascript": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz",
- "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.8.0.tgz",
+ "integrity": "sha512-3tHgtF4OzDmeKYj6V9nSyceRS0UJ3C7VqyD2Yj28vC/z2j6jG5FmFGahOKMD9CrglxTm3tETr87jEypaYV8DUg==",
"dev": true
},
"serve-index": {
@@ -18241,22 +18395,12 @@
}
},
"shallow-clone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
- "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"requires": {
- "is-extendable": "^0.1.1",
- "kind-of": "^5.0.0",
- "mixin-object": "^2.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
+ "kind-of": "^6.0.2"
}
},
"shallowequal": {
@@ -18314,6 +18458,21 @@
}
}
},
+ "sinon": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.4.1.tgz",
+ "integrity": "sha512-7s9buHGHN/jqoy/v4bJgmt0m1XEkCEd/tqdHXumpBp0JSujaT4Ng84JU5wDdK4E85ZMq78NuDe0I3NAqXY8TFg==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.4.0",
+ "@sinonjs/formatio": "^3.2.1",
+ "@sinonjs/samsam": "^3.3.2",
+ "diff": "^3.5.0",
+ "lolex": "^4.2.0",
+ "nise": "^1.5.1",
+ "supports-color": "^5.5.0"
+ }
+ },
"sisteransi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz",
@@ -19301,9 +19460,15 @@
}
},
"ignore": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz",
- "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "dev": true
+ },
+ "leven": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
"dev": true
},
"locate-path": {
@@ -19435,6 +19600,15 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"slice-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
@@ -19473,9 +19647,9 @@
}
},
"table": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.5.tgz",
- "integrity": "sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA==",
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
"dev": true,
"requires": {
"ajv": "^6.10.2",
@@ -19535,16 +19709,16 @@
}
},
"stylelint-scss": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.9.3.tgz",
- "integrity": "sha512-pLLpwSpUwiqpAga/C22ZuN/d5ql2zVWGzG8MO+P3DQYcDNue3eZGvda/bJdkx4mDcVy06jlDt+BgSvMYUrwleQ==",
+ "version": "3.9.4",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.9.4.tgz",
+ "integrity": "sha512-RHUHnEDRi2TONwFm2l0OMLo5y78aEYljabZsaf2+27JHM5aLjlO5waMlIwcK7xNfHlD/Ma9LoRAiFtI5ikNI2g==",
"dev": true,
"requires": {
- "lodash": "^4.17.11",
+ "lodash": "^4.17.15",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.0"
+ "postcss-value-parser": "^4.0.2"
},
"dependencies": {
"cssesc": {
@@ -19767,9 +19941,9 @@
}
},
"terser": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.3.tgz",
- "integrity": "sha512-on13d+cnpn5bMouZu+J8tPYQecsdRJCJuxFJ+FVoPBoLJgk5bCBkp+Uen2hWyi0KIUm6eDarnlAlH+KgIx/PuQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.2.0.tgz",
+ "integrity": "sha512-6lPt7lZdZ/13icQJp8XasFOwZjFJkxFFIb/N1fhYEQNoNI3Ilo3KABZ9OocZvZoB39r6SiIk/0+v/bt8nZoSeA==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@@ -19883,9 +20057,9 @@
"dev": true
},
"timers-browserify": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
- "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
+ "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
"dev": true,
"requires": {
"setimmediate": "^1.0.4"
@@ -20144,6 +20318,12 @@
"prelude-ls": "~1.1.2"
}
},
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -20580,9 +20760,9 @@
"dev": true
},
"uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
+ "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
"dev": true
},
"v8-compile-cache": {
@@ -20709,12 +20889,12 @@
"dev": true
},
"graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz",
+ "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
"dev": true,
"requires": {
- "natives": "^1.1.0"
+ "natives": "^1.1.3"
}
},
"readable-stream": {
@@ -20846,9 +21026,9 @@
"dev": true
},
"webpack": {
- "version": "4.39.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.1.tgz",
- "integrity": "sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==",
+ "version": "4.39.2",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.2.tgz",
+ "integrity": "sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.8.5",
@@ -20877,9 +21057,9 @@
},
"dependencies": {
"acorn": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.1.tgz",
- "integrity": "sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
+ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
"dev": true
},
"eslint-scope": {
@@ -20906,9 +21086,9 @@
}
},
"webpack-cli": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.6.tgz",
- "integrity": "sha512-0vEa83M7kJtxK/jUhlpZ27WHIOndz5mghWL2O53kiDoA9DIxSKnfqB92LoqEn77cT4f3H2cZm1BMEat/6AZz3A==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.7.tgz",
+ "integrity": "sha512-OhTUCttAsr+IZSMVwGROGRHvT+QAs8H6/mHIl4SvhAwYywjiylYjpwybGx7WQ9Hkb45FhjtsymkwiRRbGJ1SZQ==",
"dev": true,
"requires": {
"chalk": "2.4.2",
@@ -20924,17 +21104,6 @@
"yargs": "13.2.4"
},
"dependencies": {
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
"findup-sync": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
@@ -20947,12 +21116,6 @@
"resolve-dir": "^1.0.1"
}
},
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
"global-modules": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
@@ -20973,6 +21136,12 @@
"which": "^1.3.1"
}
},
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -20982,6 +21151,26 @@
"is-extglob": "^2.1.1"
}
},
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -21002,17 +21191,6 @@
"has-flag": "^3.0.0"
}
},
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
"yargs": {
"version": "13.2.4",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz",
@@ -21031,16 +21209,6 @@
"y18n": "^4.0.0",
"yargs-parser": "^13.1.0"
}
- },
- "yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
- "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
}
}
},
@@ -21065,9 +21233,9 @@
}
},
"webpack-dev-server": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz",
- "integrity": "sha512-mjWtrKJW2T9SsjJ4/dxDC2fkFVUw8jlpemDERqV0ZJIkjjjamR2AbQlr3oz+j4JLhYCHImHnXZK5H06P2wvUew==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz",
+ "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
@@ -21083,23 +21251,25 @@
"import-local": "^2.0.0",
"internal-ip": "^4.3.0",
"ip": "^1.1.5",
+ "is-absolute-url": "^3.0.0",
"killable": "^1.0.1",
"loglevel": "^1.6.3",
"opn": "^5.5.0",
"p-retry": "^3.0.1",
- "portfinder": "^1.0.20",
+ "portfinder": "^1.0.21",
"schema-utils": "^1.0.0",
"selfsigned": "^1.10.4",
- "semver": "^6.1.1",
+ "semver": "^6.3.0",
"serve-index": "^1.9.1",
"sockjs": "0.3.19",
"sockjs-client": "1.3.0",
- "spdy": "^4.0.0",
+ "spdy": "^4.0.1",
"strip-ansi": "^3.0.1",
"supports-color": "^6.1.0",
"url": "^0.11.0",
"webpack-dev-middleware": "^3.7.0",
"webpack-log": "^2.0.0",
+ "ws": "^6.2.1",
"yargs": "12.0.5"
},
"dependencies": {
@@ -21109,6 +21279,34 @@
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -21118,12 +21316,65 @@
"ms": "^2.1.1"
}
},
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz",
+ "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
"schema-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
@@ -21158,6 +21409,59 @@
"requires": {
"has-flag": "^3.0.0"
}
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
}
}
},
@@ -21401,43 +21705,46 @@
"dev": true
},
"yallist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
+ "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
"dev": true,
"requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
+ "cliui": "^5.0.0",
"find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
+ "get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
+ "require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
+ "string-width": "^3.0.0",
"which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.1"
},
"dependencies": {
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
}
}
},
"yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+ "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
diff --git a/package.json b/package.json
index e1d1ed276..f7f95972d 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,12 @@
{
"name": "@hi-ui/hiui",
- "version": "2.0.5",
+ "version": "2.1.1",
"description": "HIUI for React",
"scripts": {
"test": "node_modules/.bin/standard && node_modules/.bin/stylelint --config .stylelintrc 'components/**/*.scss'",
"jest": "jest",
+ "jest:coverage": "npm run jest -- --coverage",
+ "jest:badges": "npm run jest:coverage && jest-coverage-badges --input ./test/coverage/coverage-summary.json --output ./test/badges",
"fix": "node_modules/.bin/standard --fix && node_modules/.bin/stylelint --config .stylelintrc 'components/**/*.scss' --fix",
"precommit": "lint-staged",
"compile": "cross-env NODE_ENV=production gulp",
@@ -96,6 +98,8 @@
"html-webpack-plugin": "^3.2.0",
"husky": "^0.14.3",
"jest": "^24.8.0",
+ "jest-coverage-badges": "^1.1.2",
+ "jest-environment-jsdom-global": "^1.2.0",
"jest-fetch-mock": "^2.1.2",
"jsx-loader": "^0.13.2",
"lint-staged": "^7.2.2",
@@ -114,6 +118,7 @@
"rucksack-css": "^1.0.2",
"run-sequence": "^2.2.1",
"sass-loader": "^7.0.1",
+ "sinon": "^7.3.2",
"standard": "^11.0.1",
"style-loader": "^0.21.0",
"stylelint": "^9.10.1",
diff --git a/site/locales/zh-CN.js b/site/locales/zh-CN.js
index bca5709c5..2ba8da091 100755
--- a/site/locales/zh-CN.js
+++ b/site/locales/zh-CN.js
@@ -50,7 +50,8 @@ module.exports = {
timeline: 'Timeline 时间轴',
transfer: 'Transfer 穿梭框',
switch: 'Switch 开关',
- rate: 'Rate 评分'
+ rate: 'Rate 评分',
+ breadcrumb: 'Breadcrumb 面包屑'
},
designs: {
summarize: '概述',
diff --git a/site/pages/components/index.js b/site/pages/components/index.js
index e114de768..1581ea15a 100755
--- a/site/pages/components/index.js
+++ b/site/pages/components/index.js
@@ -24,7 +24,8 @@ export default {
dropdown: components['dropdown'],
pagination: components['pagination'],
stepper: components['stepper'],
- menu: components['menu']
+ menu: components['menu'],
+ breadcrumb: components['breadcrumb']
},
'group-form': {
form: components['form'],
diff --git a/test/badges/badge-branches.svg b/test/badges/badge-branches.svg
new file mode 100644
index 000000000..b37aee0d8
--- /dev/null
+++ b/test/badges/badge-branches.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/badges/badge-functions.svg b/test/badges/badge-functions.svg
new file mode 100644
index 000000000..0ff92a74f
--- /dev/null
+++ b/test/badges/badge-functions.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/badges/badge-lines.svg b/test/badges/badge-lines.svg
new file mode 100644
index 000000000..6c0e26496
--- /dev/null
+++ b/test/badges/badge-lines.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/badges/badge-statements.svg b/test/badges/badge-statements.svg
new file mode 100644
index 000000000..847991441
--- /dev/null
+++ b/test/badges/badge-statements.svg
@@ -0,0 +1 @@
+
\ No newline at end of file