diff --git a/jest/README.md b/jest/README.md new file mode 100644 index 0000000..43fabb5 --- /dev/null +++ b/jest/README.md @@ -0,0 +1,209 @@ +# 前端单元测试经验分享 + +## 单元测试概念讲解 + +![](./docs/boss.jpg) + +以一张图开篇。请想象,马上要攻打一个飞行boss,但是突然发现自己的装备和技能点都分给了近身攻击,结果一定是掀桌子不玩了 (/‵Д′)/~ ╧╧ + +### 误区(以下内容全是误解) + +* 测试是测试人员才需要写的。 + + 🐾 测试人员是黑盒测试,不管程序内部用的何种语言,如何实现,测试人员只测试表现出来的功能。只有详细了解代码每个内部功能模块的人才能编写对应的单元测试,即开发者自己编写。 + +* 测试可以保证无bug。 + + 🐾 测试可以减少bug,所有测试到的地方可以减少bug,但总会有编码估计不到的地方,这是就需要同时修正功能与添加测试用例。 + +* 只要我每次页面上都点过了,测试也没啥用。 + + 🐾 第一次我认真点点,第二次我认真点点,...,第N次之后,我写的代码没问题,发布吧 []~( ̄▽ ̄)~* + +* 我的代码里功能太多了,根本没法测试。 + + 🐾 八成是代码拆分没设计好,测试不光是功能的辅助,也是功能的镜子。单元测试是重构的好基友。 + +### 概念解释 + +#### runner + +运行环境,负责把测试跑起来,并在整个测试环境中添加一些全局方法(例如: `describe`、`test`)。 + + * mocha: 前后端环境通用,只负责把测试跑起来,可以很方便的搭配其他各种断言库运行,配置方便,年头多,配套成熟。 + + * karma: 运行实际浏览器进行测试的runner,需要和其他断言库配合,只运行浏览器环境。配置较难,debug也不太友好。 + +#### assertion + +断言库,在每个测试用例中用来判断结果是否正确的工具。 + + * [expect.js](https://github.com/mjackson/expect) + + ```javascript + expect(isTrue()).toBe(true) + ``` + + * [should.js](http://shouldjs.github.io/) 向所有对象的顶级Object的prototype中添加了should方法,变更了所有对象的should方法,个人感觉不太好。 + + ```javascript + (isTrue()).should.be.true(); + ``` + +严格来说,断言库只是语法糖,可以用自己的代码替代。以一个判断函数运行结果为true的测试的为例。 + +在nodejs环境中,[assert](https://nodejs.org/api/assert.html)是内置库,无需安装第三方工具。 + +```javascript +// 用断言写 +const assert = require('assert'); +assert.equal(isTrue(), true) + +// 自己写 +if (!isTrue()) { + throw new Error(`测试失败: isTrue 运行结果是 ${isTrue()}`) +} +``` + +但各种断言库,可以提供人性化的编程体验,和友好的错误提示与debug环境,除非只有几个测试时使用内置assert断言,否则还是推荐使用一些较成熟的断言库。 + +#### coverage + +测试覆盖率。自己的代码被测试了多少,有哪些地方没覆盖到呢? + + * 著名的[istanbul](https://istanbul.js.org/),需要与测试runner配合使用。 + +#### all in one + + * [jasmine](https://github.com/jasmine/jasmine-npm) 自带runner与断言,但需要自己搭配istanbul统计测试覆盖率。 + + * [jest](https://jestjs.io/) 自带runner、断言、测试覆盖率(内置instanbul)统计。缺点,只能在nodejs中运行,需要引入jsdom模拟浏览器环境。 + +#### 总结 + +* 轻量级的小库,推荐mocha + expect + +* 其他情况推荐jest。 + +### 我们为什么需要单元测试 + +* 代码互相关联,改1个bug引起3个bug,按下葫芦冒起来瓢。 + +* 因为复用代码需要兼容各种环境,在测试中可以自动模拟大部门环境因素。 + +* 让我们的库看着并且真的很健壮。想象一下当我发现了一个开源工具或类库想应用时,发现这玩意连个单元测试都没有 →_→ + +* 节省每次测试的人力成本,死道友不死老衲,让机器跑去吧。 + +* 单元测试不仅仅是程序的附属,是提升程序员代码分层与抽象能力不可或却的一环。 + +* 当我们有自己的包可以放到npm上显摆一下的时候,没有配套的测试用例,想想还是算了 \`(+﹏+)′ + +* self promotion,有配套测试功能很酷,代码实现的功能点可以用测试用例为依据证明实现的功能性与健壮性。 + +* 当项目庞大之后,没有测试配套的基础组件是不敢动的,只能copy实现一个类似的功能,导致项目永远在膨胀。有测试用例的代码,使人可以更有信心的去扩展功能。 + +## jest,以下以jest为例讲解 + +* 建立新项目,添加各种依赖,`src`与测试目录`__tests__` + + [STEP1](./docs/init.md) + +* 以纯函数为例,同时编写功能与测试 + + * 单独测试某个文件,添加`--watch 参数` + + [toFixed src](./example/src/toFixed.ts) + [toFixed test](./example/__tests__/toFixed.test.ts) + +* 编写异步测试 + + [fetchUser src](./example/src/fetchUser.ts) + [fetchUser test](./example/__tests__/fetchUser.test.ts) + +* 添加react,添加jsdom环境,配置jest,配置babel + + * react本身也有测试配套工具: `react-test-util`、`react-test-renderer`、`react-dom/test-utils`、`react-test-renderer/shallow`。 + + * 引入[enzyme](https://airbnb.io/enzyme/),就是语法糖,加速人工写react测试的速度。 + + [jest.config.js](./example/jest.config.js) + [jest/setup.js](./example/jest/setup.js) + +* 编写一个简单react组件与测试用例,使用beforeEach、afterEach精简测试用例 + + [Search src](./example/src/component/Search.ts) + [Search test](./example/__tests__/component/Search.test.ts) + +* 重点测试各种可能导致内存泄漏的情况 + + * 使用`shallow`代替`mount`,在不需要测试子组件时可加速测试运行速度。 + + [SearchWithEvent src](./example/src/component/SearchWithEvent.ts) + [SearchWithEvent test](./example/__tests__/component/SearchWithEvent.test.ts) + +* mock外部环境 + + [logout src](./example/src/logout.ts) + [logout test](./example/__tests__/logout.test.ts) + + 🐞 测试用例默认是串行运行的,上一个测试用例修改了外部环境之后的测试用例用的都会是dirty的全局环境,出现各种莫名其妙的错误。很多时候,单独运行一个测试可以通过,但是一整体运行就怎么也不能跑通而且很难找到错误原因。 + +* 生成测试覆盖率统计。 + + 🐞 问题:测试覆盖率达到100%就说明这个小功能已经测到头了吗?以email校验为例说明覆盖率百分之百仍然没有覆盖完整,需要在人工测到bug之后,不断晚上功能与测试用例。 + + [isEmail src](./example/src/isEmail.ts) + [isEmail test](./example/__tests__/isEmail.test.ts) + +* 配合typescript,详见`jest.config.js的transform` + + 在js时代,很多时候写一个有参数函数的单元测试,我都觉得应该写一下参数类型错误的判断,在运行时先判断类型是否正确,错误则抛出错误。在有了ts之后,这种校验交给ts即可。只有在接收外部数据作为参数的情况下才需要运行时校验类型。 + +* 引入mobx环境,模拟需要的store。 + + [mobx component src](./example/src/component/List.tsx) + [mobx component test](./example/__tests__/component/List.test.tsx) + +* 将逻辑移出组件 + + * 将战火燃于国门之外---将所有可外置的逻辑都转移到组件(web组件,包含react、vue等前端组件)外部。 + + [complex search src](./example/src/component/ComplexSearch) + [complex search test](./example/__tests__/component/ComplexSearch) + +## 最佳实践 + +I.纯函数,测试和代码同步出 + +II.其他各种公共代码,在功能与代码拆分稳定后补全测试 + +III.业务代码变化快,在编码之初先别着急测试,因为随着页面的搭建结构可能会全部重构。在稳定后,可针对关键业务添加一些测试,或在出现bug后针对bug添加测试。 + +IV.将逻辑尽可能移出组件,组件中调用功能。组件的归组件,功能的归功能。 + +V.git工作流搭配(配置过程内容有些多,需要另开一个专题)。 + +* 通过`husky`或`yorkie`添加本地git push钩子,推送时自动运行测试 + +* 通过与gitlab pipeline结合,配置`gitlab-ci.yml`,并配置gitlab的runner。 + +## 如何提升 + +找几个自己常用的开源库,clone代码之后看看他们的测试用例,并运行体验结果。 + +例如:react、vue、lodash + +回想第一张开篇图。测试的技能点需要重新积累经验值分配。 + +![skill](./docs/skill.png) + +配合这张不是很准确但大体能反映关系的技能树图,中间最下面的是编程基础技能,左侧的分支可以比做测试技能,在升到高层时,这两项技能会互相影响,如果融合后可衍生高级技能---抽象、分层、重构、架构、工程等。 + +## 推荐阅读 + +* 深入理解[jest](https://jestjs.io/docs/zh-Hans/getting-started),有官方中文文档 []~( ̄▽ ̄)~* + +* 如果使用enzyme配合测试react,需要通读[enzyme官方文档](https://airbnb.io/enzyme/)。 + +* [编写可测试的JavaScript代码](https://item.jd.com/10357107991.html) diff --git a/jest/docs/boss.jpg b/jest/docs/boss.jpg new file mode 100644 index 0000000..467623f Binary files /dev/null and b/jest/docs/boss.jpg differ diff --git a/jest/docs/init.md b/jest/docs/init.md new file mode 100644 index 0000000..ae278cc --- /dev/null +++ b/jest/docs/init.md @@ -0,0 +1,9 @@ +``` +mkdir example +cd example +yarn init -y +// 后来依赖越来越多,还是以example文件夹中的package.json中的为准 +yarn add jest @types/jest typescript ts-jest react antd enzyme @types/enzyme jsdom +mkdir src +mkdir __tests__ +``` diff --git a/jest/docs/skill.png b/jest/docs/skill.png new file mode 100644 index 0000000..c30bfff Binary files /dev/null and b/jest/docs/skill.png differ diff --git a/jest/docs/unitTest.jpg b/jest/docs/unitTest.jpg new file mode 100644 index 0000000..1291b4f Binary files /dev/null and b/jest/docs/unitTest.jpg differ diff --git a/jest/example/.eslintrc.js b/jest/example/.eslintrc.js new file mode 100644 index 0000000..5b147e7 --- /dev/null +++ b/jest/example/.eslintrc.js @@ -0,0 +1,39 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + plugins: ['prettier'], + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + extends: [ + 'prettier', + 'prettier/react', + ], + env: { + browser: true, + node: true, + jest: true, + es6: true, + }, + rules: { + 'prettier/prettier': [ + 'error', + { + eslintIntegration: true, + stylelintIntegration: true, + printWidth: 120, + useTabs: false, + tabWidth: 2, + singleQuote: true, + semi: false, + trailingComma: 'all', + jsxBracketSameLine: false, + endOfLine: 'auto', + }, + ], + }, +} diff --git a/jest/example/__tests__/component/ComplexSearch/index.test.tsx b/jest/example/__tests__/component/ComplexSearch/index.test.tsx new file mode 100644 index 0000000..7a62e41 --- /dev/null +++ b/jest/example/__tests__/component/ComplexSearch/index.test.tsx @@ -0,0 +1,16 @@ +import * as React from 'react' +import { mount } from 'enzyme' +import { Form, DatePicker } from 'antd' + +import { ComplexSearch, IProps } from '../../../src/component/ComplexSearch' +import { disabledDateFrom, disabledDateTo } from '../../../src/component/ComplexSearch/util' + +test('测试日期校验逻辑正确传入', () => { + const FormWrapper = Form.create()(({ form }) => ) + const app = mount() + const datePickers = app.find(DatePicker) + expect(datePickers).toHaveLength(2) + const instance = app.find(ComplexSearch).instance() as ComplexSearch + expect(datePickers.at(0).prop('disabledDate')).toBe(instance.disabledDateFrom) + expect(datePickers.at(1).prop('disabledDate')).toBe(instance.disabledDateTo) +}) diff --git a/jest/example/__tests__/component/ComplexSearch/util.test.ts b/jest/example/__tests__/component/ComplexSearch/util.test.ts new file mode 100644 index 0000000..baa3116 --- /dev/null +++ b/jest/example/__tests__/component/ComplexSearch/util.test.ts @@ -0,0 +1,71 @@ +import { WrappedFormUtils } from 'antd/es/form/Form' +import moment from 'moment' + +import { disabledDateFrom, disabledDateTo } from '../../../src/component/ComplexSearch/util' + +describe('page/DepartmentTree/util', () => { + it(`disabledDateFrom,业务逻辑, + 最早2018-06-01, + 时间间隔最多40天, + from可以等于to, + 不能晚于to, + 最晚为今日 + `, () => { + let to: moment.Moment | undefined + /** mock一个antd的form对象 */ + const form = ({ + getFieldValue() { + return to + }, + } as unknown) as WrappedFormUtils + + expect(disabledDateFrom(form)(null)).toBe(false) + // 起始日期 + expect(disabledDateFrom(form)(moment('2018-06-01'))).toBe(false) + expect(disabledDateFrom(form)(moment('2018-05-31'))).toBe(true) + // 今天 + expect(disabledDateFrom(form)(moment())).toBe(false) + expect(disabledDateFrom(form)(moment().add(1, 'day'))).toBe(true) + + to = moment('2019-03-01') + // 可以等于to + expect(disabledDateFrom(form)(to)).toBe(false) + // 不能晚于to + expect(disabledDateFrom(form)(to.clone().add(1, 'day'))).toBe(true) + // 间隔不能大于40天 + expect(disabledDateFrom(form)(to.clone().subtract(40, 'day'))).toBe(false) + expect(disabledDateFrom(form)(to.clone().subtract(41, 'day'))).toBe(true) + }) + + it(`disabledDateTo,业务逻辑, + 最早2018-06-01之后的40天, + 时间间隔最多40天, + from可以等于to, + 不能早于to, + 最晚为今日 + `, () => { + let from: moment.Moment | undefined + /** mock一个antd的form对象 */ + const form = ({ + getFieldValue() { + return from + }, + } as unknown) as WrappedFormUtils + expect(disabledDateTo(form)(null)).toBe(false) + // 起始日期 + expect(disabledDateTo(form)(moment('2018-06-01').add(40, 'day'))).toBe(false) + expect(disabledDateTo(form)(moment('2018-06-01').add(39, 'day'))).toBe(true) + // 今天 + expect(disabledDateTo(form)(moment())).toBe(false) + expect(disabledDateTo(form)(moment().add(1, 'day'))).toBe(true) + + from = moment('2019-03-01') + // 可以等于to + expect(disabledDateTo(form)(from)).toBe(false) + // 不能早于to + expect(disabledDateTo(form)(from.clone().subtract(1, 'day'))).toBe(true) + // 间隔不能大于40天To + expect(disabledDateTo(form)(from.clone().add(40, 'day'))).toBe(false) + expect(disabledDateTo(form)(from.clone().add(41, 'day'))).toBe(true) + }) +}) diff --git a/jest/example/__tests__/component/List.test.tsx b/jest/example/__tests__/component/List.test.tsx new file mode 100644 index 0000000..96add9a --- /dev/null +++ b/jest/example/__tests__/component/List.test.tsx @@ -0,0 +1,24 @@ +import * as React from 'react' +import { Table } from 'antd' +import { api, List } from '../../src/component/List' +import { mount } from 'enzyme' + +const wrap = () => mount() + +describe('component/List', () => { + test('组件加载时发起请求', () => { + const spy = jest.spyOn(api, 'fetchUserList') + expect(spy).not.toHaveBeenCalled() + const wrapper = wrap() + expect(spy).toHaveBeenCalled() + spy.mockRestore() + }) + + test('store的list放到Table里', async () => { + const wrapper = wrap() + await api.fetchUserList() + wrapper.update() + const table = wrapper.find(Table).at(0) + expect(table.prop('dataSource')).toHaveLength(2) + }) +}) diff --git a/jest/example/__tests__/component/Search.test.tsx b/jest/example/__tests__/component/Search.test.tsx new file mode 100644 index 0000000..eedc94e --- /dev/null +++ b/jest/example/__tests__/component/Search.test.tsx @@ -0,0 +1,47 @@ +import * as React from 'react' +import { Search } from '../../src/component/Search' +import { Form, DatePicker, Input, Button } from 'antd' +import { mount } from 'enzyme' + +describe('component/Search', () => { + const wrap = (onSubmit: (e: React.FormEvent) => void) => + mount() + let wrapper: ReturnType + + const spy = jest.fn((e: React.FormEvent) => { + e.preventDefault() + }) + + /** 使用beforeEach, afterEach简化每次测试的重复代码 */ + beforeEach(() => { + spy.mockClear() + wrapper = wrap(spy) + }) + + afterEach(() => { + wrapper.unmount() + }) + + it('测试内部包含组件', () => { + expect(wrapper.find(Form)).toHaveLength(1) + const items = wrapper.find(Form.Item) + expect(items).toHaveLength(3) + expect(items.at(0).find(DatePicker)).toHaveLength(1) + expect(items.at(0).prop('label')).toBe('日期') + expect(items.at(1).find(Input)).toHaveLength(1) + expect(items.at(1).prop('label')).toBe('姓名') + const button = items + .at(2) + .find(Button) + .at(0) + expect(button.prop('htmlType')).toBe('submit') + }) + + it('测试提交', () => { + const wrapper = wrap(spy) + const form = wrapper.find('form').at(0) + expect(spy).not.toHaveBeenCalled() + form.simulate('submit') + expect(spy).toHaveBeenCalled() + }) +}) diff --git a/jest/example/__tests__/component/SearchWithEvent.test.tsx b/jest/example/__tests__/component/SearchWithEvent.test.tsx new file mode 100644 index 0000000..cd99de9 --- /dev/null +++ b/jest/example/__tests__/component/SearchWithEvent.test.tsx @@ -0,0 +1,22 @@ +import * as React from 'react' +import { SearchWithEvent } from '../../src/component/SearchWithEvent' +import { emitter } from '../../src/emitter' +import { shallow } from 'enzyme' + +describe('component/Search', () => { + const wrap = (onSubmit: (e: React.FormEvent) => void) => + shallow() + + it('emitter监听search事件', () => { + const spy = jest.fn() + expect(emitter.listenerCount('search')).toBe(0) + const wrapper = wrap(spy) + expect(emitter.listenerCount('search')).toBe(1) + const form = wrapper.find('form').at(0) + expect(spy).not.toHaveBeenCalled() + emitter.emit('search') + expect(spy).toHaveBeenCalled() + wrapper.unmount() + expect(emitter.listenerCount('search')).toBe(0) + }) +}) diff --git a/jest/example/__tests__/fetchUser.test.ts b/jest/example/__tests__/fetchUser.test.ts new file mode 100644 index 0000000..e16b74a --- /dev/null +++ b/jest/example/__tests__/fetchUser.test.ts @@ -0,0 +1,10 @@ +import { fetchUser } from '../src/fetchUser' + +test('测试获取用户信息', () => { + return fetchUser().then(user => { + expect(user).toEqual({ + name: 'admin', + email: 'admin@jd.com', + }) + }) +}) diff --git a/jest/example/__tests__/isEmail.test.ts b/jest/example/__tests__/isEmail.test.ts new file mode 100644 index 0000000..0a792e0 --- /dev/null +++ b/jest/example/__tests__/isEmail.test.ts @@ -0,0 +1,13 @@ +import { isEmail } from '../src/isEmail' + +describe('isEmail', () => { + test('正确的email', () => { + expect(isEmail('a@c.com')).toBe(true) + // 需要用失败的例子填充 + // expect(isEmail('a1@ac.com')).toBe(true) + }) + + test('错误的email', () => { + expect(isEmail('ac.com')).toBe(false) + }) +}) diff --git a/jest/example/__tests__/logout.test.ts b/jest/example/__tests__/logout.test.ts new file mode 100644 index 0000000..8f8f097 --- /dev/null +++ b/jest/example/__tests__/logout.test.ts @@ -0,0 +1,17 @@ +import { logout } from '../src/logout' + +const noop = (v: string) => {} + +describe('logout', () => { + it('assign', () => { + /** 屏蔽 window.location.assign的默认行为 */ + const spy = jest.spyOn(window.location, 'assign').mockImplementation(noop) + logout() + expect(window.location.assign).toHaveBeenLastCalledWith( + `/api/logout?returnUrl=${encodeURIComponent(location.href)}`, + ) + + /** 退出的时候必须清理对外部环境的更改,否则会影响其他测试 */ + spy.mockRestore() + }) +}) diff --git a/jest/example/__tests__/toFixed.test.ts b/jest/example/__tests__/toFixed.test.ts new file mode 100644 index 0000000..af1dd4f --- /dev/null +++ b/jest/example/__tests__/toFixed.test.ts @@ -0,0 +1,17 @@ +import { toFixed, PLACEHOLDER } from '../src/toFixed' + +describe('tool/toFixed', () => { + it('没有value时返回PLACEHOLDER', () => { + expect(toFixed()).toBe(PLACEHOLDER) + expect(toFixed(null)).toBe(PLACEHOLDER) + expect(toFixed(Number.NaN)).toBe(PLACEHOLDER) + }) + + it('返回指定精度的格式化数字', () => { + expect(toFixed(1111)).toBe('1111.00') + expect(toFixed(1111.333)).toBe('1111.33') + expect(toFixed(1111.36)).toBe('1111.36') + expect(toFixed(1111.36, 4)).toBe('1111.3600') + expect(toFixed(1111.3677, 3)).toBe('1111.368') + }) +}) diff --git a/jest/example/babel.config.js b/jest/example/babel.config.js new file mode 100644 index 0000000..0030b56 --- /dev/null +++ b/jest/example/babel.config.js @@ -0,0 +1,14 @@ +module.exports = { + presets: [ + '@babel/typescript', + '@babel/preset-react', + [ + '@babel/preset-env', + { + targets: { + chrome: '60', + }, + }, + ], + ], +} diff --git a/jest/example/coverage/clover.xml b/jest/example/coverage/clover.xml new file mode 100644 index 0000000..409f648 --- /dev/null +++ b/jest/example/coverage/clover.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jest/example/coverage/coverage-final.json b/jest/example/coverage/coverage-final.json new file mode 100644 index 0000000..fbf3941 --- /dev/null +++ b/jest/example/coverage/coverage-final.json @@ -0,0 +1,7 @@ +{"/home/wangfan/nodes/share-doc/jest/example/src/emitter.ts": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/emitter.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"1":{"start":{"line":3,"column":13},"end":{"line":3,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1},"f":{},"b":{}} +,"/home/wangfan/nodes/share-doc/jest/example/src/fetchUser.ts": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/fetchUser.ts","statementMap":{"0":{"start":{"line":2,"column":13},"end":{"line":11,"column":null}},"1":{"start":{"line":3,"column":2},"end":{"line":10,"column":null}},"2":{"start":{"line":4,"column":4},"end":{"line":9,"column":null}},"3":{"start":{"line":5,"column":6},"end":{"line":8,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"loc":{"start":{"line":2,"column":25},"end":{"line":11,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":21},"end":{"line":3,"column":22}},"loc":{"start":{"line":3,"column":22},"end":{"line":10,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":15},"end":{"line":4,"column":null}},"loc":{"start":{"line":4,"column":15},"end":{"line":9,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1,"1":1,"2":1},"b":{}} +,"/home/wangfan/nodes/share-doc/jest/example/src/logout.ts": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/logout.ts","statementMap":{"0":{"start":{"line":2,"column":13},"end":{"line":7,"column":null}},"1":{"start":{"line":3,"column":10},"end":{"line":3,"column":28}},"2":{"start":{"line":4,"column":2},"end":{"line":6,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"loc":{"start":{"line":2,"column":22},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{}} +,"/home/wangfan/nodes/share-doc/jest/example/src/toFixed.ts": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/toFixed.ts","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":null}},"1":{"start":{"line":7,"column":13},"end":{"line":12,"column":null}},"2":{"start":{"line":7,"column":47},"end":{"line":7,"column":null}},"3":{"start":{"line":8,"column":2},"end":{"line":10,"column":null}},"4":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":11,"column":2},"end":{"line":11,"column":null}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":23},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":60},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":47},"end":{"line":7,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":47},"end":{"line":7,"column":null}},{"start":{"line":7,"column":47},"end":{"line":7,"column":null}}]},"1":{"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":10,"column":null}},{"start":{"line":8,"column":2},"end":{"line":10,"column":null}}]},"2":{"loc":{"start":{"line":8,"column":6},"end":{"line":8,"column":20}},"type":"binary-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":20}},{"start":{"line":8,"column":24},"end":{"line":8,"column":43}},{"start":{"line":8,"column":47},"end":{"line":8,"column":66}}]}},"s":{"0":1,"1":1,"2":14,"3":8,"4":3,"5":5},"f":{"0":8},"b":{"0":[6,2],"1":[3,5],"2":[8,7,6]}} +,"/home/wangfan/nodes/share-doc/jest/example/src/component/Search.tsx": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/component/Search.tsx","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":54}},"2":{"start":{"line":14,"column":0},"end":{"line":14,"column":51}},"3":{"start":{"line":14,"column":28},"end":{"line":14,"column":33}},"4":{"start":{"line":15,"column":2},"end":{"line":30,"column":null}},"5":{"start":{"line":16,"column":12},"end":{"line":16,"column":20}},"6":{"start":{"line":17,"column":4},"end":{"line":29,"column":null}},"7":{"start":{"line":31,"column":0},"end":{"line":31,"column":null}},"8":{"start":{"line":14,"column":13},"end":{"line":14,"column":19}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":14,"column":0},"end":{"line":14,"column":13}},"loc":{"start":{"line":14,"column":0},"end":{"line":31,"column":null}}},"1":{"name":"(anonymous_9)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":8}},"loc":{"start":{"line":15,"column":2},"end":{"line":30,"column":3}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":3,"6":3,"7":1,"8":1},"f":{"0":4,"1":3},"b":{}} +,"/home/wangfan/nodes/share-doc/jest/example/src/component/SearchWithEvent.tsx": {"path":"/home/wangfan/nodes/share-doc/jest/example/src/component/SearchWithEvent.tsx","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":54}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"3":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"4":{"start":{"line":15,"column":37},"end":{"line":15,"column":42}},"5":{"start":{"line":16,"column":2},"end":{"line":18,"column":null}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"7":{"start":{"line":23,"column":2},"end":{"line":25,"column":null}},"8":{"start":{"line":24,"column":4},"end":{"line":24,"column":null}},"9":{"start":{"line":27,"column":2},"end":{"line":36,"column":null}},"10":{"start":{"line":28,"column":12},"end":{"line":28,"column":20}},"11":{"start":{"line":29,"column":4},"end":{"line":35,"column":null}},"12":{"start":{"line":37,"column":0},"end":{"line":37,"column":null}},"13":{"start":{"line":15,"column":13},"end":{"line":15,"column":28}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":15,"column":0},"end":{"line":15,"column":13}},"loc":{"start":{"line":15,"column":0},"end":{"line":37,"column":null}}},"1":{"name":"(anonymous_9)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":19}},"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}},"2":{"name":"(anonymous_10)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":27,"column":2},"end":{"line":27,"column":8}},"loc":{"start":{"line":27,"column":2},"end":{"line":36,"column":3}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{"0":2,"1":1,"2":1,"3":1},"b":{}} +} diff --git a/jest/example/coverage/lcov-report/base.css b/jest/example/coverage/lcov-report/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/jest/example/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/jest/example/coverage/lcov-report/block-navigation.js b/jest/example/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000..c7ff5a5 --- /dev/null +++ b/jest/example/coverage/lcov-report/block-navigation.js @@ -0,0 +1,79 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/jest/example/coverage/lcov-report/index.html b/jest/example/coverage/lcov-report/index.html new file mode 100644 index 0000000..0b67298 --- /dev/null +++ b/jest/example/coverage/lcov-report/index.html @@ -0,0 +1,110 @@ + + + + Code coverage report for All files + + + + + + + +
+
+

+ All files +

+
+
+ 100% + Statements + 38/38 +
+
+ 100% + Branches + 7/7 +
+
+ 100% + Functions + 11/11 +
+
+ 100% + Lines + 33/33 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src
100%15/15100%7/7100%5/5100%14/14
src/component
100%23/23100%0/0100%6/6100%19/19
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/prettify.css b/jest/example/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/jest/example/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/jest/example/coverage/lcov-report/prettify.js b/jest/example/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/jest/example/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/jest/example/coverage/lcov-report/sort-arrow-sprite.png b/jest/example/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000..03f704a Binary files /dev/null and b/jest/example/coverage/lcov-report/sort-arrow-sprite.png differ diff --git a/jest/example/coverage/lcov-report/sorter.js b/jest/example/coverage/lcov-report/sorter.js new file mode 100644 index 0000000..16de10c --- /dev/null +++ b/jest/example/coverage/lcov-report/sorter.js @@ -0,0 +1,170 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/jest/example/coverage/lcov-report/src/component/Search.tsx.html b/jest/example/coverage/lcov-report/src/component/Search.tsx.html new file mode 100644 index 0000000..f30d975 --- /dev/null +++ b/jest/example/coverage/lcov-report/src/component/Search.tsx.html @@ -0,0 +1,162 @@ + + + + Code coverage report for src/component/Search.tsx + + + + + + + +
+
+

+ All files / src/component Search.tsx +

+
+
+ 100% + Statements + 9/9 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 2/2 +
+
+ 100% + Lines + 7/7 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +321x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +3x +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +1x + 
import * as React from 'react'
+import { Button, Input, Form, DatePicker } from 'antd'
+ 
+interface IProps {
+  onSubmit(e: React.FormEvent<HTMLFormElement>): void
+}
+ 
+/** 首先想好功能点
+ * 搜索条件:
+ *  1 日期搜索
+ *  2 姓名
+ *  3 提交时需要执行的函数
+ * */
+export class Search extends React.Component<IProps> {
+  render() {
+    const { onSubmit } = this.props
+    return (
+      <Form onSubmit={onSubmit}>
+        <Form.Item label="日期">
+          <DatePicker />
+        </Form.Item>
+        <Form.Item label="姓名">
+          <Input />
+        </Form.Item>
+        <Form.Item>
+          <Button htmlType="submit">Search</Button>
+        </Form.Item>
+      </Form>
+    )
+  }
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/component/SearchWithEvent.tsx.html b/jest/example/coverage/lcov-report/src/component/SearchWithEvent.tsx.html new file mode 100644 index 0000000..cff2a63 --- /dev/null +++ b/jest/example/coverage/lcov-report/src/component/SearchWithEvent.tsx.html @@ -0,0 +1,180 @@ + + + + Code coverage report for src/component/SearchWithEvent.tsx + + + + + + + +
+
+

+ All files / src/component SearchWithEvent.tsx +

+
+
+ 100% + Statements + 14/14 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 4/4 +
+
+ 100% + Lines + 12/12 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +381x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +1x +1x +  +  +1x +1x +1x +  +  +  +  +  +  +  +1x + 
import * as React from 'react'
+import { Button, Input, Form, DatePicker } from 'antd'
+import { emitter } from '../emitter'
+ 
+interface IProps {
+  onSubmit(e?: React.FormEvent<HTMLFormElement>): void
+}
+ 
+/** 首先想好功能点
+ * 搜索条件:
+ *  1 日期搜索
+ *  2 姓名
+ *  3 提交时需要执行的函数
+ * */
+export class SearchWithEvent extends React.Component<IProps> {
+  componentDidMount() {
+    emitter.on('search', this.props.onSubmit)
+  }
+ 
+  /** 如果卸载时没有移除监听,则每挂载一次绑定一个监听搜索事件
+   * 既是业务逻辑错误,也是内存泄漏
+   * */
+  componentWillUnmount() {
+    emitter.removeListener('search', this.props.onSubmit)
+  }
+ 
+  render() {
+    const { onSubmit } = this.props
+    return (
+      <Form onSubmit={onSubmit}>
+        <Form.Item>
+          <Button htmlType="submit">Search</Button>
+        </Form.Item>
+      </Form>
+    )
+  }
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/component/index.html b/jest/example/coverage/lcov-report/src/component/index.html new file mode 100644 index 0000000..c00dca2 --- /dev/null +++ b/jest/example/coverage/lcov-report/src/component/index.html @@ -0,0 +1,110 @@ + + + + Code coverage report for src/component + + + + + + + +
+
+

+ All files src/component +

+
+
+ 100% + Statements + 23/23 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 6/6 +
+
+ 100% + Lines + 19/19 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Search.tsx
100%9/9100%0/0100%2/2100%7/7
SearchWithEvent.tsx
100%14/14100%0/0100%4/4100%12/12
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/emitter.ts.html b/jest/example/coverage/lcov-report/src/emitter.ts.html new file mode 100644 index 0000000..9237569 --- /dev/null +++ b/jest/example/coverage/lcov-report/src/emitter.ts.html @@ -0,0 +1,78 @@ + + + + Code coverage report for src/emitter.ts + + + + + + + +
+
+

+ All files / src emitter.ts +

+
+
+ 100% + Statements + 2/2 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 2/2 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +41x +  +1x + 
import Events from 'events'
+ 
+export const emitter = new Events()
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/fetchUser.ts.html b/jest/example/coverage/lcov-report/src/fetchUser.ts.html new file mode 100644 index 0000000..03dfb4e --- /dev/null +++ b/jest/example/coverage/lcov-report/src/fetchUser.ts.html @@ -0,0 +1,102 @@ + + + + Code coverage report for src/fetchUser.ts + + + + + + + +
+
+

+ All files / src fetchUser.ts +

+
+
+ 100% + Statements + 4/4 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 3/3 +
+
+ 100% + Lines + 4/4 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +1x +1x +1x +1x +  +  +  +  +  +  + 
/** 模拟异步获取用户信息 */
+export const fetchUser = () => {
+  return new Promise(r => {
+    setTimeout(() => {
+      r({
+        name: 'admin',
+        email: 'admin@jd.com',
+      })
+    }, 100)
+  })
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/index.html b/jest/example/coverage/lcov-report/src/index.html new file mode 100644 index 0000000..09359fa --- /dev/null +++ b/jest/example/coverage/lcov-report/src/index.html @@ -0,0 +1,136 @@ + + + + Code coverage report for src + + + + + + + +
+
+

+ All files src +

+
+
+ 100% + Statements + 15/15 +
+
+ 100% + Branches + 7/7 +
+
+ 100% + Functions + 5/5 +
+
+ 100% + Lines + 14/14 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
emitter.ts
100%2/2100%0/0100%0/0100%2/2
fetchUser.ts
100%4/4100%0/0100%3/3100%4/4
logout.ts
100%3/3100%0/0100%1/1100%3/3
toFixed.ts
100%6/6100%7/7100%1/1100%5/5
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/logout.ts.html b/jest/example/coverage/lcov-report/src/logout.ts.html new file mode 100644 index 0000000..86bbfc9 --- /dev/null +++ b/jest/example/coverage/lcov-report/src/logout.ts.html @@ -0,0 +1,90 @@ + + + + Code coverage report for src/logout.ts + + + + + + + +
+
+

+ All files / src logout.ts +

+
+
+ 100% + Statements + 3/3 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 3/3 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8  +1x +1x +1x +  +  +  + 
/** 退出系统 */
+export const logout = () => {
+  const { encodeURIComponent } = window
+  window.location.assign(
+    `/api/logout?returnUrl=${encodeURIComponent(location.href)}`,
+  )
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/src/toFixed.ts.html b/jest/example/coverage/lcov-report/src/toFixed.ts.html new file mode 100644 index 0000000..ee52e7c --- /dev/null +++ b/jest/example/coverage/lcov-report/src/toFixed.ts.html @@ -0,0 +1,105 @@ + + + + Code coverage report for src/toFixed.ts + + + + + + + +
+
+

+ All files / src toFixed.ts +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 7/7 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 5/5 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +  +  +  +  +  +14x +8x +3x +  +5x +  + 
export const PLACEHOLDER = '--'
+ 
+/**
+ * @remarks 输如数字,返回保留两位小数
+ * 若输入为空,返回展位符
+ * */
+export const toFixed = (value?: number | null, precision = 2) => {
+  if (value === null || value === undefined || Number.isNaN(value)) {
+    return PLACEHOLDER
+  }
+  return value.toFixed(precision)
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov-report/toFixed.ts.html b/jest/example/coverage/lcov-report/toFixed.ts.html new file mode 100644 index 0000000..5857e1a --- /dev/null +++ b/jest/example/coverage/lcov-report/toFixed.ts.html @@ -0,0 +1,105 @@ + + + + Code coverage report for toFixed.ts + + + + + + + +
+
+

+ All files toFixed.ts +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 7/7 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 5/5 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +131x +  +  +  +  +  +14x +8x +3x +  +5x +  + 
export const PLACEHOLDER = '--'
+ 
+/**
+ * @remarks 输如数字,返回保留两位小数
+ * 若输入为空,返回展位符
+ * */
+export const toFixed = (value?: number | null, precision = 2) => {
+  if (value === null || value === undefined || Number.isNaN(value)) {
+    return PLACEHOLDER
+  }
+  return value.toFixed(precision)
+}
+ 
+
+
+ + + + + + + + diff --git a/jest/example/coverage/lcov.info b/jest/example/coverage/lcov.info new file mode 100644 index 0000000..5809934 --- /dev/null +++ b/jest/example/coverage/lcov.info @@ -0,0 +1,116 @@ +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/emitter.ts +FNF:0 +FNH:0 +DA:1,1 +DA:3,1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/fetchUser.ts +FN:2,(anonymous_0) +FN:3,(anonymous_1) +FN:4,(anonymous_2) +FNF:3 +FNH:3 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/logout.ts +FN:2,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:2,1 +DA:3,1 +DA:4,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/toFixed.ts +FN:7,(anonymous_0) +FNF:1 +FNH:1 +FNDA:8,(anonymous_0) +DA:1,1 +DA:7,14 +DA:8,8 +DA:9,3 +DA:11,5 +LF:5 +LH:5 +BRDA:7,0,0,6 +BRDA:7,0,1,2 +BRDA:8,1,0,3 +BRDA:8,1,1,5 +BRDA:8,2,0,8 +BRDA:8,2,1,7 +BRDA:8,2,2,6 +BRF:7 +BRH:7 +end_of_record +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/component/Search.tsx +FN:14,(anonymous_7) +FN:15,(anonymous_9) +FNF:2 +FNH:2 +FNDA:4,(anonymous_7) +FNDA:3,(anonymous_9) +DA:1,1 +DA:2,1 +DA:14,1 +DA:15,1 +DA:16,3 +DA:17,3 +DA:31,1 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/home/wangfan/nodes/share-doc/jest/example/src/component/SearchWithEvent.tsx +FN:15,(anonymous_7) +FN:16,(anonymous_9) +FN:23,(anonymous_10) +FN:27,(anonymous_11) +FNF:4 +FNH:4 +FNDA:2,(anonymous_7) +FNDA:1,(anonymous_9) +FNDA:1,(anonymous_10) +FNDA:1,(anonymous_11) +DA:1,1 +DA:2,1 +DA:3,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:23,1 +DA:24,1 +DA:27,1 +DA:28,1 +DA:29,1 +DA:37,1 +LF:12 +LH:12 +BRF:0 +BRH:0 +end_of_record diff --git a/jest/example/jest.config.js b/jest/example/jest.config.js new file mode 100644 index 0000000..1506692 --- /dev/null +++ b/jest/example/jest.config.js @@ -0,0 +1,10 @@ +const { defaults: tsjPreset } = require('ts-jest/presets') + +module.exports = { + transform: { + ...tsjPreset.transform, + '^.+\\.(js|jsx|mjs)$': '/node_modules/babel-jest', + }, + moduleFileExtensions: ['js', 'jsx', 'node', 'ts', 'tsx', 'json'], + setupFiles: ['/jest/setup.js'], +} diff --git a/jest/example/jest/setup.js b/jest/example/jest/setup.js new file mode 100644 index 0000000..c2d0932 --- /dev/null +++ b/jest/example/jest/setup.js @@ -0,0 +1,27 @@ +import Enzyme from 'enzyme' +import Adapter from 'enzyme-adapter-react-16' +import { JSDOM } from 'jsdom' + +const jsdom = new JSDOM(``) +const { window } = jsdom + +window.LsLayout = ({ children }) => children + +function copyProps(src, target) { + const props = Object.getOwnPropertyNames(src) + .filter(prop => typeof target[prop] === 'undefined') + .reduce( + (result, prop) => ({ + ...result, + [prop]: Object.getOwnPropertyDescriptor(src, prop), + }), + {}, + ) + Object.defineProperties(target, props) +} + +global.window = window +global.document = window.document +copyProps(window, global) + +Enzyme.configure({ adapter: new Adapter() }) diff --git a/jest/example/package.json b/jest/example/package.json new file mode 100644 index 0000000..75ef24c --- /dev/null +++ b/jest/example/package.json @@ -0,0 +1,33 @@ +{ + "name": "example", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "@babel/preset-react": "^7.7.4", + "@babel/preset-typescript": "^7.7.7", + "@types/enzyme": "^3.10.4", + "@typescript-eslint/eslint-plugin": "^2.15.0", + "@typescript-eslint/parser": "^2.15.0", + "antd": "^3.26.6", + "babel": "^6.23.0", + "babel-eslint": "^10.0.3", + "babel-jest": "^24.9.0", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.2", + "eslint": "^6.8.0", + "eslint-config-airbnb": "^18.0.1", + "eslint-config-prettier": "^6.9.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-prettier": "^3.1.2", + "jest": "^24.9.0", + "mobx": "^5.15.1", + "mobx-react": "^6.1.4", + "react": "^16.12.0", + "ts-jest": "^24.3.0", + "typescript": "^3.7.4" + }, + "devDependencies": { + "@types/jest": "^24.0.25" + } +} diff --git a/jest/example/src/component/ComplexSearch/index.tsx b/jest/example/src/component/ComplexSearch/index.tsx new file mode 100644 index 0000000..9620034 --- /dev/null +++ b/jest/example/src/component/ComplexSearch/index.tsx @@ -0,0 +1,109 @@ +import * as React from 'react' +import { Button, DatePicker, Form, Row, Col } from 'antd' +import { WrappedFormUtils } from 'antd/es/form/Form' + +import { disabledDateFrom, disabledDateTo } from './util' + +export interface IProps { + form: WrappedFormUtils +} + +export class ComplexSearch extends React.Component { + /** 大多数情况下会这么写 */ + /* + public render() { + const { form } = this.props + return ( +
+ + + + {form.getFieldDecorator('from')( + { + if (d) { + if (d.isAfter(moment(), 'day')) { + return true + } + if (d.isBefore('2018-06-01', 'day')) { + return true + } + let to = form.getFieldValue('to') as moment.Moment + if (to) { + to = to.clone() + return d.isAfter(to, 'day') || d.isBefore(to.subtract(40, 'days'), 'day') + } + } + return false + }} + />, + )} + + + + + {form.getFieldDecorator('to')( + { + if (d) { + if (d.isAfter(moment(), 'day')) { + return true + } + if (d.isBefore(moment('2018-06-01').add(40, 'day'), 'day')) { + return true + } + let from = form.getFieldValue('from') as moment.Moment + if (from) { + if (d.isBefore(from, 'day')) { + return true + } + from = from.clone() + return d.isAfter(from.add(40, 'days'), 'day') + } + } + return false + }} + />, + )} + + + + + + + + +
+ ) + }*/ + + /** 重构之后,将校验逻辑全部移出 */ + public disabledDateFrom = disabledDateFrom(this.props.form) + + public disabledDateTo = disabledDateTo(this.props.form) + + public render() { + const { form } = this.props + return ( +
+ + + + {form.getFieldDecorator('from')()} + + + + + {form.getFieldDecorator('to')()} + + + + + + + + +
+ ) + } +} diff --git a/jest/example/src/component/ComplexSearch/util.ts b/jest/example/src/component/ComplexSearch/util.ts new file mode 100644 index 0000000..3c50b77 --- /dev/null +++ b/jest/example/src/component/ComplexSearch/util.ts @@ -0,0 +1,54 @@ +import { format } from 'url' + +import { WrappedFormUtils } from 'antd/es/form/Form' +import moment from 'moment' + +/** + * @remarks 搜索起始日期限制 + * 不能早于2018-06-01 + * 不能晚于to + * 不能晚于当前日期 + * 与to之间的间隔不能大于40天 + * */ +export const disabledDateFrom = (form: WrappedFormUtils) => (d: moment.Moment | null) => { + if (d) { + if (d.isAfter(moment(), 'day')) { + return true + } + if (d.isBefore('2018-06-01', 'day')) { + return true + } + let to = form.getFieldValue('to') as moment.Moment + if (to) { + to = to.clone() + return d.isAfter(to, 'day') || d.isBefore(to.subtract(40, 'days'), 'day') + } + } + return false +} + +/** + * @remarks 搜索结束日期限制 + * 不能晚于当前日期 + * 与from之间的间隔不能大于40天 + * 如果from没有选择,不能早于2018-06-01之后的40天 + * */ +export const disabledDateTo = (form: WrappedFormUtils) => (d: moment.Moment | null) => { + if (d) { + if (d.isAfter(moment(), 'day')) { + return true + } + if (d.isBefore(moment('2018-06-01').add(40, 'day'), 'day')) { + return true + } + let from = form.getFieldValue('from') as moment.Moment + if (from) { + if (d.isBefore(from, 'day')) { + return true + } + from = from.clone() + return d.isAfter(from.add(40, 'days'), 'day') + } + } + return false +} diff --git a/jest/example/src/component/List.tsx b/jest/example/src/component/List.tsx new file mode 100644 index 0000000..888c622 --- /dev/null +++ b/jest/example/src/component/List.tsx @@ -0,0 +1,65 @@ +import * as React from 'react' +import { Card, Table } from 'antd' +import { ColumnProps } from 'antd/es/table/interface' +import { observable, action, toJS, runInAction } from 'mobx' +import { observer } from 'mobx-react' + +interface IUser { + name: string + age: number + key: string +} + +const store = observable.object({ + list: [] as IUser[], +}) + +const columns: ColumnProps[] = [ + { + title: '名称', + dataIndex: 'name', + }, + { + title: '年龄', + dataIndex: 'age', + }, +] + +/** 模拟远程数据请求加载 */ +export const api = { + fetchUserList() { + return new Promise(r => { + setTimeout( + action(() => { + store.list = [{ name: 'aaa', age: 1, key: '1' }, { name: 'bbb', age: 2, key: '2' }] + r() + }), + 100, + ) + }) + }, + restoreUserList() { + runInAction(() => { + store.list = [] + }) + }, +} + +@observer +export class List extends React.Component { + componentDidMount() { + api.fetchUserList() + } + + componentWillUnmount() { + api.restoreUserList() + } + + render() { + return ( + + + + ) + } +} diff --git a/jest/example/src/component/Search.tsx b/jest/example/src/component/Search.tsx new file mode 100644 index 0000000..fb88188 --- /dev/null +++ b/jest/example/src/component/Search.tsx @@ -0,0 +1,31 @@ +import * as React from 'react' +import { Button, Input, Form, DatePicker } from 'antd' + +interface IProps { + onSubmit(e: React.FormEvent): void +} + +/** 首先想好功能点 + * 搜索条件: + * 1 日期搜索 + * 2 姓名 + * 3 提交时需要执行的函数 + * */ +export class Search extends React.Component { + render() { + const { onSubmit } = this.props + return ( +
+ + + + + + + + + + + ) + } +} diff --git a/jest/example/src/component/SearchWithEvent.tsx b/jest/example/src/component/SearchWithEvent.tsx new file mode 100644 index 0000000..0e94a81 --- /dev/null +++ b/jest/example/src/component/SearchWithEvent.tsx @@ -0,0 +1,37 @@ +import * as React from 'react' +import { Button, Input, Form, DatePicker } from 'antd' +import { emitter } from '../emitter' + +interface IProps { + onSubmit(e?: React.FormEvent): void +} + +/** 首先想好功能点 + * 搜索条件: + * 1 日期搜索 + * 2 姓名 + * 3 提交时需要执行的函数 + * */ +export class SearchWithEvent extends React.Component { + componentDidMount() { + emitter.on('search', this.props.onSubmit) + } + + /** 如果卸载时没有移除监听,则每挂载一次绑定一个监听搜索事件 + * 既是业务逻辑错误,也是内存泄漏 + * */ + componentWillUnmount() { + emitter.removeListener('search', this.props.onSubmit) + } + + render() { + const { onSubmit } = this.props + return ( +
+ + + + + ) + } +} diff --git a/jest/example/src/emitter.ts b/jest/example/src/emitter.ts new file mode 100644 index 0000000..f9cdde7 --- /dev/null +++ b/jest/example/src/emitter.ts @@ -0,0 +1,3 @@ +import Events from 'events' + +export const emitter = new Events() diff --git a/jest/example/src/fetchUser.ts b/jest/example/src/fetchUser.ts new file mode 100644 index 0000000..45a4b64 --- /dev/null +++ b/jest/example/src/fetchUser.ts @@ -0,0 +1,11 @@ +/** 模拟异步获取用户信息 */ +export const fetchUser = () => { + return new Promise(r => { + setTimeout(() => { + r({ + name: 'admin', + email: 'admin@jd.com', + }) + }, 100) + }) +} diff --git a/jest/example/src/isEmail.ts b/jest/example/src/isEmail.ts new file mode 100644 index 0000000..755a8ff --- /dev/null +++ b/jest/example/src/isEmail.ts @@ -0,0 +1,6 @@ +/** @remarks 检查字符串是否是email + * @returns boolean + * */ +export const isEmail = (v: string) => { + return /^[a-z]+@[a-z]+\.[a-z]+$/i.test(v) +} diff --git a/jest/example/src/logout.ts b/jest/example/src/logout.ts new file mode 100644 index 0000000..531d749 --- /dev/null +++ b/jest/example/src/logout.ts @@ -0,0 +1,7 @@ +/** 退出系统 */ +export const logout = () => { + const { encodeURIComponent } = window + window.location.assign( + `/api/logout?returnUrl=${encodeURIComponent(location.href)}`, + ) +} diff --git a/jest/example/src/toFixed.ts b/jest/example/src/toFixed.ts new file mode 100644 index 0000000..3ad3fb4 --- /dev/null +++ b/jest/example/src/toFixed.ts @@ -0,0 +1,12 @@ +export const PLACEHOLDER = '--' + +/** + * @remarks 输如数字,返回保留两位小数 + * 若输入为空,返回展位符 + * */ +export const toFixed = (value?: number | null, precision = 2) => { + if (value === null || value === undefined || Number.isNaN(value)) { + return PLACEHOLDER + } + return value.toFixed(precision) +} diff --git a/jest/example/tsconfig.json b/jest/example/tsconfig.json new file mode 100644 index 0000000..e9124c4 --- /dev/null +++ b/jest/example/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "experimentalDecorators": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "downlevelIteration": true, + "module": "commonjs", + "moduleResolution": "node", + "resolveJsonModule": true, + "noEmit": true, + "sourceMap": true, + "jsx": "react", + "baseUrl": ".", + "strictPropertyInitialization": false + } +} diff --git a/jest/example/yarn-error.log b/jest/example/yarn-error.log new file mode 100644 index 0000000..61cb69c --- /dev/null +++ b/jest/example/yarn-error.log @@ -0,0 +1,4797 @@ +Arguments: + /home/wangfan/.nvm/versions/node/v12.13.0/bin/node /usr/share/yarn/bin/yarn.js add @babel/typescript-presets + +PATH: + /home/wangfan/.nvm/versions/node/v12.13.0/bin:/home/wangfan/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/wangfan/Android/Sdk/platform-tools:/home/wangfan/Android/Sdk/tools:/home/wangfan/Android/Sdk/tools/bin:/home/wangfan/Android/Sdk/emulator:/home/wangfan/android-studio/bin:./node_modules/.bin:/home/wangfan/golang/bin:/home/wangfan/.deno/bin:/home/wangfan/.fzf/bin:/usr/lib/dart/bin:/home/wangfan/.pub-cache/bin:/home/wangfan/download/flutter/bin + +Yarn version: + 1.21.1 + +Node version: + 12.13.0 + +Platform: + linux x64 + +Trace: + Error: http://registry.m.jd.com/@babel%2ftypescript-presets: Not found + at Request.params.callback [as _callback] (/usr/share/yarn/lib/cli.js:66947:18) + at Request.self.callback (/usr/share/yarn/lib/cli.js:140665:22) + at Request.emit (events.js:210:5) + at Request. (/usr/share/yarn/lib/cli.js:141637:10) + at Request.emit (events.js:210:5) + at IncomingMessage. (/usr/share/yarn/lib/cli.js:141559:12) + at Object.onceWrapper (events.js:299:28) + at IncomingMessage.emit (events.js:215:7) + at endReadableNT (_stream_readable.js:1183:12) + at processTicksAndRejections (internal/process/task_queues.js:80:21) + +npm manifest: + { + "name": "example", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "@babel/preset-react": "^7.7.4", + "@types/enzyme": "^3.10.4", + "antd": "^3.26.6", + "babel": "^6.23.0", + "babel-jest": "^24.9.0", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.2", + "jest": "^24.9.0", + "mobx": "^5.15.1", + "mobx-react": "^6.1.4", + "react": "^16.12.0", + "ts-jest": "^24.3.0", + "typescript": "^3.7.4" + }, + "devDependencies": { + "@types/jest": "^24.0.25" + } + } + +yarn manifest: + No manifest + +Lockfile: + # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + # yarn lockfile v1 + + + "@ant-design/colors@^3.1.0": + version "3.2.2" + resolved "http://registry.m.jd.com/@ant-design/colors/download/@ant-design/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903" + integrity sha1-WtQ9YZ6RHzSI66wwPWBuZqhCOQM= + dependencies: + tinycolor2 "^1.4.1" + + "@ant-design/create-react-context@^0.2.4": + version "0.2.5" + resolved "http://registry.m.jd.com/@ant-design/create-react-context/download/@ant-design/create-react-context-0.2.5.tgz#f5f5a9163b4772097712837397ad30e22e79f858" + integrity sha1-9fWpFjtHcgl3EoNzl60w4i55+Fg= + dependencies: + gud "^1.0.0" + warning "^4.0.3" + + "@ant-design/icons-react@~2.0.1": + version "2.0.1" + resolved "http://registry.m.jd.com/@ant-design/icons-react/download/@ant-design/icons-react-2.0.1.tgz#17a2513571ab317aca2927e58cea25dd31e536fb" + integrity sha1-F6JRNXGrMXrKKSfljOol3THlNvs= + dependencies: + "@ant-design/colors" "^3.1.0" + babel-runtime "^6.26.0" + + "@ant-design/icons@~2.1.1": + version "2.1.1" + resolved "http://registry.m.jd.com/@ant-design/icons/download/@ant-design/icons-2.1.1.tgz#7b9c08dffd4f5d41db667d9dbe5e0107d0bd9a4a" + integrity sha1-e5wI3/1PXUHbZn2dvl4BB9C9mko= + + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": + version "7.5.5" + resolved "http://registry.m.jd.com/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= + dependencies: + "@babel/highlight" "^7.0.0" + + "@babel/core@^7.1.0": + version "7.7.7" + resolved "http://registry.m.jd.com/@babel/core/download/@babel/core-7.7.7.tgz#ee155d2e12300bcc0cff6a8ad46f2af5063803e9" + integrity sha1-7hVdLhIwC8wM/2qK1G8q9QY4A+k= + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.7.7" + "@babel/helpers" "^7.7.4" + "@babel/parser" "^7.7.7" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + + "@babel/generator@^7.4.0", "@babel/generator@^7.7.4", "@babel/generator@^7.7.7": + version "7.7.7" + resolved "http://registry.m.jd.com/@babel/generator/download/@babel/generator-7.7.7.tgz#859ac733c44c74148e1a72980a64ec84b85f4f45" + integrity sha1-hZrHM8RMdBSOGnKYCmTshLhfT0U= + dependencies: + "@babel/types" "^7.7.4" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + + "@babel/helper-builder-react-jsx@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/helper-builder-react-jsx/download/@babel/helper-builder-react-jsx-7.7.4.tgz#da188d247508b65375b2c30cf59de187be6b0c66" + integrity sha1-2hiNJHUItlN1ssMM9Z3hh75rDGY= + dependencies: + "@babel/types" "^7.7.4" + esutils "^2.0.0" + + "@babel/helper-function-name@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/helper-function-name/download/@babel/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e" + integrity sha1-q24EHnE11DbY8KPsoV3ltno0Gi4= + dependencies: + "@babel/helper-get-function-arity" "^7.7.4" + "@babel/template" "^7.7.4" + "@babel/types" "^7.7.4" + + "@babel/helper-get-function-arity@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0" + integrity sha1-y0Y0jS+ICOYy8KsEgXITDmNgBfA= + dependencies: + "@babel/types" "^7.7.4" + + "@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "http://registry.m.jd.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha1-u7P77phmHFaQNCN8wDlnupm08lA= + + "@babel/helper-split-export-declaration@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8" + integrity sha1-Vykq9gRDxKNiLPdAQN3Cjmgzb9g= + dependencies: + "@babel/types" "^7.7.4" + + "@babel/helpers@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/helpers/download/@babel/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" + integrity sha1-YsIVuebHEtrcFamg3Kt2ySqUAwI= + dependencies: + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@babel/types" "^7.7.4" + + "@babel/highlight@^7.0.0": + version "7.5.0" + resolved "http://registry.m.jd.com/@babel/highlight/download/@babel/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + + "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.4", "@babel/parser@^7.7.7": + version "7.7.7" + resolved "http://registry.m.jd.com/@babel/parser/download/@babel/parser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937" + integrity sha1-G4hllUGc+S2BExbVtxWlP/OLSTc= + + "@babel/plugin-syntax-jsx@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" + integrity sha1-2rK1ajb7bDwiKh+8cfe/l/Mnqew= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + + "@babel/plugin-syntax-object-rest-spread@^7.0.0": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" + integrity sha1-R88iDRnW0NexVDBHAfRo/BzG/0Y= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + + "@babel/plugin-transform-react-display-name@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.7.4.tgz#9f2b80b14ebc97eef4a9b29b612c58ed9c0d10dd" + integrity sha1-nyuAsU68l+70qbKbYSxY7ZwNEN0= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + + "@babel/plugin-transform-react-jsx-self@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.7.4.tgz#81b8fbfd14b2215e8f1c2c3adfba266127b0231c" + integrity sha1-gbj7/RSyIV6PHCw637omYSewIxw= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.7.4" + + "@babel/plugin-transform-react-jsx-source@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.7.4.tgz#8994b1bf6014b133f5a46d3b7d1ee5f5e3e72c10" + integrity sha1-iZSxv2AUsTP1pG07fR7l9ePnLBA= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.7.4" + + "@babel/plugin-transform-react-jsx@^7.7.4": + version "7.7.7" + resolved "http://registry.m.jd.com/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.7.7.tgz#5cbaa7445b4a09f774029f3cc7bb448ff3122a5d" + integrity sha1-XLqnRFtKCfd0Ap88x7tEj/MSKl0= + dependencies: + "@babel/helper-builder-react-jsx" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.7.4" + + "@babel/preset-react@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/preset-react/download/@babel/preset-react-7.7.4.tgz#3fe2ea698d8fb536d8e7881a592c3c1ee8bf5707" + integrity sha1-P+LqaY2PtTbY54gaWSw8Hui/Vwc= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.7.4" + "@babel/plugin-transform-react-jsx" "^7.7.4" + "@babel/plugin-transform-react-jsx-self" "^7.7.4" + "@babel/plugin-transform-react-jsx-source" "^7.7.4" + + "@babel/template@^7.4.0", "@babel/template@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/template/download/@babel/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" + integrity sha1-Qop9nuz/4n3qwKmOI7+ONnXSp3s= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.4" + "@babel/types" "^7.7.4" + + "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/traverse/download/@babel/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" + integrity sha1-nB58YPtnn+T8+qQlAIMzM8IFhVg= + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.7.4" + "@babel/helper-function-name" "^7.7.4" + "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/parser" "^7.7.4" + "@babel/types" "^7.7.4" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + + "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.7.4": + version "7.7.4" + resolved "http://registry.m.jd.com/@babel/types/download/@babel/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" + integrity sha1-UWVw1TnkTd8wjAdWnCWP+U/ekZM= + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + + "@cnakazawa/watch@^1.0.3": + version "1.0.3" + resolved "http://registry.m.jd.com/@cnakazawa/watch/download/@cnakazawa/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" + integrity sha1-CZE56ux+vweifBeGo/9k85Rk0u8= + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + + "@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/console/download/@jest/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + + "@jest/core@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/core/download/@jest/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= + dependencies: + "@jest/console" "^24.7.1" + "@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.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 "^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" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + + "@jest/environment@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/environment/download/@jest/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + + "@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + + "@jest/reporters@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/reporters/download/@jest/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= + dependencies: + "@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" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + 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.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + + "@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/source-map/download/@jest/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + + "@jest/test-result@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/test-result/download/@jest/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + + "@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + + "@jest/transform@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/transform/download/@jest/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= + dependencies: + "@babel/core" "^7.1.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.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" + write-file-atomic "2.4.1" + + "@jest/types@^24.9.0": + version "24.9.0" + resolved "http://registry.m.jd.com/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + + "@types/babel__core@^7.1.0": + version "7.1.3" + resolved "http://registry.m.jd.com/@types/babel__core/download/@types/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" + integrity sha1-5EHqffY80IDfzQKrGZ5tFqc1/DA= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + + "@types/babel__generator@*": + version "7.6.1" + resolved "http://registry.m.jd.com/@types/babel__generator/download/@types/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha1-SQF2ezl+hxGuuZ3405bXunt/DgQ= + dependencies: + "@babel/types" "^7.0.0" + + "@types/babel__template@*": + version "7.0.2" + resolved "http://registry.m.jd.com/@types/babel__template/download/@types/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + + "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.8" + resolved "http://registry.m.jd.com/@types/babel__traverse/download/@types/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" + integrity sha1-R5pO4+KRpAOhCWEGAT7CLPm2QBI= + dependencies: + "@babel/types" "^7.3.0" + + "@types/cheerio@*": + version "0.22.15" + resolved "http://registry.m.jd.com/@types/cheerio/download/@types/cheerio-0.22.15.tgz#69040ffa92c309beeeeb7e92db66ac3f80700c0b" + integrity sha1-aQQP+pLDCb7u636S22asP4BwDAs= + dependencies: + "@types/node" "*" + + "@types/enzyme@^3.10.4": + version "3.10.4" + resolved "http://registry.m.jd.com/@types/enzyme/download/@types/enzyme-3.10.4.tgz#dd4961042381a7c0f6637ce25fec3f773ce489dd" + integrity sha1-3UlhBCOBp8D2Y3ziX+w/dzzkid0= + dependencies: + "@types/cheerio" "*" + "@types/react" "*" + + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "http://registry.m.jd.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha1-QplbRG25pIoRoH7Ag0mahg6ROP8= + + "@types/istanbul-lib-report@*": + version "1.1.1" + resolved "http://registry.m.jd.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" + integrity sha1-5Ucef6M8YTWN04QmGJwDelhDO4w= + dependencies: + "@types/istanbul-lib-coverage" "*" + + "@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "http://registry.m.jd.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha1-eoy/akBvNsit2HFiWyeOrwsNJVo= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + + "@types/jest@^24.0.25": + version "24.0.25" + resolved "http://registry.m.jd.com/@types/jest/download/@types/jest-24.0.25.tgz#2aba377824ce040114aa906ad2cac2c85351360f" + integrity sha1-Kro3eCTOBAEUqpBq0srCyFNRNg8= + dependencies: + jest-diff "^24.3.0" + + "@types/node@*": + version "13.1.4" + resolved "http://registry.m.jd.com/@types/node/download/@types/node-13.1.4.tgz#4cfd90175a200ee9b02bd6b1cd19bc349741607e" + integrity sha1-TP2QF1ogDumwK9axzRm8NJdBYH4= + + "@types/prop-types@*": + version "15.7.3" + resolved "http://registry.m.jd.com/@types/prop-types/download/@types/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= + + "@types/react-slick@^0.23.4": + version "0.23.4" + resolved "http://registry.m.jd.com/@types/react-slick/download/@types/react-slick-0.23.4.tgz#c97e2a9e7e3d1933c68593b8e82752fab1e8ce53" + integrity sha1-yX4qnn49GTPGhZO46CdS+rHozlM= + dependencies: + "@types/react" "*" + + "@types/react@*": + version "16.9.17" + resolved "http://registry.m.jd.com/@types/react/download/@types/react-16.9.17.tgz#58f0cc0e9ec2425d1441dd7b623421a867aa253e" + integrity sha1-WPDMDp7CQl0UQd17YjQhqGeqJT4= + dependencies: + "@types/prop-types" "*" + csstype "^2.2.0" + + "@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "http://registry.m.jd.com/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= + + "@types/yargs-parser@*": + version "13.1.0" + resolved "http://registry.m.jd.com/@types/yargs-parser/download/@types/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" + integrity sha1-xWOqGS85NQodGNo2xajaOCu9gig= + + "@types/yargs@^13.0.0": + version "13.0.4" + resolved "http://registry.m.jd.com/@types/yargs/download/@types/yargs-13.0.4.tgz#53d231cebe1a540e7e13727fc1f0d13ad4a9ba3b" + integrity sha1-U9Ixzr4aVA5+E3J/wfDROtSpujs= + dependencies: + "@types/yargs-parser" "*" + + abab@^2.0.0: + version "2.0.3" + resolved "http://registry.m.jd.com/abab/download/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" + integrity sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo= + + acorn-globals@^4.1.0: + version "4.3.4" + resolved "http://registry.m.jd.com/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + + acorn-walk@^6.0.1: + version "6.2.0" + resolved "http://registry.m.jd.com/acorn-walk/download/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= + + acorn@^5.5.3: + version "5.7.3" + resolved "http://registry.m.jd.com/acorn/download/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk= + + acorn@^6.0.1: + version "6.4.0" + resolved "http://registry.m.jd.com/acorn/download/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" + integrity sha1-tlnS/7r6JLr12xzbsslKmD7NJ4Q= + + add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/add-dom-event-listener/download/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha1-apLbOg3Qq8JU4JXA8dwUrLuq4xA= + dependencies: + object-assign "4.x" + + airbnb-prop-types@^2.15.0: + version "2.15.0" + resolved "http://registry.m.jd.com/airbnb-prop-types/download/airbnb-prop-types-2.15.0.tgz#5287820043af1eb469f5b0af0d6f70da6c52aaef" + integrity sha1-UoeCAEOvHrRp9bCvDW9w2mxSqu8= + dependencies: + array.prototype.find "^2.1.0" + function.prototype.name "^1.1.1" + has "^1.0.3" + is-regex "^1.0.4" + object-is "^1.0.1" + object.assign "^4.1.0" + object.entries "^1.1.0" + prop-types "^15.7.2" + prop-types-exact "^1.2.0" + react-is "^16.9.0" + + ajv@^6.5.5: + version "6.10.2" + resolved "http://registry.m.jd.com/ajv/download/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha1-086gTWsBeyiUrWkED+yLYj60vVI= + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + + ansi-escapes@^3.0.0: + version "3.2.0" + resolved "http://registry.m.jd.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + + ansi-regex@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + + ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "http://registry.m.jd.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + + ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "http://registry.m.jd.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + + antd@^3.26.6: + version "3.26.6" + resolved "http://registry.m.jd.com/antd/download/antd-3.26.6.tgz#7e583e11e757679ca6d2fda0bc418a177f5d3653" + integrity sha1-flg+EedXZ5ym0v2gvEGKF39dNlM= + dependencies: + "@ant-design/create-react-context" "^0.2.4" + "@ant-design/icons" "~2.1.1" + "@ant-design/icons-react" "~2.0.1" + "@types/react-slick" "^0.23.4" + array-tree-filter "^2.1.0" + babel-runtime "6.x" + classnames "~2.2.6" + copy-to-clipboard "^3.2.0" + css-animation "^1.5.0" + dom-closest "^0.2.0" + enquire.js "^2.1.6" + is-mobile "^2.1.0" + lodash "^4.17.13" + moment "^2.24.0" + omit.js "^1.0.2" + prop-types "^15.7.2" + raf "^3.4.1" + rc-animate "^2.10.2" + rc-calendar "~9.15.7" + rc-cascader "~0.17.4" + rc-checkbox "~2.1.6" + rc-collapse "~1.11.3" + rc-dialog "~7.6.0" + rc-drawer "~3.1.1" + rc-dropdown "~2.4.1" + rc-editor-mention "^1.1.13" + rc-form "^2.4.10" + rc-input-number "~4.5.0" + rc-mentions "~0.4.0" + rc-menu "~7.5.1" + rc-notification "~3.3.1" + rc-pagination "~1.20.11" + rc-progress "~2.5.0" + rc-rate "~2.5.0" + rc-resize-observer "^0.1.0" + rc-select "~9.2.0" + rc-slider "~8.7.1" + rc-steps "~3.5.0" + rc-switch "~1.9.0" + rc-table "~6.10.5" + rc-tabs "~9.7.0" + rc-time-picker "~3.7.1" + rc-tooltip "~3.7.3" + rc-tree "~2.1.0" + rc-tree-select "~2.9.1" + rc-trigger "^2.6.2" + rc-upload "~2.9.1" + rc-util "^4.16.1" + react-lazy-load "^3.0.13" + react-lifecycles-compat "^3.0.4" + react-slick "~0.25.2" + resize-observer-polyfill "^1.5.1" + shallowequal "^1.1.0" + warning "~4.0.3" + + anymatch@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + + arr-diff@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + + arr-flatten@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + + arr-union@^3.1.0: + version "3.1.0" + resolved "http://registry.m.jd.com/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + + array-equal@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + + array-filter@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/array-filter/download/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + + array-tree-filter@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/array-tree-filter/download/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA= + + array-unique@^0.3.2: + version "0.3.2" + resolved "http://registry.m.jd.com/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + + array.prototype.find@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/array.prototype.find/download/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" + integrity sha1-Yw8ur3CjnmCKw1c+Rc+MzQ7emtc= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + + array.prototype.flat@^1.2.3: + version "1.2.3" + resolved "http://registry.m.jd.com/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + + asap@~2.0.3: + version "2.0.6" + resolved "http://registry.m.jd.com/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + + asn1@~0.2.3: + version "0.2.4" + resolved "http://registry.m.jd.com/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + + assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + + assign-symbols@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + + astral-regex@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + + async-limiter@~1.0.0: + version "1.0.1" + resolved "http://registry.m.jd.com/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + + async-validator@~1.11.3: + version "1.11.5" + resolved "http://registry.m.jd.com/async-validator/download/async-validator-1.11.5.tgz#9d43cf49ef6bb76be5442388d19fb9a6e47597ea" + integrity sha1-nUPPSe9rt2vlRCOI0Z+5puR1l+o= + + asynckit@^0.4.0: + version "0.4.0" + resolved "http://registry.m.jd.com/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + + atob@^2.1.2: + version "2.1.2" + resolved "http://registry.m.jd.com/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + + aws-sign2@~0.7.0: + version "0.7.0" + resolved "http://registry.m.jd.com/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + + aws4@^1.8.0: + version "1.9.0" + resolved "http://registry.m.jd.com/aws4/download/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" + integrity sha1-JDkOatYThrCnRyZXVNKhchnehiw= + + babel-jest@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/babel-jest/download/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= + dependencies: + "@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.9.0" + chalk "^2.4.2" + slash "^2.0.0" + + babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "http://registry.m.jd.com/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + + babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= + dependencies: + "@types/babel__traverse" "^7.0.6" + + babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + + babel-runtime@6.x, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "http://registry.m.jd.com/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + + babel@^6.23.0: + version "6.23.0" + resolved "http://registry.m.jd.com/babel/download/babel-6.23.0.tgz#d0d1e7d803e974765beea3232d4e153c0efb90f4" + integrity sha1-0NHn2APpdHZb7qMjLU4VPA77kPQ= + + balanced-match@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + + base@^0.11.1: + version "0.11.2" + resolved "http://registry.m.jd.com/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + + bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "http://registry.m.jd.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + + bindings@^1.5.0: + version "1.5.0" + resolved "http://registry.m.jd.com/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + + boolbase@~1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + + brace-expansion@^1.1.7: + version "1.1.11" + resolved "http://registry.m.jd.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + + braces@^2.3.1: + version "2.3.2" + resolved "http://registry.m.jd.com/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + + browser-process-hrtime@^0.1.2: + version "0.1.3" + resolved "http://registry.m.jd.com/browser-process-hrtime/download/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha1-YW8A+u8d9+wbW/nP4r3DFw8mx7Q= + + browser-resolve@^1.11.3: + version "1.11.3" + resolved "http://registry.m.jd.com/browser-resolve/download/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= + dependencies: + resolve "1.1.7" + + bs-logger@0.x: + version "0.2.6" + resolved "http://registry.m.jd.com/bs-logger/download/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha1-6302UwenLPl0zGzadraDVK0za9g= + dependencies: + fast-json-stable-stringify "2.x" + + bser@2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= + dependencies: + node-int64 "^0.4.0" + + buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "http://registry.m.jd.com/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + + cache-base@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + + callsites@^3.0.0: + version "3.1.0" + resolved "http://registry.m.jd.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + + camelcase@^4.1.0: + version "4.1.0" + resolved "http://registry.m.jd.com/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + + camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "http://registry.m.jd.com/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + + capture-exit@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= + dependencies: + rsvp "^4.8.4" + + caseless@~0.12.0: + version "0.12.0" + resolved "http://registry.m.jd.com/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + + chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: + version "2.4.2" + resolved "http://registry.m.jd.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + + cheerio@^1.0.0-rc.3: + version "1.0.0-rc.3" + resolved "http://registry.m.jd.com/cheerio/download/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" + integrity sha1-CUY21CWy6cD065GkbAVjDJoai/Y= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.1" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash "^4.15.0" + parse5 "^3.0.1" + + ci-info@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + + class-utils@^0.3.5: + version "0.3.6" + resolved "http://registry.m.jd.com/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + + classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@~2.2.6: + version "2.2.6" + resolved "http://registry.m.jd.com/classnames/download/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= + + cliui@^5.0.0: + version "5.0.0" + resolved "http://registry.m.jd.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + + co@^4.6.0: + version "4.6.0" + resolved "http://registry.m.jd.com/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + + collection-visit@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + + color-convert@^1.9.0: + version "1.9.3" + resolved "http://registry.m.jd.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + + color-name@1.1.3: + version "1.1.3" + resolved "http://registry.m.jd.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + + combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "http://registry.m.jd.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + + commander@^2.19.0, commander@~2.20.3: + version "2.20.3" + resolved "http://registry.m.jd.com/commander/download/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + + component-classes@1.x, component-classes@^1.2.5, component-classes@^1.2.6: + version "1.2.6" + resolved "http://registry.m.jd.com/component-classes/download/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= + dependencies: + component-indexof "0.0.3" + + component-emitter@^1.2.1: + version "1.3.0" + resolved "http://registry.m.jd.com/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + + component-indexof@0.0.3: + version "0.0.3" + resolved "http://registry.m.jd.com/component-indexof/download/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= + + concat-map@0.0.1: + version "0.0.1" + resolved "http://registry.m.jd.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + + convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "http://registry.m.jd.com/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + + copy-descriptor@^0.1.0: + version "0.1.1" + resolved "http://registry.m.jd.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + + copy-to-clipboard@^3.2.0: + version "3.2.0" + resolved "http://registry.m.jd.com/copy-to-clipboard/download/copy-to-clipboard-3.2.0.tgz#d2724a3ccbfed89706fac8a894872c979ac74467" + integrity sha1-0nJKPMv+2JcG+siolIcsl5rHRGc= + dependencies: + toggle-selection "^1.0.6" + + core-js@^1.0.0: + version "1.2.7" + resolved "http://registry.m.jd.com/core-js/download/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + + core-js@^2.4.0: + version "2.6.11" + resolved "http://registry.m.jd.com/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= + + core-util-is@1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + + create-react-class@^15.5.3: + version "15.6.3" + resolved "http://registry.m.jd.com/create-react-class/download/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" + integrity sha1-LXMjf7P5cK5uvgEanmb0bbyoADY= + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + object-assign "^4.1.1" + + cross-spawn@^6.0.0: + version "6.0.5" + resolved "http://registry.m.jd.com/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + + css-animation@1.x, css-animation@^1.3.2, css-animation@^1.5.0: + version "1.6.1" + resolved "http://registry.m.jd.com/css-animation/download/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" + integrity sha1-FiBko7DVH5WLf/N7PW1N4Y4XA54= + dependencies: + babel-runtime "6.x" + component-classes "^1.2.5" + + css-select@~1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + + css-what@2.1: + version "2.1.3" + resolved "http://registry.m.jd.com/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= + + cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.8" + resolved "http://registry.m.jd.com/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= + + cssstyle@^1.0.0: + version "1.4.0" + resolved "http://registry.m.jd.com/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= + dependencies: + cssom "0.3.x" + + csstype@^2.2.0: + version "2.6.8" + resolved "http://registry.m.jd.com/csstype/download/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431" + integrity sha1-D7b8JBf/0oFqQYyTNtp01/B9tDE= + + dashdash@^1.12.0: + version "1.14.1" + resolved "http://registry.m.jd.com/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + + data-urls@^1.0.0: + version "1.1.0" + resolved "http://registry.m.jd.com/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + + debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "http://registry.m.jd.com/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + + debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "http://registry.m.jd.com/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + + decamelize@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + + decode-uri-component@^0.2.0: + version "0.2.0" + resolved "http://registry.m.jd.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + + deep-is@~0.1.3: + version "0.1.3" + resolved "http://registry.m.jd.com/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + + define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "http://registry.m.jd.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + + define-property@^0.2.5: + version "0.2.5" + resolved "http://registry.m.jd.com/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + + define-property@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + + define-property@^2.0.2: + version "2.0.2" + resolved "http://registry.m.jd.com/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + + delayed-stream@~1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + + detect-newline@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + + diff-sequences@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + + discontinuous-range@1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/discontinuous-range/download/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo= + + dom-align@^1.7.0: + version "1.10.2" + resolved "http://registry.m.jd.com/dom-align/download/dom-align-1.10.2.tgz#540ea1c9e20462bd11b9fc28c561dc8351ece4c6" + integrity sha1-VA6hyeIEYr0RufwoxWHcg1Hs5MY= + + dom-closest@^0.2.0: + version "0.2.0" + resolved "http://registry.m.jd.com/dom-closest/download/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf" + integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= + dependencies: + dom-matches ">=1.0.1" + + dom-matches@>=1.0.1: + version "2.0.0" + resolved "http://registry.m.jd.com/dom-matches/download/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c" + integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= + + dom-scroll-into-view@1.x, dom-scroll-into-view@^1.2.0, dom-scroll-into-view@^1.2.1: + version "1.2.1" + resolved "http://registry.m.jd.com/dom-scroll-into-view/download/dom-scroll-into-view-1.2.1.tgz#e8f36732dd089b0201a88d7815dc3f88e6d66c7e" + integrity sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4= + + dom-serializer@0: + version "0.2.2" + resolved "http://registry.m.jd.com/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + + dom-serializer@~0.1.1: + version "0.1.1" + resolved "http://registry.m.jd.com/dom-serializer/download/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha1-HsQFnihLq+027sKUHUqXChic58A= + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + + domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: + version "1.3.1" + resolved "http://registry.m.jd.com/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + + domelementtype@^2.0.1: + version "2.0.1" + resolved "http://registry.m.jd.com/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0= + + domexception@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= + dependencies: + webidl-conversions "^4.0.2" + + domhandler@^2.3.0: + version "2.4.2" + resolved "http://registry.m.jd.com/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + + domutils@1.5.1: + version "1.5.1" + resolved "http://registry.m.jd.com/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + + domutils@^1.5.1: + version "1.7.0" + resolved "http://registry.m.jd.com/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + + draft-js@^0.10.0, draft-js@~0.10.0: + version "0.10.5" + resolved "http://registry.m.jd.com/draft-js/download/draft-js-0.10.5.tgz#bfa9beb018fe0533dbb08d6675c371a6b08fa742" + integrity sha1-v6m+sBj+BTPbsI1mdcNxprCPp0I= + dependencies: + fbjs "^0.8.15" + immutable "~3.7.4" + object-assign "^4.1.0" + + ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "http://registry.m.jd.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + + emoji-regex@^7.0.1: + version "7.0.3" + resolved "http://registry.m.jd.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + + encoding@^0.1.11: + version "0.1.12" + resolved "http://registry.m.jd.com/encoding/download/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + + end-of-stream@^1.1.0: + version "1.4.4" + resolved "http://registry.m.jd.com/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + + enquire.js@^2.1.6: + version "2.1.6" + resolved "http://registry.m.jd.com/enquire.js/download/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" + integrity sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ= + + entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "http://registry.m.jd.com/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + + entities@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/entities/download/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q= + + enzyme-adapter-react-16@^1.15.2: + version "1.15.2" + resolved "http://registry.m.jd.com/enzyme-adapter-react-16/download/enzyme-adapter-react-16-1.15.2.tgz#b16db2f0ea424d58a808f9df86ab6212895a4501" + integrity sha1-sW2y8OpCTVioCPnfhqtiEolaRQE= + dependencies: + enzyme-adapter-utils "^1.13.0" + enzyme-shallow-equal "^1.0.1" + has "^1.0.3" + object.assign "^4.1.0" + object.values "^1.1.1" + prop-types "^15.7.2" + react-is "^16.12.0" + react-test-renderer "^16.0.0-0" + semver "^5.7.0" + + enzyme-adapter-utils@^1.13.0: + version "1.13.0" + resolved "http://registry.m.jd.com/enzyme-adapter-utils/download/enzyme-adapter-utils-1.13.0.tgz#01c885dde2114b4690bf741f8dc94cee3060eb78" + integrity sha1-AciF3eIRS0aQv3QfjclM7jBg63g= + dependencies: + airbnb-prop-types "^2.15.0" + function.prototype.name "^1.1.2" + object.assign "^4.1.0" + object.fromentries "^2.0.2" + prop-types "^15.7.2" + semver "^5.7.1" + + enzyme-shallow-equal@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/enzyme-shallow-equal/download/enzyme-shallow-equal-1.0.1.tgz#7afe03db3801c9b76de8440694096412a8d9d49e" + integrity sha1-ev4D2zgBybdt6EQGlAlkEqjZ1J4= + dependencies: + has "^1.0.3" + object-is "^1.0.2" + + enzyme@^3.11.0: + version "3.11.0" + resolved "http://registry.m.jd.com/enzyme/download/enzyme-3.11.0.tgz#71d680c580fe9349f6f5ac6c775bc3e6b7a79c28" + integrity sha1-cdaAxYD+k0n29axsd1vD5rennCg= + dependencies: + array.prototype.flat "^1.2.3" + cheerio "^1.0.0-rc.3" + enzyme-shallow-equal "^1.0.1" + function.prototype.name "^1.1.2" + has "^1.0.3" + html-element-map "^1.2.0" + is-boolean-object "^1.0.1" + is-callable "^1.1.5" + is-number-object "^1.0.4" + is-regex "^1.0.5" + is-string "^1.0.5" + is-subset "^0.1.1" + lodash.escape "^4.0.1" + lodash.isequal "^4.5.0" + object-inspect "^1.7.0" + object-is "^1.0.2" + object.assign "^4.1.0" + object.entries "^1.1.1" + object.values "^1.1.1" + raf "^3.4.1" + rst-selector-parser "^2.2.3" + string.prototype.trim "^1.2.1" + + error-ex@^1.3.1: + version "1.3.2" + resolved "http://registry.m.jd.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + + es-abstract@^1.13.0, es-abstract@^1.17.0-next.1: + version "1.17.0" + resolved "http://registry.m.jd.com/es-abstract/download/es-abstract-1.17.0.tgz#f42a517d0036a5591dbb2c463591dc8bb50309b1" + integrity sha1-9CpRfQA2pVkduyxGNZHci7UDCbE= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + + es-to-primitive@^1.2.1: + version "1.2.1" + resolved "http://registry.m.jd.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + + escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "http://registry.m.jd.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + + escodegen@^1.9.1: + version "1.12.1" + resolved "http://registry.m.jd.com/escodegen/download/escodegen-1.12.1.tgz#08770602a74ac34c7a90ca9229e7d51e379abc76" + integrity sha1-CHcGAqdKw0x6kMqSKefVHjeavHY= + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + + esprima@^3.1.3: + version "3.1.3" + resolved "http://registry.m.jd.com/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + + estraverse@^4.2.0: + version "4.3.0" + resolved "http://registry.m.jd.com/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + + esutils@^2.0.0, esutils@^2.0.2: + version "2.0.3" + resolved "http://registry.m.jd.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + + eventlistener@0.0.1: + version "0.0.1" + resolved "http://registry.m.jd.com/eventlistener/download/eventlistener-0.0.1.tgz#ed2baabb852227af2bcf889152c72c63ca532eb8" + integrity sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg= + + exec-sh@^0.3.2: + version "0.3.4" + resolved "http://registry.m.jd.com/exec-sh/download/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha1-OgGM61JsxvbfK7UEsr/o46STTsU= + + execa@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/execa/download/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + + exit@^0.1.2: + version "0.1.2" + resolved "http://registry.m.jd.com/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + + expand-brackets@^2.1.4: + version "2.1.4" + resolved "http://registry.m.jd.com/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + + expect@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/expect/download/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.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" + + extend-shallow@^2.0.1: + version "2.0.1" + resolved "http://registry.m.jd.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + + extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "http://registry.m.jd.com/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + + extend@~3.0.2: + version "3.0.2" + resolved "http://registry.m.jd.com/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + + extglob@^2.0.4: + version "2.0.4" + resolved "http://registry.m.jd.com/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + + extsprintf@1.3.0: + version "1.3.0" + resolved "http://registry.m.jd.com/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + + extsprintf@^1.2.0: + version "1.4.0" + resolved "http://registry.m.jd.com/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + + fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "http://registry.m.jd.com/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "http://registry.m.jd.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + + fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "http://registry.m.jd.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + + fb-watchman@^2.0.0: + version "2.0.1" + resolved "http://registry.m.jd.com/fb-watchman/download/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= + dependencies: + bser "2.1.1" + + fbjs@^0.8.15, fbjs@^0.8.16, fbjs@^0.8.9: + version "0.8.17" + resolved "http://registry.m.jd.com/fbjs/download/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + + file-uri-to-path@1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + + fill-range@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + + find-up@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + + for-in@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + + forever-agent@~0.6.1: + version "0.6.1" + resolved "http://registry.m.jd.com/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + + form-data@~2.3.2: + version "2.3.3" + resolved "http://registry.m.jd.com/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + + fragment-cache@^0.2.1: + version "0.2.1" + resolved "http://registry.m.jd.com/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + + fs.realpath@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + + fsevents@^1.2.7: + version "1.2.11" + resolved "http://registry.m.jd.com/fsevents/download/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3" + integrity sha1-Z79X9HWPAu3oj7KhcS/vTRU1i+M= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + + function-bind@^1.1.1: + version "1.1.1" + resolved "http://registry.m.jd.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + + function.prototype.name@^1.1.1, function.prototype.name@^1.1.2: + version "1.1.2" + resolved "http://registry.m.jd.com/function.prototype.name/download/function.prototype.name-1.1.2.tgz#5cdf79d7c05db401591dfde83e3b70c5123e9a45" + integrity sha1-XN9518BdtAFZHf3oPjtwxRI+mkU= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + functions-have-names "^1.2.0" + + functions-have-names@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/functions-have-names/download/functions-have-names-1.2.0.tgz#83da7583e4ea0c9ac5ff530f73394b033e0bf77d" + integrity sha1-g9p1g+TqDJrF/1MPczlLAz4L930= + + get-caller-file@^2.0.1: + version "2.0.5" + resolved "http://registry.m.jd.com/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + + get-stream@^4.0.0: + version "4.1.0" + resolved "http://registry.m.jd.com/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + + get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "http://registry.m.jd.com/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + + getpass@^0.1.1: + version "0.1.7" + resolved "http://registry.m.jd.com/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + + glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: + version "7.1.6" + resolved "http://registry.m.jd.com/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + + globals@^11.1.0: + version "11.12.0" + resolved "http://registry.m.jd.com/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: + version "4.2.3" + resolved "http://registry.m.jd.com/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM= + + growly@^1.3.0: + version "1.3.0" + resolved "http://registry.m.jd.com/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + + gud@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/gud/download/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha1-pIlYGxfmpwvsqavjrlfeekmYUsA= + + hammerjs@^2.0.8: + version "2.0.8" + resolved "http://registry.m.jd.com/hammerjs/download/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= + + handlebars@^4.1.2: + version "4.5.3" + resolved "http://registry.m.jd.com/handlebars/download/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" + integrity sha1-XPdb2HFPdgVxNRGla+fDSb7LBII= + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + + har-schema@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + + har-validator@~5.1.0: + version "5.1.3" + resolved "http://registry.m.jd.com/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + + has-flag@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + + has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + + has-value@^0.3.1: + version "0.3.1" + resolved "http://registry.m.jd.com/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + + has-value@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + + has-values@^0.1.4: + version "0.1.4" + resolved "http://registry.m.jd.com/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + + has-values@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + + has@^1.0.3: + version "1.0.3" + resolved "http://registry.m.jd.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + + hoist-non-react-statics@^2.3.1: + version "2.5.5" + resolved "http://registry.m.jd.com/hoist-non-react-statics/download/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" + integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= + + hoist-non-react-statics@^3.3.0: + version "3.3.1" + resolved "http://registry.m.jd.com/hoist-non-react-statics/download/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f" + integrity sha1-EBaF06/zsj6iExY/bo4S9PER4Z8= + dependencies: + react-is "^16.7.0" + + hosted-git-info@^2.1.4: + version "2.8.5" + resolved "http://registry.m.jd.com/hosted-git-info/download/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha1-dZz88sTRVq3lmwst+r3cQqa5xww= + + html-element-map@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/html-element-map/download/html-element-map-1.2.0.tgz#dfbb09efe882806af63d990cf6db37993f099f22" + integrity sha1-37sJ7+iCgGr2PZkM9ts3mT8JnyI= + dependencies: + array-filter "^1.0.0" + + html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= + dependencies: + whatwg-encoding "^1.0.1" + + htmlparser2@^3.9.1: + version "3.10.1" + resolved "http://registry.m.jd.com/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + + http-signature@~1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + + iconv-lite@0.4.24, iconv-lite@~0.4.13: + version "0.4.24" + resolved "http://registry.m.jd.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + + immutable@^3.7.4: + version "3.8.2" + resolved "http://registry.m.jd.com/immutable/download/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + + immutable@~3.7.4: + version "3.7.6" + resolved "http://registry.m.jd.com/immutable/download/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= + + import-local@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + + imurmurhash@^0.1.4: + version "0.1.4" + resolved "http://registry.m.jd.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + + inflight@^1.0.4: + version "1.0.6" + resolved "http://registry.m.jd.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + + inherits@2, inherits@^2.0.1, inherits@^2.0.3: + version "2.0.4" + resolved "http://registry.m.jd.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + + invariant@^2.2.4: + version "2.2.4" + resolved "http://registry.m.jd.com/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + + is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "http://registry.m.jd.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + + is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + + is-arrayish@^0.2.1: + version "0.2.1" + resolved "http://registry.m.jd.com/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + + is-boolean-object@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/is-boolean-object/download/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" + integrity sha1-EO3AkA3RJ2l6kvb5gHx2F9aKxI4= + + is-buffer@^1.1.5: + version "1.1.6" + resolved "http://registry.m.jd.com/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + + is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "http://registry.m.jd.com/is-callable/download/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs= + + is-ci@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= + dependencies: + ci-info "^2.0.0" + + is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "http://registry.m.jd.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + + is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + + is-date-object@^1.0.1: + version "1.0.2" + resolved "http://registry.m.jd.com/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + + is-descriptor@^0.1.0: + version "0.1.6" + resolved "http://registry.m.jd.com/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + + is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + + is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "http://registry.m.jd.com/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + + is-extendable@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + + is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + + is-generator-fn@^2.0.0: + version "2.1.0" + resolved "http://registry.m.jd.com/is-generator-fn/download/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= + + is-mobile@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/is-mobile/download/is-mobile-2.1.0.tgz#4c0cab72f3358dd9986007389b30729fae80da0b" + integrity sha1-TAyrcvM1jdmYYAc4mzByn66A2gs= + + is-number-object@^1.0.4: + version "1.0.4" + resolved "http://registry.m.jd.com/is-number-object/download/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha1-NqyV50HPGLKD/B3fXoPaeY4+wZc= + + is-number@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + + is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "http://registry.m.jd.com/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + + is-regex@^1.0.4, is-regex@^1.0.5: + version "1.0.5" + resolved "http://registry.m.jd.com/is-regex/download/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4= + dependencies: + has "^1.0.3" + + is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + + is-string@^1.0.5: + version "1.0.5" + resolved "http://registry.m.jd.com/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + + is-subset@^0.1.1: + version "0.1.1" + resolved "http://registry.m.jd.com/is-subset/download/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= + + is-symbol@^1.0.2: + version "1.0.3" + resolved "http://registry.m.jd.com/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + + is-typedarray@~1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + + is-windows@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + + is-wsl@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + + isarray@1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + + isexe@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + + isobject@^2.0.0: + version "2.1.0" + resolved "http://registry.m.jd.com/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + + isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "http://registry.m.jd.com/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + + isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "http://registry.m.jd.com/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + + isstream@~0.1.2: + version "0.1.2" + resolved "http://registry.m.jd.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + + istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "http://registry.m.jd.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= + + istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "http://registry.m.jd.com/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + + istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "http://registry.m.jd.com/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + + istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "http://registry.m.jd.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + + istanbul-reports@^2.2.6: + version "2.2.6" + resolved "http://registry.m.jd.com/istanbul-reports/download/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha1-e08mYNgrKTA6j+YJH4ykvwWNoa8= + dependencies: + handlebars "^4.1.2" + + jest-changed-files@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-changed-files/download/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + + jest-cli@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-cli/download/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= + dependencies: + "@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.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + + jest-config@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-config/download/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= + dependencies: + "@babel/core" "^7.1.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.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.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + + jest-diff@^24.3.0, jest-diff@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-diff/download/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + + jest-docblock@^24.3.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= + dependencies: + detect-newline "^2.1.0" + + jest-each@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-each/download/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + + jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= + dependencies: + "@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-node@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-environment-node/download/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= + dependencies: + "@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-get-type@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + + jest-haste-map@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + 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" + optionalDependencies: + fsevents "^1.2.7" + + jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= + dependencies: + "@babel/traverse" "^7.1.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.9.0" + is-generator-fn "^2.0.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@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + + jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + + jest-message-util@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-message-util/download/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= + dependencies: + "@babel/code-frame" "^7.0.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" + slash "^2.0.0" + stack-utils "^1.0.1" + + jest-mock@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= + dependencies: + "@jest/types" "^24.9.0" + + jest-pnp-resolver@^1.2.1: + version "1.2.1" + resolved "http://registry.m.jd.com/jest-pnp-resolver/download/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha1-7NrmBMB3p/vHDe+21RfDwciYkjo= + + jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= + + jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + + jest-resolve@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + + jest-runner@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-runner/download/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= + dependencies: + "@jest/console" "^24.7.1" + "@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.9.0" + jest-docblock "^24.3.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@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-runtime/download/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@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.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.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 "^13.3.0" + + jest-serializer@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= + + jest-snapshot@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-snapshot/download/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + 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.9.0" + semver "^6.2.0" + + jest-util@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= + dependencies: + "@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" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + + jest-validate@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-validate/download/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + + jest-watcher@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-watcher/download/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= + dependencies: + "@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.9.0" + string-length "^2.0.0" + + jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest-worker/download/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + + jest@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/jest/download/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE= + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + + jsbn@~0.1.0: + version "0.1.1" + resolved "http://registry.m.jd.com/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + + jsdom@^11.5.1: + version "11.12.0" + resolved "http://registry.m.jd.com/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + + jsesc@^2.5.1: + version "2.5.2" + resolved "http://registry.m.jd.com/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + + json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "http://registry.m.jd.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + + json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "http://registry.m.jd.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + + json-schema@0.2.3: + version "0.2.3" + resolved "http://registry.m.jd.com/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + + json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "http://registry.m.jd.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + + json2mq@^0.2.0: + version "0.2.0" + resolved "http://registry.m.jd.com/json2mq/download/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= + dependencies: + string-convert "^0.2.0" + + json5@2.x, json5@^2.1.0: + version "2.1.1" + resolved "http://registry.m.jd.com/json5/download/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha1-gbbLBOm6SW8ccAXQe0NoomOPkLY= + dependencies: + minimist "^1.2.0" + + jsprim@^1.2.2: + version "1.4.1" + resolved "http://registry.m.jd.com/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "http://registry.m.jd.com/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + + kind-of@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + + kind-of@^5.0.0: + version "5.1.0" + resolved "http://registry.m.jd.com/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + + kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "http://registry.m.jd.com/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= + + kleur@^3.0.3: + version "3.0.3" + resolved "http://registry.m.jd.com/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + + left-pad@^1.3.0: + version "1.3.0" + resolved "http://registry.m.jd.com/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= + + leven@^3.1.0: + version "3.1.0" + resolved "http://registry.m.jd.com/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + + levn@~0.3.0: + version "0.3.0" + resolved "http://registry.m.jd.com/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + + load-json-file@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/load-json-file/download/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + + locate-path@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + + lodash.debounce@^4.0.0, lodash.debounce@^4.0.8: + version "4.0.8" + resolved "http://registry.m.jd.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + + lodash.escape@^4.0.1: + version "4.0.1" + resolved "http://registry.m.jd.com/lodash.escape/download/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" + integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= + + lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "http://registry.m.jd.com/lodash.flattendeep/download/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + + lodash.isequal@^4.5.0: + version "4.5.0" + resolved "http://registry.m.jd.com/lodash.isequal/download/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + + lodash.memoize@4.x: + version "4.1.2" + resolved "http://registry.m.jd.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + + lodash.sortby@^4.7.0: + version "4.7.0" + resolved "http://registry.m.jd.com/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + + lodash.throttle@^4.0.0: + version "4.1.1" + resolved "http://registry.m.jd.com/lodash.throttle/download/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + + lodash@^4.15.0, lodash@^4.16.5, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5: + version "4.17.15" + resolved "http://registry.m.jd.com/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= + + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "http://registry.m.jd.com/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + + make-dir@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + + make-error@1.x: + version "1.3.5" + resolved "http://registry.m.jd.com/make-error/download/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha1-7+ToH22yjK3WBccPKcgxtY73dsg= + + makeerror@1.0.x: + version "1.0.11" + resolved "http://registry.m.jd.com/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + + map-cache@^0.2.2: + version "0.2.2" + resolved "http://registry.m.jd.com/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + + map-visit@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + + merge-stream@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + + micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "http://registry.m.jd.com/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + + mime-db@1.43.0: + version "1.43.0" + resolved "http://registry.m.jd.com/mime-db/download/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg= + + mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.26" + resolved "http://registry.m.jd.com/mime-types/download/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha1-nJIfwJt+FJpl39wNpNIJlyALCgY= + dependencies: + mime-db "1.43.0" + + mini-store@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/mini-store/download/mini-store-2.0.0.tgz#0843c048d6942ce55e3e78b1b67fc063022b5488" + integrity sha1-CEPASNaULOVePnixtn/AYwIrVIg= + dependencies: + hoist-non-react-statics "^2.3.1" + prop-types "^15.6.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.0.2" + + minimatch@^3.0.4: + version "3.0.4" + resolved "http://registry.m.jd.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + + minimist@0.0.8: + version "0.0.8" + resolved "http://registry.m.jd.com/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + + minimist@^1.1.1, minimist@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + + minimist@~0.0.1: + version "0.0.10" + resolved "http://registry.m.jd.com/minimist/download/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + + mixin-deep@^1.2.0: + version "1.3.2" + resolved "http://registry.m.jd.com/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + + mkdirp@0.x, mkdirp@^0.5.1: + version "0.5.1" + resolved "http://registry.m.jd.com/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + + mobx-react-lite@^1.4.2: + version "1.5.2" + resolved "http://registry.m.jd.com/mobx-react-lite/download/mobx-react-lite-1.5.2.tgz#c4395b0568b9cb16f07669d8869cc4efa1b8656d" + integrity sha1-xDlbBWi5yxbwdmnYhpzE76G4ZW0= + + mobx-react@^6.1.4: + version "6.1.4" + resolved "http://registry.m.jd.com/mobx-react/download/mobx-react-6.1.4.tgz#818e7991c321c05bd9b8156d94be17dad165501e" + integrity sha1-gY55kcMhwFvZuBVtlL4X2tFlUB4= + dependencies: + mobx-react-lite "^1.4.2" + + mobx@^5.15.1: + version "5.15.1" + resolved "http://registry.m.jd.com/mobx/download/mobx-5.15.1.tgz#ba07807808b3f9dc3e6b0a74ba69bcccc6df4ece" + integrity sha1-ugeAeAiz+dw+awp0umm8zMbfTs4= + + moment@2.x, moment@^2.24.0: + version "2.24.0" + resolved "http://registry.m.jd.com/moment/download/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" + integrity sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s= + + moo@^0.4.3: + version "0.4.3" + resolved "http://registry.m.jd.com/moo/download/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" + integrity sha1-P4R6JvMc9iWpVqh/KxD7wBO/0Q4= + + ms@2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + + ms@^2.1.1: + version "2.1.2" + resolved "http://registry.m.jd.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + + mutationobserver-shim@^0.3.2: + version "0.3.3" + resolved "http://registry.m.jd.com/mutationobserver-shim/download/mutationobserver-shim-0.3.3.tgz#65869630bc89d7bf8c9cd9cb82188cd955aacd2b" + integrity sha1-ZYaWMLyJ17+MnNnLghiM2VWqzSs= + + nan@^2.12.1: + version "2.14.0" + resolved "http://registry.m.jd.com/nan/download/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw= + + nanomatch@^1.2.9: + version "1.2.13" + resolved "http://registry.m.jd.com/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + + natural-compare@^1.4.0: + version "1.4.0" + resolved "http://registry.m.jd.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + + nearley@^2.7.10: + version "2.19.0" + resolved "http://registry.m.jd.com/nearley/download/nearley-2.19.0.tgz#37717781d0fd0f2bfc95e233ebd75678ca4bda46" + integrity sha1-N3F3gdD9Dyv8leIz69dWeMpL2kY= + dependencies: + commander "^2.19.0" + moo "^0.4.3" + railroad-diagrams "^1.0.0" + randexp "0.4.6" + semver "^5.4.1" + + neo-async@^2.6.0: + version "2.6.1" + resolved "http://registry.m.jd.com/neo-async/download/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw= + + nice-try@^1.0.4: + version "1.0.5" + resolved "http://registry.m.jd.com/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + + node-fetch@^1.0.1: + version "1.7.3" + resolved "http://registry.m.jd.com/node-fetch/download/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + + node-int64@^0.4.0: + version "0.4.0" + resolved "http://registry.m.jd.com/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + + node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + + node-notifier@^5.4.2: + version "5.4.3" + resolved "http://registry.m.jd.com/node-notifier/download/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha1-y3La+UyTkECY4oucWQ/YZuRkvVA= + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + + normalize-package-data@^2.3.2: + version "2.5.0" + resolved "http://registry.m.jd.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + + normalize-path@^2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + + npm-run-path@^2.0.0: + version "2.0.2" + resolved "http://registry.m.jd.com/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + + nth-check@~1.0.1: + version "1.0.2" + resolved "http://registry.m.jd.com/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + + nwsapi@^2.0.7: + version "2.2.0" + resolved "http://registry.m.jd.com/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= + + oauth-sign@~0.9.0: + version "0.9.0" + resolved "http://registry.m.jd.com/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + + object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "http://registry.m.jd.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + + object-copy@^0.1.0: + version "0.1.0" + resolved "http://registry.m.jd.com/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + + object-inspect@^1.7.0: + version "1.7.0" + resolved "http://registry.m.jd.com/object-inspect/download/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc= + + object-is@^1.0.1, object-is@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/object-is/download/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" + integrity sha1-a4DrhP5FFJj2UAeYLwNaW0Re3sQ= + + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "http://registry.m.jd.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + + object-visit@^1.0.0: + version "1.0.1" + resolved "http://registry.m.jd.com/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + + object.assign@^4.1.0: + version "4.1.0" + resolved "http://registry.m.jd.com/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + + object.entries@^1.1.0, object.entries@^1.1.1: + version "1.1.1" + resolved "http://registry.m.jd.com/object.entries/download/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" + integrity sha1-7hzwQVPeArsJP+wzaDkA9XzlOZs= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + + object.fromentries@^2.0.2: + version "2.0.2" + resolved "http://registry.m.jd.com/object.fromentries/download/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha1-SgnJubs4Q90PiazbUXp5TU81Wsk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + + object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "http://registry.m.jd.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + + object.pick@^1.3.0: + version "1.3.0" + resolved "http://registry.m.jd.com/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + + object.values@^1.1.1: + version "1.1.1" + resolved "http://registry.m.jd.com/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + + omit.js@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/omit.js/download/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858" + integrity sha1-kaFPDrqEBm36AVvzDkdMR/MLyFg= + dependencies: + babel-runtime "^6.23.0" + + once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "http://registry.m.jd.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + + optimist@^0.6.1: + version "0.6.1" + resolved "http://registry.m.jd.com/optimist/download/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + + optionator@^0.8.1: + version "0.8.3" + resolved "http://registry.m.jd.com/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + + p-each-series@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + + p-finally@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + + p-limit@^2.0.0: + version "2.2.2" + resolved "http://registry.m.jd.com/p-limit/download/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4= + dependencies: + p-try "^2.0.0" + + p-locate@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + + p-reduce@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + + p-try@^2.0.0: + version "2.2.0" + resolved "http://registry.m.jd.com/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + + parse-json@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + + parse5@4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= + + parse5@^3.0.1: + version "3.0.3" + resolved "http://registry.m.jd.com/parse5/download/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + integrity sha1-BC95L/3TaFFVHPTp4Gazh0q0W1w= + dependencies: + "@types/node" "*" + + pascalcase@^0.1.1: + version "0.1.1" + resolved "http://registry.m.jd.com/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + + path-exists@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + + path-is-absolute@^1.0.0: + version "1.0.1" + resolved "http://registry.m.jd.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + + path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "http://registry.m.jd.com/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + + path-parse@^1.0.6: + version "1.0.6" + resolved "http://registry.m.jd.com/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + + path-type@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + + performance-now@^2.1.0: + version "2.1.0" + resolved "http://registry.m.jd.com/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + + pify@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + + pify@^4.0.1: + version "4.0.1" + resolved "http://registry.m.jd.com/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + + pirates@^4.0.1: + version "4.0.1" + resolved "http://registry.m.jd.com/pirates/download/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= + dependencies: + node-modules-regexp "^1.0.0" + + pkg-dir@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + + pn@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= + + posix-character-classes@^0.1.0: + version "0.1.1" + resolved "http://registry.m.jd.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + + prelude-ls@~1.1.2: + version "1.1.2" + resolved "http://registry.m.jd.com/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + + pretty-format@^24.9.0: + version "24.9.0" + resolved "http://registry.m.jd.com/pretty-format/download/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + + promise@^7.1.1: + version "7.3.1" + resolved "http://registry.m.jd.com/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= + dependencies: + asap "~2.0.3" + + prompts@^2.0.1: + version "2.3.0" + resolved "http://registry.m.jd.com/prompts/download/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" + integrity sha1-pETpaPpMx+hmiadAUGhayABsTMQ= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.3" + + prop-types-exact@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/prop-types-exact/download/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869" + integrity sha1-gl1r5GCUZjhII345JamMbpROmGk= + dependencies: + has "^1.0.3" + object.assign "^4.1.0" + reflect.ownkeys "^0.2.0" + + prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "http://registry.m.jd.com/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + + psl@^1.1.24, psl@^1.1.28: + version "1.7.0" + resolved "http://registry.m.jd.com/psl/download/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha1-8cTEeo75cWfepda79IFtc26ISjw= + + pump@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + + punycode@^1.4.1: + version "1.4.1" + resolved "http://registry.m.jd.com/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + + punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + + qs@~6.5.2: + version "6.5.2" + resolved "http://registry.m.jd.com/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + + raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "http://registry.m.jd.com/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= + dependencies: + performance-now "^2.1.0" + + railroad-diagrams@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/railroad-diagrams/download/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234= + + randexp@0.4.6: + version "0.4.6" + resolved "http://registry.m.jd.com/randexp/download/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" + integrity sha1-6YatXl4x2uE93W97MBmqfIf2DKM= + dependencies: + discontinuous-range "1.0.0" + ret "~0.1.10" + + rc-align@^2.4.0, rc-align@^2.4.1: + version "2.4.5" + resolved "http://registry.m.jd.com/rc-align/download/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" + integrity sha1-yUGlhvWdEBfyOkKPC0aGY/txAqs= + dependencies: + babel-runtime "^6.26.0" + dom-align "^1.7.0" + prop-types "^15.5.8" + rc-util "^4.0.4" + + rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.3.0, rc-animate@^2.6.0, rc-animate@^2.8.2: + version "2.10.2" + resolved "http://registry.m.jd.com/rc-animate/download/rc-animate-2.10.2.tgz#217fdc76ff26cbf425a5caf87cc8a36ba4598456" + integrity sha1-IX/cdv8my/Qlpcr4fMija6RZhFY= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + css-animation "^1.3.2" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.15.3" + react-lifecycles-compat "^3.0.4" + + rc-animate@^3.0.0-rc.1: + version "3.0.0-rc.6" + resolved "http://registry.m.jd.com/rc-animate/download/rc-animate-3.0.0-rc.6.tgz#04288eefa118e0cae214536c8a903ffaac1bc3fb" + integrity sha1-BCiO76EY4MriFFNsipA/+qwbw/s= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + component-classes "^1.2.6" + fbjs "^0.8.16" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.5.0" + react-lifecycles-compat "^3.0.4" + + rc-calendar@~9.15.7: + version "9.15.9" + resolved "http://registry.m.jd.com/rc-calendar/download/rc-calendar-9.15.9.tgz#7a3457ee10f27b9972a755fe6415ef352f01a97a" + integrity sha1-ejRX7hDye5lyp1X+ZBXvNS8BqXo= + dependencies: + babel-runtime "6.x" + classnames "2.x" + moment "2.x" + prop-types "^15.5.8" + rc-trigger "^2.2.0" + rc-util "^4.1.1" + react-lifecycles-compat "^3.0.4" + + rc-cascader@~0.17.4: + version "0.17.5" + resolved "http://registry.m.jd.com/rc-cascader/download/rc-cascader-0.17.5.tgz#4fde91d23b7608c420263c38eee9c0687f80f7dc" + integrity sha1-T96R0jt2CMQgJjw47unAaH+A99w= + dependencies: + array-tree-filter "^2.1.0" + prop-types "^15.5.8" + rc-trigger "^2.2.0" + rc-util "^4.0.4" + react-lifecycles-compat "^3.0.4" + shallow-equal "^1.0.0" + warning "^4.0.1" + + rc-checkbox@~2.1.6: + version "2.1.8" + resolved "http://registry.m.jd.com/rc-checkbox/download/rc-checkbox-2.1.8.tgz#eedd9ef9c2f3af5b3b8e5cde5254aa89ad1a880a" + integrity sha1-7t2e+cLzr1s7jlzeUlSqia0aiAo= + dependencies: + babel-runtime "^6.23.0" + classnames "2.x" + prop-types "15.x" + react-lifecycles-compat "^3.0.4" + + rc-collapse@~1.11.3: + version "1.11.8" + resolved "http://registry.m.jd.com/rc-collapse/download/rc-collapse-1.11.8.tgz#66a40089d469519e9424009ab1c927e214041d80" + integrity sha1-ZqQAidRpUZ6UJACasckn4hQEHYA= + dependencies: + classnames "2.x" + css-animation "1.x" + prop-types "^15.5.6" + rc-animate "2.x" + react-is "^16.7.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + + rc-dialog@~7.6.0: + version "7.6.0" + resolved "http://registry.m.jd.com/rc-dialog/download/rc-dialog-7.6.0.tgz#6467b75f5b60038129bf2e1b003b264281949c09" + integrity sha1-ZGe3X1tgA4Epvy4bADsmQoGUnAk= + dependencies: + babel-runtime "6.x" + rc-animate "2.x" + rc-util "^4.16.1" + + rc-drawer@~3.1.1: + version "3.1.1" + resolved "http://registry.m.jd.com/rc-drawer/download/rc-drawer-3.1.1.tgz#25389488f3516b2af1f053eaf2574e3135ea265a" + integrity sha1-JTiUiPNRayrx8FPq8ldOMTXqJlo= + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.6" + rc-util "^4.16.1" + react-lifecycles-compat "^3.0.4" + + rc-dropdown@~2.4.1: + version "2.4.1" + resolved "http://registry.m.jd.com/rc-dropdown/download/rc-dropdown-2.4.1.tgz#aaef6eb3a5152cdd9982895c2a78d9b5f046cdec" + integrity sha1-qu9us6UVLN2ZgolcKnjZtfBGzew= + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.6" + prop-types "^15.5.8" + rc-trigger "^2.5.1" + react-lifecycles-compat "^3.0.2" + + rc-editor-core@~0.8.3: + version "0.8.10" + resolved "http://registry.m.jd.com/rc-editor-core/download/rc-editor-core-0.8.10.tgz#6f215bc5df9c33ffa9f6c5b30ca73a7dabe8ab7c" + integrity sha1-byFbxd+cM/+p9sWzDKc6favoq3w= + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.5" + draft-js "^0.10.0" + immutable "^3.7.4" + lodash "^4.16.5" + prop-types "^15.5.8" + setimmediate "^1.0.5" + + rc-editor-mention@^1.1.13: + version "1.1.13" + resolved "http://registry.m.jd.com/rc-editor-mention/download/rc-editor-mention-1.1.13.tgz#9f1cab1065f86b01523840321790c2ab12ac5e8b" + integrity sha1-nxyrEGX4awFSOEAyF5DCqxKsXos= + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.5" + dom-scroll-into-view "^1.2.0" + draft-js "~0.10.0" + immutable "~3.7.4" + prop-types "^15.5.8" + rc-animate "^2.3.0" + rc-editor-core "~0.8.3" + + rc-form@^2.4.10: + version "2.4.11" + resolved "http://registry.m.jd.com/rc-form/download/rc-form-2.4.11.tgz#61ee3ae579259684ae30f2c48f55f0f23a5d3d08" + integrity sha1-Ye465XklloSuMPLEj1Xw8jpdPQg= + dependencies: + async-validator "~1.11.3" + babel-runtime "6.x" + create-react-class "^15.5.3" + dom-scroll-into-view "1.x" + hoist-non-react-statics "^3.3.0" + lodash "^4.17.4" + rc-util "^4.15.3" + warning "^4.0.3" + + rc-hammerjs@~0.6.0: + version "0.6.9" + resolved "http://registry.m.jd.com/rc-hammerjs/download/rc-hammerjs-0.6.9.tgz#9a4ddbda1b2ec8f9b9596091a6a989842a243907" + integrity sha1-mk3b2hsuyPm5WWCRpqmJhCokOQc= + dependencies: + babel-runtime "6.x" + hammerjs "^2.0.8" + prop-types "^15.5.9" + + rc-input-number@~4.5.0: + version "4.5.3" + resolved "http://registry.m.jd.com/rc-input-number/download/rc-input-number-4.5.3.tgz#ed497c727658e870d3f2a5e5a750d1ee71089f43" + integrity sha1-7Ul8cnZY6HDT8qXlp1DR7nEIn0M= + dependencies: + babel-runtime "6.x" + classnames "^2.2.0" + prop-types "^15.5.7" + rc-util "^4.5.1" + rmc-feedback "^2.0.0" + + rc-mentions@~0.4.0: + version "0.4.2" + resolved "http://registry.m.jd.com/rc-mentions/download/rc-mentions-0.4.2.tgz#c18ab701efb9e4b75b3851a0c0d2dd698640e246" + integrity sha1-wYq3Ae+55LdbOFGgwNLdaYZA4kY= + dependencies: + "@ant-design/create-react-context" "^0.2.4" + classnames "^2.2.6" + rc-menu "^7.4.22" + rc-trigger "^2.6.2" + rc-util "^4.6.0" + react-lifecycles-compat "^3.0.4" + + rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.5.1: + version "7.5.3" + resolved "http://registry.m.jd.com/rc-menu/download/rc-menu-7.5.3.tgz#0bdb71ef1f0b4608a25eb9848fa9f673f5353579" + integrity sha1-C9tx7x8LRgiiXrmEj6n2c/U1NXk= + dependencies: + classnames "2.x" + dom-scroll-into-view "1.x" + mini-store "^2.0.0" + mutationobserver-shim "^0.3.2" + rc-animate "^2.10.1" + rc-trigger "^2.3.0" + rc-util "^4.13.0" + resize-observer-polyfill "^1.5.0" + shallowequal "^1.1.0" + + rc-notification@~3.3.1: + version "3.3.1" + resolved "http://registry.m.jd.com/rc-notification/download/rc-notification-3.3.1.tgz#0baa3e70f8d40ab015ce8fa78c260c490fc7beb4" + integrity sha1-C6o+cPjUCrAVzo+njCYMSQ/HvrQ= + dependencies: + babel-runtime "6.x" + classnames "2.x" + prop-types "^15.5.8" + rc-animate "2.x" + rc-util "^4.0.4" + + rc-pagination@~1.20.11: + version "1.20.12" + resolved "http://registry.m.jd.com/rc-pagination/download/rc-pagination-1.20.12.tgz#1ac7928f7a9d303d22e324c0c9a6e691756cf40c" + integrity sha1-GseSj3qdMD0i4yTAyabmkXVs9Aw= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "^15.5.7" + react-lifecycles-compat "^3.0.4" + + rc-progress@~2.5.0: + version "2.5.2" + resolved "http://registry.m.jd.com/rc-progress/download/rc-progress-2.5.2.tgz#ab01ba4e5d2fa36fc9f6f058b10b720e7315560c" + integrity sha1-qwG6Tl0vo2/J9vBYsQtyDnMVVgw= + dependencies: + babel-runtime "6.x" + prop-types "^15.5.8" + + rc-rate@~2.5.0: + version "2.5.0" + resolved "http://registry.m.jd.com/rc-rate/download/rc-rate-2.5.0.tgz#72d4984a03d0a7a0e6779c7a79efcea27626abf6" + integrity sha1-ctSYSgPQp6Dmd5x6ee/OonYmq/Y= + dependencies: + classnames "^2.2.5" + prop-types "^15.5.8" + rc-util "^4.3.0" + react-lifecycles-compat "^3.0.4" + + rc-resize-observer@^0.1.0: + version "0.1.3" + resolved "http://registry.m.jd.com/rc-resize-observer/download/rc-resize-observer-0.1.3.tgz#097191f9c3ab186ed907b553ba6ef565df11c249" + integrity sha1-CXGR+cOrGG7ZB7VTum71Zd8Rwkk= + dependencies: + classnames "^2.2.1" + rc-util "^4.13.0" + resize-observer-polyfill "^1.5.1" + + rc-select@~9.2.0: + version "9.2.2" + resolved "http://registry.m.jd.com/rc-select/download/rc-select-9.2.2.tgz#c21b3b9c74aad4ef78bf7841ca47f3be2d0ab28d" + integrity sha1-whs7nHSq1O94v3hBykfzvi0Kso0= + dependencies: + babel-runtime "^6.23.0" + classnames "2.x" + component-classes "1.x" + dom-scroll-into-view "1.x" + prop-types "^15.5.8" + raf "^3.4.0" + rc-animate "2.x" + rc-menu "^7.3.0" + rc-trigger "^2.5.4" + rc-util "^4.0.4" + react-lifecycles-compat "^3.0.2" + warning "^4.0.2" + + rc-slider@~8.7.1: + version "8.7.1" + resolved "http://registry.m.jd.com/rc-slider/download/rc-slider-8.7.1.tgz#9ed07362dc93489a38e654b21b8122ad70fd3c42" + integrity sha1-ntBzYtyTSJo45lSyG4EirXD9PEI= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + prop-types "^15.5.4" + rc-tooltip "^3.7.0" + rc-util "^4.0.4" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + warning "^4.0.3" + + rc-steps@~3.5.0: + version "3.5.0" + resolved "http://registry.m.jd.com/rc-steps/download/rc-steps-3.5.0.tgz#36b2a7f1f49907b0d90363884b18623caf9fb600" + integrity sha1-NrKn8fSZB7DZA2OISxhiPK+ftgA= + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.3" + lodash "^4.17.5" + prop-types "^15.5.7" + + rc-switch@~1.9.0: + version "1.9.0" + resolved "http://registry.m.jd.com/rc-switch/download/rc-switch-1.9.0.tgz#ab2b878f2713c681358a453391976c9b95b290f7" + integrity sha1-qyuHjycTxoE1ikUzkZdsm5WykPc= + dependencies: + classnames "^2.2.1" + prop-types "^15.5.6" + react-lifecycles-compat "^3.0.4" + + rc-table@~6.10.5: + version "6.10.10" + resolved "http://registry.m.jd.com/rc-table/download/rc-table-6.10.10.tgz#952cb1c7afb8e2e4505019307d36cf3dea316cff" + integrity sha1-lSyxx6+44uRQUBkwfTbPPeoxbP8= + dependencies: + classnames "^2.2.5" + component-classes "^1.2.6" + lodash "^4.17.5" + mini-store "^2.0.0" + prop-types "^15.5.8" + rc-util "^4.13.0" + react-lifecycles-compat "^3.0.2" + shallowequal "^1.0.2" + + rc-tabs@~9.7.0: + version "9.7.0" + resolved "http://registry.m.jd.com/rc-tabs/download/rc-tabs-9.7.0.tgz#ae09695bef5963d6e64e7bc10521c76dfdd8448b" + integrity sha1-rglpW+9ZY9bmTnvBBSHHbf3YRIs= + dependencies: + "@ant-design/create-react-context" "^0.2.4" + babel-runtime "6.x" + classnames "2.x" + lodash "^4.17.5" + prop-types "15.x" + raf "^3.4.1" + rc-hammerjs "~0.6.0" + rc-util "^4.0.4" + react-lifecycles-compat "^3.0.4" + resize-observer-polyfill "^1.5.1" + warning "^4.0.3" + + rc-time-picker@~3.7.1: + version "3.7.3" + resolved "http://registry.m.jd.com/rc-time-picker/download/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" + integrity sha1-ZajekECTJQrpyCsCpJBeD5leI+I= + dependencies: + classnames "2.x" + moment "2.x" + prop-types "^15.5.8" + raf "^3.4.1" + rc-trigger "^2.2.0" + react-lifecycles-compat "^3.0.4" + + rc-tooltip@^3.7.0, rc-tooltip@~3.7.3: + version "3.7.3" + resolved "http://registry.m.jd.com/rc-tooltip/download/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" + integrity sha1-KArsavyqROjf8EgPuv+eh/wArsw= + dependencies: + babel-runtime "6.x" + prop-types "^15.5.8" + rc-trigger "^2.2.2" + + rc-tree-select@~2.9.1: + version "2.9.4" + resolved "http://registry.m.jd.com/rc-tree-select/download/rc-tree-select-2.9.4.tgz#6aa794e1f0e65c66c406aa0a2a0e74fd0a557b09" + integrity sha1-aqeU4fDmXGbEBqoKKg50/QpVewk= + dependencies: + classnames "^2.2.1" + dom-scroll-into-view "^1.2.1" + prop-types "^15.5.8" + raf "^3.4.0" + rc-animate "^2.8.2" + rc-tree "~2.1.0" + rc-trigger "^3.0.0" + rc-util "^4.5.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.0.2" + warning "^4.0.1" + + rc-tree@~2.1.0: + version "2.1.3" + resolved "http://registry.m.jd.com/rc-tree/download/rc-tree-2.1.3.tgz#5214ab1b21a1848eb9a2ddcb919e3bc46d6d390b" + integrity sha1-UhSrGyGhhI65ot3LkZ47xG1tOQs= + dependencies: + "@ant-design/create-react-context" "^0.2.4" + classnames "2.x" + prop-types "^15.5.8" + rc-animate "^2.6.0" + rc-util "^4.5.1" + react-lifecycles-compat "^3.0.4" + warning "^4.0.3" + + rc-trigger@^2.2.0, rc-trigger@^2.2.2, rc-trigger@^2.3.0, rc-trigger@^2.5.1, rc-trigger@^2.5.4, rc-trigger@^2.6.2: + version "2.6.5" + resolved "http://registry.m.jd.com/rc-trigger/download/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" + integrity sha1-FAqFfPKL0PoBua7LHialCnAOmIU= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + rc-align "^2.4.0" + rc-animate "2.x" + rc-util "^4.4.0" + react-lifecycles-compat "^3.0.4" + + rc-trigger@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/rc-trigger/download/rc-trigger-3.0.0.tgz#f6d9b1da8a26b2b2d1d912a06876c1a486f5980f" + integrity sha1-9tmx2oomsrLR2RKgaHbBpIb1mA8= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + raf "^3.4.0" + rc-align "^2.4.1" + rc-animate "^3.0.0-rc.1" + rc-util "^4.15.7" + + rc-upload@~2.9.1: + version "2.9.4" + resolved "http://registry.m.jd.com/rc-upload/download/rc-upload-2.9.4.tgz#8e34a73a468d7907fe31982c38100e4593857d32" + integrity sha1-jjSnOkaNeQf+MZgsOBAORZOFfTI= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + prop-types "^15.5.7" + warning "4.x" + + rc-util@^4.0.4, rc-util@^4.1.1, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.15.7, rc-util@^4.16.1, rc-util@^4.3.0, rc-util@^4.4.0, rc-util@^4.5.0, rc-util@^4.5.1, rc-util@^4.6.0: + version "4.18.1" + resolved "http://registry.m.jd.com/rc-util/download/rc-util-4.18.1.tgz#5a6312503cd5366ef0bede021dce42d373f404a8" + integrity sha1-WmMSUDzVNm7wvt4CHc5C03P0BKg= + dependencies: + add-dom-event-listener "^1.1.0" + babel-runtime "6.x" + prop-types "^15.5.10" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + + react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: + version "16.12.0" + resolved "http://registry.m.jd.com/react-is/download/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" + integrity sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw= + + react-lazy-load@^3.0.13: + version "3.0.13" + resolved "http://registry.m.jd.com/react-lazy-load/download/react-lazy-load-3.0.13.tgz#3b0a92d336d43d3f0d73cbe6f35b17050b08b824" + integrity sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ= + dependencies: + eventlistener "0.0.1" + lodash.debounce "^4.0.0" + lodash.throttle "^4.0.0" + prop-types "^15.5.8" + + react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "http://registry.m.jd.com/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + + react-slick@~0.25.2: + version "0.25.2" + resolved "http://registry.m.jd.com/react-slick/download/react-slick-0.25.2.tgz#56331b67d47d8bcfe2dceb6acab1c8fd5bd1f6bc" + integrity sha1-VjMbZ9R9i8/i3OtqyrHI/VvR9rw= + dependencies: + classnames "^2.2.5" + enquire.js "^2.1.6" + json2mq "^0.2.0" + lodash.debounce "^4.0.8" + resize-observer-polyfill "^1.5.0" + + react-test-renderer@^16.0.0-0: + version "16.12.0" + resolved "http://registry.m.jd.com/react-test-renderer/download/react-test-renderer-16.12.0.tgz#11417ffda579306d4e841a794d32140f3da1b43f" + integrity sha1-EUF//aV5MG1OhBp5TTIUDz2htD8= + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.18.0" + + react@^16.12.0: + version "16.12.0" + resolved "http://registry.m.jd.com/react/download/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" + integrity sha1-DAqcahQkKeNhSDTVp3jhiqeKC4M= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + + read-pkg-up@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + + read-pkg@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + + readable-stream@^3.1.1: + version "3.4.0" + resolved "http://registry.m.jd.com/readable-stream/download/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + + realpath-native@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= + dependencies: + util.promisify "^1.0.0" + + reflect.ownkeys@^0.2.0: + version "0.2.0" + resolved "http://registry.m.jd.com/reflect.ownkeys/download/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" + integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= + + regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "http://registry.m.jd.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + + regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "http://registry.m.jd.com/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + + remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "http://registry.m.jd.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + + repeat-element@^1.1.2: + version "1.1.3" + resolved "http://registry.m.jd.com/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + + repeat-string@^1.6.1: + version "1.6.1" + resolved "http://registry.m.jd.com/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + + request-promise-core@1.1.3: + version "1.1.3" + resolved "http://registry.m.jd.com/request-promise-core/download/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk= + dependencies: + lodash "^4.17.15" + + request-promise-native@^1.0.5: + version "1.0.8" + resolved "http://registry.m.jd.com/request-promise-native/download/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY= + dependencies: + request-promise-core "1.1.3" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + + request@^2.87.0: + version "2.88.0" + resolved "http://registry.m.jd.com/request/download/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + + require-directory@^2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + + require-main-filename@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + + resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "http://registry.m.jd.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= + + resolve-cwd@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + + resolve-from@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + + resolve-url@^0.2.1: + version "0.2.1" + resolved "http://registry.m.jd.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + + resolve@1.1.7: + version "1.1.7" + resolved "http://registry.m.jd.com/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + + resolve@1.x, resolve@^1.10.0, resolve@^1.3.2: + version "1.14.2" + resolved "http://registry.m.jd.com/resolve/download/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha1-2/MdD6mLHymqUWl4O5wpDLhl/qI= + dependencies: + path-parse "^1.0.6" + + ret@~0.1.10: + version "0.1.15" + resolved "http://registry.m.jd.com/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + + rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "http://registry.m.jd.com/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + + rmc-feedback@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/rmc-feedback/download/rmc-feedback-2.0.0.tgz#cbc6cb3ae63c7a635eef0e25e4fbaf5ac366eeaa" + integrity sha1-y8bLOuY8emNe7w4l5PuvWsNm7qo= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + + rst-selector-parser@^2.2.3: + version "2.2.3" + resolved "http://registry.m.jd.com/rst-selector-parser/download/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" + integrity sha1-gbIw6i/MYGbInjRy3nlChdmwPZE= + dependencies: + lodash.flattendeep "^4.4.0" + nearley "^2.7.10" + + rsvp@^4.8.4: + version "4.8.5" + resolved "http://registry.m.jd.com/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= + + safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "http://registry.m.jd.com/safe-buffer/download/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk= + + safe-buffer@~5.1.1: + version "5.1.2" + resolved "http://registry.m.jd.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + + safe-regex@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "http://registry.m.jd.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + + sane@^4.0.3: + version "4.1.0" + resolved "http://registry.m.jd.com/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + + sax@^1.2.4: + version "1.2.4" + resolved "http://registry.m.jd.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + + scheduler@^0.18.0: + version "0.18.0" + resolved "http://registry.m.jd.com/scheduler/download/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" + integrity sha1-WQGtZlm8HY8/2vNut6Z7DWdGscQ= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + + "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: + version "5.7.1" + resolved "http://registry.m.jd.com/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + + semver@^6.0.0, semver@^6.2.0: + version "6.3.0" + resolved "http://registry.m.jd.com/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + + set-blocking@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + + set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "http://registry.m.jd.com/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + + setimmediate@^1.0.5: + version "1.0.5" + resolved "http://registry.m.jd.com/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + + shallow-equal@^1.0.0: + version "1.2.1" + resolved "http://registry.m.jd.com/shallow-equal/download/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha1-TBar+lYEOqINBQMk76aJQLDaedo= + + shallowequal@^1.0.2, shallowequal@^1.1.0: + version "1.1.0" + resolved "http://registry.m.jd.com/shallowequal/download/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= + + shebang-command@^1.2.0: + version "1.2.0" + resolved "http://registry.m.jd.com/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + + shebang-regex@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + + shellwords@^0.1.1: + version "0.1.1" + resolved "http://registry.m.jd.com/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= + + signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "http://registry.m.jd.com/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + + sisteransi@^1.0.3: + version "1.0.4" + resolved "http://registry.m.jd.com/sisteransi/download/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" + integrity sha1-OGcT8e9ojHwDBNxMBjKJiUHK0uM= + + slash@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + + snapdragon-node@^2.0.1: + version "2.1.1" + resolved "http://registry.m.jd.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + + snapdragon-util@^3.0.1: + version "3.0.1" + resolved "http://registry.m.jd.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + + snapdragon@^0.8.1: + version "0.8.2" + resolved "http://registry.m.jd.com/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + + source-map-resolve@^0.5.0: + version "0.5.3" + resolved "http://registry.m.jd.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + + source-map-support@^0.5.6: + version "0.5.16" + resolved "http://registry.m.jd.com/source-map-support/download/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha1-CuBp5/47p1OMZMmFFeNTOerFoEI= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + + source-map-url@^0.4.0: + version "0.4.0" + resolved "http://registry.m.jd.com/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + + source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "http://registry.m.jd.com/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + + source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "http://registry.m.jd.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + + spdx-correct@^3.0.0: + version "3.1.0" + resolved "http://registry.m.jd.com/spdx-correct/download/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + + spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "http://registry.m.jd.com/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc= + + spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha1-meEZt6XaAOBUkcn6M4t5BII7QdA= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + + spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "http://registry.m.jd.com/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= + + split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "http://registry.m.jd.com/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + + sshpk@^1.7.0: + version "1.16.1" + resolved "http://registry.m.jd.com/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + + stack-utils@^1.0.1: + version "1.0.2" + resolved "http://registry.m.jd.com/stack-utils/download/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g= + + static-extend@^0.1.1: + version "0.1.2" + resolved "http://registry.m.jd.com/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + + stealthy-require@^1.1.1: + version "1.1.1" + resolved "http://registry.m.jd.com/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + + string-convert@^0.2.0: + version "0.2.1" + resolved "http://registry.m.jd.com/string-convert/download/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= + + string-length@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + + string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "http://registry.m.jd.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + + string.prototype.trim@^1.2.1: + version "1.2.1" + resolved "http://registry.m.jd.com/string.prototype.trim/download/string.prototype.trim-1.2.1.tgz#141233dff32c82bfad80684d7e5f0869ee0fb782" + integrity sha1-FBIz3/Msgr+tgGhNfl8Iae4Pt4I= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + + string.prototype.trimleft@^2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/string.prototype.trimleft/download/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" + integrity sha1-m9uKxqvW1gKxek7TIYcNL43O/HQ= + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + + string.prototype.trimright@^2.1.1: + version "2.1.1" + resolved "http://registry.m.jd.com/string.prototype.trimright/download/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" + integrity sha1-RAMUsVmWyGbOigNBiU1FGGIAxdk= + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + + string_decoder@^1.1.1: + version "1.3.0" + resolved "http://registry.m.jd.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + + strip-ansi@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + + strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "http://registry.m.jd.com/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + + strip-bom@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + + strip-eof@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + + supports-color@^5.3.0: + version "5.5.0" + resolved "http://registry.m.jd.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + + supports-color@^6.1.0: + version "6.1.0" + resolved "http://registry.m.jd.com/supports-color/download/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + + symbol-tree@^3.2.2: + version "3.2.4" + resolved "http://registry.m.jd.com/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= + + test-exclude@^5.2.3: + version "5.2.3" + resolved "http://registry.m.jd.com/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + + throat@^4.0.0: + version "4.1.0" + resolved "http://registry.m.jd.com/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + + tinycolor2@^1.4.1: + version "1.4.1" + resolved "http://registry.m.jd.com/tinycolor2/download/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" + integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= + + tmpl@1.0.x: + version "1.0.4" + resolved "http://registry.m.jd.com/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + + to-fast-properties@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + + to-object-path@^0.3.0: + version "0.3.0" + resolved "http://registry.m.jd.com/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + + to-regex-range@^2.1.0: + version "2.1.1" + resolved "http://registry.m.jd.com/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + + to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "http://registry.m.jd.com/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + + toggle-selection@^1.0.6: + version "1.0.6" + resolved "http://registry.m.jd.com/toggle-selection/download/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + + tough-cookie@^2.3.3, tough-cookie@^2.3.4: + version "2.5.0" + resolved "http://registry.m.jd.com/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + + tough-cookie@~2.4.3: + version "2.4.3" + resolved "http://registry.m.jd.com/tough-cookie/download/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha1-U/Nto/R3g7CSWvoG/587FlKA94E= + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + + tr46@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + + ts-jest@^24.3.0: + version "24.3.0" + resolved "http://registry.m.jd.com/ts-jest/download/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" + integrity sha1-uXgU4+qzWeqEChrBEt6uaKpECGk= + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + + tunnel-agent@^0.6.0: + version "0.6.0" + resolved "http://registry.m.jd.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + + tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "http://registry.m.jd.com/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + + type-check@~0.3.2: + version "0.3.2" + resolved "http://registry.m.jd.com/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + + typescript@^3.7.4: + version "3.7.4" + resolved "http://registry.m.jd.com/typescript/download/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" + integrity sha1-F0Ol7F/vah+p8+RwjjPIHHOHbBk= + + ua-parser-js@^0.7.18: + version "0.7.21" + resolved "http://registry.m.jd.com/ua-parser-js/download/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" + integrity sha1-hTz5zpP2QvZxdCc8w0Vlrm8wh3c= + + uglify-js@^3.1.4: + version "3.7.4" + resolved "http://registry.m.jd.com/uglify-js/download/uglify-js-3.7.4.tgz#e6d83a1aa32ff448bd1679359ab13d8db0fe0743" + integrity sha1-5tg6GqMv9Ei9Fnk1mrE9jbD+B0M= + dependencies: + commander "~2.20.3" + source-map "~0.6.1" + + union-value@^1.0.0: + version "1.0.1" + resolved "http://registry.m.jd.com/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + + unset-value@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + + uri-js@^4.2.2: + version "4.2.2" + resolved "http://registry.m.jd.com/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= + dependencies: + punycode "^2.1.0" + + urix@^0.1.0: + version "0.1.0" + resolved "http://registry.m.jd.com/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + + use@^3.1.0: + version "3.1.1" + resolved "http://registry.m.jd.com/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + + util-deprecate@^1.0.1: + version "1.0.2" + resolved "http://registry.m.jd.com/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + + util.promisify@^1.0.0: + version "1.0.0" + resolved "http://registry.m.jd.com/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + + uuid@^3.3.2: + version "3.3.3" + resolved "http://registry.m.jd.com/uuid/download/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha1-RWjwIW54dg7h2/Ok0s9T4iQRKGY= + + validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "http://registry.m.jd.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + + verror@1.10.0: + version "1.10.0" + resolved "http://registry.m.jd.com/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + + w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "http://registry.m.jd.com/w3c-hr-time/download/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= + dependencies: + browser-process-hrtime "^0.1.2" + + walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "http://registry.m.jd.com/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + + warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.3: + version "4.0.3" + resolved "http://registry.m.jd.com/warning/download/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + + webidl-conversions@^4.0.2: + version "4.0.2" + resolved "http://registry.m.jd.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= + + whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.5" + resolved "http://registry.m.jd.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= + dependencies: + iconv-lite "0.4.24" + + whatwg-fetch@>=0.10.0: + version "3.0.0" + resolved "http://registry.m.jd.com/whatwg-fetch/download/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha1-/IBORYzEYACbGiuWa8iBfSV4rvs= + + whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: + version "2.3.0" + resolved "http://registry.m.jd.com/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= + + whatwg-url@^6.4.1: + version "6.5.0" + resolved "http://registry.m.jd.com/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + + whatwg-url@^7.0.0: + version "7.1.0" + resolved "http://registry.m.jd.com/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + + which-module@^2.0.0: + version "2.0.0" + resolved "http://registry.m.jd.com/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + + which@^1.2.9, which@^1.3.0: + version "1.3.1" + resolved "http://registry.m.jd.com/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + + word-wrap@~1.2.3: + version "1.2.3" + resolved "http://registry.m.jd.com/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + + wordwrap@~0.0.2: + version "0.0.3" + resolved "http://registry.m.jd.com/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + + wrap-ansi@^5.1.0: + version "5.1.0" + resolved "http://registry.m.jd.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + + wrappy@1: + version "1.0.2" + resolved "http://registry.m.jd.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + + write-file-atomic@2.4.1: + version "2.4.1" + resolved "http://registry.m.jd.com/write-file-atomic/download/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + + ws@^5.2.0: + version "5.2.2" + resolved "http://registry.m.jd.com/ws/download/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= + dependencies: + async-limiter "~1.0.0" + + xml-name-validator@^3.0.0: + version "3.0.0" + resolved "http://registry.m.jd.com/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= + + y18n@^4.0.0: + version "4.0.0" + resolved "http://registry.m.jd.com/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= + + yargs-parser@10.x: + version "10.1.0" + resolved "http://registry.m.jd.com/yargs-parser/download/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= + dependencies: + camelcase "^4.1.0" + + yargs-parser@^13.1.1: + version "13.1.1" + resolved "http://registry.m.jd.com/yargs-parser/download/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + + yargs@^13.3.0: + version "13.3.0" + resolved "http://registry.m.jd.com/yargs/download/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" diff --git a/standard-version/README.md b/standard-version/README.md index b45cbca..518b2e9 100644 --- a/standard-version/README.md +++ b/standard-version/README.md @@ -1,5 +1,9 @@ # 以git为核心的前端发布工作流 +## 起因:需要写发布日志吗? + +* 每次发布之后都可能会想起来,好像忘了写发布日志 (︶︹︺),呵呵,算了就这样吧 ╮(╯▽╰)╭ + ## 使用yarn代替npm ## Part 1: commotlint