diff --git a/README.md b/README.md index eea60a266..0939dcd5a 100644 --- a/README.md +++ b/README.md @@ -65,12 +65,20 @@ Please make sure to read the [Contributing Guide](./.github/CONTRIBUTING.md) bef Modern browsers and Android 4.0+, iOS 8.0+. +## Ecosystem + +| Project | Description | +|-----|------| +| [vant-demo](https://github.com/youzan/vant-demo) | Official vant demo collection | +| [vant-weapp](https://github.com/youzan/vant-weapp) | WeChat MiniProgram UI | +| [vant-cli](https://github.com/youzan/vant/tree/dev/packages/vant-cli) | Scaffold for UI library | +| [vant-icons](https://github.com/youzan/vant/tree/dev/packages/vant-icons) | Vant icons | +| [vant-touch-emulator](https://github.com/youzan/vant/tree/dev/packages/vant-touch-emulator) | Using vant in desktop browsers | + ## Links * [Documentation](https://youzan.github.io/vant) * [Changelog](https://youzan.github.io/vant#/en-US/changelog) -* [Vant Demo](https://github.com/youzan/vant-demo) -* [Vant Weapp](https://github.com/youzan/vant-weapp) ## Preview diff --git a/README.zh-CN.md b/README.zh-CN.md index ee70b7b34..432d51eba 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -16,8 +16,6 @@

🔥 文档网站   - 🇬🇧 英文版介绍 -   🚀 小程序版

@@ -80,13 +78,21 @@ vant 也支持按需引入、CDN 引入等方式,详细说明见 [快速上手 - 团队博客 - 开源项目 +## 生态 + +| 项目 | 描述 | +|-----|------| +| [vant-demo](https://github.com/youzan/vant-demo) | Vant 官方示例合集 | +| [vant-weapp](https://github.com/youzan/vant-weapp) | 微信小程序组件库 | +| [vant-cli](https://github.com/youzan/vant/tree/dev/packages/vant-cli) | 开箱即用的组件库搭建工具 | +| [vant-icons](https://github.com/youzan/vant/tree/dev/packages/vant-icons) | Vant 图标库 | +| [vant-touch-emulator](https://github.com/youzan/vant/tree/dev/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 | + ## 链接 * [详细文档](https://youzan.github.io/vant) * [更新日志](https://youzan.github.io/vant#/zh-CN/changelog) * [码云镜像](https://gitee.com/organizations/vant-contrib) -* [Vant 示例仓库](https://github.com/youzan/vant-demo) -* [VantWeapp 小程序组件](https://github.com/youzan/vant-weapp) ## 手机预览 diff --git a/babel.config.js b/babel.config.js index 27fec6e80..fa5ee221e 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: ['@vant/cli/preset'] + presets: ['@vant/cli/preset'], }; diff --git a/docs/markdown/changelog.en-US.md b/docs/markdown/changelog.en-US.md index 845f41b36..a542e69e7 100644 --- a/docs/markdown/changelog.en-US.md +++ b/docs/markdown/changelog.en-US.md @@ -1,52 +1,126 @@ # Changelog -### [v2.4.2-beta.2](https://github.com/youzan/vant/compare/v2.4.2-beta.1...v2.4.2-beta.2) -`2020-01-10` - -**Feature** - -* Field: add formatter prop [#5534](https://github.com/youzan/vant/issues/5534) -* Swipe: add prev、next method [#5548](https://github.com/youzan/vant/issues/5548) +### [v2.4.6](https://github.com/youzan/vant/compare/v2.4.5...v2.4.6) +`2020-02-01` **Bug Fixes** -* Calendar: missing info when selected [#5536](https://github.com/youzan/vant/issues/5536) -* PullRefresh: should set height when using head-height [028747](https://github.com/youzan/vant/commit/028747c35471f33e8c2b0baa6fb8915510daac22) +* Picker: should watch columns change [#5614](https://github.com/youzan/vant/issues/5614) -### [v2.4.2-beta.1](https://github.com/youzan/vant/compare/v2.4.2-beta.0...v2.4.2-beta.1) -`2020-01-09` +### [v2.4.5](https://github.com/youzan/vant/compare/v2.4.4...v2.4.5) +`2020-02-01` **Feature** -* Field: add digit type [#5524](https://github.com/youzan/vant/issues/5524) -* Sku: add properties support [#5525](https://github.com/youzan/vant/issues/5525) -* Calendar: scroll to current month when show [#5526](https://github.com/youzan/vant/issues/5526) +* Picker: support cascade columns [#4247](https://github.com/youzan/vant/issues/4247) +* Slider: add button-size prop [1e9b8c](https://github.com/youzan/vant/commit/1e9b8c846674562d56ab638a0982baab4bb6870e) +* Optimize the props type. The original number type props now support string. + +**Style** + +* DropdownItem: add @dropdown-item-z-index less var [6f4c6f](https://github.com/youzan/vant/commit/6f4c6f5aa6614559cfc24bc361e68c9c938bbb61) +* IndexBar: add @index-anchor-z-index less var [89ee8e](https://github.com/youzan/vant/commit/89ee8e38723dadb2daa6ee31c325cdd2ad03ba99) +* IndexBar: add @index-bar-sidebar-z-index less var [89ee8e](https://github.com/youzan/vant/commit/89ee8e38723dadb2daa6ee31c325cdd2ad03ba99) +* IndexBar: add @index-bar-index-active-color less var [0011db](https://github.com/youzan/vant/commit/0011db75365b60699ae140d85e54b9e477f46a22) +* Notify: add @notify-text-color less var [9dcf57](https://github.com/youzan/vant/commit/9dcf57c65f5e046318e953f2e8ce87918b1cb312) +* Overlay: add @overlay-z-index less var [95d19f](https://github.com/youzan/vant/commit/95d19f70d1c90efc752074ff764b07787d89cf1e) +* Rate: add @rate-icon-disabled-color less var [8b8471](https://github.com/youzan/vant/commit/8b8471945c4313735a5fe59402212f37a31acfea) +* Rate: add @rate-icon-full-color less var [5c804c](https://github.com/youzan/vant/commit/5c804cf920b75c5bdf962fa49eae31363783f32f) +* Rate: add @rate-icon-void-color less var [f90015](https://github.com/youzan/vant/commit/f90015efe7619af055b9ebd4c8be7da1f17b8da0) +* Slider: add @slider-bar-height less var [a5819c](https://github.com/youzan/vant/commit/a5819c286e06469bc41e8aa9e0ed44cc21625dad) +* Search: add @search-content-background-color less var [ea7419](https://github.com/youzan/vant/commit/ea74194990314bd1ff1e8237c221be92fdb8ae37) +* Step: add @step-active-color less var [9e7a68](https://github.com/youzan/vant/commit/9e7a6874141fa05f0158ca8006c268d0a3d92679) +* Tabbar: add @tabbar-z-index less var [0441f7](https://github.com/youzan/vant/commit/0441f7ba098aca24b797de29d10af8f47cf32d15) +* NavBar: add @nav-bar-z-index less var [a2d870](https://github.com/youzan/vant/commit/a2d870ad8ee4912226ec8871cc4c2d56ef870902) +* NumberKeyboard: add @number-keyboard-z-index less var [760938](https://github.com/youzan/vant/commit/760938962399e0589b4a258ff29e7fe2f3ba90f1) **Bug Fixes** -* CouponList: incorrect click feedback [#5521](https://github.com/youzan/vant/issues/5521) -* Field: should limit number input in iOS [#5520](https://github.com/youzan/vant/issues/5520) -* Tabs: can not render line when wrapper is fixed [#5496](https://github.com/youzan/vant/issues/5496) +* ImagePreview: limit max-zoom when double clicking [1baa60](https://github.com/youzan/vant/commit/1baa60f2244b4605dc82f6dcf564671f5c623023) +* Popup: duration prop not work when position is center [44072e](https://github.com/youzan/vant/commit/44072e8c3f548cff78401780213ab7ef213372c3) +* Step: active-color should be effective for line [cfadce](https://github.com/youzan/vant/commit/cfadcefb0a1c29dfb1d940fbb7add746595158bd) + + +### [v2.4.4](https://github.com/youzan/vant/compare/v2.4.3...v2.4.4) +`2020-01-24` + +**Feature** + +* Card: change thumb fit mode to cover [e766d5](https://github.com/youzan/vant/commit/e766d5d5743e7f492b3601ce4010b8524fb2b016) +* Calendar: add get-contaienr prop [#5609](https://github.com/youzan/vant/issues/5609) +* Calendar: add close-on-popstate prop [2b82dc](https://github.com/youzan/vant/commit/2b82dcc3dd2dba678aba5e0533e0ff6af7c55b11) +* CountDown: add change event [#5599](https://github.com/youzan/vant/issues/5599) +* GoodsActionButton: add icon prop [b83bed](https://github.com/youzan/vant/commit/b83bed3b6c41d0896386b3c4b6380c9568bd3ef2) + +**Bug Fixes** + +* Sku: get-container can be string type [#5608](https://github.com/youzan/vant/issues/5608) + + +### [v2.4.3](https://github.com/youzan/vant/compare/v2.4.3-beta.0...v2.4.3) +`2020-01-19` + +**Feature** + +* Calendar: add max-range、range-prompt prop [#5583](https://github.com/youzan/vant/issues/5583) +* ImagePreview: add @image-preview-index-text-shadow var [e2f302](https://github.com/youzan/vant/commit/e2f30242eaaebd36d9816e2746fe6c44323e6aca) +* Stepper: add long-press prop [2f3ec6](https://github.com/youzan/vant/commit/2f3ec6a3d48a9d56f8127d27d51c3337f6e72cab) +* Swipe: pause autoplay when page hidden [113157](https://github.com/youzan/vant/commit/11315787ec980767973a3fded50fb5858e51e298) **Improvement** -* CouponList: update style [#5501](https://github.com/youzan/vant/issues/5501) -* AddressList: update style [#5507](https://github.com/youzan/vant/issues/5507) - - -### [v2.4.2-beta.0](https://github.com/youzan/vant/compare/v2.4.1...v2.4.2-beta.0) -`2020-01-06` - -**Feature** - -* Image: add error-icon prop [#5470](https://github.com/youzan/vant/issues/5470) -* Image: add loading-icon prop [#5469](https://github.com/youzan/vant/issues/5469) -* AddressEdit: show error message in field [#5479](https://github.com/youzan/vant/issues/5479) +* Icon: update share icon [2f77ac](https://github.com/youzan/vant/commit/2f77acfc6cef23ea664defc38c4cd806ceca1ee4) +* Field: imporve readonly cursor [60173d](https://github.com/youzan/vant/commit/60173dd6bc004339333c50218d7c6b2f6c1bc07b) +* Stepper: improve disable-input behavior [959eca](https://github.com/youzan/vant/commit/959eca136c4ca6a39e22d36512db74b93ad100c6) **Bug Fixes** +* Calendar: should show range prompt after select [ff0901](https://github.com/youzan/vant/commit/ff09011e0ef18ab29dd70b51f412625dd10bb4cb) +* GoodsAction: should set wrapper height [#5593](https://github.com/youzan/vant/issues/5593) + +**Types** + +* Calendar: fix missing type definition [#5588](https://github.com/youzan/vant/issues/5588) +* Toast: incorrect definition of setDefaultOptions method [#5582](https://github.com/youzan/vant/issues/5582) + + +### [v2.4.2](https://github.com/youzan/vant/compare/v2.4.2-beta.1...v2.4.2) +`2020-01-14` + +**Feature** + +* Sku: add properties prop [#5525](https://github.com/youzan/vant/issues/5525) +* Field: add digit type [#5524](https://github.com/youzan/vant/issues/5524) +* Image: add error-icon prop [#5470](https://github.com/youzan/vant/issues/5470) +* Image: add loading-icon prop [#5469](https://github.com/youzan/vant/issues/5469) +* Field: add formatter prop [#5534](https://github.com/youzan/vant/issues/5534) +* Swipe: add prev、next method [#5548](https://github.com/youzan/vant/issues/5548) +* GoodsAcitonIcon: add color prop [#5576](https://github.com/youzan/vant/issues/5576) + +**Improvement** + +* AddressEdit: show error message in field [#5479](https://github.com/youzan/vant/issues/5479) +* ActionSheet: update close icon style [#5574](https://github.com/youzan/vant/issues/5574) +* AddressList: update style [#5507](https://github.com/youzan/vant/issues/5507) +* CouponList: update style [#5501](https://github.com/youzan/vant/issues/5501) +* Calendar: scroll to current month when show [#5526](https://github.com/youzan/vant/issues/5526) +* ImagePreview: improve error image style [#5570](https://github.com/youzan/vant/issues/5570) +* improve cursor of all components [c1a535](https://github.com/youzan/vant/commit/c1a535b0dd9470f8eb526e86aa59cf6dec022f3a) + +**Bug Fixes** + +* Button: should not have click feedback when loading [0a70d3](https://github.com/youzan/vant/commit/0a70d344124ef756a73ea9edfee07303f394d880) * Card: thumb image border-radius become effective [#5480](https://github.com/youzan/vant/issues/5480) +* Calendar: incorrect month title after auto scroll [#5569](https://github.com/youzan/vant/issues/5569) +* Calendar: missing info when selected [#5536](https://github.com/youzan/vant/issues/5536) +* Checkbox: only the icon is clickable when label-disabled [3d10d4](https://github.com/youzan/vant/commit/3d10d42fccadd1b9df46860d758a91f7825073e9) +* CouponList: incorrect click feedback [#5521](https://github.com/youzan/vant/issues/5521) +* Field: should limit number input in iOS [#5520](https://github.com/youzan/vant/issues/5520) +* ImagePreview: disable desktop browser image drag [#4487](https://github.com/youzan/vant/issues/4487) +* Picker: optimize the click experience [5cbb9e](https://github.com/youzan/vant/commit/5cbb9e29989ac58d44a4ec503cbb984269c8f18e) +* PullRefresh: should set height when using head-height [028747](https://github.com/youzan/vant/commit/028747c35471f33e8c2b0baa6fb8915510daac22) +* Tabs: can not render line when wrapper is fixed [#5496](https://github.com/youzan/vant/issues/5496) ### [v2.4.1](https://github.com/youzan/vant/compare/v2.4.0...v2.4.1) diff --git a/docs/markdown/changelog.zh-CN.md b/docs/markdown/changelog.zh-CN.md index e7da3173e..12f363b2b 100644 --- a/docs/markdown/changelog.zh-CN.md +++ b/docs/markdown/changelog.zh-CN.md @@ -10,54 +10,126 @@ Vant 遵循 [Semver](https://semver.org/lang/zh-CN/) 语义化版本规范。 - 次版本号:每隔一至二个月发布,包含新特性和较大的功能更新,向下兼容。 - 主版本号:发布时间不定,包含不兼容更新,预计下一个主版本会与 Vue 3.0 同期发布。 -### [v2.4.2-beta.2](https://github.com/youzan/vant/compare/v2.4.2-beta.1...v2.4.2-beta.2) -`2020-01-10` -**Feature** - -* Field: 新增 formatter 属性 [#5534](https://github.com/youzan/vant/issues/5534) -* Swipe: 新增 prev、next 方法 [#5548](https://github.com/youzan/vant/issues/5548) +### [v2.4.6](https://github.com/youzan/vant/compare/v2.4.5...v2.4.6) +`2020-02-01` **Bug Fixes** -* Calendar: 修复选中的日期无法展示提示信息的问题 [#5536](https://github.com/youzan/vant/issues/5536) -* PullRefresh:修复 head-height 属性未正确设置高度的问题 [028747](https://github.com/youzan/vant/commit/028747c35471f33e8c2b0baa6fb8915510daac22) +* Picker: 修复更新 columns 数据不生效的问题 [#5614](https://github.com/youzan/vant/issues/5614) - -### [v2.4.2-beta.1](https://github.com/youzan/vant/compare/v2.4.2-beta.0...v2.4.2-beta.1) -`2020-01-09` +### [v2.4.5](https://github.com/youzan/vant/compare/v2.4.4...v2.4.5) +`2020-02-01` **Feature** -* Field: 新增 digit 类型 [#5524](https://github.com/youzan/vant/issues/5524) -* Sku: 支持 properties 数据结构 [#5525](https://github.com/youzan/vant/issues/5525) -* Calendar: 弹出时自动滚动到当前选中的日期 [#5526](https://github.com/youzan/vant/issues/5526) +* Picker: 支持级联选择 [#4247](https://github.com/youzan/vant/issues/4247) +* Slider: 新增 button-size 属性 [1e9b8c](https://github.com/youzan/vant/commit/1e9b8c846674562d56ab638a0982baab4bb6870e) +* 优化 props 类型,原有 number 类型的 props 现在支持传入 string + +**Style** + +* DropdownItem: 新增 @dropdown-item-z-index 变量 [6f4c6f](https://github.com/youzan/vant/commit/6f4c6f5aa6614559cfc24bc361e68c9c938bbb61) +* IndexBar: 新增 @index-anchor-z-index 变量 [89ee8e](https://github.com/youzan/vant/commit/89ee8e38723dadb2daa6ee31c325cdd2ad03ba99) +* IndexBar: 新增 @index-bar-sidebar-z-index 变量 [89ee8e](https://github.com/youzan/vant/commit/89ee8e38723dadb2daa6ee31c325cdd2ad03ba99) +* IndexBar: 新增 @index-bar-index-active-color 变量 [0011db](https://github.com/youzan/vant/commit/0011db75365b60699ae140d85e54b9e477f46a22) +* Notify: 新增 @notify-text-color 变量 [9dcf57](https://github.com/youzan/vant/commit/9dcf57c65f5e046318e953f2e8ce87918b1cb312) +* Overlay: 新增 @overlay-z-index 变量 [95d19f](https://github.com/youzan/vant/commit/95d19f70d1c90efc752074ff764b07787d89cf1e) +* Rate: 新增 @rate-icon-disabled-color 变量 [8b8471](https://github.com/youzan/vant/commit/8b8471945c4313735a5fe59402212f37a31acfea) +* Rate: 新增 @rate-icon-full-color 变量 [5c804c](https://github.com/youzan/vant/commit/5c804cf920b75c5bdf962fa49eae31363783f32f) +* Rate: 新增 @rate-icon-void-color 变量 [f90015](https://github.com/youzan/vant/commit/f90015efe7619af055b9ebd4c8be7da1f17b8da0) +* Slider: 新增 @slider-bar-height 变量 [a5819c](https://github.com/youzan/vant/commit/a5819c286e06469bc41e8aa9e0ed44cc21625dad) +* Search: 新增 @search-content-background-color 变量 [ea7419](https://github.com/youzan/vant/commit/ea74194990314bd1ff1e8237c221be92fdb8ae37) +* Step: 新增 @step-active-color 变量 [9e7a68](https://github.com/youzan/vant/commit/9e7a6874141fa05f0158ca8006c268d0a3d92679) +* Tabbar: 新增 @tabbar-z-index 变量 [0441f7](https://github.com/youzan/vant/commit/0441f7ba098aca24b797de29d10af8f47cf32d15) +* NavBar: 新增 @nav-bar-z-index 变量 [a2d870](https://github.com/youzan/vant/commit/a2d870ad8ee4912226ec8871cc4c2d56ef870902) +* NumberKeyboard: 新增 @number-keyboard-z-index 变量 [760938](https://github.com/youzan/vant/commit/760938962399e0589b4a258ff29e7fe2f3ba90f1) + +**Bug Fixes** + +* ImagePreview: 修复双击缩放时 max-zoom 属性不生效的问题 [1baa60](https://github.com/youzan/vant/commit/1baa60f2244b4605dc82f6dcf564671f5c623023) +* Popup: 修复 position 为 center 时 duration 属性不生效的问题 [44072e](https://github.com/youzan/vant/commit/44072e8c3f548cff78401780213ab7ef213372c3) +* Step: 修复 active-color 未改变分隔线颜色的问题 [cfadce](https://github.com/youzan/vant/commit/cfadcefb0a1c29dfb1d940fbb7add746595158bd) + + +### [v2.4.4](https://github.com/youzan/vant/compare/v2.4.3...v2.4.4) 🐭 +`2020-01-24` + +**Feature** + +* Card: 优化图片拉伸模式 [e766d5](https://github.com/youzan/vant/commit/e766d5d5743e7f492b3601ce4010b8524fb2b016) +* Calendar: 新增 get-contaienr 属性 [#5609](https://github.com/youzan/vant/issues/5609) +* Calendar: 新增 close-on-popstate 属性 [2b82dc](https://github.com/youzan/vant/commit/2b82dcc3dd2dba678aba5e0533e0ff6af7c55b11) +* CountDown: 新增 change 事件 [#5599](https://github.com/youzan/vant/issues/5599) +* GoodsActionButton: 新增 icon 属性 [b83bed](https://github.com/youzan/vant/commit/b83bed3b6c41d0896386b3c4b6380c9568bd3ef2) + +**Bug Fixes** + +* Sku: 修复 get-container 属性不能为 string 类型的问题 [#5608](https://github.com/youzan/vant/issues/5608) + + +### [v2.4.3](https://github.com/youzan/vant/compare/v2.4.3-beta.0...v2.4.3) +`2020-01-19` + +**Feature** + +* Swipe: 页面隐藏时暂停自动轮播 [113157](https://github.com/youzan/vant/commit/11315787ec980767973a3fded50fb5858e51e298) +* Stepper: 新增 long-press 属性 [2f3ec6](https://github.com/youzan/vant/commit/2f3ec6a3d48a9d56f8127d27d51c3337f6e72cab) +* Calendar: 新增 max-range、range-prompt 属性 [#5583](https://github.com/youzan/vant/issues/5583) +* ImagePreview: 新增 @image-preview-index-text-shadow 变量 [e2f302](https://github.com/youzan/vant/commit/e2f30242eaaebd36d9816e2746fe6c44323e6aca) **Improvement** -* CouponList: 优化样式细节 [#5501](https://github.com/youzan/vant/issues/5501) -* AddressList: 优化样式细节 [#5507](https://github.com/youzan/vant/issues/5507) +* Icon: 更新 share 图标 [2f77ac](https://github.com/youzan/vant/commit/2f77acfc6cef23ea664defc38c4cd806ceca1ee4) +* Field: 优化 readonly 状态下的光标类型 [60173d](https://github.com/youzan/vant/commit/60173dd6bc004339333c50218d7c6b2f6c1bc07b) +* Stepper: 优化 disable-input 状态下的输入框颜色 [959eca](https://github.com/youzan/vant/commit/959eca136c4ca6a39e22d36512db74b93ad100c6) **Bug Fixes** -* CouponList: 修复点击反馈区域错误的问题 [#5521](https://github.com/youzan/vant/issues/5521) -* Tabs: 修复容器设置 fixed 布局时无法渲染底部条的问题 [#5496](https://github.com/youzan/vant/issues/5496) -* Field: 修复 type 为 number 时在 iOS 上仍然能输入非数字字符的问题 [#5520](https://github.com/youzan/vant/issues/5520) +* GoodsAction: 修复未设置容器高度的问题 [#5593](https://github.com/youzan/vant/issues/5593) + +**Types** + +* Calendar: 新增类型定义 [dac60c](https://github.com/youzan/vant/commit/dac60c8a37d3b2b3686dc25c1c34b4029a963d1b) +* Toast: 修复 setDefaultOptions 方法参数定义错误 [#5582](https://github.com/youzan/vant/issues/5582) -### [v2.4.2-beta.0](https://github.com/youzan/vant/compare/v2.4.1...v2.4.2-beta.0) -`2020-01-06` +### [v2.4.2](https://github.com/youzan/vant/compare/v2.4.2-beta.1...v2.4.2) +`2020-01-14` **Feature** +* Sku: 新增 properties 属性 [#5525](https://github.com/youzan/vant/issues/5525) +* Field: 新增 digit 类型 [#5524](https://github.com/youzan/vant/issues/5524) +* Field: 新增 formatter 属性 [#5534](https://github.com/youzan/vant/issues/5534) * Image: 新增 error-icon 属性 [#5470](https://github.com/youzan/vant/issues/5470) * Image: 新增 loading-icon 属性 [#5469](https://github.com/youzan/vant/issues/5469) +* Swipe: 新增 prev、next 方法 [#5548](https://github.com/youzan/vant/issues/5548) +* GoodsAcitonIcon: 新增 color 属性 [#5576](https://github.com/youzan/vant/issues/5576) + +**Improvement** + +* AddressList: 优化样式细节 [#5507](https://github.com/youzan/vant/issues/5507) * AddressEdit: 优化错误提示展示方式 [#5479](https://github.com/youzan/vant/issues/5479) +* ActionSheet: 优化关闭按钮样式 [#5574](https://github.com/youzan/vant/issues/5574) +* CouponList: 优化样式细节 [#5501](https://github.com/youzan/vant/issues/5501) +* Calendar: 弹出时自动滚动到当前选中的日期 [#5526](https://github.com/youzan/vant/issues/5526) +* ImagePreview: 优化图片加载失败提示样式 [#5570](https://github.com/youzan/vant/issues/5570) +* 优化所有组件的光标类型 [c1a535](https://github.com/youzan/vant/commit/c1a535b0dd9470f8eb526e86aa59cf6dec022f3a) **Bug Fixes** +* Button: 修复加载状态下仍会有点击反馈的问题 [0a70d3](https://github.com/youzan/vant/commit/0a70d344124ef756a73ea9edfee07303f394d880) * Card: 修复图片圆角样式未生效的问题 [#5480](https://github.com/youzan/vant/issues/5480) +* Calendar: 修复选中的日期无法展示提示信息的问题 [#5536](https://github.com/youzan/vant/issues/5536) +* Checkbox: 修复设置 label-disabled 后空白区域仍然可以点击的问题 [3d10d4](https://github.com/youzan/vant/commit/3d10d42fccadd1b9df46860d758a91f7825073e9) +* CouponList: 修复点击反馈区域错误的问题 [#5521](https://github.com/youzan/vant/issues/5521) +* Field: 修复 type 为 number 时在 iOS 上仍然能输入非数字字符的问题 [#5520](https://github.com/youzan/vant/issues/5520) +* ImagePreview: 修复在桌面端使用时无法拖拽的问题 [#4487](https://github.com/youzan/vant/issues/4487) +* Picker: 修复点击事件偶尔会丢失的问题 [5cbb9e](https://github.com/youzan/vant/commit/5cbb9e29989ac58d44a4ec503cbb984269c8f18e) +* PullRefresh:修复 head-height 属性未正确设置高度的问题 [028747](https://github.com/youzan/vant/commit/028747c35471f33e8c2b0baa6fb8915510daac22) +* Tabs: 修复容器设置 fixed 布局时无法渲染底部条的问题 [#5496](https://github.com/youzan/vant/issues/5496) ### [v2.4.1](https://github.com/youzan/vant/compare/v2.4.0...v2.4.1) diff --git a/docs/markdown/home.en-US.md b/docs/markdown/home.en-US.md index 1badc2b06..0fd88be4e 100644 --- a/docs/markdown/home.en-US.md +++ b/docs/markdown/home.en-US.md @@ -29,12 +29,20 @@ Please make sure to read the [Contributing Guide](https://github.com/youzan/vant Modern browsers and Android 4.0+, iOS 8.0+. +### Ecosystem + +| Project | Description | +|-----|------| +| [vant-demo](https://github.com/youzan/vant-demo) | Official vant demo collection | +| [vant-weapp](https://github.com/youzan/vant-weapp) | WeChat MiniProgram UI | +| [vant-cli](https://github.com/youzan/vant/tree/dev/packages/vant-cli) | Scaffold for UI library | +| [vant-icons](https://github.com/youzan/vant/tree/dev/packages/vant-icons) | Vant icons | +| [vant-touch-emulator](https://github.com/youzan/vant/tree/dev/packages/vant-touch-emulator) | Using vant in desktop browsers | + ### Links * [Feedback](https://github.com/youzan/vant/issues) * [Changelog](#/en-US/changelog) -* [Vant Demo](https://github.com/youzan/vant-demo) -* [Vant Weapp](https://github.com/youzan/vant-weapp) ### LICENSE diff --git a/docs/markdown/home.zh-CN.md b/docs/markdown/home.zh-CN.md index f63965359..6d6b9d9b6 100644 --- a/docs/markdown/home.zh-CN.md +++ b/docs/markdown/home.zh-CN.md @@ -45,13 +45,21 @@ - 团队博客 - 开源项目 +### 生态 + +| 项目 | 描述 | +|-----|------| +| [vant-demo](https://github.com/youzan/vant-demo) | Vant 官方示例合集 | +| [vant-weapp](https://github.com/youzan/vant-weapp) | 微信小程序组件库 | +| [vant-cli](https://github.com/youzan/vant/tree/dev/packages/vant-cli) | 开箱即用的组件库搭建工具 | +| [vant-icons](https://github.com/youzan/vant/tree/dev/packages/vant-icons) | Vant 图标库 | +| [vant-touch-emulator](https://github.com/youzan/vant/tree/dev/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 | + ### 链接 * [意见反馈](https://github.com/youzan/vant/issues) * [更新日志](#/zh-CN/changelog) * [码云镜像](https://gitee.com/organizations/vant-contrib) -* [Vant 示例仓库](https://github.com/youzan/vant-demo) -* [VantWeapp 小程序组件](https://github.com/youzan/vant-weapp) ### 开源协议 diff --git a/docs/markdown/quickstart.zh-CN.md b/docs/markdown/quickstart.zh-CN.md index 1aef42f6d..af14b4465 100644 --- a/docs/markdown/quickstart.zh-CN.md +++ b/docs/markdown/quickstart.zh-CN.md @@ -2,7 +2,7 @@ ### 脚手架 -推荐使用 Vue 官方提供的脚手架 [Vue Cli](https://cli.vuejs.org/zh/) 创建项目 +在新项目中使用 Vant 时,推荐使用 Vue 官方提供的脚手架 [Vue Cli](https://cli.vuejs.org/zh/) 创建项目 ```bash # 安装 Vue Cli @@ -19,7 +19,9 @@ vue ui 在图形化界面中,点击`依赖` -> `安装依赖`,然后将 `vant` 添加到依赖中即可。 -### 安装 +### 通过 npm 安装 + +在现有项目中使用 Vant 时,可以通过`npm`或`yarn`安装 ```bash # 通过 npm 安装 @@ -189,3 +191,28 @@ iPhone X 等机型底部存在底部指示条,指示条的操作区域与页 ``` + +### 组件实例方法 + +Vant 中的许多组件提供了实例方法,调用实例方法时,我们需要通过 [ref](https://cn.vuejs.org/v2/api/#ref) 来注册组件引用信息,引用信息将会注册在父组件的`$refs`对象上。注册完成后,我们可以通过`this.$refs.xxx`访问到对应的组件实例,并调用上面的实例方法。 + +```html + + + 复选框 + +``` + +```js +export default { + data() { + return { + checked: false + }; + }, + // 注意:组件挂载后才能访问到 ref 对象 + mounted() { + this.$refs.checkbox.toggle(); + } +} +``` diff --git a/docs/site/mobile.js b/docs/site/mobile.js index ad0bb8c58..b2dc843a9 100644 --- a/docs/site/mobile.js +++ b/docs/site/mobile.js @@ -6,16 +6,18 @@ import { camelize } from '../../src/utils/format/string'; import enUS from '../../src/locale/lang/en-US'; Vue.use(Lazyload, { - lazyComponent: true + lazyComponent: true, }); Locale.add({ - 'en-US': enUS + 'en-US': enUS, }); // flag for vant-weapp demos const isWeapp = location.search.indexOf('weapp=1') !== -1; +let demoUid = 0; + // helper for demo locales Vue.mixin({ computed: { @@ -33,10 +35,14 @@ Vue.mixin({ isWeapp() { return isWeapp; - } + }, }, beforeCreate() { + if (!this.$options.name) { + this.$options.name = `demo-${demoUid++}`; + } + const { i18n, name } = this.$options; if (i18n && name) { @@ -49,7 +55,7 @@ Vue.mixin({ Locale.add(locales); } - } + }, }); // switch lang after routing @@ -91,7 +97,7 @@ Locale.add({ advancedUsage: '高级用法', loadingStatus: '加载状态', usernamePlaceholder: '请输入用户名', - passwordPlaceholder: '请输入密码' + passwordPlaceholder: '请输入密码', }, 'en-US': { add: 'Add', @@ -119,6 +125,6 @@ Locale.add({ basicUsage: 'Basic Usage', advancedUsage: 'Advanced Usage', usernamePlaceholder: 'Username', - passwordPlaceholder: 'Password' - } + passwordPlaceholder: 'Password', + }, }); diff --git a/package.json b/package.json index 06c0ddd27..2ef6d918e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vant", - "version": "2.4.2-beta.2", + "version": "2.4.7-beta.0", "description": "Mobile UI Components built on Vue", "main": "lib/index.js", "module": "es/index.js", @@ -19,7 +19,6 @@ "test": "vant-cli test", "build": "vant-cli build", "release": "vant-cli release", - "changelog": "vant-cli changelog", "test:watch": "vant-cli test --watch", "release:site": "sh docs/site/release.sh", "test:coverage": "open test/coverage/index.html" @@ -31,6 +30,10 @@ } }, "lint-staged": { + "*.{ts,tsx,js,vue,less}": [ + "prettier --write", + "git add" + ], "*.{ts,tsx,js,vue}": [ "eslint --fix", "git add" @@ -52,7 +55,7 @@ "license": "MIT", "dependencies": { "@babel/runtime": "7.x", - "@vant/icons": "1.2.0", + "@vant/icons": "1.2.1", "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", "vue-lazyload": "1.2.3" }, @@ -60,7 +63,7 @@ "vue": ">= 2.5.22" }, "devDependencies": { - "@vant/cli": "^2.1.6", + "@vant/cli": "^2.2.2", "vue": "^2.6.11", "vue-template-compiler": "^2.6.11" }, @@ -86,7 +89,8 @@ ] }, "prettier": { - "singleQuote": true + "singleQuote": true, + "trailingComma": "es5" }, "browserslist": [ "Android >= 4.0", diff --git a/packages/create-vant-cli-app/generators/templates/babel.config.js b/packages/create-vant-cli-app/generators/templates/babel.config.js new file mode 100644 index 000000000..fa5ee221e --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vant/cli/preset'], +}; diff --git a/packages/create-vant-cli-app/generators/templates/docs/home.md b/packages/create-vant-cli-app/generators/templates/docs/home.md new file mode 100644 index 000000000..3c7c761b5 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/docs/home.md @@ -0,0 +1,11 @@ +# 介绍 + +### 关于 + +这是一段组件库的介绍 + +### 特性 + +- 特性一 +- 特性二 +- 特性三 diff --git a/packages/create-vant-cli-app/generators/templates/docs/quickstart.md b/packages/create-vant-cli-app/generators/templates/docs/quickstart.md new file mode 100644 index 000000000..e761aa6a9 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/docs/quickstart.md @@ -0,0 +1,11 @@ +# 快速上手 + +### 安装 + +```bash +# 通过 npm 安装 +npm i <%= name %> -S + +# 通过 yarn 安装 +yarn add <%= name %> +``` diff --git a/packages/create-vant-cli-app/generators/templates/eslintignore.tpl b/packages/create-vant-cli-app/generators/templates/eslintignore.tpl new file mode 100644 index 000000000..c05831264 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/eslintignore.tpl @@ -0,0 +1,4 @@ +es +lib +dist +node_modules diff --git a/packages/create-vant-cli-app/generators/templates/gitignore.tpl b/packages/create-vant-cli-app/generators/templates/gitignore.tpl new file mode 100644 index 000000000..8159d27da --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/gitignore.tpl @@ -0,0 +1,17 @@ +*.log* +.cache +.DS_Store +.idea +.vscode + +# npm +node_modules +package-lock.json + +# dist file +es +lib +site + +# test +test/coverage diff --git a/packages/create-vant-cli-app/generators/templates/package.json.tpl b/packages/create-vant-cli-app/generators/templates/package.json.tpl new file mode 100644 index 000000000..33b2cca71 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/package.json.tpl @@ -0,0 +1,66 @@ +{ + "name": "<%= name %>", + "version": "1.0.0", + "description": "", + "main": "lib/<%= name %>.js", + "style": "lib/index.css", + "files": [ + "lib", + "es" + ], + "scripts": { + "dev": "vant-cli dev", + "test": "vant-cli test", + "lint": "vant-cli lint", + "build": "vant-cli build", + "release": "vant-cli release", + "test:coverage": "open test/coverage/index.html", + "build-site": "vant-cli build-site && gh-pages -d site" + }, + "author": "", + "license": "MIT", + "husky": { + "hooks": { + "pre-commit": "lint-staged", + "commit-msg": "vant-cli commit-lint" + } + }, + "lint-staged": { + "*.{ts,tsx,js,jsx,vue}": [ + "eslint --fix", + "git add" + ], + "*.{vue,css,less,scss}": [ + "stylelint --fix", + "git add" + ] + }, + "peerDependencies": { + "vue": "^2.6.11", + "vue-template-compiler": "^2.6.11" + }, + "devDependencies": { + "@vant/cli": "^2.0.0", + "babel-plugin-import": "^1.13.0", + "vue": "^2.6.11", + "vue-template-compiler": "^2.6.11" + }, + "eslintConfig": { + "root": true, + "extends": [ + "@vant" + ] + }, + "stylelint": { + "extends": [ + "@vant/stylelint-config" + ] + }, + "prettier": { + "singleQuote": true + }, + "browserslist": [ + "Android >= 4.0", + "iOS >= 8" + ] +} diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/README.md b/packages/create-vant-cli-app/generators/templates/src/demo-button/README.md new file mode 100644 index 000000000..b80b0b7c4 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/README.md @@ -0,0 +1,43 @@ +# DemoButton 按钮 + +### 介绍 + +DemoButton 是一个示例按钮组件 + +### 引入 + +```js +import Vue from 'vue'; +import { DemoButton } from '<%= name %>'; + +Vue.use(DemoButton); +``` + +## 代码演示 + +### 基础用法 + +```html + +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | +|------|------|------|------| +| type | 按钮类型 | *string* | `primary` | +| color `1.0.0` | 按钮颜色 | *string* | - | + +### Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| click | 点击时触发 | event: Event | + +### Slots + +| 名称 | 说明 | +|------|------| +| default | 默认插槽 | diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/demo/index.vue b/packages/create-vant-cli-app/generators/templates/src/demo-button/demo/index.vue new file mode 100644 index 000000000..c367d40fd --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/demo/index.vue @@ -0,0 +1,11 @@ + diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue new file mode 100644 index 000000000..29ac1d504 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/test/__snapshots__/index.spec.js.snap b/packages/create-vant-cli-app/generators/templates/src/demo-button/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..e9030c705 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/test/__snapshots__/index.spec.js.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`render demo button 1`] = ``; diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/test/index.spec.js b/packages/create-vant-cli-app/generators/templates/src/demo-button/test/index.spec.js new file mode 100644 index 000000000..87c961d6c --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/test/index.spec.js @@ -0,0 +1,7 @@ +import { mount } from '@vue/test-utils'; +import DemoButton from '..'; + +test('render demo button', () => { + const wrapper = mount(DemoButton); + expect(wrapper).toMatchSnapshot(); +}); diff --git a/packages/create-vant-cli-app/generators/templates/vant.config.js b/packages/create-vant-cli-app/generators/templates/vant.config.js new file mode 100644 index 000000000..749ef1a35 --- /dev/null +++ b/packages/create-vant-cli-app/generators/templates/vant.config.js @@ -0,0 +1,39 @@ +module.exports = { + name: '<%= name %>', + build: { + css: { + preprocessor: '<%= preprocessor %>', + }, + site: { + publicPath: '/<%= name %>/', + }, + }, + site: { + title: '<%= name %>', + logo: 'https://img.yzcdn.cn/vant/logo.png', + nav: [ + { + title: '开发指南', + items: [ + { + path: 'home', + title: '介绍', + }, + { + path: 'quickstart', + title: '快速上手', + }, + ], + }, + { + title: '基础组件', + items: [ + { + path: 'demo-button', + title: 'DemoButton 按钮', + }, + ], + }, + ], + }, +}; diff --git a/packages/create-vant-cli-app/package.json b/packages/create-vant-cli-app/package.json new file mode 100644 index 000000000..b51c4019e --- /dev/null +++ b/packages/create-vant-cli-app/package.json @@ -0,0 +1,45 @@ +{ + "name": "create-vant-cli-app", + "version": "0.1.1", + "description": "Create Vant Cli App", + "main": "lib/index.js", + "bin": { + "create-vant-cli-app": "./lib/index.js" + }, + "scripts": { + "dev": "tsc --watch", + "release": "tsc & release-it" + }, + "repository": { + "type": "git", + "url": "https://github.com/youzan/vant/tree/dev/packages/create-vant-cli-app" + }, + "files": [ + "lib", + "generators" + ], + "keywords": [ + "vant" + ], + "author": "chenjiahan", + "license": "MIT", + "devDependencies": { + "@types/fs-extra": "^8.0.1", + "@types/yeoman-generator": "^3.1.4", + "release-it": "^12.4.3", + "typescript": "^3.7.4" + }, + "dependencies": { + "chalk": "^3.0.0", + "consola": "^2.11.3", + "fs-extra": "^8.1.0", + "inquirer": "^7.0.3", + "yeoman-generator": "^4.4.0" + }, + "release-it": { + "git": { + "tag": false, + "commitMessage": "chore: release create-vant-cli-app@${version}" + } + } +} diff --git a/packages/create-vant-cli-app/src/constant.ts b/packages/create-vant-cli-app/src/constant.ts new file mode 100644 index 000000000..73406715d --- /dev/null +++ b/packages/create-vant-cli-app/src/constant.ts @@ -0,0 +1,4 @@ +import { join } from 'path'; + +export const CWD = process.cwd(); +export const GENERATOR_DIR = join(__dirname, '../generators'); diff --git a/packages/create-vant-cli-app/src/generator.ts b/packages/create-vant-cli-app/src/generator.ts new file mode 100644 index 000000000..6e7f2554b --- /dev/null +++ b/packages/create-vant-cli-app/src/generator.ts @@ -0,0 +1,92 @@ +import chalk from 'chalk'; +import consola from 'consola'; +import { join } from 'path'; +import { CWD, GENERATOR_DIR } from './constant'; +import Generator from 'yeoman-generator'; + +const TEMPLATES = join(GENERATOR_DIR, 'templates'); +const PROMPTS = [ + { + name: 'preprocessor', + message: 'Select css preprocessor', + type: 'list', + choices: ['Less', 'Sass'], + }, +]; + +export class VanGenerator extends Generator { + inputs = { + name: '', + cssLang: '', + preprocessor: '', + }; + + constructor(name: string) { + super([], { + env: { + cwd: join(CWD, name), + }, + resolved: GENERATOR_DIR, + }); + + this.inputs.name = name; + } + + async prompting() { + return this.prompt>(PROMPTS).then(inputs => { + const preprocessor = inputs.preprocessor.toLowerCase(); + const cssLang = preprocessor === 'sass' ? 'scss' : preprocessor; + + this.inputs.cssLang = cssLang; + this.inputs.preprocessor = preprocessor; + }); + } + + writing() { + consola.info(`Creating project in ${join(CWD, this.inputs.name)}\n`); + + const copy = (from: string, to?: string) => { + this.fs.copy(join(TEMPLATES, from), this.destinationPath(to || from)); + }; + + const copyTpl = (from: string, to?: string) => { + this.fs.copyTpl( + join(TEMPLATES, from), + this.destinationPath(to || from), + this.inputs + ); + }; + + copyTpl('package.json.tpl', 'package.json'); + copyTpl('vant.config.js'); + copyTpl('src/**/*', 'src'); + copyTpl('docs/**/*', 'docs'); + copy('babel.config.js'); + copy('gitignore.tpl', '.gitignore'); + copy('eslintignore.tpl', '.eslintignore'); + } + + install() { + console.log(); + consola.info('Install dependencies...\n'); + + process.chdir(this.inputs.name); + + this.installDependencies({ + npm: false, + bower: false, + yarn: true, + skipMessage: true, + }); + } + + end() { + const { name } = this.inputs; + + console.log(); + consola.success(`Successfully created ${chalk.yellow(name)}.`); + consola.success( + `Run ${chalk.yellow(`cd ${name} && yarn dev`)} to start development!` + ); + } +} diff --git a/packages/create-vant-cli-app/src/index.ts b/packages/create-vant-cli-app/src/index.ts new file mode 100644 index 000000000..7abcc0ef1 --- /dev/null +++ b/packages/create-vant-cli-app/src/index.ts @@ -0,0 +1,24 @@ +#!/usr/bin/env node + +import inquirer from 'inquirer'; +import { ensureDir } from 'fs-extra'; +import { VanGenerator } from './generator'; + +const PROMPTS = [ + { + type: 'input', + name: 'name', + message: 'Your package name', + }, +]; + +export default async function run() { + const { name } = await inquirer.prompt(PROMPTS); + + ensureDir(name); + + const generator = new VanGenerator(name); + generator.run(); +} + +run(); diff --git a/packages/create-vant-cli-app/tsconfig.json b/packages/create-vant-cli-app/tsconfig.json new file mode 100644 index 000000000..83790d350 --- /dev/null +++ b/packages/create-vant-cli-app/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES2017", + "outDir": "./lib", + "module": "commonjs", + "strict": true, + "declaration": true, + "skipLibCheck": true, + "esModuleInterop": true, + "lib": ["esnext"] + }, + "include": ["src/**/*"] +} diff --git a/packages/create-vant-cli-app/yarn.lock b/packages/create-vant-cli-app/yarn.lock new file mode 100644 index 000000000..c59cd56f9 --- /dev/null +++ b/packages/create-vant-cli-app/yarn.lock @@ -0,0 +1,3379 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c= + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@iarna/toml@2.2.3": + version "2.2.3" + resolved "https://registry.npm.taobao.org/@iarna/toml/download/@iarna/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" + integrity sha1-8GC/bqr65NVqfaxhiYCDiwaW4qs= + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha1-Olgr21OATGum0UZXnEblITDPSjs= + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M= + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY= + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@octokit/endpoint@^5.5.0": + version "5.5.1" + resolved "https://registry.npm.taobao.org/@octokit/endpoint/download/@octokit/endpoint-5.5.1.tgz#2eea81e110ca754ff2de11c79154ccab4ae16b3f" + integrity sha1-LuqB4RDKdU/y3hHHkVTMq0rhaz8= + dependencies: + "@octokit/types" "^2.0.0" + is-plain-object "^3.0.0" + universal-user-agent "^4.0.0" + +"@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-1.2.0.tgz#a64d2a9d7a13555570cd79722de4a4d76371baaa" + integrity sha1-pk0qnXoTVVVwzXlyLeSk12Nxuqo= + dependencies: + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.0.0": + version "5.3.1" + resolved "https://registry.npm.taobao.org/@octokit/request/download/@octokit/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120" + integrity sha1-OhrOReb4ixvkdJxdqWOzo7Si8SA= + dependencies: + "@octokit/endpoint" "^5.5.0" + "@octokit/request-error" "^1.0.1" + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + is-plain-object "^3.0.0" + node-fetch "^2.3.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + +"@octokit/rest@16.33.0": + version "16.33.0" + resolved "https://registry.npm.taobao.org/@octokit/rest/download/@octokit/rest-16.33.0.tgz#13c1404b24c9871419eb31029de177e82f3eb851" + integrity sha1-E8FASyTJhxQZ6zECneF36C8+uFE= + dependencies: + "@octokit/request" "^5.0.0" + "@octokit/request-error" "^1.0.2" + atob-lite "^2.0.0" + before-after-hook "^2.0.0" + btoa-lite "^1.0.0" + deprecation "^2.0.0" + lodash.get "^4.4.2" + lodash.set "^4.3.2" + lodash.uniq "^4.5.0" + octokit-pagination-methods "^1.1.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + +"@octokit/types@^2.0.0": + version "2.0.2" + resolved "https://registry.npm.taobao.org/@octokit/types/download/@octokit/types-2.0.2.tgz#0888497f5a664e28b0449731d5e88e19b2a74f90" + integrity sha1-CIhJf1pmTiiwRJcx1eiOGbKnT5A= + dependencies: + "@types/node" ">= 8" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o= + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz?cache=0&sync_timestamp=1577466335586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40szmarczak%2Fhttp-timer%2Fdownload%2F%40szmarczak%2Fhttp-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE= + dependencies: + defer-to-connect "^1.0.1" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/events@*": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1572461527196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= + +"@types/fs-extra@^8.0.1": + version "8.0.1" + resolved "https://registry.npm.taobao.org/@types/fs-extra/download/@types/fs-extra-8.0.1.tgz#a2378d6e7e8afea1564e44aafa2e207dadf77686" + integrity sha1-ojeNbn6K/qFWTkSq+i4gfa33doY= + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/inquirer@*": + version "6.5.0" + resolved "https://registry.npm.taobao.org/@types/inquirer/download/@types/inquirer-6.5.0.tgz#b83b0bf30b88b8be7246d40e51d32fe9d10e09be" + integrity sha1-uDsL8wuIuL5yRtQOUdMv6dEOCb4= + dependencies: + "@types/through" "*" + rxjs "^6.4.0" + +"@types/minimatch@*", "@types/minimatch@^3.0.3": + version "3.0.3" + resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz?cache=0&sync_timestamp=1572464707542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= + +"@types/node@*", "@types/node@>= 8": + version "13.1.7" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-13.1.7.tgz#db51d28b8dfacfe4fb2d0da88f5eb0a2eca00675" + integrity sha1-21HSi436z+T7LQ2oj16wouygBnU= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1572463399870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= + +"@types/through@*": + version "0.0.29" + resolved "https://registry.npm.taobao.org/@types/through/download/@types/through-0.0.29.tgz#72943aac922e179339c651fa34a4428a4d722f93" + integrity sha1-cpQ6rJIuF5M5xlH6NKRCik1yL5M= + dependencies: + "@types/node" "*" + +"@types/yeoman-generator@^3.1.4": + version "3.1.4" + resolved "https://registry.npm.taobao.org/@types/yeoman-generator/download/@types/yeoman-generator-3.1.4.tgz#21d6599515d41447eb84e2bc45033f1a640bbaf2" + integrity sha1-IdZZlRXUFEfrhOK8RQM/GmQLuvI= + dependencies: + "@types/inquirer" "*" + rxjs ">=6.4.0" + +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha1-tTazcc9ofKrvI2wY0+If43l0Z8s= + dependencies: + string-width "^3.0.0" + +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.2.1: + version "4.3.0" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + integrity sha1-pM4rM9ayFLeVDYWVwhLxKsnMVp0= + dependencies: + type-fest "^0.8.1" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/array-differ/download/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha1-PLs9DzFoEOr8xHYkc0I31q7krms= + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/arrify/download/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha1-yWVekzHgq81YjSp8rX6ZVvZnAfo= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-retry@1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/async-retry/download/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" + integrity sha1-plIfM4NY0yKxoAEreQMMb0EdHOA= + dependencies: + retry "0.12.0" + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob-lite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/atob-lite/download/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" + integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npm.taobao.org/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" + +before-after-hook@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/before-after-hook/download/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha1-tsA0h/ROJCAN0wyl5qGXnF0vtjU= + +binaryextensions@^2.1.2: + version "2.2.0" + resolved "https://registry.npm.taobao.org/binaryextensions/download/binaryextensions-2.2.0.tgz?cache=0&sync_timestamp=1576660780885&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinaryextensions%2Fdownload%2Fbinaryextensions-2.2.0.tgz#e7c6ba82d4f5f5758c26078fe8eea28881233311" + integrity sha1-58a6gtT19XWMJgeP6O6iiIEjMxE= + +boxen@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/boxen/download/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" + integrity sha1-+9/w3pNjarRFCIa2/0W5LQmPRes= + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^2.4.2" + cli-boxes "^2.2.0" + string-width "^3.0.0" + term-size "^1.2.0" + type-fest "^0.3.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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" + +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/btoa-lite/download/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI= + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/capture-stack-trace/download/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha1-psC74fOPOqC5Ijjstv9Cw0TUE10= + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npm.taobao.org/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" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +changelog-filename-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/changelog-filename-regex/download/changelog-filename-regex-1.1.2.tgz#19e98e38248cff0c1cf3ae3bf51bfb22c48592d6" + integrity sha1-GemOOCSM/wwc86479Rv7IsSFktY= + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npm.taobao.org/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" + +cli-boxes@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" + integrity sha1-U47K6PnGylCOPDyVtFP+k8tMFo0= + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" + integrity sha1-6LmI2SBsaSMC2O6DTnqFwBRNj3c= + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/cli-table/download/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + dependencies: + colors "1.0.3" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/cloneable-readable/download/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha1-EgoAywU7+2OiIucJ+Wg+ouEdjOw= + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +combined-stream@^1.0.6: + version "1.0.8" + resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +configstore@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/configstore/download/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" + integrity sha1-WTMxHpXTaH77WSxSi5ItkmLSJ+c= + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +consola@^2.11.3: + version "2.11.3" + resolved "https://registry.npm.taobao.org/consola/download/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e" + integrity sha1-9zFYNiJMFDrFCUtH/UyBbCzRVg4= + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@5.2.1: + version "5.2.1" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/create-error-class/download/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npm.taobao.org/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" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +dargs@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/dargs/download/dargs-6.1.0.tgz#1f3b9b56393ecf8caa7cbfd6c31496ffcfb9b272" + integrity sha1-HzubVjk+z4yqfL/WwxSW/8+5snI= + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/dateformat/download/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha1-puN0maTZqc+F71hyBE1ikByYia4= + +debug@4.1.1, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.1.tgz?cache=0&sync_timestamp=1575466921003&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefer-to-connect%2Fdownload%2Fdefer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f" + integrity sha1-iK5pS5P2e4GBWiyMdprvZXSsjy8= + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +deprecated-obj@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/deprecated-obj/download/deprecated-obj-1.0.1.tgz#d7051278d2c141dc672ac3410d06642e990003b7" + integrity sha1-1wUSeNLBQdxnKsNBDQZkLpkAA7c= + dependencies: + flat "^4.1.0" + lodash "^4.17.11" + +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.npm.taobao.org/deprecation/download/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha1-Y2jL20Cr8zc7UlrIfkomDDpwCRk= + +detect-repo-changelog@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/detect-repo-changelog/download/detect-repo-changelog-1.0.1.tgz#c2108cbbf0964da7bc074645b6ad1d3b80a6bd6d" + integrity sha1-whCMu/CWTae8B0ZFtq0dO4CmvW0= + dependencies: + changelog-filename-regex "^1.1.0" + is-regular-file "^1.0.1" + lodash.find "^4.6.0" + pify "^2.3.0" + +diff@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= + dependencies: + path-type "^3.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + dependencies: + path-type "^4.0.0" + +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz?cache=0&sync_timestamp=1572620518450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc= + dependencies: + is-obj "^1.0.0" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +editions@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/editions/download/editions-2.3.0.tgz#47f2d5309340bce93ab5eb6ad755b9e90ff825e4" + integrity sha1-R/LVMJNAvOk6tetq11W56Q/4JeQ= + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1574560231725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +errlop@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/errlop/download/errlop-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferrlop%2Fdownload%2Ferrlop-2.0.0.tgz#52b97d35da1b0795e2647b5d2d3a46d17776f55a" + integrity sha1-Url9NdobB5XiZHtdLTpG0Xd29Vo= + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error@^7.0.2: + version "7.2.1" + resolved "https://registry.npm.taobao.org/error/download/error-7.2.1.tgz?cache=0&sync_timestamp=1577615602648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror%2Fdownload%2Ferror-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha1-6rIaRom19oT8g9qEoOOQ3oLZSJQ= + dependencies: + string-template "~0.2.1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.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" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-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" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/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" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/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" + +fast-glob@^2.0.2, fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1575197709194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-glob@^3.0.3: + version "3.1.1" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.1.1.tgz?cache=0&sync_timestamp=1575197709194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.1.1.tgz#87ee30e9e9f3eb40d6f254a7997655da753d7c82" + integrity sha1-h+4w6enz60DW8lSnmXZV2nU9fII= + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + +fastq@^1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" + integrity sha1-Tsijj0rCXyFJJnOtt+rpz+9H0cI= + dependencies: + reusify "^1.0.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha1-SxmN0H2NcVMGQoZK8tRd2eRZxOw= + dependencies: + escape-string-regexp "^1.0.5" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/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" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +find-up@4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/flat/download/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= + dependencies: + is-buffer "~2.0.3" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@2.5.1: + version "2.5.1" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha1-8svsV7XlniNxbhKP5E1OXdI4lfQ= + 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 "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha1-ASA83JJZf5uQkGfD5lbMH008Tck= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +gh-got@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/gh-got/download/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a" + integrity sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo= + dependencies: + got "^6.2.0" + is-plain-obj "^1.1.0" + +git-up@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/git-up/download/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" + integrity sha1-yy7whmU2QOch0gQv4xBIV9iQB8A= + dependencies: + is-ssh "^1.3.0" + parse-url "^5.0.0" + +git-url-parse@11.1.2: + version "11.1.2" + resolved "https://registry.npm.taobao.org/git-url-parse/download/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" + integrity sha1-r/Gol8NsyTaZJwWHvqPby7uV3mc= + dependencies: + git-up "^4.0.0" + +github-username@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/github-username/download/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1" + integrity sha1-CnciGbMTB0NCnyRW0L3T21Xc57E= + dependencies: + gh-got "^5.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha1-X0wdHnSNMM1zrSlEs1d6gbCB6MI= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.npm.taobao.org/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" + +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz?cache=0&sync_timestamp=1573230916593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-dirs%2Fdownload%2Fglobal-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + +globby@10.0.1: + version "10.0.1" + resolved "https://registry.npm.taobao.org/globby/download/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha1-R4LDTLdd1oM1EzXFgpzDQg5gayI= + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^8.0.1: + version "8.0.2" + resolved "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +got@9.6.0, got@^9.6.0: + version "9.6.0" + resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU= + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +got@^6.2.0: + version "6.7.1" + resolved "https://registry.npm.taobao.org/got/download/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.3" + resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM= + +grouped-queue@^0.3.3: + version "0.3.3" + resolved "https://registry.npm.taobao.org/grouped-queue/download/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" + integrity sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw= + dependencies: + lodash "^4.17.2" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/has-yarn/download/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha1-E34RNUp7W/EapctknPDG8/8rLnc= + +hosted-git-info@^2.1.4: + version "2.8.5" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha1-dZz88sTRVq3lmwst+r3cQqa5xww= + +http-cache-semantics@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" + integrity sha1-SVcEdzJ37u9uQ/mrLCx9JZ3aJcU= + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.1: + version "5.1.4" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8= + +import-cwd@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha1-IIRVR3GAFRJuqbNna3WS+4vUz5I= + dependencies: + import-from "^3.0.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha1-BVz+w4zVon2AV8pRN219O/CJGWY= + dependencies: + resolve-from "^5.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/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, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= + +inquirer@7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.0.0.tgz?cache=0&sync_timestamp=1578357366159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" + integrity sha1-nisDLd532h2124BHWLj+o6lwUZo= + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^6.0.0: + version "6.5.2" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1578357366159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo= + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.3: + version "7.0.3" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.0.3.tgz?cache=0&sync_timestamp=1578357366159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.0.3.tgz#f9b4cd2dff58b9f73e8d43759436ace15bed4567" + integrity sha1-+bTNLf9Yufc+jUN1lDas4VvtRWc= + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= + +is-ci@2.0.0, is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-interactive/download/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha1-zqbmrlyHCnsKAAQHC3tYfgJSkS4= + +is-npm@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-npm/download/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" + integrity sha1-7JFHv7YpxD9JTPZ5Nqlh7ex+gFM= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-plain-object@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" + integrity sha1-R7/F2htdUNZBEIBsGZNZSC51qSg= + dependencies: + isobject "^4.0.0" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-redirect/download/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-regular-file@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/is-regular-file/download/is-regular-file-1.1.1.tgz#ffcf9cae56ec63bc55b17d6fed1af441986dab66" + integrity sha1-/8+crlbsY7xVsX1v7Rr0QZhtq2Y= + +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha1-13hIi9CkZmo76KFIK58rqv7eqLQ= + +is-scoped@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-scoped/download/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" + integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= + dependencies: + scoped-regex "^1.0.0" + +is-ssh@^1.3.0: + version "1.3.1" + resolved "https://registry.npm.taobao.org/is-ssh/download/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" + integrity sha1-80moyt0k5lKYA3pSLPdSDy6BoPM= + dependencies: + protocols "^1.1.0" + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isbinaryfile@^4.0.0: + version "4.0.4" + resolved "https://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-4.0.4.tgz?cache=0&sync_timestamp=1578829433259&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisbinaryfile%2Fdownload%2Fisbinaryfile-4.0.4.tgz#6803f81a8944201c642b6e17da041e24deb78712" + integrity sha1-aAP4GolEIBxkK24X2gQeJN63hxI= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isobject@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" + integrity sha1-PxyRVec7GSAiqAgZus0DQ3EWl7A= + +istextorbinary@^2.5.1: + version "2.6.0" + resolved "https://registry.npm.taobao.org/istextorbinary/download/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + integrity sha1-YHdjFfsPo5ma3SdsAsaVV7nKKKs= + dependencies: + binaryextensions "^2.1.2" + editions "^2.2.0" + textextensions "^2.5.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz?cache=0&sync_timestamp=1573883570656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkeyv%2Fdownload%2Fkeyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk= + dependencies: + json-buffer "3.0.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE= + +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/latest-version/download/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4= + dependencies: + package-json "^6.3.0" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/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" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/lodash.find/download/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.npm.taobao.org/lodash.set/download/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2: + version "4.17.15" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1577793955950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha1-86CFFqXeqJMzan3uFNGKHP2rd8Q= + dependencies: + chalk "^2.4.2" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk= + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +macos-release@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/macos-release/download/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" + integrity sha1-6xkwsDbAgArevM1fF7xMEt6Ltx8= + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha1-ecEDO4BRW9bSTsmTPoYMp17ifww= + dependencies: + pify "^3.0.0" + +make-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" + integrity sha1-G1859rknDtM/nwVMXA+EMEmJ+AE= + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +mem-fs-editor@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/mem-fs-editor/download/mem-fs-editor-6.0.0.tgz#d63607cf0a52fe6963fc376c6a7aa52db3edabab" + integrity sha1-1jYHzwpS/mlj/DdsanqlLbPtq6s= + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^2.6.1" + glob "^7.1.4" + globby "^9.2.0" + isbinaryfile "^4.0.0" + mkdirp "^0.5.0" + multimatch "^4.0.0" + rimraf "^2.6.3" + through2 "^3.0.1" + vinyl "^2.2.0" + +mem-fs@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/mem-fs/download/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" + integrity sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw= + dependencies: + through2 "^2.0.0" + vinyl "^1.1.0" + vinyl-file "^2.0.0" + +merge2@^1.2.3, merge2@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE= + +micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.npm.taobao.org/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" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz?cache=0&sync_timestamp=1578281193492&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI= + +mime-db@1.43.0: + version "1.43.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.43.0.tgz?cache=0&sync_timestamp=1578281193492&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg= + +mime-types@2.1.24: + version "2.1.24" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz?cache=0&sync_timestamp=1578282566609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha1-tvjQs+lR77d97eyhlM/20W9nb4E= + dependencies: + mime-db "1.40.0" + +mime-types@^2.1.12: + version "2.1.26" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.26.tgz?cache=0&sync_timestamp=1578282566609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha1-nJIfwJt+FJpl39wNpNIJlyALCgY= + dependencies: + mime-db "1.43.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/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.5.0: + version "0.5.1" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +multimatch@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/multimatch/download/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" + integrity sha1-jDwPbj6ESa2grz3SnvtJGjdRkbM= + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npm.taobao.org/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" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +node-fetch@^2.3.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0= + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/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-url@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha1-RTNUCH5sqWlXvY9br3U/WYIUISk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1577052941951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +octokit-pagination-methods@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/octokit-pagination-methods/download/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" + integrity sha1-z0cu3J1VEFX573P25CtNu0yAvqQ= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U= + dependencies: + mimic-fn "^2.1.0" + +ora@4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/ora/download/ora-4.0.2.tgz#0e1e68fd45b135d28648b27cf08081fa6e8a297d" + integrity sha1-Dh5o/UWxNdKGSLJ88ICB+m6KKX0= + dependencies: + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +os-name@3.1.0, os-name@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/os-name/download/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha1-3sGdlmKW4c1i1wGlpm7h3ernCAE= + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.2.2" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.2.tgz?cache=0&sync_timestamp=1577904187480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-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 "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0, p-try@^2.1.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA= + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/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" + +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha1-c+URTJhtFD76NxLU6iTbmkJm9g8= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse-path@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/parse-path/download/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" + integrity sha1-DsdpcElJd4yzuO2l6ZTDIHOhrf8= + dependencies: + is-ssh "^1.3.0" + protocols "^1.4.0" + +parse-url@^5.0.0: + version "5.0.1" + resolved "https://registry.npm.taobao.org/parse-url/download/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" + integrity sha1-mcQIT8Eb4UFB76QbPRF6lvy5Un8= + dependencies: + is-ssh "^1.3.0" + normalize-url "^3.3.0" + parse-path "^4.0.0" + protocols "^1.4.0" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441322626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +picomatch@^2.0.5: + version "2.2.1" + resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha1-IbrIiLbthgH4Mc54FuM1vHefCko= + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +pretty-bytes@^5.2.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI= + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +protocols@^1.1.0, protocols@^1.4.0: + version "1.4.7" + resolved "https://registry.npm.taobao.org/protocols/download/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" + integrity sha1-lfeIpPDpebKR/+/PVjatET0DfTI= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-chunk@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/read-chunk/download/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" + integrity sha1-KYSv54ypv7vbdLGTh7+ehiicFso= + dependencies: + pify "^4.0.1" + with-open-file "^0.1.6" + +read-pkg-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-5.0.0.tgz?cache=0&sync_timestamp=1575620499078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" + integrity sha1-tqZ0HLFE7TYQVU9AFiqgem22Ibg= + dependencies: + find-up "^3.0.0" + read-pkg "^5.0.0" + +read-pkg@^5.0.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@2 || 3": + version "3.4.0" + resolved "https://registry.npm.taobao.org/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" + +readable-stream@^2.0.2, readable-stream@^2.3.5, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/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" + +registry-auth-token@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" + integrity sha1-MOVZYe7Hc3naVR6lxM9Dy/A1Ir4= + dependencies: + rc "^1.2.8" + safe-buffer "^5.0.1" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/registry-url/download/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk= + dependencies: + rc "^1.2.8" + +release-it@^12.4.3: + version "12.4.3" + resolved "https://registry.npm.taobao.org/release-it/download/release-it-12.4.3.tgz#c99a72cd1c812bcde3b532ecfee8b22c652b36f8" + integrity sha1-yZpyzRyBK83jtTLs/uiyLGUrNvg= + dependencies: + "@iarna/toml" "2.2.3" + "@octokit/rest" "16.33.0" + async-retry "1.2.3" + chalk "2.4.2" + cosmiconfig "5.2.1" + debug "4.1.1" + deprecated-obj "1.0.1" + detect-repo-changelog "1.0.1" + find-up "4.1.0" + form-data "2.5.1" + git-url-parse "11.1.2" + globby "10.0.1" + got "9.6.0" + import-cwd "3.0.0" + inquirer "7.0.0" + is-ci "2.0.0" + lodash "4.17.15" + mime-types "2.1.24" + ora "4.0.2" + os-name "3.1.0" + semver "6.3.0" + shelljs "0.8.3" + supports-color "7.1.0" + update-notifier "3.0.1" + url-join "4.0.1" + uuid "3.3.3" + window-size "1.1.1" + yargs-parser "15.0.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.10.0: + version "1.14.2" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha1-2/MdD6mLHymqUWl4O5wpDLhl/qI= + dependencies: + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +run-async@^2.0.0, run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk= + +rxjs@>=6.4.0, rxjs@^6.4.0, rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw= + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk= + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +scoped-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/scoped-regex/download/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" + integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/semver-diff/download/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@6.3.0, semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/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" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shelljs@0.8.3, shelljs@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" + integrity sha1-p/MxlSDr8J7oEnWyNorbKGZZsJc= + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1577562191980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-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-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/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" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/string-template/download/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= + +string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/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-width@^4.1.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom-stream/download/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@7.1.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/term-size/download/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/textextensions/download/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha1-1+SrE/5U4y4IhzvkDVG3QimwD8Q= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" + integrity sha1-OSducTwzAu3544jdnIEt07glvVo= + dependencies: + readable-stream "2 || 3" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha1-zgqgwvPfat+FLvtASng+d8BHV3E= + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/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-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/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" + +tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= + +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +typescript@^3.7.4: + version "3.7.4" + resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" + integrity sha1-F0Ol7F/vah+p8+RwjjPIHHOHbBk= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +universal-user-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/universal-user-agent/download/universal-user-agent-4.0.0.tgz#27da2ec87e32769619f68a14996465ea1cb9df16" + integrity sha1-J9ouyH4ydpYZ9ooUmWRl6hy53xY= + dependencies: + os-name "^3.1.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/untildify/download/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" + integrity sha1-HntCsUC8/ZIrIucMoSZb/jY0x8k= + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/unzip-response/download/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +update-notifier@3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/update-notifier/download/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" + integrity sha1-eOy2i5FeL9G+n3Z/bimM6HtzYlA= + dependencies: + boxen "^3.0.0" + chalk "^2.0.1" + configstore "^4.0.0" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.1.0" + is-npm "^3.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-join@4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/url-join/download/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha1-tkLiGiZGgI/6F4xMX9o5hE4Szec= + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@3.3.3: + version "3.3.3" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha1-RWjwIW54dg7h2/Ok0s9T4iQRKGY= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npm.taobao.org/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" + +vinyl-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/vinyl-file/download/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" + integrity sha1-p+v1/779obfRjRQPyweyI++2dRo= + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + strip-bom-stream "^2.0.0" + vinyl "^1.1.0" + +vinyl@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/vinyl/download/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha1-2FsH2pbkWNJbL/4Z/s6fLKoT7YY= + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/widest-line/download/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w= + dependencies: + string-width "^2.1.1" + +window-size@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/window-size/download/window-size-1.1.1.tgz#9858586580ada78ab26ecd6978a6e03115c1af20" + integrity sha1-mFhYZYCtp4qybs1peKbgMRXBryA= + dependencies: + define-property "^1.0.0" + is-number "^3.0.0" + +windows-release@^3.1.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/windows-release/download/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" + integrity sha1-gSLa1a/DA9gzQiOAaAp5zfqReF8= + dependencies: + execa "^1.0.0" + +with-open-file@^0.1.6: + version "0.1.7" + resolved "https://registry.npm.taobao.org/with-open-file/download/with-open-file-0.1.7.tgz?cache=0&sync_timestamp=1573119118110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwith-open-file%2Fdownload%2Fwith-open-file-0.1.7.tgz#e2de8d974e8a8ae6e58886be4fe8e7465b58a729" + integrity sha1-4t6Nl06KiubliIa+T+jnRltYpyk= + dependencies: + p-finally "^1.0.0" + p-try "^2.1.0" + pify "^4.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yargs-parser@15.0.0: + version "15.0.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" + integrity sha1-zdepdJDsg2GV9Z8/Tb5eqej3Xwg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yeoman-environment@^2.3.4: + version "2.7.0" + resolved "https://registry.npm.taobao.org/yeoman-environment/download/yeoman-environment-2.7.0.tgz#d1b6679de883ce14a68b869c4b19d55a0d66f477" + integrity sha1-0bZnneiDzhSmi4acSxnVWg1m9Hc= + dependencies: + chalk "^2.4.1" + cross-spawn "^6.0.5" + debug "^3.1.0" + diff "^3.5.0" + escape-string-regexp "^1.0.2" + globby "^8.0.1" + grouped-queue "^0.3.3" + inquirer "^6.0.0" + is-scoped "^1.0.0" + lodash "^4.17.10" + log-symbols "^2.2.0" + mem-fs "^1.1.0" + strip-ansi "^4.0.0" + text-table "^0.2.0" + untildify "^3.0.3" + +yeoman-generator@^4.4.0: + version "4.4.0" + resolved "https://registry.npm.taobao.org/yeoman-generator/download/yeoman-generator-4.4.0.tgz#182c992509d4b7512a6bbe17c0dfdf7e52953344" + integrity sha1-GCyZJQnUt1Eqa74XwN/fflKVM0Q= + dependencies: + async "^2.6.2" + chalk "^2.4.2" + cli-table "^0.3.1" + cross-spawn "^6.0.5" + dargs "^6.1.0" + dateformat "^3.0.3" + debug "^4.1.1" + diff "^4.0.1" + error "^7.0.2" + find-up "^3.0.0" + github-username "^3.0.0" + istextorbinary "^2.5.1" + lodash "^4.17.11" + make-dir "^3.0.0" + mem-fs-editor "^6.0.0" + minimist "^1.2.0" + pretty-bytes "^5.2.0" + read-chunk "^3.2.0" + read-pkg-up "^5.0.0" + rimraf "^2.6.3" + run-async "^2.0.0" + shelljs "^0.8.3" + text-table "^0.2.0" + through2 "^3.0.1" + yeoman-environment "^2.3.4" diff --git a/packages/vant-cli/README.md b/packages/vant-cli/README.md index cfb72bf54..ffa75564a 100644 --- a/packages/vant-cli/README.md +++ b/packages/vant-cli/README.md @@ -9,7 +9,15 @@ Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭 - 内置 ESlint、Stylelint 校验规则,提交代码时自动执行校验 - 构建后的组件库默认支持按需引入、主题定制、Tree Shaking -### 安装 +### 快速上手 + +执行以下命令可以快速创建一个基于 Vant Cli 的项目: + +```bash +npx create-vant-cli-app +``` + +### 手动安装 ```shell # 通过 npm 安装 diff --git a/packages/vant-cli/changelog.md b/packages/vant-cli/changelog.md index 17f841880..4255e3c0c 100644 --- a/packages/vant-cli/changelog.md +++ b/packages/vant-cli/changelog.md @@ -1,5 +1,40 @@ # 更新日志 +### [v2.2.2] +`2020-02-05` + +- 修复在 windows 上获取 markdown 路径错误的问题 ([#5626](https://github.com/youzan/vant/pull/5626)) + + +### [v2.2.1] +`2020-02-04` + +- 升级 babel@7.8 +- 修复切换版本时跳转 undefined 的问题 ([#5620](https://github.com/youzan/vant/pull/5620)) + + +### [v2.2.0] +`2020-01-19` + +- 升级 @vant/eslint-config@2.0.0 + + +### [v2.1.8] +`2020-01-18` + +- 新增 create-vant-cli-app 初始化命令 +- 新增 --version 选项 +- 优化站点导航栏颜色 +- 优化站点代码块颜色 + + +### [v2.1.7] +`2020-01-15` + +- 优化 help 命令 +- 优化控制台输出信息 + + ### [v2.1.6] `2020-01-12` diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 6aa36e95b..e56d5a7aa 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -1,6 +1,6 @@ { "name": "@vant/cli", - "version": "2.1.6", + "version": "2.2.2", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -23,6 +23,9 @@ "template", "preset.js" ], + "keywords": [ + "vant" + ], "author": "chenjiahan", "license": "MIT", "peerDependencies": { @@ -30,78 +33,75 @@ "vue-template-compiler": "^2.5.22" }, "devDependencies": { - "@types/eslint": "^6.1.3", "@types/fs-extra": "^8.0.1", - "@types/html-webpack-plugin": "^3.2.1", + "@types/html-webpack-plugin": "^3.2.2", "@types/lodash": "^4.14.149", "@types/postcss-load-config": "^2.0.1", "@types/sass": "^1.16.0", "@types/shelljs": "^0.8.6", - "@types/signale": "^1.2.1", - "@types/source-map": "^0.5.7", - "@types/stylelint": "^9.10.1", - "@types/webpack": "^4.41.2", - "@types/webpack-dev-server": "^3.9.0", + "@types/webpack": "^4.41.4", + "@types/webpack-dev-server": "^3.10.0", "@types/webpack-merge": "^4.1.5" }, "dependencies": { - "@babel/core": "^7.7.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4", - "@babel/plugin-proposal-optional-chaining": "^7.7.5", - "@babel/plugin-syntax-jsx": "^7.7.4", - "@babel/plugin-transform-object-assign": "^7.7.4", - "@babel/plugin-transform-runtime": "^7.7.6", - "@babel/preset-env": "^7.7.7", - "@babel/preset-typescript": "^7.7.7", + "@babel/core": "^7.8.4", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-object-assign": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.8.3", + "@babel/preset-env": "^7.8.4", + "@babel/preset-typescript": "^7.8.3", "@nuxt/friendly-errors-webpack-plugin": "^2.5.0", - "@types/jest": "^24.0.25", - "@vant/eslint-config": "^1.5.1", + "@types/jest": "^25.1.1", + "@vant/eslint-config": "^2.0.0", "@vant/markdown-loader": "^2.3.0", - "@vant/markdown-vetur": "^1.0.0", + "@vant/markdown-vetur": "^1.1.0", "@vant/stylelint-config": "^1.1.0", "@vant/touch-emulator": "^1.2.0", "@vue/babel-preset-jsx": "^1.1.2", "@vue/component-compiler-utils": "^3.1.1", "@vue/test-utils": "1.0.0-beta.29", - "autoprefixer": "^9.7.3", - "babel-jest": "^24.9.0", + "address": "^1.1.2", + "autoprefixer": "^9.7.4", + "babel-jest": "^25.1.0", "babel-loader": "^8.0.6", "babel-plugin-import": "^1.13.0", "cache-loader": "^4.1.0", "chokidar": "^3.3.1", - "clean-css": "^4.2.1", - "codecov": "^3.6.1", - "commander": "^4.1.0", + "clean-css": "^4.2.3", + "codecov": "^3.6.4", + "commander": "^4.1.1", + "consola": "^2.11.3", "conventional-changelog": "^3.1.18", - "cross-env": "^6.0.3", - "css-loader": "^3.4.1", + "cross-env": "^7.0.0", + "css-loader": "^3.4.2", "eslint": "^6.8.0", + "fast-glob": "^3.1.1", "gh-pages": "2.0.1", "html-webpack-plugin": "3.2.0", - "husky": "^4.0.4", - "jest": "^24.9.0", + "husky": "^4.2.1", + "jest": "^25.1.0", "jest-canvas-mock": "^2.2.0", "jest-serializer-vue": "^2.0.2", "less": "^3.10.3", "less-loader": "^5.0.0", - "lint-staged": "^9.5.0", + "lint-staged": "^10.0.7", "lodash": "^4.17.15", + "ora": "^4.0.3", "portfinder": "^1.0.25", "postcss": "^7.0.26", "postcss-loader": "^3.0.0", "release-it": "^12.4.3", - "sass": "^1.24.4", - "sass-loader": "^8.0.0", + "sass": "^1.25.0", + "sass-loader": "^8.0.2", "shelljs": "^0.8.3", - "signale": "^1.4.0", - "style-loader": "^1.1.2", - "stylelint": "^12.0.1", - "typescript": "^3.7.4", + "style-loader": "^1.1.3", + "stylelint": "^13.0.0", + "typescript": "^3.7.5", "vue-jest": "4.0.0-beta.2", "vue-loader": "^15.8.3", - "vue-router": "^3.1.3", + "vue-router": "^3.1.5", "webpack": "^4.41.5", - "webpack-dev-server": "3.10.1", + "webpack-dev-server": "3.10.2", "webpack-merge": "^4.2.2", "webpackbar": "^4.0.0" }, @@ -120,13 +120,5 @@ "global-require": 0, "import/no-dynamic-require": 0 } - }, - "stylelint": { - "extends": [ - "@vant/stylelint-config" - ] - }, - "prettier": { - "singleQuote": true } } diff --git a/packages/vant-cli/site/common/iframe-router.js b/packages/vant-cli/site/common/iframe-router.js index 8f426e611..703beec2b 100644 --- a/packages/vant-cli/site/common/iframe-router.js +++ b/packages/vant-cli/site/common/iframe-router.js @@ -4,7 +4,7 @@ import { iframeReady, isMobile } from '.'; -window.syncPath = function () { +window.syncPath = function() { const router = window.vueRouter; const isInIframe = window !== window.top; const currentDir = router.history.current.path; @@ -21,7 +21,7 @@ window.syncPath = function () { } }; -window.replacePath = function (path = '') { +window.replacePath = function(path = '') { // should preserve hash for anchor if (window.vueRouter.currentRoute.path !== path) { window.vueRouter.replace(path).catch(() => {}); diff --git a/packages/vant-cli/site/common/index.js b/packages/vant-cli/site/common/index.js index a118e1802..38d345ea8 100644 --- a/packages/vant-cli/site/common/index.js +++ b/packages/vant-cli/site/common/index.js @@ -27,7 +27,4 @@ export function decamelize(str, sep = '-') { .toLowerCase(); } -export { - isMobile, - iframeReady -}; +export { isMobile, iframeReady }; diff --git a/packages/vant-cli/site/common/style/highlight.less b/packages/vant-cli/site/common/style/highlight.less index 88591ddec..e0b25a2c8 100644 --- a/packages/vant-cli/site/common/style/highlight.less +++ b/packages/vant-cli/site/common/style/highlight.less @@ -7,11 +7,12 @@ code { overflow-x: auto; color: @van-doc-code-color; font-weight: 400; - font-size: 13px; + font-size: 13.4px; font-family: @van-doc-code-font-family; line-height: 26px; white-space: pre-wrap; word-wrap: break-word; + -webkit-font-smoothing: auto; } pre { @@ -35,7 +36,7 @@ pre { .hljs-template-tag, .hljs-template-variable, .hljs-addition { - color: @van-doc-purple; + color: @van-doc-green; } .hljs-comment, @@ -43,21 +44,23 @@ pre { color: #999; } +.hljs-params, +.hljs-keyword, +.hljs-attribute { + color: @van-doc-purple; +} + +.hljs-deletion, +.hljs-variable, .hljs-number, .hljs-regexp, .hljs-literal, .hljs-bullet, .hljs-link { - color: #07c160; -} - -.hljs-deletion, -.hljs-variable { - color: #88f; + color: #eb6f6f; } .hljs-attr, -.hljs-keyword, .hljs-selector-tag, .hljs-title, .hljs-section, @@ -68,13 +71,9 @@ pre { .hljs-selector-id, .hljs-selector-class, .hljs-strong { - color: @van-doc-blue; + color: #4994df; } .hljs-emphasis { font-style: italic; } - -.hljs-attribute { - color: #e6550d; -} diff --git a/packages/vant-cli/site/common/style/var.less b/packages/vant-cli/site/common/style/var.less index bc75b3632..ac642ce4c 100644 --- a/packages/vant-cli/site/common/style/var.less +++ b/packages/vant-cli/site/common/style/var.less @@ -1,15 +1,16 @@ @van-doc-black: #323233; @van-doc-blue: #1989fa; -@van-doc-purple: #5758bb; +@van-doc-purple: #8080ff; @van-doc-fuchsia: #a7419e; +@van-doc-green: #4fc08d; @van-doc-text-color: #34495e; -@van-doc-text-light-blue: rgba(69, 90, 100, .6); +@van-doc-text-light-blue: rgba(69, 90, 100, 0.6); @van-doc-background-color: #f7f8fa; @van-doc-grey: #999; @van-doc-dark-grey: #666; @van-doc-light-grey: #ccc; @van-doc-border-color: #f1f4f8; -@van-doc-code-color: #455a64; +@van-doc-code-color: #58727e; @van-doc-code-background-color: #f1f4f8; @van-doc-code-font-family: 'Source Code Pro', 'Monaco', 'Inconsolata', monospace; @van-doc-padding: 30px; diff --git a/packages/vant-cli/site/desktop/App.vue b/packages/vant-cli/site/desktop/App.vue index b50c19985..b633671c8 100644 --- a/packages/vant-cli/site/desktop/App.vue +++ b/packages/vant-cli/site/desktop/App.vue @@ -19,7 +19,7 @@ import { setLang } from '../common/locales'; export default { components: { - VanDoc + VanDoc, }, data() { @@ -27,7 +27,7 @@ export default { return { packageVersion, - simulator: `${path}mobile.html${location.hash}` + simulator: `${path}mobile.html${location.hash}`, }; }, @@ -41,7 +41,7 @@ export default { const { locales = {} } = config.site; return Object.keys(locales).map(key => ({ lang: key, - label: locales[key].langLabel || '' + label: locales[key].langLabel || '', })); }, @@ -61,14 +61,14 @@ export default { } return null; - } + }, }, watch: { lang(val) { setLang(val); this.setTitle(); - } + }, }, created() { @@ -84,8 +84,8 @@ export default { } document.title = title; - } - } + }, + }, }; diff --git a/packages/vant-cli/site/desktop/components/Container.vue b/packages/vant-cli/site/desktop/components/Container.vue index 86313a5ef..7ed8d7e0f 100644 --- a/packages/vant-cli/site/desktop/components/Container.vue +++ b/packages/vant-cli/site/desktop/components/Container.vue @@ -12,8 +12,8 @@ export default { name: 'van-doc-container', props: { - hasSimulator: Boolean - } + hasSimulator: Boolean, + }, }; diff --git a/packages/vant-cli/site/desktop/components/Content.vue b/packages/vant-cli/site/desktop/components/Content.vue index 6e129d8bb..9ddbc2ad0 100644 --- a/packages/vant-cli/site/desktop/components/Content.vue +++ b/packages/vant-cli/site/desktop/components/Content.vue @@ -15,8 +15,8 @@ export default { return path.split('/').slice(-1)[0]; } return this.$route.name; - } - } + }, + }, }; @@ -37,7 +37,8 @@ export default { } a { - color: @van-doc-blue; + color: @van-doc-green; + -webkit-font-smoothing: auto; } h1, @@ -67,9 +68,9 @@ export default { } h3 { - margin-bottom: 12px; + margin-bottom: 16px; font-weight: 500; - font-size: 17px; + font-size: 18px; } h4 { @@ -119,6 +120,7 @@ export default { &:first-child { padding-left: 0; + // version tag code { margin: 0; padding: 2px 6px; @@ -135,18 +137,12 @@ export default { } } - code { - padding: 0 8px; - font-size: 13px; - font-family: inherit; - word-break: keep-all; - } - em { - color: @van-doc-fuchsia; - font-size: 12px; + color: @van-doc-green; + font-size: 12.5px; font-family: @van-doc-code-font-family; font-style: normal; + -webkit-font-smoothing: auto; } } @@ -185,8 +181,16 @@ export default { display: inline; margin: 2px 3px; padding: 2px 5px; + font-size: 13px; + font-family: inherit; + word-break: keep-all; background-color: #f0f2f5; border-radius: 4px; + -webkit-font-smoothing: antialiased; + } + + p > code { + font-size: 14px; } section { diff --git a/packages/vant-cli/site/desktop/components/Header.vue b/packages/vant-cli/site/desktop/components/Header.vue index e0739e550..b987ac65d 100644 --- a/packages/vant-cli/site/desktop/components/Header.vue +++ b/packages/vant-cli/site/desktop/components/Header.vue @@ -3,21 +3,36 @@
- +
  • - - + +
  • -
  • - +
  • + {{ versions[0].label }}
    @@ -49,19 +64,19 @@ export default { name: 'van-doc-header', components: { - SearchInput + SearchInput, }, props: { lang: String, config: Object, versions: Array, - langConfigs: Array + langConfigs: Array, }, data() { return { - showVersionPop: false + showVersionPop: false, }; }, @@ -85,7 +100,7 @@ export default { searchConfig() { return this.config.searchConfig; - } + }, }, methods: { @@ -93,7 +108,10 @@ export default { const val = !this.showVersionPop; const action = val ? 'add' : 'remove'; - document.body[`${action}EventListener`]('click', this.checkHideVersionPop); + document.body[`${action}EventListener`]( + 'click', + this.checkHideVersionPop + ); this.showVersionPop = val; }, @@ -109,9 +127,11 @@ export default { }, onSwitchVersion(version) { - location.href = version.link; - } - } + if (version.link) { + location.href = version.link; + } + }, + }, }; @@ -120,7 +140,6 @@ export default { .van-doc-header { width: 100%; - box-shadow: 0 4px 12px #ebedf0; user-select: none; &__top { diff --git a/packages/vant-cli/site/desktop/components/Nav.vue b/packages/vant-cli/site/desktop/components/Nav.vue index ce53c0573..1e3039e6d 100644 --- a/packages/vant-cli/site/desktop/components/Nav.vue +++ b/packages/vant-cli/site/desktop/components/Nav.vue @@ -28,18 +28,18 @@ export default { name: 'van-doc-nav', components: { - [NavLink.name]: NavLink + [NavLink.name]: NavLink, }, props: { lang: String, - navConfig: Array + navConfig: Array, }, data() { return { top: 60, - bottom: 0 + bottom: 0, }; }, @@ -47,13 +47,13 @@ export default { style() { return { top: this.top + 'px', - bottom: this.bottom + 'px' + bottom: this.bottom + 'px', }; }, base() { return this.lang ? `/${this.lang}/` : '/'; - } + }, }, created() { @@ -65,8 +65,8 @@ export default { onScroll() { const { pageYOffset: offset } = window; this.top = Math.max(0, 60 - offset); - } - } + }, + }, }; @@ -126,16 +126,15 @@ export default { color: #455a64; font-size: 14px; line-height: 28px; - transition: all 0.3s; + transition: color 0.2s; - &:hover { - color: #000; + &:hover, + &.active { + color: @van-doc-green; } &.active { - color: #000; - font-weight: 500; - font-size: 15px; + -webkit-font-smoothing: auto; } span { diff --git a/packages/vant-cli/site/desktop/components/NavLink.vue b/packages/vant-cli/site/desktop/components/NavLink.vue index ebc017eb6..b4090b1eb 100644 --- a/packages/vant-cli/site/desktop/components/NavLink.vue +++ b/packages/vant-cli/site/desktop/components/NavLink.vue @@ -1,7 +1,12 @@ diff --git a/packages/vant-cli/site/desktop/components/SearchInput.vue b/packages/vant-cli/site/desktop/components/SearchInput.vue index 91fda83b1..103f74adc 100644 --- a/packages/vant-cli/site/desktop/components/SearchInput.vue +++ b/packages/vant-cli/site/desktop/components/SearchInput.vue @@ -1,5 +1,5 @@ diff --git a/packages/vant-cli/site/desktop/components/Simulator.vue b/packages/vant-cli/site/desktop/components/Simulator.vue index 4e7c64924..5c0f0b9fc 100644 --- a/packages/vant-cli/site/desktop/components/Simulator.vue +++ b/packages/vant-cli/site/desktop/components/Simulator.vue @@ -9,13 +9,13 @@ export default { name: 'van-doc-simulator', props: { - src: String + src: String, }, data() { return { scrollTop: window.scrollY, - windowHeight: window.innerHeight + windowHeight: window.innerHeight, }; }, @@ -27,9 +27,9 @@ export default { simulatorStyle() { const height = Math.min(640, this.windowHeight - 90); return { - height: height + 'px' + height: height + 'px', }; - } + }, }, mounted() { @@ -39,7 +39,7 @@ export default { window.addEventListener('resize', () => { this.windowHeight = window.innerHeight; }); - } + }, }; diff --git a/packages/vant-cli/site/desktop/components/index.vue b/packages/vant-cli/site/desktop/components/index.vue index 1b078658a..09c069b6a 100644 --- a/packages/vant-cli/site/desktop/components/index.vue +++ b/packages/vant-cli/site/desktop/components/index.vue @@ -8,7 +8,7 @@ @switch-version="$emit('switch-version', $event)" /> - + @@ -32,7 +32,7 @@ export default { DocHeader, DocContent, DocContainer, - DocSimulator + DocSimulator, }, props: { @@ -42,19 +42,19 @@ export default { langConfigs: Array, config: { type: Object, - required: true + required: true, }, base: { type: String, - default: '' - } + default: '', + }, }, watch: { // eslint-disable-next-line '$route.path'() { this.setNav(); - } + }, }, created() { @@ -98,8 +98,8 @@ export default { break; } }); - } - } + }, + }, }; diff --git a/packages/vant-cli/site/desktop/index.html b/packages/vant-cli/site/desktop/index.html index fb5c24522..23d0381ad 100644 --- a/packages/vant-cli/site/desktop/index.html +++ b/packages/vant-cli/site/desktop/index.html @@ -1,29 +1,43 @@ - - - <%= htmlWebpackPlugin.options.title %> - - - - - - - - <% if (htmlWebpackPlugin.options.baiduAnalytics) { %> - - <% } %> - - -
    - - + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + <% if (htmlWebpackPlugin.options.baiduAnalytics) { %> + + <% } %> + + +
    + + diff --git a/packages/vant-cli/site/desktop/main.js b/packages/vant-cli/site/desktop/main.js index f3437235f..33c2a7708 100644 --- a/packages/vant-cli/site/desktop/main.js +++ b/packages/vant-cli/site/desktop/main.js @@ -15,5 +15,5 @@ new Vue({ } }, render: h => h(App), - router + router, }); diff --git a/packages/vant-cli/site/desktop/router.js b/packages/vant-cli/site/desktop/router.js index b283ad334..a55e60a9a 100644 --- a/packages/vant-cli/site/desktop/router.js +++ b/packages/vant-cli/site/desktop/router.js @@ -20,13 +20,13 @@ function parseName(name) { return { component: `${decamelize(component)}`, - lang: pairs.join('-') + lang: pairs.join('-'), }; } return { component: `${decamelize(name)}`, - lang: '' + lang: '', }; } @@ -48,12 +48,12 @@ function getRoutes() { if (locales) { routes.push({ path: '*', - redirect: route => `/${getLangFromRoute(route)}/` + redirect: route => `/${getLangFromRoute(route)}/`, }); } else { routes.push({ path: '*', - redirect: '/' + redirect: '/', }); } @@ -62,7 +62,7 @@ function getRoutes() { name: lang, path: `/${lang || ''}`, component: Home, - meta: { lang } + meta: { lang }, }); } @@ -80,8 +80,8 @@ function getRoutes() { component: documents[name], meta: { lang, - name: component - } + name: component, + }, }); } else { routes.push({ @@ -89,8 +89,8 @@ function getRoutes() { path: `/${component}`, component: documents[name], meta: { - name: component - } + name: component, + }, }); } }); @@ -109,7 +109,7 @@ export const router = new VueRouter({ } return { x: 0, y: 0 }; - } + }, }); router.afterEach(() => { diff --git a/packages/vant-cli/site/desktop/utils.js b/packages/vant-cli/site/desktop/utils.js index 5db855c0f..154d088a5 100644 --- a/packages/vant-cli/site/desktop/utils.js +++ b/packages/vant-cli/site/desktop/utils.js @@ -5,7 +5,7 @@ export function scrollToAnchor(selector) { const el = document.querySelector(selector); if (el) { el.scrollIntoView({ - behavior: 'smooth' + behavior: 'smooth', }); clearInterval(timer); } else { diff --git a/packages/vant-cli/site/mobile/App.vue b/packages/vant-cli/site/mobile/App.vue index b5ca849c1..905517f1b 100644 --- a/packages/vant-cli/site/mobile/App.vue +++ b/packages/vant-cli/site/mobile/App.vue @@ -11,7 +11,7 @@ import DemoNav from './components/DemoNav'; export default { - components: { DemoNav } + components: { DemoNav }, }; diff --git a/packages/vant-cli/site/mobile/components/DemoBlock.vue b/packages/vant-cli/site/mobile/components/DemoBlock.vue index 93bfbea03..9e8cb782d 100644 --- a/packages/vant-cli/site/mobile/components/DemoBlock.vue +++ b/packages/vant-cli/site/mobile/components/DemoBlock.vue @@ -10,8 +10,8 @@ export default { name: 'demo-block', props: { - title: String - } + title: String, + }, }; diff --git a/packages/vant-cli/site/mobile/components/DemoHome.vue b/packages/vant-cli/site/mobile/components/DemoHome.vue index e8d77b68e..fbe9c5e52 100644 --- a/packages/vant-cli/site/mobile/components/DemoHome.vue +++ b/packages/vant-cli/site/mobile/components/DemoHome.vue @@ -4,16 +4,14 @@ class="demo-home__title" :class="{ 'demo-home__title--small': smallTitle }" > - + {{ config.title }} -

    {{ config.description }}

    +

    + {{ config.description }} +

    @@ -24,7 +22,7 @@ import DemoHomeNav from './DemoHomeNav'; export default { components: { - DemoHomeNav + DemoHomeNav, }, computed: { @@ -45,8 +43,8 @@ export default { smallTitle() { return this.config.title.length >= 8; - } - } + }, + }, }; diff --git a/packages/vant-cli/site/mobile/components/DemoHomeNav.vue b/packages/vant-cli/site/mobile/components/DemoHomeNav.vue index 63b26a31f..2ba2d074d 100644 --- a/packages/vant-cli/site/mobile/components/DemoHomeNav.vue +++ b/packages/vant-cli/site/mobile/components/DemoHomeNav.vue @@ -20,25 +20,25 @@ import ArrowRight from './ArrowRight'; export default { components: { - ArrowRight + ArrowRight, }, props: { lang: String, - group: Object + group: Object, }, data() { return { - active: [] + active: [], }; }, computed: { base() { return this.lang ? `/${this.lang}` : ''; - } - } + }, + }, }; diff --git a/packages/vant-cli/site/mobile/components/DemoNav.vue b/packages/vant-cli/site/mobile/components/DemoNav.vue index cbe64752a..9cc7e9305 100644 --- a/packages/vant-cli/site/mobile/components/DemoNav.vue +++ b/packages/vant-cli/site/mobile/components/DemoNav.vue @@ -13,7 +13,7 @@ export default { data() { return { path: - 'M296.114 508.035c-3.22-13.597.473-28.499 11.079-39.105l333.912-333.912c16.271-16.272 42.653-16.272 58.925 0s16.272 42.654 0 58.926L395.504 498.47l304.574 304.574c16.272 16.272 16.272 42.654 0 58.926s-42.654 16.272-58.926 0L307.241 528.058a41.472 41.472 0 0 1-11.127-20.023z' + 'M296.114 508.035c-3.22-13.597.473-28.499 11.079-39.105l333.912-333.912c16.271-16.272 42.653-16.272 58.925 0s16.272 42.654 0 58.926L395.504 498.47l304.574 304.574c16.272 16.272 16.272 42.654 0 58.926s-42.654 16.272-58.926 0L307.241 528.058a41.472 41.472 0 0 1-11.127-20.023z', }; }, @@ -21,14 +21,14 @@ export default { title() { const { name } = this.$route.meta || {}; return name ? name.replace(/-/g, '') : ''; - } + }, }, methods: { onBack() { history.back(); - } - } + }, + }, }; diff --git a/packages/vant-cli/site/mobile/components/DemoSection.vue b/packages/vant-cli/site/mobile/components/DemoSection.vue index 969a8ff72..2452394f5 100644 --- a/packages/vant-cli/site/mobile/components/DemoSection.vue +++ b/packages/vant-cli/site/mobile/components/DemoSection.vue @@ -18,8 +18,8 @@ export default { } return ''; - } - } + }, + }, }; diff --git a/packages/vant-cli/site/mobile/index.html b/packages/vant-cli/site/mobile/index.html index de6e2ffb1..35ecf3a99 100644 --- a/packages/vant-cli/site/mobile/index.html +++ b/packages/vant-cli/site/mobile/index.html @@ -1,30 +1,41 @@ - - - <%= htmlWebpackPlugin.options.title %> - - - - - - - <% if (htmlWebpackPlugin.options.baiduAnalytics) { %> - - <% } %> - - -
    - + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + <% if (htmlWebpackPlugin.options.baiduAnalytics) { %> + + <% } %> + + +
    + diff --git a/packages/vant-cli/site/mobile/main.js b/packages/vant-cli/site/mobile/main.js index 5c735e56f..94c80f4ae 100644 --- a/packages/vant-cli/site/mobile/main.js +++ b/packages/vant-cli/site/mobile/main.js @@ -16,6 +16,6 @@ setTimeout(() => { new Vue({ el: '#app', render: h => h(App), - router + router, }); }, 0); diff --git a/packages/vant-cli/site/mobile/router.js b/packages/vant-cli/site/mobile/router.js index 9340b8605..c3f1d9fa0 100644 --- a/packages/vant-cli/site/mobile/router.js +++ b/packages/vant-cli/site/mobile/router.js @@ -29,25 +29,25 @@ function getRoutes() { if (langs.length) { routes.push({ path: '*', - redirect: route => `/${getLangFromRoute(route)}/` + redirect: route => `/${getLangFromRoute(route)}/`, }); langs.forEach(lang => { routes.push({ path: `/${lang}`, component: DemoHome, - meta: { lang } + meta: { lang }, }); }); } else { routes.push({ path: '*', - redirect: () => '/' + redirect: () => '/', }); routes.push({ path: '/', - component: DemoHome + component: DemoHome, }); } @@ -62,8 +62,8 @@ function getRoutes() { component: demos[name], meta: { name, - lang - } + lang, + }, }); }); } else { @@ -72,8 +72,8 @@ function getRoutes() { path: `/${component}`, component: demos[name], meta: { - name - } + name, + }, }); } }); @@ -86,7 +86,7 @@ Vue.use(VueRouter); export const router = new VueRouter({ mode: 'hash', routes: getRoutes(), - scrollBehavior: (to, from, savedPosition) => savedPosition || { x: 0, y: 0 } + scrollBehavior: (to, from, savedPosition) => savedPosition || { x: 0, y: 0 }, }); router.afterEach(() => { diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index b7ee70ca2..4c554bb6d 100644 --- a/packages/vant-cli/src/commands/build.ts +++ b/packages/vant-cli/src/commands/build.ts @@ -1,11 +1,10 @@ -// @ts-ignore -import execa from 'execa'; import chokidar from 'chokidar'; import { join, relative } from 'path'; import { remove, copy, readdirSync } from 'fs-extra'; import { clean } from './clean'; import { CSS_LANG } from '../common/css'; -import { getStepper, getInteractiveLogger, logger } from '../common/logger'; +import { ora, consola, slimPath } from '../common/logger'; +import { installDependencies } from '../common/manager'; import { compileJs } from '../compiler/compile-js'; import { compileSfc } from '../compiler/compile-sfc'; import { compileStyle } from '../compiler/compile-style'; @@ -23,13 +22,10 @@ import { isScript, isDemoDir, isTestDir, - hasYarn, setNodeEnv, - setModuleEnv + setModuleEnv, } from '../common'; -const stepper = getStepper(12); - async function compileFile(filePath: string) { if (isSfc(filePath)) { return compileSfc(filePath); @@ -66,126 +62,108 @@ async function compileDir(dir: string) { ); } -async function installDependencies() { - stepper.start('Install Dependencies'); - - try { - const manager = hasYarn() ? 'yarn' : 'npm'; - - await execa(manager, ['install', '--prod=false'], { - stdio: 'inherit' - }); - - stepper.success('Install Dependencies'); - } catch (err) { - stepper.error('Install Dependencies', err); - throw err; - } +async function buildEs() { + setModuleEnv('esmodule'); + await copy(SRC_DIR, ES_DIR); + await compileDir(ES_DIR); } -async function buildESModuleOutputs() { - stepper.start('Build ESModule Outputs'); - - try { - setModuleEnv('esmodule'); - await copy(SRC_DIR, ES_DIR); - await compileDir(ES_DIR); - stepper.success('Build ESModule Outputs'); - } catch (err) { - stepper.error('Build ESModule Outputs', err); - throw err; - } -} - -async function buildCommonjsOutputs() { - stepper.start('Build Commonjs Outputs'); - - try { - setModuleEnv('commonjs'); - await copy(SRC_DIR, LIB_DIR); - await compileDir(LIB_DIR); - stepper.success('Build Commonjs Outputs'); - } catch (err) { - stepper.error('Build Commonjs Outputs', err); - throw err; - } +async function buildLib() { + setModuleEnv('commonjs'); + await copy(SRC_DIR, LIB_DIR); + await compileDir(LIB_DIR); } async function buildStyleEntry() { - stepper.start('Build Style Entry'); - - try { - await genStyleDepsMap(); - genComponentStyle(); - stepper.success('Build Style Entry'); - } catch (err) { - stepper.error('Build Style Entry', err); - throw err; - } + await genStyleDepsMap(); + genComponentStyle(); } -async function buildPackedOutputs() { - stepper.start('Build Packed Outputs'); +async function buildPacakgeEntry() { + const esEntryFile = join(ES_DIR, 'index.js'); + const libEntryFile = join(LIB_DIR, 'index.js'); + const styleEntryFile = join(LIB_DIR, `index.${CSS_LANG}`); - try { - setModuleEnv('esmodule'); - await compilePackage(false); - await compilePackage(true); - genVeturConfig(); - stepper.success('Build Packed Outputs'); - } catch (err) { - stepper.error('Build Packed Outputs', err); - throw err; - } + genPackageEntry({ + outputPath: esEntryFile, + pathResolver: (path: string) => `./${relative(SRC_DIR, path)}`, + }); + + setModuleEnv('esmodule'); + await compileJs(esEntryFile); + + genPacakgeStyle({ + outputPath: styleEntryFile, + pathResolver: (path: string) => path.replace(SRC_DIR, '.'), + }); + + setModuleEnv('commonjs'); + await copy(esEntryFile, libEntryFile); + await compileJs(libEntryFile); + await compileStyle(styleEntryFile); } -async function buildPackageEntry() { - stepper.start('Build Package Entry'); +async function buildPackages() { + setModuleEnv('esmodule'); + await compilePackage(false); + await compilePackage(true); + genVeturConfig(); +} - try { - const esEntryFile = join(ES_DIR, 'index.js'); - const libEntryFile = join(LIB_DIR, 'index.js'); - const styleEntryFile = join(LIB_DIR, `index.${CSS_LANG}`); +const tasks = [ + { + text: 'Build ESModule Outputs', + task: buildEs, + }, + { + text: 'Build Commonjs Outputs', + task: buildLib, + }, + { + text: 'Build Style Entry', + task: buildStyleEntry, + }, + { + text: 'Build Package Entry', + task: buildPacakgeEntry, + }, + { + text: 'Build Packed Outputs', + task: buildPackages, + }, +]; - genPackageEntry({ - outputPath: esEntryFile, - pathResolver: (path: string) => `./${relative(SRC_DIR, path)}` - }); +async function runBuildTasks() { + for (let i = 0; i < tasks.length; i++) { + const { task, text } = tasks[i]; + const spinner = ora(text).start(); - setModuleEnv('esmodule'); - await compileJs(esEntryFile); - - genPacakgeStyle({ - outputPath: styleEntryFile, - pathResolver: (path: string) => path.replace(SRC_DIR, '.') - }); - - setModuleEnv('commonjs'); - await copy(esEntryFile, libEntryFile); - await compileJs(libEntryFile); - await compileStyle(styleEntryFile); - - stepper.success('Build Package Entry'); - } catch (err) { - stepper.error('Build Package Entry', err); - throw err; + try { + /* eslint-disable no-await-in-loop */ + await task(); + spinner.succeed(text); + } catch (err) { + spinner.fail(text); + console.log(err); + throw err; + } } + + consola.success('Compile successfully'); } function watchFileChange() { - logger.watch('Compiled successfully, watching file changes...'); + consola.info('\nWatching file changes...'); chokidar.watch(SRC_DIR).on('change', async path => { if (isDemoDir(path) || isTestDir(path)) { return; } - const logger = getInteractiveLogger(); + const spinner = ora('File changed, start compilation...').start(); const esPath = path.replace(SRC_DIR, ES_DIR); const libPath = path.replace(SRC_DIR, LIB_DIR); - logger.pending('File change detected, start compilation...'); - try { await copy(path, esPath); await copy(path, libPath); @@ -193,9 +171,9 @@ function watchFileChange() { await compileFile(libPath); await genStyleDepsMap(); genComponentStyle({ cache: false }); - logger.success('Compiled: ' + path); + spinner.succeed('Compiled: ' + slimPath(path)); } catch (err) { - logger.error('Compile failed: ' + path); + spinner.fail('Compile failed: ' + path); console.log(err); } }); @@ -207,17 +185,13 @@ export async function build(cmd: { watch?: boolean } = {}) { try { await clean(); await installDependencies(); - await buildESModuleOutputs(); - await buildCommonjsOutputs(); - await buildStyleEntry(); - await buildPackageEntry(); - await buildPackedOutputs(); + await runBuildTasks(); if (cmd.watch) { watchFileChange(); } } catch (err) { - logger.error('Build failed'); + consola.error('Build failed'); process.exit(1); } } diff --git a/packages/vant-cli/src/commands/changelog.ts b/packages/vant-cli/src/commands/changelog.ts index da9a1cb44..5370fef87 100644 --- a/packages/vant-cli/src/commands/changelog.ts +++ b/packages/vant-cli/src/commands/changelog.ts @@ -1,6 +1,6 @@ import { join } from 'path'; import { ROOT } from '../common/constant'; -import { logger } from '../common/logger'; +import { ora, slimPath } from '../common/logger'; import { createWriteStream, readFileSync } from 'fs-extra'; // @ts-ignore import conventionalChangelog from 'conventional-changelog'; @@ -19,7 +19,7 @@ function formatType(type: string) { fix: 'Bug Fixes', feat: 'Feature', docs: 'Document', - types: 'Types' + types: 'Types', }; return MAP[type] || type; @@ -46,13 +46,13 @@ function transform(item: any) { return item; } -export async function changelog() { - logger.start('Generating changelog...'); +export async function changelog(): Promise { + const spinner = ora('Generating changelog...').start(); return new Promise(resolve => { conventionalChangelog( { - preset: 'angular' + preset: 'angular', }, null, null, @@ -61,12 +61,12 @@ export async function changelog() { mainTemplate, headerPartial, commitPartial, - transform + transform, } ) .pipe(createWriteStream(DIST_FILE)) .on('close', () => { - logger.success(`Generated changelog at ${DIST_FILE}`); + spinner.succeed(`Changelog generated at ${slimPath(DIST_FILE)}`); resolve(); }); }); diff --git a/packages/vant-cli/src/commands/clean.ts b/packages/vant-cli/src/commands/clean.ts index bed36facd..080b15b54 100644 --- a/packages/vant-cli/src/commands/clean.ts +++ b/packages/vant-cli/src/commands/clean.ts @@ -6,6 +6,6 @@ export async function clean() { emptyDir(ES_DIR), emptyDir(LIB_DIR), emptyDir(DIST_DIR), - emptyDir(SITE_DIST_DIR) + emptyDir(SITE_DIST_DIR), ]); } diff --git a/packages/vant-cli/src/commands/commit-lint.ts b/packages/vant-cli/src/commands/commit-lint.ts index f77d4d9af..d2297d733 100644 --- a/packages/vant-cli/src/commands/commit-lint.ts +++ b/packages/vant-cli/src/commands/commit-lint.ts @@ -1,5 +1,5 @@ import { readFileSync } from 'fs-extra'; -import { logger } from '../common/logger'; +import { consola } from '../common/logger'; const commitRE = /^(revert: )?(fix|feat|docs|perf|test|types|build|chore|refactor|breaking change)(\(.+\))?: .{1,50}/; const mergeRE = /Merge branch /; @@ -9,7 +9,7 @@ export function commitLint() { const commitMsg = readFileSync(gitParams, 'utf-8').trim(); if (!commitRE.test(commitMsg) && !mergeRE.test(commitMsg)) { - logger.error(`Error: invalid commit message: "${commitMsg}". + consola.error(`invalid commit message: "${commitMsg}". Proper commit message format is required for automated changelog generation. diff --git a/packages/vant-cli/src/commands/dev.ts b/packages/vant-cli/src/commands/dev.ts index 1c659e916..ddde0fd24 100644 --- a/packages/vant-cli/src/commands/dev.ts +++ b/packages/vant-cli/src/commands/dev.ts @@ -1,10 +1,7 @@ -import { emptyDir } from 'fs-extra'; import { setNodeEnv } from '../common'; import { compileSite } from '../compiler/compile-site'; -import { DIST_DIR } from '../common/constant'; export async function dev() { setNodeEnv('development'); - await emptyDir(DIST_DIR); await compileSite(); } diff --git a/packages/vant-cli/src/commands/jest.ts b/packages/vant-cli/src/commands/jest.ts index fea8de048..368d49d19 100644 --- a/packages/vant-cli/src/commands/jest.ts +++ b/packages/vant-cli/src/commands/jest.ts @@ -7,14 +7,14 @@ export function test(command: any) { setNodeEnv('test'); genPackageEntry({ - outputPath: PACKAGE_ENTRY_FILE + outputPath: PACKAGE_ENTRY_FILE, }); const config = { rootDir: ROOT, watch: command.watch, config: JEST_CONFIG_FILE, - clearCache: command.clearCache + clearCache: command.clearCache, } as any; runCLI(config, [ROOT]) diff --git a/packages/vant-cli/src/commands/lint.ts b/packages/vant-cli/src/commands/lint.ts index 47b22136d..2f54a5098 100644 --- a/packages/vant-cli/src/commands/lint.ts +++ b/packages/vant-cli/src/commands/lint.ts @@ -1,57 +1,66 @@ -import { lint as stylelint } from 'stylelint'; -import { CLIEngine } from 'eslint'; -import { getStepper } from '../common/logger'; +// @ts-ignore +import execa from 'execa'; +import { ora } from '../common/logger'; import { SCRIPT_EXTS } from '../common/constant'; -const stepper = getStepper(4); +type RunCommandMessages = { + start: string; + succeed: string; + failed: string; +}; -function lintScript() { - stepper.start('ESLint Start'); +function runCommand( + cmd: string, + options: string[], + messages: RunCommandMessages +) { + const spinner = ora(messages.start).start(); - const cli = new CLIEngine({ - fix: true, - extensions: SCRIPT_EXTS + return new Promise(resolve => { + execa(cmd, options, { + env: { FORCE_COLOR: true }, + }) + .then(() => { + spinner.succeed(messages.succeed); + resolve(true); + }) + .catch((err: any) => { + spinner.fail(messages.failed); + console.log(err.stdout); + resolve(false); + }); }); - - const report = cli.executeOnFiles(['src/']); - const formatter = cli.getFormatter(); - - CLIEngine.outputFixes(report); - - // output lint errors - const formatted = formatter(report.results); - if (formatted) { - stepper.error('ESLint Failed', '\n' + formatter(report.results)); - return false; - } - - stepper.success('ESLint Passed'); - return true; } -async function lintStyle(): Promise { - stepper.start('Stylelint Start'); - - return stylelint({ - fix: true, - formatter: 'string', - files: ['src/**/*.css', 'src/**/*.less', 'src/**/*.scss', 'src/**/*.vue'] - }).then(result => { - if (result.errored) { - stepper.error('Stylelint Failed', '\n' + result.output); - return false; +function eslint() { + return runCommand( + 'eslint', + ['./src', '--fix', '--ext', SCRIPT_EXTS.join(',')], + { + start: 'Running eslint...', + succeed: 'ESLint Passed.', + failed: 'ESLint failed!', } + ); +} - stepper.success('Stylelint Passed'); - return true; - }); +function stylelint() { + return runCommand( + 'stylelint', + ['src/**/*.css', 'src/**/*.vue', 'src/**/*.less', 'src/**/*.sass', '--fix'], + { + start: 'Running stylelint...', + succeed: 'Stylelint Passed.', + failed: 'Stylelint failed!', + } + ); } export async function lint() { - const scriptPassed = lintScript(); - const stylePassed = await lintStyle(); + const eslintPassed = await eslint(); + const stylelintPassed = await stylelint(); - if (!scriptPassed || !stylePassed) { + if (!eslintPassed || !stylelintPassed) { process.exit(1); } } diff --git a/packages/vant-cli/src/commands/release.ts b/packages/vant-cli/src/commands/release.ts index b2925c32c..e6270ace3 100644 --- a/packages/vant-cli/src/commands/release.ts +++ b/packages/vant-cli/src/commands/release.ts @@ -8,11 +8,11 @@ const PLUGIN_PATH = join(__dirname, '../compiler/vant-cli-release-plugin.js'); export async function release() { await releaseIt({ plugins: { - [PLUGIN_PATH]: {} + [PLUGIN_PATH]: {}, }, git: { tagName: 'v${version}', - commitMessage: 'chore: release ${version}' - } + commitMessage: 'chore: release ${version}', + }, }); } diff --git a/packages/vant-cli/src/common/constant.ts b/packages/vant-cli/src/common/constant.ts index 9b56725ea..9cdc8d149 100644 --- a/packages/vant-cli/src/common/constant.ts +++ b/packages/vant-cli/src/common/constant.ts @@ -14,6 +14,10 @@ function findRootDir(dir: string): string { return findRootDir(dirname(dir)); } +// Colors +export const GREEN = '#07c160'; + +// Root paths export const CWD = process.cwd(); export const ROOT = findRootDir(CWD); export const ES_DIR = join(ROOT, 'es'); @@ -24,17 +28,23 @@ export const VANT_CONFIG_FILE = join(ROOT, 'vant.config.js'); export const PACKAGE_JSON_FILE = join(ROOT, 'package.json'); export const ROOT_WEBPACK_CONFIG_FILE = join(ROOT, 'webpack.config.js'); export const ROOT_POSTCSS_CONFIG_FILE = join(ROOT, 'postcss.config.js'); - -export const DIST_DIR = join(__dirname, '../../dist'); -export const CONFIG_DIR = join(__dirname, '../config'); export const CACHE_DIR = join(ROOT, 'node_modules/.cache'); +// Relative paths +export const DIST_DIR = join(__dirname, '../../dist'); +export const CONFIG_DIR = join(__dirname, '../config'); + +// Dist files export const PACKAGE_ENTRY_FILE = join(DIST_DIR, 'package-entry.js'); export const PACKAGE_STYLE_FILE = join(DIST_DIR, 'package-style.css'); export const SITE_MODILE_SHARED_FILE = join(DIST_DIR, 'site-mobile-shared.js'); -export const SITE_DESKTOP_SHARED_FILE = join(DIST_DIR, 'site-desktop-shared.js'); +export const SITE_DESKTOP_SHARED_FILE = join( + DIST_DIR, + 'site-desktop-shared.js' +); export const STYPE_DEPS_JSON_FILE = join(DIST_DIR, 'style-deps.json'); +// Config files export const BABEL_CONFIG_FILE = join(CONFIG_DIR, 'babel.config.js'); export const POSTCSS_CONFIG_FILE = join(CONFIG_DIR, 'postcss.config.js'); export const JEST_SETUP_FILE = join(CONFIG_DIR, 'jest.setup.js'); @@ -55,7 +65,11 @@ export function getPackageJson() { export function getVantConfig() { delete require.cache[VANT_CONFIG_FILE]; - return require(VANT_CONFIG_FILE); + try { + return require(VANT_CONFIG_FILE); + } catch (err) { + return {}; + } } function getSrcDir() { diff --git a/packages/vant-cli/src/common/index.ts b/packages/vant-cli/src/common/index.ts index 9660d217a..0d01f02ae 100644 --- a/packages/vant-cli/src/common/index.ts +++ b/packages/vant-cli/src/common/index.ts @@ -1,17 +1,16 @@ import { join } from 'path'; -import { execSync } from 'child_process'; import { lstatSync, existsSync, readdirSync, readFileSync, - outputFileSync + outputFileSync, } from 'fs-extra'; import { SRC_DIR, getVantConfig, ROOT_WEBPACK_CONFIG_FILE, - ROOT_POSTCSS_CONFIG_FILE + ROOT_POSTCSS_CONFIG_FILE, } from './constant'; export const EXT_REGEXP = /\.\w+$/; @@ -156,19 +155,4 @@ export function smartOutputFile(filePath: string, content: string) { outputFileSync(filePath, content); } -let hasYarnCache: boolean; - -export function hasYarn() { - if (hasYarnCache === undefined) { - try { - execSync('yarn --version', { stdio: 'ignore' }); - hasYarnCache = true; - } catch (e) { - hasYarnCache = false; - } - } - - return hasYarnCache; -} - export { getVantConfig }; diff --git a/packages/vant-cli/src/common/logger.ts b/packages/vant-cli/src/common/logger.ts index d598cabe5..8f7f992e9 100644 --- a/packages/vant-cli/src/common/logger.ts +++ b/packages/vant-cli/src/common/logger.ts @@ -1,36 +1,10 @@ -import logger from 'signale'; +import ora from 'ora'; +import chalk from 'chalk'; +import consola from 'consola'; +import { ROOT } from '../common/constant'; -logger.config({ - displayTimestamp: true -}); - -const methods = ['success', 'start', 'error'] as const; - -type Stepper = Pick; - -export function getStepper(totalStep: number) { - const stepper = {} as Stepper; - let currentStep = 0; - - methods.forEach(key => { - stepper[key] = (message, ...args) => { - const prefix = `[${++currentStep}/${totalStep}] `; - return logger[key](prefix + message, ...args); - }; - }); - - return stepper; +export function slimPath(path: string) { + return chalk.yellow(path.replace(ROOT, '')); } -export function getInteractiveLogger() { - const interactive = new logger.Signale({ - interactive: true, - config: { - displayTimestamp: true - } - }); - - return interactive; -} - -export { logger }; +export { ora, consola }; diff --git a/packages/vant-cli/src/common/manager.ts b/packages/vant-cli/src/common/manager.ts new file mode 100644 index 000000000..22ea1be29 --- /dev/null +++ b/packages/vant-cli/src/common/manager.ts @@ -0,0 +1,36 @@ +// @ts-ignore +import execa from 'execa'; +import { consola } from './logger'; +import { execSync } from 'child_process'; + +let hasYarnCache: boolean; + +export function hasYarn() { + if (hasYarnCache === undefined) { + try { + execSync('yarn --version', { stdio: 'ignore' }); + hasYarnCache = true; + } catch (e) { + hasYarnCache = false; + } + } + + return hasYarnCache; +} + +export async function installDependencies() { + consola.info('Install Dependencies\n'); + + try { + const manager = hasYarn() ? 'yarn' : 'npm'; + + await execa(manager, ['install', '--prod=false'], { + stdio: 'inherit', + }); + + console.log(''); + } catch (err) { + console.log(err); + throw err; + } +} diff --git a/packages/vant-cli/src/compiler/compile-css.ts b/packages/vant-cli/src/compiler/compile-css.ts index 591af0f48..2a29dda16 100644 --- a/packages/vant-cli/src/compiler/compile-css.ts +++ b/packages/vant-cli/src/compiler/compile-css.ts @@ -8,7 +8,7 @@ const cleanCss = new CleanCss(); export async function compileCss(source: string | Buffer) { const config = await postcssrc({}, POSTCSS_CONFIG_FILE); const { css } = await postcss(config.plugins as any).process(source, { - from: undefined + from: undefined, }); return cleanCss.minify(css).styles; diff --git a/packages/vant-cli/src/compiler/compile-less.ts b/packages/vant-cli/src/compiler/compile-less.ts index f2eec94cf..1c548fc3f 100644 --- a/packages/vant-cli/src/compiler/compile-less.ts +++ b/packages/vant-cli/src/compiler/compile-less.ts @@ -13,14 +13,14 @@ class TildeResolver extends FileManager { const TildeResolverPlugin = { install(lessInstance: unknown, pluginManager: any) { pluginManager.addFileManager(new TildeResolver()); - } + }, }; export async function compileLess(filePath: string) { const source = readFileSync(filePath, 'utf-8'); const { css } = await render(source, { filename: filePath, - plugins: [TildeResolverPlugin] + plugins: [TildeResolverPlugin], }); return css; diff --git a/packages/vant-cli/src/compiler/compile-package.ts b/packages/vant-cli/src/compiler/compile-package.ts index dbbd80ff8..1da7d1915 100644 --- a/packages/vant-cli/src/compiler/compile-package.ts +++ b/packages/vant-cli/src/compiler/compile-package.ts @@ -1,9 +1,11 @@ import webpack from 'webpack'; -import { packageConfig } from '../config/webpack.package'; +import { getPackageConfig } from '../config/webpack.package'; export async function compilePackage(isMinify: boolean) { return new Promise((resolve, reject) => { - webpack(packageConfig(isMinify), (err, stats) => { + const config = getPackageConfig(isMinify); + + webpack(config, (err, stats) => { if (err || stats.hasErrors()) { reject(); } else { diff --git a/packages/vant-cli/src/compiler/compile-sfc.ts b/packages/vant-cli/src/compiler/compile-sfc.ts index 6b600a92e..1cb6badbd 100644 --- a/packages/vant-cli/src/compiler/compile-sfc.ts +++ b/packages/vant-cli/src/compiler/compile-sfc.ts @@ -57,7 +57,7 @@ function compileTemplate(template: string) { const result = compileUtils.compileTemplate({ compiler, source: template, - isProduction: true + isProduction: true, } as any); return result.code; @@ -73,7 +73,7 @@ export function parseSfc(filePath: string) { const descriptor = compileUtils.parse({ source, compiler, - needMap: false + needMap: false, } as any); return descriptor; diff --git a/packages/vant-cli/src/compiler/compile-site.ts b/packages/vant-cli/src/compiler/compile-site.ts index a134ecba5..d023c7e0c 100644 --- a/packages/vant-cli/src/compiler/compile-site.ts +++ b/packages/vant-cli/src/compiler/compile-site.ts @@ -1,19 +1,45 @@ +import chalk from 'chalk'; +import address from 'address'; import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; import { get } from 'lodash'; import { getPort } from 'portfinder'; -import { siteDevConfig } from '../config/webpack.site.dev'; -import { sitePrdConfig } from '../config/webpack.site.prd'; +import { GREEN } from '../common/constant'; +import { getSiteDevConfig } from '../config/webpack.site.dev'; +import { getSitePrdConfig } from '../config/webpack.site.prd'; + +function logServerInfo(port: number) { + const local = `http://localhost:${port}/`; + const network = `http://${address.ip()}:${port}/`; + + console.log('\n Site running at:\n'); + console.log(` ${chalk.bold('Local')}: ${chalk.hex(GREEN)(local)} `); + console.log(` ${chalk.bold('Network')}: ${chalk.hex(GREEN)(network)}`); +} + +function runDevServer( + port: number, + config: ReturnType +) { + const server = new WebpackDevServer(webpack(config), config.devServer); + + // this is a hack to disable wds status log + (server as any).showStatus = function() {}; + + const host = get(config.devServer, 'host', 'localhost'); + server.listen(port, host, (err?: Error) => { + if (err) { + console.log(err); + } + }); +} function watch() { - const server = new WebpackDevServer( - webpack(siteDevConfig), - siteDevConfig.devServer - ); + const config = getSiteDevConfig(); getPort( { - port: siteDevConfig.devServer!.port + port: config.devServer!.port, }, (err, port) => { if (err) { @@ -21,19 +47,17 @@ function watch() { return; } - const host = get(siteDevConfig.devServer, 'host', 'localhost'); - server.listen(port, host, (err?: Error) => { - if (err) { - console.log(err); - } - }); + logServerInfo(port); + runDevServer(port, config); } ); } function build() { return new Promise((resolve, reject) => { - webpack(sitePrdConfig, (err, stats) => { + const config = getSitePrdConfig(); + + webpack(config, (err, stats) => { if (err || stats.hasErrors()) { reject(); } else { diff --git a/packages/vant-cli/src/compiler/compile-style.ts b/packages/vant-cli/src/compiler/compile-style.ts index d66e9e923..ab9335fb3 100644 --- a/packages/vant-cli/src/compiler/compile-style.ts +++ b/packages/vant-cli/src/compiler/compile-style.ts @@ -4,7 +4,7 @@ import { replaceExt } from '../common'; import { compileCss } from './compile-css'; import { compileLess } from './compile-less'; import { compileSass } from './compile-sass'; -import { logger } from '../common/logger'; +import { consola } from '../common/logger'; async function compileFile(filePath: string) { const parsedPath = parse(filePath); @@ -23,7 +23,7 @@ async function compileFile(filePath: string) { const source = readFileSync(filePath, 'utf-8'); return await compileCss(source); } catch (err) { - logger.error('Compile style failed: ' + filePath); + consola.error('Compile style failed: ' + filePath); throw err; } } diff --git a/packages/vant-cli/src/compiler/gen-component-style.ts b/packages/vant-cli/src/compiler/gen-component-style.ts index 0b912d7ac..e557d329b 100644 --- a/packages/vant-cli/src/compiler/gen-component-style.ts +++ b/packages/vant-cli/src/compiler/gen-component-style.ts @@ -11,7 +11,7 @@ import { ES_DIR, SRC_DIR, LIB_DIR, - STYPE_DEPS_JSON_FILE + STYPE_DEPS_JSON_FILE, } from '../common/constant'; function getDeps(component: string): string[] { @@ -41,12 +41,12 @@ function getRelativePath(component: string, style: string, ext: string) { const OUTPUT_CONFIG = [ { dir: ES_DIR, - template: (dep: string) => `import '${dep}';` + template: (dep: string) => `import '${dep}';`, }, { dir: LIB_DIR, - template: (dep: string) => `require('${dep}');` - } + template: (dep: string) => `require('${dep}');`, + }, ]; function genEntry(params: { @@ -92,7 +92,7 @@ export function genComponentStyle( baseFile, component, filename: 'index.js', - ext: '.css' + ext: '.css', }); if (CSS_LANG !== 'css') { @@ -100,7 +100,7 @@ export function genComponentStyle( baseFile, component, filename: CSS_LANG + '.js', - ext: '.' + CSS_LANG + ext: '.' + CSS_LANG, }); } }); diff --git a/packages/vant-cli/src/compiler/gen-package-entry.ts b/packages/vant-cli/src/compiler/gen-package-entry.ts index b8a242256..989533f4e 100644 --- a/packages/vant-cli/src/compiler/gen-package-entry.ts +++ b/packages/vant-cli/src/compiler/gen-package-entry.ts @@ -1,6 +1,11 @@ import { get } from 'lodash'; import { join } from 'path'; -import { pascalize, getComponents, smartOutputFile, normalizePath } from '../common'; +import { + pascalize, + getComponents, + smartOutputFile, + normalizePath, +} from '../common'; import { SRC_DIR, getPackageJson, getVantConfig } from '../common/constant'; type Options = { diff --git a/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts b/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts index 78a6badaa..0ce42825a 100644 --- a/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts +++ b/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts @@ -6,14 +6,14 @@ import { removeExt, getVantConfig, smartOutputFile, - normalizePath + normalizePath, } from '../common'; import { SRC_DIR, DOCS_DIR, getPackageJson, VANT_CONFIG_FILE, - SITE_DESKTOP_SHARED_FILE + SITE_DESKTOP_SHARED_FILE, } from '../common/constant'; type DocumentItem = { @@ -52,7 +52,7 @@ function resolveDocuments(components: string[]): DocumentItem[] { components.forEach(component => { docs.push({ name: formatName(component, lang), - path: join(SRC_DIR, component, fileName) + path: join(SRC_DIR, component, fileName), }); }); }); @@ -60,16 +60,16 @@ function resolveDocuments(components: string[]): DocumentItem[] { components.forEach(component => { docs.push({ name: formatName(component), - path: join(SRC_DIR, component, 'README.md') + path: join(SRC_DIR, component, 'README.md'), }); }); } - const staticDocs = glob.sync(join(DOCS_DIR, '**/*.md')).map(path => { + const staticDocs = glob.sync(normalizePath(join(DOCS_DIR, '**/*.md'))).map(path => { const pairs = parse(path).name.split('.'); return { name: formatName(pairs[0], pairs[1] || defaultLang), - path + path, }; }); diff --git a/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts b/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts index 3fc0bbd01..2edddef05 100644 --- a/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts +++ b/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts @@ -7,7 +7,7 @@ import { decamelize, getVantConfig, smartOutputFile, - normalizePath + normalizePath, } from '../common'; type DemoItem = { @@ -25,7 +25,10 @@ import './package-style'; function genImports(demos: DemoItem[]) { return demos - .map(item => `import ${item.name} from '${removeExt(normalizePath(item.path))}';`) + .map( + item => + `import ${item.name} from '${removeExt(normalizePath(item.path))}';` + ) .join('\n'); } @@ -73,7 +76,7 @@ function genCode(components: string[]) { .map(component => ({ component, name: pascalize(component), - path: join(SRC_DIR, component, 'demo/index.vue') + path: join(SRC_DIR, component, 'demo/index.vue'), })) .filter(item => existsSync(item.path)); diff --git a/packages/vant-cli/src/compiler/gen-style-deps-map.ts b/packages/vant-cli/src/compiler/gen-style-deps-map.ts index 274c25cbc..815bd69ef 100644 --- a/packages/vant-cli/src/compiler/gen-style-deps-map.ts +++ b/packages/vant-cli/src/compiler/gen-style-deps-map.ts @@ -5,8 +5,6 @@ import { getDeps, clearDepsCache, fillExt } from './get-deps'; import { getComponents, smartOutputFile } from '../common'; import { SRC_DIR, STYPE_DEPS_JSON_FILE } from '../common/constant'; -const components = getComponents(); - function matchPath(path: string, component: string): boolean { return path .replace(SRC_DIR, '') @@ -23,7 +21,7 @@ export function checkStyleExists(component: string) { } // analyze component dependencies -function analyzeComponentDeps(component: string) { +function analyzeComponentDeps(components: string[], component: string) { const checkList: string[] = []; const componentEntry = fillExt(join(SRC_DIR, component, 'index')); const record = new Set(); @@ -54,7 +52,7 @@ function analyzeComponentDeps(component: string) { type DepsMap = Record; -function getSequence(depsMap: DepsMap) { +function getSequence(components: string[], depsMap: DepsMap) { const sequence: string[] = []; const record = new Set(); @@ -94,16 +92,18 @@ function getSequence(depsMap: DepsMap) { } export async function genStyleDepsMap() { + const components = getComponents(); + return new Promise(resolve => { clearDepsCache(); const map = {} as DepsMap; components.forEach(component => { - map[component] = analyzeComponentDeps(component); + map[component] = analyzeComponentDeps(components, component); }); - const sequence = getSequence(map); + const sequence = getSequence(components, map); Object.keys(map).forEach(key => { map[key] = map[key].sort( diff --git a/packages/vant-cli/src/compiler/gen-vetur-config.ts b/packages/vant-cli/src/compiler/gen-vetur-config.ts index 6b5d0e17d..92f6eb267 100644 --- a/packages/vant-cli/src/compiler/gen-vetur-config.ts +++ b/packages/vant-cli/src/compiler/gen-vetur-config.ts @@ -14,7 +14,7 @@ export function genVeturConfig() { path: SRC_DIR, test: /zh-CN\.md/, outputDir: join(ROOT, 'vetur'), - ...options + ...options, }); } } diff --git a/packages/vant-cli/src/compiler/vant-cli-site-plugin.ts b/packages/vant-cli/src/compiler/vant-cli-site-plugin.ts index 4545ec280..cc7f31165 100644 --- a/packages/vant-cli/src/compiler/vant-cli-site-plugin.ts +++ b/packages/vant-cli/src/compiler/vant-cli-site-plugin.ts @@ -10,33 +10,33 @@ import { PACKAGE_ENTRY_FILE, PACKAGE_STYLE_FILE } from '../common/constant'; const PLUGIN_NAME = 'VantCliSitePlugin'; +export async function genSiteEntry() { + return new Promise((resolve, reject) => { + genStyleDepsMap() + .then(() => { + genPackageEntry({ + outputPath: PACKAGE_ENTRY_FILE, + }); + genPacakgeStyle({ + outputPath: replaceExt(PACKAGE_STYLE_FILE, `.${CSS_LANG}`), + }); + genSiteMobileShared(); + genSiteDesktopShared(); + resolve(); + }) + .catch(err => { + console.log(err); + reject(err); + }); + }); +} + export class VantCliSitePlugin { apply(compiler: Compiler) { if (process.env.NODE_ENV === 'production') { - compiler.hooks.beforeCompile.tapPromise(PLUGIN_NAME, this.genSiteEntry); + compiler.hooks.beforeCompile.tapPromise(PLUGIN_NAME, genSiteEntry); } else { - compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, this.genSiteEntry); + compiler.hooks.watchRun.tapPromise(PLUGIN_NAME, genSiteEntry); } } - - genSiteEntry() { - return new Promise((resolve, reject) => { - genStyleDepsMap() - .then(() => { - genPackageEntry({ - outputPath: PACKAGE_ENTRY_FILE - }); - genPacakgeStyle({ - outputPath: replaceExt(PACKAGE_STYLE_FILE, `.${CSS_LANG}`) - }); - genSiteMobileShared(); - genSiteDesktopShared(); - resolve(); - }) - .catch(err => { - console.log(err); - reject(err); - }); - }); - } } diff --git a/packages/vant-cli/src/config/babel.config.ts b/packages/vant-cli/src/config/babel.config.ts index 4f887d748..c7acb2434 100644 --- a/packages/vant-cli/src/config/babel.config.ts +++ b/packages/vant-cli/src/config/babel.config.ts @@ -15,38 +15,36 @@ module.exports = function(api?: ConfigAPI) { '@babel/preset-env', { loose: true, - modules: useESModules ? false : 'commonjs' - } + modules: useESModules ? false : 'commonjs', + }, ], [ '@vue/babel-preset-jsx', { - functional: false - } + functional: false, + }, ], - '@babel/preset-typescript' + '@babel/preset-typescript', ], plugins: [ [ '@babel/plugin-transform-runtime', { corejs: false, - useESModules - } + useESModules, + }, ], [ 'import', { libraryName: 'vant', libraryDirectory: useESModules ? 'es' : 'lib', - style: true + style: true, }, - 'vant' + 'vant', ], '@babel/plugin-transform-object-assign', - '@babel/plugin-proposal-optional-chaining', - '@babel/plugin-proposal-nullish-coalescing-operator' - ] + ], }; }; diff --git a/packages/vant-cli/src/config/jest.config.ts b/packages/vant-cli/src/config/jest.config.ts index b9b80b206..52a727d11 100644 --- a/packages/vant-cli/src/config/jest.config.ts +++ b/packages/vant-cli/src/config/jest.config.ts @@ -4,26 +4,26 @@ import { ROOT, JEST_SETUP_FILE, JEST_FILE_MOCK_FILE, - JEST_STYLE_MOCK_FILE + JEST_STYLE_MOCK_FILE, } from '../common/constant'; const DEFAULT_CONFIG = { moduleNameMapper: { '\\.(css|less|scss)$': JEST_STYLE_MOCK_FILE, - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': JEST_FILE_MOCK_FILE + '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': JEST_FILE_MOCK_FILE, }, setupFilesAfterEnv: [JEST_SETUP_FILE], moduleFileExtensions: ['js', 'jsx', 'vue', 'ts', 'tsx'], transform: { '\\.(vue)$': 'vue-jest', - '\\.(js|jsx|ts|tsx)$': 'babel-jest' + '\\.(js|jsx|ts|tsx)$': 'babel-jest', }, transformIgnorePatterns: ['/node_modules/(?!(@vant/cli))/'], snapshotSerializers: ['jest-serializer-vue'], collectCoverage: true, collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx,vue}', '!**/demo/**'], coverageReporters: ['html', 'lcov', 'text-summary'], - coverageDirectory: './test/coverage' + coverageDirectory: './test/coverage', }; function readRootConfig() { @@ -38,5 +38,5 @@ function readRootConfig() { module.exports = { ...DEFAULT_CONFIG, - ...readRootConfig() + ...readRootConfig(), }; diff --git a/packages/vant-cli/src/config/postcss.config.ts b/packages/vant-cli/src/config/postcss.config.ts index fbe328c58..51fbb6c5e 100644 --- a/packages/vant-cli/src/config/postcss.config.ts +++ b/packages/vant-cli/src/config/postcss.config.ts @@ -7,20 +7,20 @@ type PostcssConfig = object & { function mergePostcssConfig(config1: PostcssConfig, config2: PostcssConfig) { const plugins = { ...config1.plugins, - ...config2.plugins + ...config2.plugins, }; return { ...config1, ...config2, - plugins + plugins, }; } const DEFAULT_CONFIG = { plugins: { - autoprefixer: {} - } + autoprefixer: {}, + }, }; module.exports = mergePostcssConfig(DEFAULT_CONFIG, getPostcssConfig()); diff --git a/packages/vant-cli/src/config/webpack.base.ts b/packages/vant-cli/src/config/webpack.base.ts index 55477aa1b..952c94b95 100644 --- a/packages/vant-cli/src/config/webpack.base.ts +++ b/packages/vant-cli/src/config/webpack.base.ts @@ -6,14 +6,14 @@ import { CACHE_DIR, STYLE_EXTS, SCRIPT_EXTS, - POSTCSS_CONFIG_FILE + POSTCSS_CONFIG_FILE, } from '../common/constant'; const CACHE_LOADER = { loader: 'cache-loader', options: { - cacheDirectory: CACHE_DIR - } + cacheDirectory: CACHE_DIR, + }, }; const CSS_LOADERS = [ @@ -23,16 +23,16 @@ const CSS_LOADERS = [ loader: 'postcss-loader', options: { config: { - path: POSTCSS_CONFIG_FILE - } - } - } + path: POSTCSS_CONFIG_FILE, + }, + }, + }, ]; export const baseConfig = { mode: 'development', resolve: { - extensions: [...SCRIPT_EXTS, ...STYLE_EXTS] + extensions: [...SCRIPT_EXTS, ...STYLE_EXTS], }, module: { rules: [ @@ -44,26 +44,26 @@ export const baseConfig = { loader: 'vue-loader', options: { compilerOptions: { - preserveWhitespace: false - } - } - } - ] + preserveWhitespace: false, + }, + }, + }, + ], }, { test: /\.(js|ts|jsx|tsx)$/, exclude: /node_modules\/(?!(@vant\/cli))/, - use: [CACHE_LOADER, 'babel-loader'] + use: [CACHE_LOADER, 'babel-loader'], }, { test: /\.css$/, sideEffects: true, - use: CSS_LOADERS + use: CSS_LOADERS, }, { test: /\.less$/, sideEffects: true, - use: [...CSS_LOADERS, 'less-loader'] + use: [...CSS_LOADERS, 'less-loader'], }, { test: /\.scss$/, @@ -73,22 +73,22 @@ export const baseConfig = { { loader: 'sass-loader', options: { - implementation: sass - } - } - ] + implementation: sass, + }, + }, + ], }, { test: /\.md$/, - use: [CACHE_LOADER, 'vue-loader', '@vant/markdown-loader'] - } - ] + use: [CACHE_LOADER, 'vue-loader', '@vant/markdown-loader'], + }, + ], }, plugins: [ new VueLoaderPlugin(), new FriendlyErrorsPlugin({ clearConsole: false, - logLevel: 'WARNING' - }) - ] + logLevel: 'WARNING', + }), + ], }; diff --git a/packages/vant-cli/src/config/webpack.package.ts b/packages/vant-cli/src/config/webpack.package.ts index 636d99569..f87f0918f 100644 --- a/packages/vant-cli/src/config/webpack.package.ts +++ b/packages/vant-cli/src/config/webpack.package.ts @@ -4,7 +4,7 @@ import { baseConfig } from './webpack.base'; import { getVantConfig, getWebpackConfig, setBuildTarget } from '../common'; import { LIB_DIR, ES_DIR } from '../common/constant'; -export function packageConfig(isMinify: boolean) { +export function getPackageConfig(isMinify: boolean) { const { name } = getVantConfig(); setBuildTarget('package'); @@ -14,7 +14,7 @@ export function packageConfig(isMinify: boolean) { { mode: 'production', entry: { - [name]: join(ES_DIR, 'index.js') + [name]: join(ES_DIR, 'index.js'), }, stats: 'none', output: { @@ -24,20 +24,20 @@ export function packageConfig(isMinify: boolean) { filename: isMinify ? '[name].min.js' : '[name].js', umdNamedDefine: true, // https://github.com/webpack/webpack/issues/6522 - globalObject: "typeof self !== 'undefined' ? self : this" + globalObject: "typeof self !== 'undefined' ? self : this", }, externals: { vue: { root: 'Vue', commonjs: 'vue', commonjs2: 'vue', - amd: 'vue' - } + amd: 'vue', + }, }, performance: false, optimization: { - minimize: isMinify - } + minimize: isMinify, + }, }, getWebpackConfig() ); diff --git a/packages/vant-cli/src/config/webpack.site.dev.ts b/packages/vant-cli/src/config/webpack.site.dev.ts index 17d12e77d..0c503a285 100644 --- a/packages/vant-cli/src/config/webpack.site.dev.ts +++ b/packages/vant-cli/src/config/webpack.site.dev.ts @@ -8,95 +8,100 @@ import { baseConfig } from './webpack.base'; import { getVantConfig, getWebpackConfig } from '../common'; import { VantCliSitePlugin } from '../compiler/vant-cli-site-plugin'; import { + GREEN, SITE_MODILE_SHARED_FILE, - SITE_DESKTOP_SHARED_FILE + SITE_DESKTOP_SHARED_FILE, } from '../common/constant'; -const vantConfig = getVantConfig(); -const baiduAnalytics = get(vantConfig, 'site.baiduAnalytics'); +export function getSiteDevBaseConfig() { + const vantConfig = getVantConfig(); + const baiduAnalytics = get(vantConfig, 'site.baiduAnalytics'); -function getSiteConfig() { - const siteConfig = vantConfig.site; + function getSiteConfig() { + const siteConfig = vantConfig.site; - if (siteConfig.locales) { - return siteConfig.locales[siteConfig.defaultLang || 'en-US']; + if (siteConfig.locales) { + return siteConfig.locales[siteConfig.defaultLang || 'en-US']; + } + + return siteConfig; } - return siteConfig; -} + function getTitle(config: { title: string; description?: string }) { + let { title } = config; -function getTitle(config: { title: string, description?: string }) { - let { title } = config; + if (config.description) { + title += ` - ${config.description}`; + } - if (config.description) { - title += ` - ${config.description}`; + return title; } - return title; + const siteConfig = getSiteConfig(); + const title = getTitle(siteConfig); + + return merge(baseConfig as any, { + entry: { + 'site-desktop': [join(__dirname, '../../site/desktop/main.js')], + 'site-mobile': [join(__dirname, '../../site/mobile/main.js')], + }, + devServer: { + port: 8080, + quiet: true, + host: '0.0.0.0', + stats: 'errors-only', + publicPath: '/', + disableHostCheck: true, + }, + resolve: { + alias: { + 'site-mobile-shared': SITE_MODILE_SHARED_FILE, + 'site-desktop-shared': SITE_DESKTOP_SHARED_FILE, + }, + }, + output: { + chunkFilename: '[name].js', + }, + optimization: { + splitChunks: { + cacheGroups: { + chunks: { + chunks: 'all', + minChunks: 2, + minSize: 0, + name: 'chunks', + }, + }, + }, + }, + plugins: [ + new WebpackBar({ + name: 'Vant Cli', + color: GREEN, + }), + new VantCliSitePlugin(), + new HtmlWebpackPlugin({ + title, + logo: siteConfig.logo, + description: siteConfig.description, + chunks: ['chunks', 'site-desktop'], + template: join(__dirname, '../../site/desktop/index.html'), + filename: 'index.html', + baiduAnalytics, + }), + new HtmlWebpackPlugin({ + title, + logo: siteConfig.logo, + description: siteConfig.description, + chunks: ['chunks', 'site-mobile'], + template: join(__dirname, '../../site/mobile/index.html'), + filename: 'mobile.html', + baiduAnalytics, + }), + ], + }); } -const siteConfig = getSiteConfig(); -const title = getTitle(siteConfig); - -export const siteDevBaseConfig = merge(baseConfig as any, { - entry: { - 'site-desktop': [join(__dirname, '../../site/desktop/main.js')], - 'site-mobile': [join(__dirname, '../../site/mobile/main.js')] - }, - devServer: { - port: 8080, - quiet: true, - host: '0.0.0.0', - stats: 'errors-only', - publicPath: '/', - disableHostCheck: true - }, - resolve: { - alias: { - 'site-mobile-shared': SITE_MODILE_SHARED_FILE, - 'site-desktop-shared': SITE_DESKTOP_SHARED_FILE - } - }, - output: { - chunkFilename: '[name].js' - }, - optimization: { - splitChunks: { - cacheGroups: { - chunks: { - chunks: 'all', - minChunks: 2, - minSize: 0, - name: 'chunks' - } - } - } - }, - plugins: [ - new WebpackBar({ - name: 'Vant Cli', - color: '#07c160' - }), - new VantCliSitePlugin(), - new HtmlWebpackPlugin({ - title, - logo: siteConfig.logo, - description: siteConfig.description, - chunks: ['chunks', 'site-desktop'], - template: join(__dirname, '../../site/desktop/index.html'), - filename: 'index.html', - baiduAnalytics - }), - new HtmlWebpackPlugin({ - title, - logo: siteConfig.logo, - description: siteConfig.description, - chunks: ['chunks', 'site-mobile'], - template: join(__dirname, '../../site/mobile/index.html'), - filename: 'mobile.html', - baiduAnalytics - }) - ] -}); - -export const siteDevConfig = merge(siteDevBaseConfig, getWebpackConfig()); +export function getSiteDevConfig() { + return merge(getSiteDevBaseConfig(), getWebpackConfig()); +} diff --git a/packages/vant-cli/src/config/webpack.site.prd.ts b/packages/vant-cli/src/config/webpack.site.prd.ts index d615a4b1d..93ddca3de 100644 --- a/packages/vant-cli/src/config/webpack.site.prd.ts +++ b/packages/vant-cli/src/config/webpack.site.prd.ts @@ -1,24 +1,26 @@ import merge from 'webpack-merge'; import { get } from 'lodash'; import { getVantConfig, getWebpackConfig } from '../common'; -import { siteDevBaseConfig } from './webpack.site.dev'; +import { getSiteDevBaseConfig } from './webpack.site.dev'; import { SITE_DIST_DIR } from '../common/constant'; const vantConfig = getVantConfig(); const outputDir = get(vantConfig, 'build.site.outputDir', SITE_DIST_DIR); const publicPath = get(vantConfig, 'build.site.publicPath', '/'); -export const sitePrdConfig = merge( - siteDevBaseConfig, - { - mode: 'production', - stats: 'none', - output: { - publicPath, - path: outputDir, - filename: '[name].[hash:8].js', - chunkFilename: 'async_[name].[chunkhash:8].js' - } - }, - getWebpackConfig() -); +export function getSitePrdConfig() { + return merge( + getSiteDevBaseConfig(), + { + mode: 'production', + stats: 'none', + output: { + publicPath, + path: outputDir, + filename: '[name].[hash:8].js', + chunkFilename: 'async_[name].[chunkhash:8].js', + }, + }, + getWebpackConfig() + ); +} diff --git a/packages/vant-cli/src/index.ts b/packages/vant-cli/src/index.ts index cf3dd4f7c..8d4060791 100755 --- a/packages/vant-cli/src/index.ts +++ b/packages/vant-cli/src/index.ts @@ -1,6 +1,10 @@ #!/usr/bin/env node +import { command, parse, version } from 'commander'; -import { command, parse } from 'commander'; +// @ts-ignore +import packageJson from '../package.json'; + +// commands import { dev } from './commands/dev'; import { lint } from './commands/lint'; import { test } from './commands/jest'; @@ -11,6 +15,8 @@ import { changelog } from './commands/changelog'; import { buildSite } from './commands/build-site'; import { commitLint } from './commands/commit-lint'; +version(`@vant/cli ${packageJson.version}`); + command('dev') .description('Run webpack dev server') .action(dev); diff --git a/packages/vant-cli/tsconfig.json b/packages/vant-cli/tsconfig.json index 1d46c082a..136f37d4e 100644 --- a/packages/vant-cli/tsconfig.json +++ b/packages/vant-cli/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "esnext", + "target": "ES2017", "outDir": "./lib", "module": "commonjs", "strict": true, diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index daf3dff22..713e2e91e 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -9,6 +9,22 @@ dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz?cache=0&sync_timestamp=1578980708872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/compat-data@^7.8.4": + version "7.8.5" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9" + integrity sha1-0ozocneMI1Ucu5Qy/GjShJW2E7k= + dependencies: + browserslist "^4.8.5" + invariant "^2.2.4" + semver "^5.5.0" + "@babel/core@>=7.2.2", "@babel/core@^7.1.0": version "7.7.2" resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91" @@ -29,27 +45,28 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.7.7.tgz#ee155d2e12300bcc0cff6a8ad46f2af5063803e9" - integrity sha1-7hVdLhIwC8wM/2qK1G8q9QY4A+k= +"@babel/core@^7.7.5", "@babel/core@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" + integrity sha1-1JZ5nlwSGVs2AtD93XcpTj446A4= 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" + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.4" + "@babel/helpers" "^7.8.4" + "@babel/parser" "^7.8.4" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.4" + "@babel/types" "^7.8.3" convert-source-map "^1.7.0" debug "^4.1.0" + gensync "^1.0.0-beta.1" 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.2": +"@babel/generator@^7.7.2": version "7.7.2" resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" integrity sha1-L0hS0EExpeF+pPZkVIi12mbr868= @@ -69,76 +86,87 @@ lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.7.7.tgz#859ac733c44c74148e1a72980a64ec84b85f4f45" - integrity sha1-hZrHM8RMdBSOGnKYCmTshLhfT0U= +"@babel/generator@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.8.4.tgz?cache=0&sync_timestamp=1580387848805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" + integrity sha1-NbvHRIaVb+QlGCn59sSDMOjQmF4= dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.7.4.tgz?cache=0&sync_timestamp=1574466005922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" - integrity sha1-uz+vHnS3S9VH6Gfkj1UfprCYts4= +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4= dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz?cache=0&sync_timestamp=1574465920635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-binary-assignment-operator-visitor%2Fdownload%2F%40babel%2Fhelper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" - integrity sha1-X3PysoWA4iS1ub0DFGpAFdYhf18= +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha1-yECXpCegYaxWocMOv1S3si0kFQM= dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-call-delegate@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-call-delegate/download/@babel/helper-call-delegate-7.7.4.tgz?cache=0&sync_timestamp=1574465922326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-call-delegate%2Fdownload%2F%40babel%2Fhelper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" - integrity sha1-YhuD5ZZyK1DABm+dw30yMuRhuAE= +"@babel/helper-call-delegate@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-call-delegate/download/@babel/helper-call-delegate-7.8.3.tgz#de82619898aa605d409c42be6ffb8d7204579692" + integrity sha1-3oJhmJiqYF1AnEK+b/uNcgRXlpI= dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-create-class-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.7.4.tgz#fce60939fd50618610942320a8d951b3b639da2d" - integrity sha1-/OYJOf1QYYYQlCMgqNlRs7Y52i0= +"@babel/helper-compilation-targets@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.8.4.tgz?cache=0&sync_timestamp=1580387975671&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88" + integrity sha1-A9fs1FS36+GaJU92YX5hdwrtLIg= dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/compat-data" "^7.8.4" + browserslist "^4.8.5" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" -"@babel/helper-create-regexp-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" - integrity sha1-bVdiNZ/TT02hUA5M/5lVtSmar1k= +"@babel/helper-create-class-features-plugin@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" + integrity sha1-W5S+iMJV8UD9LBDdFR5/mPS/85c= dependencies: - "@babel/helper-regex" "^7.4.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + +"@babel/helper-create-regexp-features-plugin@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" + integrity sha1-x3QmjJXsB+6SR2o4YrdcwoOb63k= + dependencies: + "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" -"@babel/helper-define-map@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" - integrity sha1-KEG/kuuL2ckGhRVG/mudReFi8XY= +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha1-oGVcrVRRw3YLcm66h18c2PqgLBU= dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" lodash "^4.17.13" -"@babel/helper-explode-assignable-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" - integrity sha1-+nAIeOAI2F3FG6Q+n7g1zd/gXIQ= +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha1-pyjcW06J4w/C38fQT6KKkwZT+YI= dependencies: - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" "@babel/helper-function-name@^7.7.0": version "7.7.0" @@ -158,6 +186,15 @@ "@babel/template" "^7.7.4" "@babel/types" "^7.7.4" +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.8.3.tgz?cache=0&sync_timestamp=1578980714632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha1-7utmWgGx8RBo6fuGrVahyxqCTMo= + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/helper-get-function-arity@^7.7.0": version "7.7.0" resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d" @@ -172,19 +209,26 @@ dependencies: "@babel/types" "^7.7.4" -"@babel/helper-hoist-variables@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.7.4.tgz?cache=0&sync_timestamp=1574466005056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" - integrity sha1-YSOE49gj/fqvn84xVQ/l1NsPPRI= +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz?cache=0&sync_timestamp=1578980710093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha1-uJS5R70AQ4HOY+odufCFR+kgq9U= dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-member-expression-to-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" - integrity sha1-NWQ44lad9zIagyZkTUt5DSEiy3Q= +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha1-Hb6ba1XXjJtBg/yM3G4wzrg7cTQ= dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" + +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw= + dependencies: + "@babel/types" "^7.8.3" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.7.0": version "7.7.0" @@ -193,12 +237,12 @@ dependencies: "@babel/types" "^7.7.0" -"@babel/helper-module-imports@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" - integrity sha1-5aklKfiIi/MZpjdqv70c68SRrZE= +"@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg= dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" "@babel/helper-module-transforms@^7.7.0": version "7.7.0" @@ -212,69 +256,62 @@ "@babel/types" "^7.7.0" lodash "^4.17.13" -"@babel/helper-module-transforms@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.7.4.tgz#8d7cdb1e1f8ea3d8c38b067345924ac4f8e0879a" - integrity sha1-jXzbHh+Oo9jDiwZzRZJKxPjgh5o= +"@babel/helper-module-transforms@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" + integrity sha1-0wXjXQK+5yD7wsPDYjqgwxbAFZA= dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" lodash "^4.17.13" -"@babel/helper-module-transforms@^7.7.5": - version "7.7.5" - resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835" - integrity sha1-0ETaf/2R7JZ9slzWdI9wS2skSDU= +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk= dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.7.4.tgz?cache=0&sync_timestamp=1574465630779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" - integrity sha1-A0rzE3DSmVJCqk30AsO3eUstzfI= - dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" integrity sha1-u7P77phmHFaQNCN8wDlnupm08lA= -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha1-CqaCT3EAouDonBUnwjk2wVLKs1E= +"@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha1-nqKTvhm6vA9S/4yoizTDYRsghnA= + +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU= dependencies: lodash "^4.17.13" -"@babel/helper-remap-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" - integrity sha1-xowkBzUNmvDgYe1nJq+0//FtAjQ= +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha1-JzxgDYub9QBhQsHjWIfVVcEu3YY= dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-wrap-function" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-replace-supers@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.7.4.tgz?cache=0&sync_timestamp=1574465645820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" - integrity sha1-PIgaamp1cSdactguYQcSbsnizdI= +"@babel/helper-replace-supers@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" + integrity sha1-kRktJfarvNQdqKmJ1EkldPsVMLw= dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" "@babel/helper-simple-access@^7.7.0": version "7.7.0" @@ -284,13 +321,13 @@ "@babel/template" "^7.7.0" "@babel/types" "^7.7.0" -"@babel/helper-simple-access@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" - integrity sha1-oWmgrbG19BjPwZ8iWGsuv1ipopQ= +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4= dependencies: - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" "@babel/helper-split-export-declaration@^7.7.0": version "7.7.0" @@ -306,15 +343,22 @@ dependencies: "@babel/types" "^7.7.4" -"@babel/helper-wrap-function@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" - integrity sha1-N6t/7VFQ4i2dcmboMAcsDN2Lqs4= +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz?cache=0&sync_timestamp=1578980712591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha1-ManzAHD5E2inGCzwX4MXgQZfx6k= dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha1-nb2yu1XvFKqgH+jJm2Kb1TUthhA= + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" "@babel/helpers@^7.7.0": version "7.7.0" @@ -325,14 +369,14 @@ "@babel/traverse" "^7.7.0" "@babel/types" "^7.7.0" -"@babel/helpers@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" - integrity sha1-YsIVuebHEtrcFamg3Kt2ySqUAwI= +"@babel/helpers@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" + integrity sha1-dU6z7nJ8Fl4KJA1sIH3nxFXzb3M= dependencies: - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.4" + "@babel/types" "^7.8.3" "@babel/highlight@^7.0.0": version "7.5.0" @@ -343,7 +387,16 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2": +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c= + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2": version "7.7.3" resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043" integrity sha1-X61FfCUp3kdqJI91sPCQswYK8EM= @@ -353,96 +406,103 @@ resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.4.tgz#75ab2d7110c2cf2fa949959afb05fa346d2231bb" integrity sha1-dastcRDCzy+pSZWa+wX6NG0iMbs= -"@babel/parser@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.7.tgz?cache=0&sync_timestamp=1576716980389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937" - integrity sha1-G4hllUGc+S2BExbVtxWlP/OLSTc= +"@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" + integrity sha1-0dvmRpHWA1ipdClfpT2gdN0s6Og= -"@babel/plugin-proposal-async-generator-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.7.4.tgz?cache=0&sync_timestamp=1574465892135&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" - integrity sha1-A1HFrAqeknhF//1bgq9HaUe3zm0= +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha1-utMpxnCzgliXIbJ1QMfSiGAcbm8= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.7.4.tgz?cache=0&sync_timestamp=1574465998853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" - integrity sha1-3eZKfxJ2kXWMv+1s9w3g+lh51S0= +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha1-OMT+VVdEgm6X4q6TCw+0zAfmYFQ= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.7.4.tgz?cache=0&sync_timestamp=1574466003110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" - integrity sha1-dwCmv9p3HY3IGXMknqxBbGtMaX0= +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha1-2lIWsjipi1ih4F1oUhBLEPmnDWs= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz#7db302c83bc30caa89e38fee935635ef6bd11c28" - integrity sha512-TbYHmr1Gl1UC7Vo2HVuj/Naci5BEGNZ0AJhzqD2Vpr6QPFWpUmBRLrIDjedzx7/CShq0bRDS2gI4FIs77VHLVQ== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz?cache=0&sync_timestamp=1578966818641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-object-rest-spread@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.7.7.tgz#9f27075004ab99be08c5c1bd653a2985813cb370" - integrity sha1-nycHUASrmb4IxcG9ZTophYE8s3A= +"@babel/plugin-proposal-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" + integrity sha1-61rjZhGN3KZ77Vg7U9dVTK2ZUbs= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.7.4.tgz?cache=0&sync_timestamp=1574466000999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" - integrity sha1-7CHorrCexnEbwKOcpJUgq+4d43k= +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha1-ne6WqxZQ7tiGRq6XNMoWesSpxck= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.7.5": - version "7.7.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.7.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.7.5.tgz#f0835f044cef85b31071a924010a2a390add11d4" - integrity sha1-8INfBEzvhbMQcakkAQoqOQrdEdQ= +"@babel/plugin-proposal-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" + integrity sha1-rhCzIUyyX3rbHzvIe6QsoQt+JUM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.7.7.tgz#433fa9dac64f953c12578b29633f456b68831c4e" - integrity sha1-Qz+p2sZPlTwSV4spYz9Fa2iDHE4= +"@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" + integrity sha1-tkbDrepfmIAMmrRRBaw00GzUpH8= dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-async-generators%2Fdownload%2F%40babel%2Fplugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" - integrity sha1-MxqvMQoQyAxEpmsji25JEyvTyIk= +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" - integrity sha1-Kco7RBWr/kpew4HpA4Yq0aVMOuw= +"@babel/plugin-syntax-bigint@^7.0.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-bigint/download/@babel/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha1-TJpvZp9dDN8bkKFnHpoUa+UwDOo= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" - integrity sha1-huY/fS4i+eJxKaxOg+qYmjguhsw= +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.2.0": version "7.2.0" @@ -451,19 +511,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.7.4.tgz?cache=0&sync_timestamp=1574466421110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" - integrity sha1-2rK1ajb7bDwiKh+8cfe/l/Mnqew= +"@babel/plugin-syntax-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" + integrity sha1-UhsGyDxASA8eWLT9M7kuzrHW6pQ= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.7.4.tgz#e53b751d0c3061b1ba3089242524b65a7a9da12b" - integrity sha512-XKh/yIRPiQTOeBg0QJjEus5qiSKucKAiApNtO1psqG7D17xmE+X2i5ZqBEuSvo0HRuyPaKaSN/Gy+Ha9KFQolw== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-object-rest-spread@^7.0.0": version "7.2.0" @@ -472,159 +532,159 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" - integrity sha1-R88iDRnW0NexVDBHAfRo/BzG/0Y= +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" - integrity sha1-o+OPWfS2IzhntKktyw7gWywzSqY= +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-optional-chaining%2Fdownload%2F%40babel%2Fplugin-syntax-optional-chaining-7.7.4.tgz#c91fdde6de85d2eb8906daea7b21944c3610c901" - integrity sha1-yR/d5t6F0uuJBtrqeyGUTDYQyQE= +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" - integrity sha1-vX2Pp7n+55OjbkAn/W3RqjL5Rto= +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha1-Os3s5pXmsTqvV/wpHRqACVDHE5E= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-typescript@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.7.4.tgz#5d037ffa10f3b25a16f32570ebbe7a8c2efa304b" - integrity sha1-XQN/+hDzsloW8yVw6756jC76MEs= +"@babel/plugin-syntax-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" + integrity sha1-wfZZ3al3EaVpzvdSdffhXcqmyrw= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-arrow-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.7.4.tgz?cache=0&sync_timestamp=1574465864396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" - integrity sha1-djCb1Xit3YruOzedgJyAIwWpihI= +"@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha1-gndsLtDNnhpJlW2uuJYCTJRzuLY= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.7.4.tgz?cache=0&sync_timestamp=1574465889738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" - integrity sha1-aUy+rm1hOjTvApJxP6QvtFxEcLo= +"@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha1-Qwj60NlAnXHq+5sabuNfnWS2QIY= dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" -"@babel/plugin-transform-block-scoped-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" - integrity sha1-0NnVwmnHjq6nYies4hS40B5Ng3s= +"@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha1-Q37sW3mbWFIHIISzrl72boNJ6KM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-block-scoping@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" - integrity sha1-IAqtDc1ruANy+U2eYo6gYsWL8iQ= +"@babel/plugin-transform-block-scoping@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha1-l9Ndq2aFekN8FmNYuR0JBQyGjzo= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" - integrity sha1-ySwUvgoTmeFd9yZnBnqPUQyUAOw= +"@babel/plugin-transform-classes@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" + integrity sha1-Rv16nSu56onOiHIEd5ef4NcbIbg= dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-define-map" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" - integrity sha1-6FbBYo0yOP/hLWaOtCVZ95qBkQ0= +"@babel/plugin-transform-computed-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha1-ltDSi3985OtbEguy4OlDNDyG+Bs= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-destructuring@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" - integrity sha1-K3E3KeUFShE1CXtqZ9obb+h4kmc= +"@babel/plugin-transform-destructuring@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" + integrity sha1-IN372eRnaQaxBW7mCviFkMx6qgs= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.7.7.tgz#3e9713f1b69f339e87fa796b097d73ded16b937b" - integrity sha1-PpcT8bafM56H+nlrCX1z3tFrk3s= +"@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha1-w8bsXuYSXGmTxcvKINyGIanqem4= dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-duplicate-keys@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" - integrity sha1-PSFzGkLj9ZinODUpndAWnDuQrJE= +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha1-jRLfMJqlN/JyiZxWXqF2jihuIfE= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" - integrity sha1-3TDAGR46G6GbzH44m9/dwHKdXbk= +"@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha1-WBptf1aXDga/UVYM1k9elHtw17c= dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-for-of@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" - integrity sha1-JIgA46XlB7HxA9i0ypmOd8Y5Mrw= +"@babel/plugin-transform-for-of@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d" + integrity sha1-b+jq5daHUIbuGF3QsJioUTeDtH0= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" - integrity sha1-dabTMD1Q22OP+LU4XRJFHIZQJbE= +"@babel/plugin-transform-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha1-J5NzyycyKqrWfCaD53bfxHGW7Ys= dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" - integrity sha1-J/6H0rUBeipaNNHEGmufamJiZD4= +"@babel/plugin-transform-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha1-rvI5gj2RmU7Hto5VGTUl1229XcE= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-member-expression-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" - integrity sha1-ruEn8vMzn8NM5eMFXX/796om8Zo= +"@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha1-lj/tS2IKx8v2Apx1VCQCn6OkBBA= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-modules-amd@^7.7.5": - version "7.7.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c" - integrity sha1-OeD7cXIktZR1swZAK7ju2rAecpw= +"@babel/plugin-transform-modules-amd@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" + integrity sha1-ZWBtRGFrUCJedvVXjzPFaKC4dqU= dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-commonjs@^7.2.0": @@ -637,220 +697,227 @@ "@babel/helper-simple-access" "^7.7.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.7.5": - version "7.7.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" - integrity sha1-HSf16wvPdUPndJUOWy+nguY3s0U= +"@babel/plugin-transform-modules-commonjs@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" + integrity sha1-3yUXBuwzG9BYo0vdcmE5FfgpKKU= dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.4" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" - integrity sha1-zZgVIznT52Pf6Di31Cc+2vUguzA= +"@babel/plugin-transform-modules-systemjs@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" + integrity sha1-2LvyIsHb42YfRA8vAMFum7fQ1CA= dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-umd@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" - integrity sha1-ECfDVaEY3gqun+4ArXgTxYTZBh8= +"@babel/plugin-transform-modules-umd@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" + integrity sha1-WS1XjOBsUvW5iwL5E9ZT/+lyZho= dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.7.4.tgz?cache=0&sync_timestamp=1574465998388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" - integrity sha1-+zvMTuQZjnOFgFAHNz1rb0LJgiA= +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha1-oqcr/6ICrA4tBQav0JOcXsvEjGw= dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" -"@babel/plugin-transform-new-target@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" - integrity sha1-SgdT0tYGOUN74HtZKp5Y7gByAWc= +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha1-YMwq5m2FyVq1QOs0urtkNNTHDEM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-object-assign@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-assign/download/@babel/plugin-transform-object-assign-7.7.4.tgz#a31b70c434a00a078b2d4d10dbd59992fa70afca" - integrity sha1-oxtwxDSgCgeLLU0Q29WZkvpwr8o= +"@babel/plugin-transform-object-assign@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-assign/download/@babel/plugin-transform-object-assign-7.8.3.tgz#dc3b8dd50ef03837868a37b7df791f64f288538e" + integrity sha1-3DuN1Q7wODeGije333kfZPKIU44= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-object-super@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" - integrity sha1-SEiJN6LVhsAUhFG/Ua+dfdpWcmI= +"@babel/plugin-transform-object-super@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha1-67ah56hv+paFi9asAQLWWUQmFyU= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-parameters@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.7.7.tgz#7a884b2460164dc5f194f668332736584c760007" - integrity sha1-eohLJGAWTcXxlPZoMyc2WEx2AAc= +"@babel/plugin-transform-parameters@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3" + integrity sha1-HVFV3gtl2wzPmXEWV0XTu5kNd9M= dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-call-delegate" "^7.8.3" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-property-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" - integrity sha1-I4jWUF74myZhA/RQ+RZ+a9c/mMI= +"@babel/plugin-transform-property-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha1-MxlDANhTnB7SjGKtUIe6OAe5gmM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.7.5": - version "7.7.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" - integrity sha1-OodX7hongPOQ6J8kYGXs9Zwm/Ok= +"@babel/plugin-transform-regenerator@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.8.3.tgz#b31031e8059c07495bf23614c97f3d9698bc6ec8" + integrity sha1-sxAx6AWcB0lb8jYUyX89lpi8bsg= dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-reserved-words@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" - integrity sha1-anzxI60XW7XGmuyPbwdwOH7T8es= +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha1-mgY1rE5mXSmxYoN908xQdF398fU= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-runtime@^7.7.6": - version "7.7.6" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.7.6.tgz#4f2b548c88922fb98ec1c242afd4733ee3e12f61" - integrity sha1-TytUjIiSL7mOwcJCr9RzPuPhL2E= +"@babel/plugin-transform-runtime@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" + integrity sha1-wBU7wKU3XrwfFZHLfuoiOt6p8Wk= dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" - integrity sha1-dKCpsvbWemhMb7/V8EWOt7qZiR4= +"@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha1-KFRSFuAjqDLU06EYXtSSvP6sCMg= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" - integrity sha1-qmc7NW/mt+cNabbjOhf+9kEAhXg= +"@babel/plugin-transform-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha1-nI/+gXD9+4ixFOy5ILgvtulf5eg= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-sticky-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" - integrity sha1-/7aMBQkMMHMgdrEoXcFAG0BKEjw= +"@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha1-vnoSkPgdrnZ0dUUhmeH3bWF1sQA= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" -"@babel/plugin-transform-template-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" - integrity sha1-HrZBFzbdP+h9vSDMZmjlEhwX1gQ= +"@babel/plugin-transform-template-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha1-e/pHMrRV6mpDEwrcC6dn7A5AKoA= dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typeof-symbol@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" - integrity sha1-MXRiYhTy1t4yKILkmKOOg3GyFA4= +"@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha1-7eQGIxXOCq+KZXqSCFjxovNfxBI= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typescript@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.7.4.tgz#2974fd05f4e85c695acaf497f432342de9fc0636" - integrity sha1-KXT9BfToXGlayvSX9DI0Len8BjY= +"@babel/plugin-transform-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.8.3.tgz#be6f01a7ef423be68e65ace1f04fc407e6d88917" + integrity sha1-vm8Bp+9CO+aOZazh8E/EB+bYiRc= dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.7.4" + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-typescript" "^7.8.3" -"@babel/plugin-transform-unicode-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.7.4.tgz?cache=0&sync_timestamp=1574465997106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" - integrity sha1-o8D2WxF8TIHFtkhPKl57lTRrg64= +"@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha1-DO8247pz5cVyc+/7GC9GuRoeyq0= dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.7.7.tgz#c294167b91e53e7e36d820e943ece8d0c7fe46ac" - integrity sha1-wpQWe5HlPn422CDpQ+zo0Mf+Rqw= +"@babel/preset-env@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" + integrity sha1-naxt9fQjAV09Sbbp5fo0E+SnLE4= dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.4" - "@babel/plugin-proposal-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-json-strings" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.7" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-syntax-top-level-await" "^7.7.4" - "@babel/plugin-transform-arrow-functions" "^7.7.4" - "@babel/plugin-transform-async-to-generator" "^7.7.4" - "@babel/plugin-transform-block-scoped-functions" "^7.7.4" - "@babel/plugin-transform-block-scoping" "^7.7.4" - "@babel/plugin-transform-classes" "^7.7.4" - "@babel/plugin-transform-computed-properties" "^7.7.4" - "@babel/plugin-transform-destructuring" "^7.7.4" - "@babel/plugin-transform-dotall-regex" "^7.7.7" - "@babel/plugin-transform-duplicate-keys" "^7.7.4" - "@babel/plugin-transform-exponentiation-operator" "^7.7.4" - "@babel/plugin-transform-for-of" "^7.7.4" - "@babel/plugin-transform-function-name" "^7.7.4" - "@babel/plugin-transform-literals" "^7.7.4" - "@babel/plugin-transform-member-expression-literals" "^7.7.4" - "@babel/plugin-transform-modules-amd" "^7.7.5" - "@babel/plugin-transform-modules-commonjs" "^7.7.5" - "@babel/plugin-transform-modules-systemjs" "^7.7.4" - "@babel/plugin-transform-modules-umd" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" - "@babel/plugin-transform-new-target" "^7.7.4" - "@babel/plugin-transform-object-super" "^7.7.4" - "@babel/plugin-transform-parameters" "^7.7.7" - "@babel/plugin-transform-property-literals" "^7.7.4" - "@babel/plugin-transform-regenerator" "^7.7.5" - "@babel/plugin-transform-reserved-words" "^7.7.4" - "@babel/plugin-transform-shorthand-properties" "^7.7.4" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/plugin-transform-sticky-regex" "^7.7.4" - "@babel/plugin-transform-template-literals" "^7.7.4" - "@babel/plugin-transform-typeof-symbol" "^7.7.4" - "@babel/plugin-transform-unicode-regex" "^7.7.4" - "@babel/types" "^7.7.4" - browserslist "^4.6.0" - core-js-compat "^3.6.0" + "@babel/compat-data" "^7.8.4" + "@babel/helper-compilation-targets" "^7.8.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.8.3" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.8.4" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.8.3" + "@babel/plugin-transform-modules-systemjs" "^7.8.3" + "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.4" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/types" "^7.8.3" + browserslist "^4.8.5" + core-js-compat "^3.6.2" invariant "^2.2.2" - js-levenshtein "^1.1.3" + levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-typescript@^7.7.7": - version "7.7.7" - resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.7.7.tgz#69ddea54e8b4e491ccbf94147e673b2ac6e11e2e" - integrity sha1-ad3qVOi05JHMv5QUfmc7KsbhHi4= +"@babel/preset-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.8.3.tgz#90af8690121beecd9a75d0cc26c6be39d1595d13" + integrity sha1-kK+GkBIb7s2addDMJsa+OdFZXRM= dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.8.3" "@babel/runtime@^7.0.0": version "7.7.4" @@ -866,7 +933,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.4.0", "@babel/template@^7.7.0": +"@babel/template@^7.7.0": version "7.7.0" resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0" integrity sha1-T63BuOc02X9W3jnHfedvJWLll9A= @@ -884,7 +951,16 @@ "@babel/parser" "^7.7.4" "@babel/types" "^7.7.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": +"@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.3.tgz?cache=0&sync_timestamp=1578980712423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha1-4CrQT+JipleAkyf1eAVsoV/U0bg= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": version "7.7.2" resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" integrity sha1-7wpl4HovPFUJZzZrPZtioty+rgk= @@ -914,7 +990,22 @@ 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.0", "@babel/types@^7.7.2": +"@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.8.4.tgz?cache=0&sync_timestamp=1580387868716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c" + integrity sha1-8IRYIjZfnVsOMS7TlZ0/gn+Gnjw= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.4" + "@babel/types" "^7.8.3" + 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.7.0", "@babel/types@^7.7.2": version "7.7.2" resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" integrity sha1-VQuC5VcdzRdK9XbiPwrbp//Gg/c= @@ -932,6 +1023,20 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha1-Wjg9/6VBbbG3Pe3/0xH/0HiPsxw= + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npm.taobao.org/@bcoe/v8-coverage/download/@bcoe/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha1-daLotRy3WKdVPWgEpZMteqznXDk= + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -945,153 +1050,179 @@ resolved "https://registry.npm.taobao.org/@iarna/toml/download/@iarna/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" integrity sha1-8GC/bqr65NVqfaxhiYCDiwaW4qs= -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz?cache=0&sync_timestamp=1566444475503&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.0.0" + resolved "https://registry.npm.taobao.org/@istanbuljs/load-nyc-config/download/@istanbuljs/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" + integrity sha1-EGAt5VcLrqgvivv6JjCyTnqM/ls= dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" + camelcase "^5.3.1" + find-up "^4.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha1-JlIL8Jq+SlZEzVQU43ElqJVCQd0= + +"@jest/console@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-25.1.0.tgz#1fc765d44a1e11aec5029c08e798246bd37075ab" + integrity sha1-H8dl1EoeEa7FApwI55gka9Nwdas= 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" + "@jest/source-map" "^25.1.0" + chalk "^3.0.0" + jest-util "^25.1.0" + slash "^3.0.0" + +"@jest/core@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-25.1.0.tgz#3d4634fc3348bb2d7532915d67781cdac0869e47" + integrity sha1-PUY0/DNIuy11MpFdZ3gc2sCGnkc= + dependencies: + "@jest/console" "^25.1.0" + "@jest/reporters" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" 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" + graceful-fs "^4.2.3" + jest-changed-files "^25.1.0" + jest-config "^25.1.0" + jest-haste-map "^25.1.0" + jest-message-util "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-resolve-dependencies "^25.1.0" + jest-runner "^25.1.0" + jest-runtime "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" + jest-watcher "^25.1.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= +"@jest/environment@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-25.1.0.tgz#4a97f64770c9d075f5d2b662b5169207f0a3f787" + integrity sha1-Spf2R3DJ0HX10rZitRaSB/Cj94c= 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" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= +"@jest/fake-timers@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-25.1.0.tgz#a1e0eff51ffdbb13ee81f35b52e0c1c11a350ce8" + integrity sha1-oeDv9R/9uxPugfNbUuDBwRo1DOg= dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" + "@jest/types" "^25.1.0" + jest-message-util "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" + lolex "^5.0.0" -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= +"@jest/reporters@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-25.1.0.tgz#9178ecf136c48f125674ac328f82ddea46e482b0" + integrity sha1-kXjs8TbEjxJWdKwyj4Ld6kbkgrA= 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" + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" 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" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.0" + jest-haste-map "^25.1.0" + jest-resolve "^25.1.0" + jest-runtime "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" + slash "^3.0.0" source-map "^0.6.0" - string-length "^2.0.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.0.1" + optionalDependencies: + node-notifier "^6.0.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&sync_timestamp=1566444244775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= +"@jest/source-map@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-25.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-25.1.0.tgz#b012e6c469ccdbc379413f5c1b1ffb7ba7034fb0" + integrity sha1-sBLmxGnM28N5QT9cGx/7e6cDT7A= dependencies: callsites "^3.0.0" - graceful-fs "^4.1.15" + graceful-fs "^4.2.3" source-map "^0.6.0" -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1566444258919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= +"@jest/test-result@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-25.1.0.tgz#847af2972c1df9822a8200457e64be4ff62821f7" + integrity sha1-hHrylywd+YIqggBFfmS+T/YoIfc= dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/console" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= +"@jest/test-sequencer@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-25.1.0.tgz#4df47208542f0065f356fcdb80026e3c042851ab" + integrity sha1-TfRyCFQvAGXzVvzbgAJuPAQoUas= dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" + "@jest/test-result" "^25.1.0" + jest-haste-map "^25.1.0" + jest-runner "^25.1.0" + jest-runtime "^25.1.0" -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1566444336900&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= +"@jest/transform@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-25.1.0.tgz#221f354f512b4628d88ce776d5b9e601028ea9da" + integrity sha1-Ih81T1ErRijYjOd21bnmAQKOqdo= dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" + "@jest/types" "^25.1.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" 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" + graceful-fs "^4.2.3" + jest-haste-map "^25.1.0" + jest-regex-util "^25.1.0" + jest-util "^25.1.0" + micromatch "^4.0.2" pirates "^4.0.1" realpath-native "^1.1.0" - slash "^2.0.0" + slash "^3.0.0" source-map "^0.6.1" - write-file-atomic "2.4.1" + write-file-atomic "^3.0.0" -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= +"@jest/types@^25.1.0": + version "25.1.0" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" + integrity sha1-smgxkW8NfDgeEdu14QOnKu0bQ5U= dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -1206,6 +1337,13 @@ resolved "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o= +"@sinonjs/commons@^1.7.0": + version "1.7.0" + resolved "https://registry.npm.taobao.org/@sinonjs/commons/download/@sinonjs/commons-1.7.0.tgz?cache=0&sync_timestamp=1576683328873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sinonjs%2Fcommons%2Fdownload%2F%40sinonjs%2Fcommons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" + integrity sha1-+Q/8UqLlGfAYsTtsTaA8v/NuvtY= + dependencies: + type-detect "4.0.8" + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -1291,19 +1429,6 @@ resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz?cache=0&sync_timestamp=1572470950582&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Feslint-visitor-keys%2Fdownload%2F%40types%2Feslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= -"@types/eslint@^6.1.3": - version "6.1.3" - resolved "https://registry.npm.taobao.org/@types/eslint/download/@types/eslint-6.1.3.tgz#ec2a66e445a48efaa234020eb3b6e8f06afc9c61" - integrity sha1-7Cpm5EWkjvqiNAIOs7bo8Gr8nGE= - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*": - version "0.0.39" - resolved "https://registry.npm.taobao.org/@types/estree/download/@types/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8= - "@types/events@*": version "3.0.0" resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -1351,10 +1476,10 @@ "@types/relateurl" "*" "@types/uglify-js" "*" -"@types/html-webpack-plugin@^3.2.1": - version "3.2.1" - resolved "https://registry.npm.taobao.org/@types/html-webpack-plugin/download/@types/html-webpack-plugin-3.2.1.tgz#d3401407261ec82cb0fc380df28e57c94e851e4d" - integrity sha1-00AUByYeyCyw/DgN8o5XyU6FHk0= +"@types/html-webpack-plugin@^3.2.2": + version "3.2.2" + resolved "https://registry.npm.taobao.org/@types/html-webpack-plugin/download/@types/html-webpack-plugin-3.2.2.tgz?cache=0&sync_timestamp=1580401102349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhtml-webpack-plugin%2Fdownload%2F%40types%2Fhtml-webpack-plugin-3.2.2.tgz#f552121f3c0a3972dda9a425de1e0029069b2907" + integrity sha1-9VISHzwKOXLdqaQl3h4AKQabKQc= dependencies: "@types/html-minifier" "*" "@types/tapable" "*" @@ -1376,7 +1501,7 @@ dependencies: "@types/node" "*" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" integrity sha1-QplbRG25pIoRoH7Ag0mahg6ROP8= @@ -1396,14 +1521,15 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^24.0.25": - version "24.0.25" - resolved "https://registry.npm.taobao.org/@types/jest/download/@types/jest-24.0.25.tgz?cache=0&sync_timestamp=1577379199900&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-24.0.25.tgz#2aba377824ce040114aa906ad2cac2c85351360f" - integrity sha1-Kro3eCTOBAEUqpBq0srCyFNRNg8= +"@types/jest@^25.1.1": + version "25.1.1" + resolved "https://registry.npm.taobao.org/@types/jest/download/@types/jest-25.1.1.tgz?cache=0&sync_timestamp=1580336346744&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-25.1.1.tgz#dcf65a8ee315b91ad39c0d358ae0ddc5602ab0e9" + integrity sha1-3PZajuMVuRrTnA01iuDdxWAqsOk= dependencies: - jest-diff "^24.3.0" + jest-diff "^25.1.0" + pretty-format "^25.1.0" -"@types/json-schema@*", "@types/json-schema@^7.0.3": +"@types/json-schema@^7.0.3": version "7.0.3" resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha1-vf1p1h5GTcyBslFZwnDXWnPBpjY= @@ -1423,11 +1549,21 @@ resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= +"@types/minimist@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" + integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + "@types/node@*", "@types/node@>= 8": version "12.12.8" resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.8.tgz?cache=0&sync_timestamp=1573849514401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.8.tgz#dab418655af39ce2fa99286a0bed21ef8072ac9d" integrity sha1-2rQYZVrznOL6mShqC+0h74ByrJ0= +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -1474,37 +1610,16 @@ "@types/glob" "*" "@types/node" "*" -"@types/signale@^1.2.1": - version "1.2.1" - resolved "https://registry.npm.taobao.org/@types/signale/download/@types/signale-1.2.1.tgz#7ff3d477e8d5983b7ecef544f5830c3cb271d1a8" - integrity sha1-f/PUd+jVmDt+zvVE9YMMPLJx0ag= - dependencies: - "@types/node" "*" - "@types/source-list-map@*": version "0.1.2" resolved "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk= -"@types/source-map@^0.5.7": - version "0.5.7" - resolved "https://registry.npm.taobao.org/@types/source-map/download/@types/source-map-0.5.7.tgz#165eeb583c1ef00196fe4ef4da5d7832b03b275b" - integrity sha1-Fl7rWDwe8AGW/k702l14MrA7J1s= - dependencies: - source-map "*" - "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= -"@types/stylelint@^9.10.1": - version "9.10.1" - resolved "https://registry.npm.taobao.org/@types/stylelint/download/@types/stylelint-9.10.1.tgz#211832381e43fd0774217b59f02ab389d82643ea" - integrity sha1-IRgyOB5D/Qd0IXtZ8CqzidgmQ+o= - dependencies: - postcss "7.x.x" - "@types/tapable@*": version "1.0.4" resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" @@ -1538,10 +1653,10 @@ "@types/unist" "*" "@types/vfile-message" "*" -"@types/webpack-dev-server@^3.9.0": - version "3.9.0" - resolved "https://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.9.0.tgz#e31096477a88b0e54968cbc0d688dac9ba2c5442" - integrity sha1-4xCWR3qIsOVJaMvA1ojaybosVEI= +"@types/webpack-dev-server@^3.10.0": + version "3.10.0" + resolved "https://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.10.0.tgz#5121ed285357b3b7463cac0d35e9b93819cf2167" + integrity sha1-USHtKFNXs7dGPKwNNem5OBnPIWc= dependencies: "@types/connect-history-api-fallback" "*" "@types/express" "*" @@ -1565,10 +1680,10 @@ "@types/source-list-map" "*" source-map "^0.6.1" -"@types/webpack@*", "@types/webpack@^4.41.2": - version "4.41.2" - resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.2.tgz?cache=0&sync_timestamp=1578441659523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.2.tgz#c6faf0111de27afdffe1158dac559e447c273516" - integrity sha1-xvrwER3iev3/4RWNrFWeRHwnNRY= +"@types/webpack@*", "@types/webpack@^4.41.4": + version "4.41.4" + resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.4.tgz#6cd2d651d214c344640cbab1c82037289b0154cd" + integrity sha1-bNLWUdIUw0RkDLqxyCA3KJsBVM0= dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -1582,66 +1697,66 @@ resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" integrity sha1-xWOqGS85NQodGNo2xajaOCu9gig= -"@types/yargs@^13.0.0": - version "13.0.3" - resolved "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" - integrity sha1-dkgq85gdRBLWU3GjGPmS0zRko4A= +"@types/yargs@^15.0.0": + version "15.0.3" + resolved "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.3.tgz?cache=0&sync_timestamp=1580514352262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-15.0.3.tgz#41453a0bc7ab393e995d1f5451455638edbd2baf" + integrity sha1-QUU6C8erOT6ZXR9UUUVWOO29K68= dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.12.0.tgz#0da7cbca7b24f4c6919e9eb31c704bfb126f90ad" - integrity sha512-1t4r9rpLuEwl3hgt90jY18wJHSyb0E3orVL3DaqwmpiSDHmHiSspVsvsFF78BJ/3NNG3qmeso836jpuBWYziAA== +"@typescript-eslint/eslint-plugin@^2.16.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.16.0.tgz#bf339b7db824c7cc3fd1ebedbc88dd17016471af" + integrity sha512-TKWbeFAKRPrvKiR9GNxErQ8sELKqg1ZvXi6uho07mcKShBnCnqNpDQWP01FEvWKf0bxM2g7uQEI5MNjSNqvUpQ== dependencies: - "@typescript-eslint/experimental-utils" "2.12.0" + "@typescript-eslint/experimental-utils" "2.16.0" eslint-utils "^1.4.3" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.12.0.tgz#e0a76ffb6293e058748408a191921e453c31d40d" - integrity sha512-jv4gYpw5N5BrWF3ntROvCuLe1IjRenLy5+U57J24NbPGwZFAjhnM45qpq0nDH1y/AZMb3Br25YiNVwyPbz6RkA== +"@typescript-eslint/experimental-utils@2.16.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.16.0.tgz#bba65685728c532e0ddc811a0376e8d38e671f77" + integrity sha512-bXTmAztXpqxliDKZgvWkl+5dHeRN+jqXVZ16peKKFzSXVzT6mz8kgBpHiVzEKO2NZ8OCU7dG61K9sRS/SkUUFQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.12.0" + "@typescript-eslint/typescript-estree" "2.16.0" eslint-scope "^5.0.0" -"@typescript-eslint/parser@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.12.0.tgz#393f1604943a4ca570bb1a45bc8834e9b9158884" - integrity sha512-lPdkwpdzxEfjI8TyTzZqPatkrswLSVu4bqUgnB03fHSOwpC7KSerPgJRgIAf11UGNf7HKjJV6oaPZI4AghLU6g== +"@typescript-eslint/parser@^2.16.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.16.0.tgz#d0c0135a8fdb915f670802ddd7c1ba457c1b4f9d" + integrity sha512-+w8dMaYETM9v6il1yYYkApMSiwgnqXWJbXrA94LAWN603vXHACsZTirJduyeBOJjA9wT6xuXe5zZ1iCUzoxCfw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.12.0" - "@typescript-eslint/typescript-estree" "2.12.0" + "@typescript-eslint/experimental-utils" "2.16.0" + "@typescript-eslint/typescript-estree" "2.16.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.12.0.tgz#bd9e547ccffd17dfab0c3ab0947c80c8e2eb914c" - integrity sha512-rGehVfjHEn8Frh9UW02ZZIfJs6SIIxIu/K1bbci8rFfDE/1lQ8krIJy5OXOV3DVnNdDPtoiPOdEANkLMrwXbiQ== +"@typescript-eslint/typescript-estree@2.16.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.16.0.tgz#b444943a76c716ed32abd08cbe96172d2ca0ab75" + integrity sha512-hyrCYjFHISos68Bk5KjUAXw0pP/455qq9nxqB1KkT67Pxjcfw+r6Yhcmqnp8etFL45UexCHUMrADHH7dI/m2WQ== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" glob "^7.1.6" is-glob "^4.0.1" - lodash.unescape "4.0.1" + lodash "^4.17.15" semver "^6.3.0" tsutils "^3.17.1" -"@vant/eslint-config@^1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@vant/eslint-config/-/eslint-config-1.5.1.tgz#cfa4418b0b43ca0afb7dbda6973b2b1450306fb2" - integrity sha512-jGN4GJw+MYeXGH9XsYeaWJMpD8TwS1fx4qw4kGXoud8VM6tMdUToxodzJRERoHlDgnpxsqwd4bOf1aztoVuuHg== +"@vant/eslint-config@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@vant/eslint-config/-/eslint-config-2.0.0.tgz#cbfc1daaa42c5ffcf9fa4341d867149737986967" + integrity sha512-W6v4gNieMTGOGWSJVuSSdYjHy3giELbJibFlCMuCGK8VE8MFMSwz2M/riG/NxEOoKx51J1MVH9rFy3lvWuMH6g== dependencies: - "@typescript-eslint/eslint-plugin" "^2.12.0" - "@typescript-eslint/parser" "^2.12.0" + "@typescript-eslint/eslint-plugin" "^2.16.0" + "@typescript-eslint/parser" "^2.16.0" eslint-config-airbnb-base "^14.0.0" - eslint-plugin-import "^2.19.1" - eslint-plugin-vue "^6.0.1" + eslint-plugin-import "^2.20.0" + eslint-plugin-vue "^6.1.2" "@vant/markdown-loader@^2.3.0": version "2.3.0" @@ -1655,10 +1770,10 @@ markdown-it-anchor "^5.2.5" transliteration "^2.1.7" -"@vant/markdown-vetur@^1.0.0": - version "1.0.0" - resolved "https://registry.npm.taobao.org/@vant/markdown-vetur/download/@vant/markdown-vetur-1.0.0.tgz#04774bc45cb6e11c734b8985925558ed8d3aab61" - integrity sha1-BHdLxFy24RxzS4mFklVY7Y06q2E= +"@vant/markdown-vetur@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@vant/markdown-vetur/-/markdown-vetur-1.1.0.tgz#e02d29f3180e47dd588d7dcacaa06b66724915c9" + integrity sha512-abdWeVzCmVMwYzzFoqKtiLb1SVlWNoF3lgDXE0/gGBxkNXSN3XWeGXSaq7LNReyEjpRmfqqEIuP18NvkhBk4DQ== "@vant/stylelint-config@^1.1.0": version "1.1.0" @@ -1973,15 +2088,15 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-globals@^4.1.0: +acorn-globals@^4.3.2: version "4.3.4" - resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-globals%2Fdownload%2Facorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.0.0, acorn-jsx@^5.1.0: +acorn-jsx@^5.1.0: version "5.1.0" resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz?cache=0&sync_timestamp=1570991459312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" integrity sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q= @@ -1991,21 +2106,11 @@ acorn-walk@^6.0.1: resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= -acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk= - acorn@^6.0.1, acorn@^6.2.1: version "6.3.0" resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4= -acorn@^6.0.7: - version "6.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" - integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== - acorn@^7.1.0: version "7.1.0" resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" @@ -2016,20 +2121,22 @@ add-stream@^1.0.0: resolved "https://registry.npm.taobao.org/add-stream/download/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= - dependencies: - es6-promisify "^5.0.0" +address@^1.1.2: + version "1.1.2" + resolved "http://registry.npm.qima-inc.com/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= -aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&sync_timestamp=1570167911603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA= +agent-base@5: + version "5.1.1" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha1-6Ps/JClZ20TWO+Zl23qOc5U3oyw= + +agent-base@6: + version "6.0.0" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" + integrity sha1-XQEB8Zu/rtOZgLIq6GbeFTuT8Jo= dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" + debug "4" ajv-errors@^1.0.0: version "1.0.1" @@ -2090,7 +2197,7 @@ ansi-regex@^3.0.0: resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.0.0, ansi-regex@^4.1.0: +ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= @@ -2133,7 +2240,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: +anymatch@^3.0.3, anymatch@~3.1.1: version "3.1.1" resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= @@ -2161,7 +2268,7 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -argv@^0.0.2: +argv@0.0.2: version "0.0.2" resolved "https://registry.npm.taobao.org/argv/download/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= @@ -2332,7 +2439,7 @@ atob@^2.1.1: resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= -autoprefixer@^9.0.0, autoprefixer@^9.7.1: +autoprefixer@^9.0.0: version "9.7.1" resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.7.1.tgz?cache=0&sync_timestamp=1572570277414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.7.1.tgz#9ffc44c55f5ca89253d9bb7186cefb01ef57747f" integrity sha1-n/xExV9cqJJT2btxhs77Ae9XdH8= @@ -2358,6 +2465,19 @@ autoprefixer@^9.7.3: postcss "^7.0.23" postcss-value-parser "^4.0.2" +autoprefixer@^9.7.4: + version "9.7.4" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.7.4.tgz?cache=0&sync_timestamp=1579071523214&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" + integrity sha1-+L8+BnB9BH8GQdh67oz7F0sqU3g= + dependencies: + browserslist "^4.8.3" + caniuse-lite "^1.0.30001020" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.26" + postcss-value-parser "^4.0.2" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2368,18 +2488,18 @@ aws4@^1.8.0: resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1566472066074&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= +babel-jest@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-25.1.0.tgz?cache=0&sync_timestamp=1579655024726&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-25.1.0.tgz#206093ac380a4b78c4404a05b3277391278f80fb" + integrity sha1-IGCTrDgKS3jEQEoFsydzkSePgPs= dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.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 "^6.0.0" + babel-preset-jest "^25.1.0" + chalk "^3.0.0" + slash "^3.0.0" babel-loader@^8.0.6: version "8.0.6" @@ -2406,30 +2526,32 @@ babel-plugin-import@^1.13.0: "@babel/helper-module-imports" "^7.0.0" "@babel/runtime" "^7.0.0" -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz?cache=0&sync_timestamp=1577063702695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-istanbul%2Fdownload%2Fbabel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U= dependencies: "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= +babel-plugin-jest-hoist@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-25.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-25.1.0.tgz#fb62d7b3b53eb36c97d1bc7fec2072f9bd115981" + integrity sha1-+2LXs7U+s2yX0bx/7CBy+b0RWYE= dependencies: "@types/babel__traverse" "^7.0.6" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz?cache=0&sync_timestamp=1566444259014&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= +babel-preset-jest@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-25.1.0.tgz?cache=0&sync_timestamp=1579655038436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-25.1.0.tgz#d0aebfebb2177a21cde710996fce8486d34f1d33" + integrity sha1-0K6/67IXeiHN5xCZb86EhtNPHTM= dependencies: + "@babel/plugin-syntax-bigint" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" + babel-plugin-jest-hoist "^25.1.0" bail@^1.0.0: version "1.0.4" @@ -2660,7 +2782,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.6.0, browserslist@^4.7.2: +browserslist@^4.7.2: version "4.7.2" resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" integrity sha1-G7mEUxpHa104nO3ssZWyzWn7E0g= @@ -2669,7 +2791,7 @@ browserslist@^4.6.0, browserslist@^4.7.2: electron-to-chromium "^1.3.295" node-releases "^1.1.38" -browserslist@^4.8.0, browserslist@^4.8.2: +browserslist@^4.8.0: version "4.8.2" resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.8.2.tgz?cache=0&sync_timestamp=1575559073248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" integrity sha1-tFcgrV+8hxO3JTwgdm9wHJppQok= @@ -2678,6 +2800,15 @@ browserslist@^4.8.0, browserslist@^4.8.2: electron-to-chromium "^1.3.322" node-releases "^1.1.42" +browserslist@^4.8.3, browserslist@^4.8.5: + version "4.8.6" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.8.6.tgz?cache=0&sync_timestamp=1580344947770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" + integrity sha1-lkBvP18HVdJy4npm9BY8qCFZCn4= + dependencies: + caniuse-lite "^1.0.30001023" + electron-to-chromium "^1.3.341" + node-releases "^1.1.47" + bs-logger@0.x: version "0.2.6" resolved "https://registry.npm.taobao.org/bs-logger/download/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -2856,6 +2987,15 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" +camelcase-keys@^6.1.1: + version "6.1.2" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-6.1.2.tgz?cache=0&sync_timestamp=1580378003326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.1.2.tgz#531a289aeea93249b63ec1249db9265f305041f7" + integrity sha1-Uxoomu6pMkm2PsEknbkmXzBQQfc= + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + camelcase@^2.0.0: version "2.1.1" resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2881,6 +3021,11 @@ caniuse-lite@^1.0.30001012, caniuse-lite@^1.0.30001015: resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001016.tgz?cache=0&sync_timestamp=1576477999349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001016.tgz#16ea48d7d6e8caf3cad3295c2d746fe38c4e7f66" integrity sha1-FupI19boyvPK0ylcLXRv44xOf2Y= +caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: + version "1.0.30001025" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001025.tgz#30336a8aca7f98618eb3cf38e35184e13d4e5fe6" + integrity sha1-MDNqisp/mGGOs88441GE4T1OX+Y= + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3045,17 +3190,19 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.x, clean-css@^4.2.1: +clean-css@4.2.x: version "4.2.1" resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" integrity sha1-LUEe92uFabbQyEBo2r6FsKpeXBc= dependencies: source-map "~0.6.0" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" cli-boxes@^2.2.0: version "2.2.0" @@ -3112,6 +3259,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -3163,22 +3319,28 @@ code-point-at@^1.0.0: resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codecov@^3.6.1: - version "3.6.1" - resolved "https://registry.npm.taobao.org/codecov/download/codecov-3.6.1.tgz?cache=0&sync_timestamp=1569010651819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcodecov%2Fdownload%2Fcodecov-3.6.1.tgz#f39fc49413445555f81f8e3ca5730992843b4517" - integrity sha1-85/ElBNEVVX4H448pXMJkoQ7RRc= +codecov@^3.6.4: + version "3.6.4" + resolved "https://registry.npm.taobao.org/codecov/download/codecov-3.6.4.tgz#c993a58704ad5f15dcdd6aa3c3af22070c69eb18" + integrity sha1-yZOlhwStXxXc3Wqjw68iBwxp6xg= dependencies: - argv "^0.0.2" - ignore-walk "^3.0.1" - js-yaml "^3.13.1" - teeny-request "^3.11.3" - urlgrey "^0.4.4" + argv "0.0.2" + ignore-walk "3.0.3" + js-yaml "3.13.1" + teeny-request "6.0.1" + urlgrey "0.4.4" + validator "12.2.0" collapse-white-space@^1.0.2: version "1.0.5" resolved "https://registry.npm.taobao.org/collapse-white-space/download/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" integrity sha1-wklbaZqx7TgNKaEJHgEGPnXbvjo= +collect-v8-coverage@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/collect-v8-coverage/download/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" + integrity sha1-FQ7mNKw2ULcdnJhet/YIlCM0/rE= + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -3233,10 +3395,10 @@ commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= -commander@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.0.tgz#545983a0603fe425bc672d66c9e3c89c42121a83" - integrity sha1-VFmDoGA/5CW8Zy1myePInEISGoM= +commander@^4.0.1, commander@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg= commander@~2.19.0: version "2.19.0" @@ -3256,6 +3418,11 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" +compare-versions@^3.5.1: + version "3.5.1" + resolved "https://registry.npm.taobao.org/compare-versions/download/compare-versions-3.5.1.tgz#26e1f5cf0d48a77eced5046b9f67b6b61075a393" + integrity sha1-JuH1zw1Ip37O1QRrn2e2thB1o5M= + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -3340,6 +3507,11 @@ consola@^2.10.0: resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.1.tgz#1df259c0a7aef44c9eb4f448e3a20ba0850a65e7" integrity sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw== +consola@^2.11.3: + version "2.11.3" + resolved "http://registry.npm.qima-inc.com/consola/download/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e" + integrity sha1-9zFYNiJMFDrFCUtH/UyBbCzRVg4= + consola@^2.6.0: version "2.11.0" resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.0.tgz#9bb35d850d8cecde894ce2eb4d792fa6b90d9013" @@ -3530,7 +3702,7 @@ conventional-commits-parser@^3.0.8: through2 "^3.0.0" trim-off-newlines "^1.0.0" -convert-source-map@^1.4.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= @@ -3564,12 +3736,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.6.0: - version "3.6.1" - resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.1.tgz#39638c935c83c93a793abb628b252ec43e85783a" - integrity sha1-OWOMk1yDyTp5OrtiiyUuxD6FeDo= +core-js-compat@^3.6.2: + version "3.6.4" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" + integrity sha1-k4R2Vp67bNqA0zm88Zn65PFv/xc= dependencies: - browserslist "^4.8.2" + browserslist "^4.8.3" semver "7.0.0" core-util-is@1.0.2, core-util-is@~1.0.0: @@ -3577,7 +3749,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@5.2.1, cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: +cosmiconfig@5.2.1, cosmiconfig@^5.0.0: version "5.2.1" resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= @@ -3629,12 +3801,12 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-env@^6.0.3: - version "6.0.3" - resolved "https://registry.npm.taobao.org/cross-env/download/cross-env-6.0.3.tgz?cache=0&sync_timestamp=1570033342577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-env%2Fdownload%2Fcross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" - integrity sha1-Qla3HkmzpAY3oM5wdopu9ccq6UE= +cross-env@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/cross-env/download/cross-env-7.0.0.tgz#5a3b2ddce51ec713ea58f2fb79ce22e65b4f5479" + integrity sha1-Wjst3OUexxPqWPL7ec4i5ltPVHk= dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.1" cross-spawn@^5.0.1: version "5.1.0" @@ -3656,9 +3828,9 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0: +cross-spawn@^7.0.0, cross-spawn@^7.0.1: version "7.0.1" - resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.1.tgz?cache=0&sync_timestamp=1570439926300&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" integrity sha1-CrVihuD3wk4VPQTMKqAn5DqaXRQ= dependencies: path-key "^3.1.0" @@ -3687,10 +3859,10 @@ crypto-random-string@^1.0.0: resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= -css-loader@^3.4.1: - version "3.4.1" - resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.4.1.tgz#dfb7968aa9bffb26bd20375afdffe77d5a234b77" - integrity sha1-37eWiqm/+ya9IDda/f/nfVojS3c= +css-loader@^3.4.2: + version "3.4.2" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.4.2.tgz?cache=0&sync_timestamp=1578676111891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" + integrity sha1-0/2zNYtD8jO3hQHF7XscbaYTMgI= dependencies: camelcase "^5.3.1" cssesc "^3.0.0" @@ -3745,17 +3917,22 @@ cssfontparser@^1.2.1: resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz#f4022fc8f9700c68029d542084afbaf425a3f3e3" integrity sha1-9AIvyPlwDGgCnVQghK+69CWj8+M= -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.4.4.tgz?cache=0&sync_timestamp=1573719337707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssom%2Fdownload%2Fcssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA= + +cssom@~0.3.6: version "0.3.8" resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz?cache=0&sync_timestamp=1573719337707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssom%2Fdownload%2Fcssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= +cssstyle@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" + integrity sha1-5MRN68zWt5Ee1hekOV5XVLulmZI= dependencies: - cssom "0.3.x" + cssom "~0.3.6" currently-unhandled@^0.4.1: version "0.4.1" @@ -3783,9 +3960,9 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^1.0.0: +data-urls@^1.1.0: version "1.1.0" - resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz?cache=0&sync_timestamp=1577997348324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdata-urls%2Fdownload%2Fdata-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= dependencies: abab "^2.0.0" @@ -3809,21 +3986,21 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4.1.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@4, debug@4.1.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= dependencies: ms "^2.1.1" -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: +debug@^3.0.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= dependencies: ms "^2.1.1" -decamelize-keys@^1.0.0: +decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= @@ -3937,20 +4114,6 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" -del@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/del/download/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" - integrity sha1-2Uh8lONnQQ5u/ykl7ljAyEp1s6c= - dependencies: - globby "^10.0.1" - graceful-fs "^4.2.2" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.1" - p-map "^3.0.0" - rimraf "^3.0.0" - slash "^3.0.0" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -3997,10 +4160,10 @@ detect-libc@^1.0.2: resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE= detect-node@^2.0.4: version "2.0.4" @@ -4017,10 +4180,10 @@ detect-repo-changelog@1.0.1: lodash.find "^4.6.0" pify "^2.3.0" -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= +diff-sequences@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" + integrity sha1-/SmkbxyRP9ZsImRdx1v/vkMFHzI= diffie-hellman@^5.0.0: version "5.0.3" @@ -4207,6 +4370,11 @@ electron-to-chromium@^1.3.322: resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" integrity sha1-pvfhx5AlwrBYOOjjRPbonrgyE6g= +electron-to-chromium@^1.3.341: + version "1.3.345" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.345.tgz?cache=0&sync_timestamp=1580778211483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.345.tgz#2569d0d54a64ef0f32a4b7e8c80afa5fe57c5d98" + integrity sha1-JWnQ1Upk7w8ypLfoyAr6X+V8XZg= + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -4339,18 +4507,6 @@ es-to-primitive@^1.2.0, es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo= - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -4361,12 +4517,12 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha1-92Pa+ECvFyuzorbdchnA4X9/9UE= +escodegen@^1.11.1: + version "1.13.0" + resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29" + integrity sha1-x635vT88xnW7dS8gL3mnIBicqyk= dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" @@ -4398,10 +4554,10 @@ eslint-module-utils@^2.4.1: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-import@^2.19.1: - version "2.19.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.19.1.tgz#5654e10b7839d064dd0d46cd1b88ec2133a11448" - integrity sha512-x68131aKoCZlCae7rDXKSAQmbT5DQuManyXo2sK6fJJ0aK5CWAkv6A6HJZGgqC8IhjQxYPgo6/IY4Oz8AFsbBw== +eslint-plugin-import@^2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz#d749a7263fb6c29980def8e960d380a6aa6aecaa" + integrity sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ== dependencies: array-includes "^3.0.3" array.prototype.flat "^1.2.1" @@ -4416,14 +4572,15 @@ eslint-plugin-import@^2.19.1: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-vue@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.0.1.tgz#166d3eb24cf290f3ff24d44fe9fca496f3924fc2" - integrity sha512-5tgFPcxGDKjfVB/6Yi56bKiWxygUibfZmzSh26Np3kuwAk/lfaGbVld+Yt+MPgD84ppvcachtiL4/winsXLjXA== +eslint-plugin-vue@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.1.2.tgz#4b05c28c83c0ec912669b64dbd998bb8bf692ef6" + integrity sha512-M75oAB+2a/LNkLKRbeEaS07EjzjIUaV7/hYoHAfRFeeF8ZMmCbahUn8nQLsLP85mkar24+zDU3QW2iT1JRsACw== dependencies: - vue-eslint-parser "^6.0.5" + semver "^5.6.0" + vue-eslint-parser "^7.0.0" -eslint-scope@^4.0.0, eslint-scope@^4.0.3: +eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= @@ -4446,7 +4603,7 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI= @@ -4494,15 +4651,6 @@ eslint@^6.8.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== - dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - espree@^6.1.2: version "6.1.2" resolved "https://registry.npm.taobao.org/espree/download/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" @@ -4512,12 +4660,7 @@ espree@^6.1.2: acorn-jsx "^5.1.0" eslint-visitor-keys "^1.1.0" -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= @@ -4607,16 +4750,17 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^2.0.3: - version "2.1.0" - resolved "https://registry.npm.taobao.org/execa/download/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" - integrity sha1-5dPs2DfSpg7FDz2nj9OXZ3R7vpk= +execa@^3.2.0, execa@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1576749101742&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k= dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" + human-signals "^1.1.1" is-stream "^2.0.0" merge-stream "^2.0.0" - npm-run-path "^3.0.0" + npm-run-path "^4.0.0" onetime "^5.1.0" p-finally "^2.0.0" signal-exit "^3.0.2" @@ -4654,17 +4798,17 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/expect/download/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= +expect@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/expect/download/expect-25.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-25.1.0.tgz#7e8d7b06a53f7d66ec927278db3304254ee683ee" + integrity sha1-fo17BqU/fWbsknJ42zMEJU7mg+4= 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" + "@jest/types" "^25.1.0" + ansi-styles "^4.0.0" + jest-get-type "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-regex-util "^25.1.0" express@^4.17.1: version "4.17.1" @@ -4779,9 +4923,9 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.0.3: +fast-glob@^3.0.3, fast-glob@^3.1.1: version "3.1.1" - resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.1.1.tgz#87ee30e9e9f3eb40d6f254a7997655da753d7c82" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.1.1.tgz?cache=0&sync_timestamp=1575197709194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.1.1.tgz#87ee30e9e9f3eb40d6f254a7997655da753d7c82" integrity sha1-h+4w6enz60DW8lSnmXZV2nU9fII= dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -4939,7 +5083,7 @@ find-cache-dir@^3.0.0: make-dir "^3.0.0" pkg-dir "^4.1.0" -find-up@4.1.0, find-up@^4.0.0: +find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= @@ -4969,6 +5113,13 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-versions@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/find-versions/download/find-versions-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-versions%2Fdownload%2Ffind-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" + integrity sha1-ECl/mAMKeGgpaBaQVF72We0dJU4= + dependencies: + semver-regex "^2.0.0" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -5104,9 +5255,9 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@^2.1.2, fsevents@~2.1.1, fsevents@~2.1.2: version "2.1.2" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.2.tgz?cache=0&sync_timestamp=1573319284429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.2.tgz?cache=0&sync_timestamp=1580708699417&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" integrity sha1-TAofs0vGjlQ7S4Kp7Dkr+9qECAU= function-bind@^1.1.1: @@ -5133,6 +5284,11 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -5335,7 +5491,7 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globby@10.0.1, globby@^10.0.1: +globby@10.0.1: version "10.0.1" resolved "https://registry.npm.taobao.org/globby/download/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" integrity sha1-R4LDTLdd1oM1EzXFgpzDQg5gayI= @@ -5349,6 +5505,18 @@ globby@10.0.1, globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" +globby@^11.0.0: + version "11.0.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.0.tgz#56fd0e9f0d4f8fb0c456f1ab0dee96e1380bc154" + integrity sha1-Vv0Onw1Pj7DEVvGrDe6W4TgLwVQ= + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -5360,7 +5528,7 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^9.0.0, globby@^9.2.0: +globby@^9.0.0: version "9.2.0" resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= @@ -5403,7 +5571,7 @@ got@9.6.0, got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.3: version "4.2.3" resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM= @@ -5418,7 +5586,7 @@ handle-thing@^2.0.0: resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha1-DgOWlf9QyT/CiFV9aW88HcZ3Z1Q= -handlebars@^4.1.2, handlebars@^4.4.0: +handlebars@^4.4.0: version "4.5.3" resolved "https://registry.npm.taobao.org/handlebars/download/handlebars-4.5.3.tgz?cache=0&sync_timestamp=1574061065936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhandlebars%2Fdownload%2Fhandlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" integrity sha1-XPdb2HFPdgVxNRGla+fDSb7LBII= @@ -5442,6 +5610,11 @@ har-validator@~5.1.0: ajv "^6.5.5" har-schema "^2.0.0" +hard-rejection@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/hard-rejection/download/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM= + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -5579,6 +5752,11 @@ html-entities@^1.2.1: resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= +html-escaper@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" + integrity sha1-ceh/kx3j/gnlZmGrmimq3scHtJE= + html-minifier@^3.2.3: version "3.5.21" resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" @@ -5674,6 +5852,14 @@ http-errors@~1.7.2: resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= +http-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-4.0.0.tgz#6b74d332e1934a1107b97e97de4a00e267c790fe" + integrity sha1-a3TTMuGTShEHuX6X3koA4mfHkP4= + dependencies: + agent-base "6" + debug "4" + http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1567540944297&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -5707,13 +5893,18 @@ https-browserify@^1.0.0: resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha1-TuenN6vZJniik9mzShr00NCMeHs= +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha1-cCtx+1UgoTKmbeH2dUHZ5iFU2Cs= dependencies: - agent-base "^4.3.0" - debug "^3.1.0" + agent-base "5" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1577290400756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= humanize-url@^1.0.0: version "1.0.1" @@ -5723,15 +5914,16 @@ humanize-url@^1.0.0: normalize-url "^1.0.0" strip-url-auth "^1.0.0" -husky@^4.0.4: - version "4.0.4" - resolved "https://registry.npm.taobao.org/husky/download/husky-4.0.4.tgz#f4aaee536c5bd0e4618451d0615f46b43a94816c" - integrity sha1-9KruU2xb0ORhhFHQYV9GtDqUgWw= +husky@^4.2.1: + version "4.2.1" + resolved "https://registry.npm.taobao.org/husky/download/husky-4.2.1.tgz?cache=0&sync_timestamp=1579809661929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhusky%2Fdownload%2Fhusky-4.2.1.tgz#b09f1bd9129e6c323cc515dc17081d0615e2d7c1" + integrity sha1-sJ8b2RKebDI8xRXcFwgdBhXi18E= dependencies: chalk "^3.0.0" ci-info "^2.0.0" + compare-versions "^3.5.1" cosmiconfig "^6.0.0" - get-stdin "^7.0.0" + find-versions "^3.2.0" opencollective-postinstall "^2.0.2" pkg-dir "^4.2.0" please-upgrade-node "^3.2.0" @@ -5762,7 +5954,7 @@ iferr@^0.1.5: resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@^3.0.1: +ignore-walk@3.0.3, ignore-walk@^3.0.1: version "3.0.3" resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" integrity sha1-AX4kRxhL/q3nwjjkrv3R6PlbHjc= @@ -5851,6 +6043,14 @@ import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY= + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -6212,7 +6412,7 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" -is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: +is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1562347283002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= @@ -6238,11 +6438,6 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-3.0.2.tgz?cache=0&sync_timestamp=1569836695493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-inside%2Fdownload%2Fis-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha1-9SIPyCo+IzdXKR3dycWHfyofMBc= - is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -6360,6 +6555,11 @@ is-wsl@^1.1.0: resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.1.1.tgz?cache=0&sync_timestamp=1569219566107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha1-ShwVLUKd89RBZpSY4khtNZbrrx0= + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -6397,50 +6597,49 @@ isstream@~0.1.2: resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-3.0.0.tgz?cache=0&sync_timestamp=1577062400885&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw= -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-instrument%2Fdownload%2Fistanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= +istanbul-lib-instrument@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.1.tgz?cache=0&sync_timestamp=1580741110293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-instrument%2Fdownload%2Fistanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" + integrity sha1-YfE6wsls/vsHb+cTEVbMBZB4dOY= 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" + "@babel/core" "^7.7.5" + "@babel/parser" "^7.7.5" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz?cache=0&sync_timestamp=1577062405578&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-report%2Fdownload%2Fistanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha1-dRj+UupE3jcvRgp2tezan/tz2KY= dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.0.tgz?cache=0&sync_timestamp=1577062405633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-source-maps%2Fdownload%2Fistanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk= dependencies: debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" + istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-2.2.6.tgz?cache=0&sync_timestamp=1571446073030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-reports%2Fdownload%2Fistanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha1-e08mYNgrKTA6j+YJH4ykvwWNoa8= +istanbul-reports@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-3.0.0.tgz#d4d16d035db99581b6194e119bbf36c963c5eb70" + integrity sha1-1NFtA125lYG2GU4Rm782yWPF63A= dependencies: - handlebars "^4.1.2" + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" jest-canvas-mock@^2.2.0: version "2.2.0" @@ -6450,276 +6649,278 @@ jest-canvas-mock@^2.2.0: cssfontparser "^1.2.1" parse-color "^1.0.0" -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= +jest-changed-files@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-25.1.0.tgz#73dae9a7d9949fdfa5c278438ce8f2ff3ec78131" + integrity sha1-c9rpp9mUn9+lwnhDjOjy/z7HgTE= dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" + "@jest/types" "^25.1.0" + execa "^3.2.0" + throat "^5.0.0" -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= +jest-cli@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-25.1.0.tgz?cache=0&sync_timestamp=1579654985513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-25.1.0.tgz#75f0b09cf6c4f39360906bf78d580be1048e4372" + integrity sha1-dfCwnPbE85NgkGv3jVgL4QSOQ3I= dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + "@jest/core" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" exit "^0.1.2" - import-local "^2.0.0" + import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" + jest-config "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" prompts "^2.0.1" realpath-native "^1.1.0" - yargs "^13.3.0" + yargs "^15.0.0" -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-24.9.0.tgz?cache=0&sync_timestamp=1566444304119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= +jest-config@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-25.1.0.tgz?cache=0&sync_timestamp=1579655052078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-25.1.0.tgz#d114e4778c045d3ef239452213b7ad3ec1cbea90" + integrity sha1-0RTkd4wEXT7yOUUiE7etPsHL6pA= 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" + "@jest/test-sequencer" "^25.1.0" + "@jest/types" "^25.1.0" + babel-jest "^25.1.0" + chalk "^3.0.0" 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" + jest-environment-jsdom "^25.1.0" + jest-environment-node "^25.1.0" + jest-get-type "^25.1.0" + jest-jasmine2 "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" + micromatch "^4.0.2" + pretty-format "^25.1.0" realpath-native "^1.1.0" -jest-diff@^24.3.0, jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-24.9.0.tgz?cache=0&sync_timestamp=1566444269285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= +jest-diff@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-25.1.0.tgz?cache=0&sync_timestamp=1579655063002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-25.1.0.tgz#58b827e63edea1bc80c1de952b80cec9ac50e1ad" + integrity sha1-WLgn5j7eobyAwd6VK4DOyaxQ4a0= dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + chalk "^3.0.0" + diff-sequences "^25.1.0" + jest-get-type "^25.1.0" + pretty-format "^25.1.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-24.9.0.tgz?cache=0&sync_timestamp=1566444244299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-docblock%2Fdownload%2Fjest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= +jest-docblock@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-25.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-docblock%2Fdownload%2Fjest-docblock-25.1.0.tgz#0f44bea3d6ca6dfc38373d465b347c8818eccb64" + integrity sha1-D0S+o9bKbfw4Nz1GWzR8iBjsy2Q= dependencies: - detect-newline "^2.1.0" + detect-newline "^3.0.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= +jest-each@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-25.1.0.tgz#a6b260992bdf451c2d64a0ccbb3ac25e9b44c26a" + integrity sha1-prJgmSvfRRwtZKDMuzrCXptEwmo= 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/types" "^25.1.0" + chalk "^3.0.0" + jest-get-type "^25.1.0" + jest-util "^25.1.0" + pretty-format "^25.1.0" -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= +jest-environment-jsdom@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-25.1.0.tgz?cache=0&sync_timestamp=1579655041281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-25.1.0.tgz#6777ab8b3e90fd076801efd3bff8e98694ab43c3" + integrity sha1-Z3eriz6Q/QdoAe/Tv/jphpSrQ8M= 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" "^25.1.0" + "@jest/fake-timers" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" + jsdom "^15.1.1" -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-24.9.0.tgz?cache=0&sync_timestamp=1566444339726&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= +jest-environment-node@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-25.1.0.tgz#797bd89b378cf0bd794dc8e3dca6ef21126776db" + integrity sha1-eXvYmzeM8L15Tcjj3KbvIRJndts= 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/environment" "^25.1.0" + "@jest/fake-timers" "^25.1.0" + "@jest/types" "^25.1.0" + jest-mock "^25.1.0" + jest-util "^25.1.0" -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-24.9.0.tgz?cache=0&sync_timestamp=1566444246019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-get-type%2Fdownload%2Fjest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= +jest-get-type@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-25.1.0.tgz?cache=0&sync_timestamp=1579655015948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-get-type%2Fdownload%2Fjest-get-type-25.1.0.tgz#1cfe5fc34f148dc3a8a3b7275f6b9ce9e2e8a876" + integrity sha1-HP5fw08UjcOoo7cnX2uc6eLoqHY= -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= +jest-haste-map@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-25.1.0.tgz?cache=0&sync_timestamp=1579655039235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-25.1.0.tgz#ae12163d284f19906260aa51fd405b5b2e5a4ad3" + integrity sha1-rhIWPShPGZBiYKpR/UBbWy5aStM= dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" + "@jest/types" "^25.1.0" + anymatch "^3.0.3" 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" + graceful-fs "^4.2.3" + jest-serializer "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" + micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" optionalDependencies: - fsevents "^1.2.7" + fsevents "^2.1.2" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz?cache=0&sync_timestamp=1566444342694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= +jest-jasmine2@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-25.1.0.tgz#681b59158a430f08d5d0c1cce4f01353e4b48137" + integrity sha1-aBtZFYpDDwjV0MHM5PATU+S0gTc= 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" + "@jest/environment" "^25.1.0" + "@jest/source-map" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" co "^4.6.0" - expect "^24.9.0" + expect "^25.1.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-each "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-runtime "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + pretty-format "^25.1.0" + throat "^5.0.0" -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= +jest-leak-detector@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-25.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-leak-detector%2Fdownload%2Fjest-leak-detector-25.1.0.tgz#ed6872d15aa1c72c0732d01bd073dacc7c38b5c6" + integrity sha1-7Why0VqhxywHMtAb0HPazHw4tcY= dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + jest-get-type "^25.1.0" + pretty-format "^25.1.0" -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz?cache=0&sync_timestamp=1566444273999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= +jest-matcher-utils@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-25.1.0.tgz?cache=0&sync_timestamp=1579655064075&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-25.1.0.tgz#fa5996c45c7193a3c24e73066fc14acdee020220" + integrity sha1-+lmWxFxxk6PCTnMGb8FKze4CAiA= dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + chalk "^3.0.0" + jest-diff "^25.1.0" + jest-get-type "^25.1.0" + pretty-format "^25.1.0" -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-24.9.0.tgz?cache=0&sync_timestamp=1566444264676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= +jest-message-util@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-25.1.0.tgz?cache=0&sync_timestamp=1579655040577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-25.1.0.tgz#702a9a5cb05c144b9aa73f06e17faa219389845e" + integrity sha1-cCqaXLBcFEuapz8G4X+qIZOJhF4= dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" + chalk "^3.0.0" + micromatch "^4.0.2" + slash "^3.0.0" stack-utils "^1.0.1" -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= +jest-mock@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-25.1.0.tgz?cache=0&sync_timestamp=1579655060443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-25.1.0.tgz#411d549e1b326b7350b2e97303a64715c28615fd" + integrity sha1-QR1Unhsya3NQsulzA6ZHFcKGFf0= dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= +jest-regex-util@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87" + integrity sha1-7691kUJndBg44B3iTaB7IZLRbYc= -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= +jest-resolve-dependencies@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-25.1.0.tgz#8a1789ec64eb6aaa77fd579a1066a783437e70d2" + integrity sha1-iheJ7GTraqp3/VeaEGang0N+cNI= dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" + "@jest/types" "^25.1.0" + jest-regex-util "^25.1.0" + jest-snapshot "^25.1.0" -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= +jest-resolve@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-25.1.0.tgz?cache=0&sync_timestamp=1579655061407&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve%2Fdownload%2Fjest-resolve-25.1.0.tgz#23d8b6a4892362baf2662877c66aa241fa2eaea3" + integrity sha1-I9i2pIkjYrryZih3xmqiQfourqM= dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" browser-resolve "^1.11.3" - chalk "^2.0.1" + chalk "^3.0.0" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= +jest-runner@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-25.1.0.tgz#fef433a4d42c89ab0a6b6b268e4a4fbe6b26e812" + integrity sha1-/vQzpNQsiasKa2smjkpPvmsm6BI= 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" + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + chalk "^3.0.0" 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" + graceful-fs "^4.2.3" + jest-config "^25.1.0" + jest-docblock "^25.1.0" + jest-haste-map "^25.1.0" + jest-jasmine2 "^25.1.0" + jest-leak-detector "^25.1.0" + jest-message-util "^25.1.0" + jest-resolve "^25.1.0" + jest-runtime "^25.1.0" + jest-util "^25.1.0" + jest-worker "^25.1.0" source-map-support "^0.5.6" - throat "^4.0.0" + throat "^5.0.0" -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= +jest-runtime@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-25.1.0.tgz#02683218f2f95aad0f2ec1c9cdb28c1dc0ec0314" + integrity sha1-AmgyGPL5Wq0PLsHJzbKMHcDsAxQ= 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" + "@jest/console" "^25.1.0" + "@jest/environment" "^25.1.0" + "@jest/source-map" "^25.1.0" + "@jest/test-result" "^25.1.0" + "@jest/transform" "^25.1.0" + "@jest/types" "^25.1.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" 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" + graceful-fs "^4.2.3" + jest-config "^25.1.0" + jest-haste-map "^25.1.0" + jest-message-util "^25.1.0" + jest-mock "^25.1.0" + jest-regex-util "^25.1.0" + jest-resolve "^25.1.0" + jest-snapshot "^25.1.0" + jest-util "^25.1.0" + jest-validate "^25.1.0" realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.0.0" jest-serializer-vue@^2.0.2: version "2.0.2" @@ -6728,88 +6929,80 @@ jest-serializer-vue@^2.0.2: dependencies: pretty "2.0.0" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= +jest-serializer@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-25.1.0.tgz#73096ba90e07d19dec4a0c1dd89c355e2f129e5d" + integrity sha1-cwlrqQ4H0Z3sSgwd2Jw1Xi8Snl0= -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-24.9.0.tgz?cache=0&sync_timestamp=1566472065453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= +jest-snapshot@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-25.1.0.tgz?cache=0&sync_timestamp=1579655040890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-25.1.0.tgz#d5880bd4b31faea100454608e15f8d77b9d221d9" + integrity sha1-1YgL1LMfrqEARUYI4V+Nd7nSIdk= 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" + "@jest/types" "^25.1.0" + chalk "^3.0.0" + expect "^25.1.0" + jest-diff "^25.1.0" + jest-get-type "^25.1.0" + jest-matcher-utils "^25.1.0" + jest-message-util "^25.1.0" + jest-resolve "^25.1.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" + pretty-format "^25.1.0" + semver "^7.1.1" -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz?cache=0&sync_timestamp=1566444334214&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= +jest-util@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-25.1.0.tgz#7bc56f7b2abd534910e9fa252692f50624c897d9" + integrity sha1-e8Vveyq9U0kQ6folJpL1BiTIl9k= 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" + "@jest/types" "^25.1.0" + chalk "^3.0.0" 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 "https://registry.npm.taobao.org/jest-validate/download/jest-validate-24.9.0.tgz?cache=0&sync_timestamp=1566444269982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= +jest-validate@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-25.1.0.tgz?cache=0&sync_timestamp=1579654821318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-25.1.0.tgz#1469fa19f627bb0a9a98e289f3e9ab6a668c732a" + integrity sha1-FGn6GfYnuwqamOKJ8+mramaMcyo= dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.1.0" camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" + chalk "^3.0.0" + jest-get-type "^25.1.0" leven "^3.1.0" - pretty-format "^24.9.0" + pretty-format "^25.1.0" -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= +jest-watcher@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-25.1.0.tgz#97cb4a937f676f64c9fad2d07b824c56808e9806" + integrity sha1-l8tKk39nb2TJ+tLQe4JMVoCOmAY= 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/test-result" "^25.1.0" + "@jest/types" "^25.1.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.1.0" + string-length "^3.1.0" -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= +jest-worker@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.1.0.tgz?cache=0&sync_timestamp=1579655017974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" + integrity sha1-ddA4utb99Y66DS7Bg1hWxJfjkHo= dependencies: merge-stream "^2.0.0" - supports-color "^6.1.0" + supports-color "^7.0.0" -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest/download/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE= +jest@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/jest/download/jest-25.1.0.tgz#b85ef1ddba2fdb00d295deebbd13567106d35be9" + integrity sha1-uF7x3bov2wDSld7rvRNWcQbTW+k= dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" + "@jest/core" "^25.1.0" + import-local "^3.0.2" + jest-cli "^25.1.0" js-beautify@^1.6.12: version "1.10.2" @@ -6822,17 +7015,12 @@ js-beautify@^1.6.12: mkdirp "~0.5.1" nopt "~4.0.1" -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= -js-yaml@^3.13.1: +js-yaml@3.13.1, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= @@ -6845,36 +7033,36 @@ jsbn@~0.1.0: resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= +jsdom@^15.1.1: + version "15.2.1" + resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha1-0v6xrvcYP4a+UhuMaDP/UpbQfsU= dependencies: abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" domexception "^1.0.1" - escodegen "^1.9.1" + escodegen "^1.11.1" html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" + nwsapi "^2.2.0" + parse5 "5.1.0" pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" symbol-tree "^3.2.2" - tough-cookie "^2.3.4" + tough-cookie "^3.0.1" w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -7028,11 +7216,6 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= - less-loader@^5.0.0: version "5.0.0" resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" @@ -7068,6 +7251,13 @@ leven@^3.1.0: resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -7088,24 +7278,23 @@ linkify-it@^2.0.0: dependencies: uc.micro "^1.0.1" -lint-staged@^9.5.0: - version "9.5.0" - resolved "https://registry.npm.taobao.org/lint-staged/download/lint-staged-9.5.0.tgz#290ec605252af646d9b74d73a0fa118362b05a33" - integrity sha1-KQ7GBSUq9kbZt01zoPoRg2KwWjM= +lint-staged@^10.0.7: + version "10.0.7" + resolved "https://registry.npm.taobao.org/lint-staged/download/lint-staged-10.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flint-staged%2Fdownload%2Flint-staged-10.0.7.tgz#d205f92d9359419a23bc6aa3b6f8546b1998da64" + integrity sha1-0gX5LZNZQZojvGqjtvhUaxmY2mQ= dependencies: - chalk "^2.4.2" - commander "^2.20.0" - cosmiconfig "^5.2.1" + chalk "^3.0.0" + commander "^4.0.1" + cosmiconfig "^6.0.0" debug "^4.1.1" dedent "^0.7.0" - del "^5.0.0" - execa "^2.0.3" + execa "^3.4.0" listr "^0.14.3" log-symbols "^3.0.0" micromatch "^4.0.2" normalize-path "^3.0.0" - please-upgrade-node "^3.1.1" - string-argv "^0.3.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" stringify-object "^3.3.0" listr-silent-renderer@^1.1.1: @@ -7280,11 +7469,6 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.unescape@4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -7330,6 +7514,13 @@ loglevel@^1.6.6: resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.6.tgz#0ee6300cc058db6b3551fa1c4bf73b83bb771312" integrity sha1-DuYwDMBY22s1UfocS/c7g7t3ExI= +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.npm.taobao.org/lolex/download/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha1-lTaU0JjOfAe8XtbQ5CvGwMbVo2c= + dependencies: + "@sinonjs/commons" "^1.7.0" + longest-streak@^2.0.1: version "2.0.3" resolved "https://registry.npm.taobao.org/longest-streak/download/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" @@ -7392,7 +7583,7 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.0.0: version "2.1.0" resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= @@ -7446,6 +7637,11 @@ map-obj@^2.0.0: resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= +map-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" + integrity sha1-uRIhtUJzS58UJWwBMsiXxdclb9U= + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -7581,6 +7777,23 @@ meow@^5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +meow@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-6.0.0.tgz?cache=0&sync_timestamp=1575730464003&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-6.0.0.tgz#949196fdf21d979379e3bdccb0411e60f8cffd93" + integrity sha1-lJGW/fIdl5N5473MsEEeYPjP/ZM= + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.1.1" + decamelize-keys "^1.1.0" + hard-rejection "^2.0.0" + minimist-options "^4.0.1" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.0" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.8.1" + yargs-parser "^16.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -7692,6 +7905,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= +min-indent@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" + integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7717,6 +7935,14 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" +minimist-options@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/minimist-options/download/minimist-options-4.0.2.tgz?cache=0&sync_timestamp=1569788366612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist-options%2Fdownload%2Fminimist-options-4.0.2.tgz#29c4021373ded40d546186725e57761e4b1984a7" + integrity sha1-KcQCE3Pe1A1UYYZyXld2HksZhKc= + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + minimist@0.0.8: version "0.0.8" resolved "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -7940,16 +8166,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha1-y3La+UyTkECY4oucWQ/YZuRkvVA= +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/node-notifier/download/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha1-zqMZ4GuqFt7sjOXNfxM8Ska2jhI= dependencies: growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" + is-wsl "^2.1.1" + semver "^6.3.0" shellwords "^0.1.1" - which "^1.3.0" + which "^1.3.1" node-pre-gyp@^0.12.0: version "0.12.0" @@ -7981,6 +8207,13 @@ node-releases@^1.1.42: dependencies: semver "^6.3.0" +node-releases@^1.1.47: + version "1.1.47" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" + integrity sha1-xZ73OaH9fsvZ8LfPW3hx6Ki1keQ= + dependencies: + semver "^6.3.0" + nopt@^4.0.1, nopt@~4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -7989,7 +8222,7 @@ nopt@^4.0.1, nopt@~4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= @@ -8061,10 +8294,10 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" - integrity sha1-f5G+MX9qRm7+08nymArYpO6LD6U= +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= dependencies: path-key "^3.0.0" @@ -8095,7 +8328,7 @@ number-is-nan@^1.0.0: resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nwsapi@^2.0.7: +nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= @@ -8274,6 +8507,20 @@ ora@4.0.2: strip-ansi "^5.2.0" wcwidth "^1.0.1" +ora@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/ora/download/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" + integrity sha1-dSobe0vkglVGp6PVklb6UjtrbQU= + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + original@^1.0.0: version "1.0.2" resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -8331,12 +8578,10 @@ p-defer@^1.0.0: resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" +p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-each-series/download/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha1-lhyN0/GV6pbHR+Y2smK4AKaxr0g= p-finally@^1.0.0: version "1.0.0" @@ -8393,18 +8638,6 @@ p-map@^2.0.0: resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= - dependencies: - aggregate-error "^3.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - p-retry@^3.0.1: version "3.0.1" resolved "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" @@ -8539,10 +8772,10 @@ parse-url@^5.0.0: parse-path "^4.0.0" protocols "^1.4.0" -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz?cache=0&sync_timestamp=1573036827948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz?cache=0&sync_timestamp=1573036762880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" @@ -8694,14 +8927,6 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-conf@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/pkg-conf/download/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" - integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= - dependencies: - find-up "^2.0.0" - load-json-file "^4.0.0" - pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -8723,7 +8948,7 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: +please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz?cache=0&sync_timestamp=1565266069139&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fplease-upgrade-node%2Fdownload%2Fplease-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" integrity sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI= @@ -8937,7 +9162,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha1-SCKCwJpCcG0fyaBptz9E7Ag5Hck= -postcss@7.x.x, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7: version "7.0.21" resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" integrity sha1-BrsHgkwZwgIcXQVtWxDDW5iffhc= @@ -8997,15 +9222,15 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-24.9.0.tgz?cache=0&sync_timestamp=1566444264817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= +pretty-format@^25.1.0: + version "25.1.0" + resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-25.1.0.tgz?cache=0&sync_timestamp=1579655022191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8" + integrity sha1-7Yab2uwTVvxa5F3gReLI7HsHsMg= dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" + "@jest/types" "^25.1.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" pretty-time@^1.1.0: version "1.1.0" @@ -9189,6 +9414,11 @@ quick-lru@^1.0.0: resolved "https://registry.npm.taobao.org/quick-lru/download/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/quick-lru/download/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha1-W4h48ROlgheEjGSCAmxz4bpXcn8= + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -9229,7 +9459,7 @@ rc@^1.2.7, rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^16.8.4: +react-is@^16.12.0: version "16.12.0" resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw= @@ -9258,13 +9488,14 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= +read-pkg-up@^7.0.0: + version "7.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1575620436254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc= dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" read-pkg@^1.0.0: version "1.1.0" @@ -9293,6 +9524,16 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" @@ -9368,6 +9609,14 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" @@ -9590,16 +9839,16 @@ request-promise-core@1.1.3: dependencies: lodash "^4.17.15" -request-promise-native@^1.0.5: +request-promise-native@^1.0.7: version "1.0.8" - resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.8.tgz?cache=0&sync_timestamp=1572829683581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-native%2Fdownload%2Frequest-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + resolved "https://registry.npm.taobao.org/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.83.0, request@^2.87.0: +request@^2.83.0, request@^2.88.0: version "2.88.0" resolved "https://registry.npm.taobao.org/request/download/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= @@ -9652,6 +9901,13 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha1-DwB18bslRHZs9zumpuKt/ryxPy0= + dependencies: + resolve-from "^5.0.0" + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -9819,21 +10075,21 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass-loader@^8.0.0: - version "8.0.0" - resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797" - integrity sha1-57B6PjV/ll5rA91FsBawqXRq95c= +sass-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0= dependencies: clone-deep "^4.0.1" loader-utils "^1.2.3" neo-async "^2.6.1" - schema-utils "^2.1.0" + schema-utils "^2.6.1" semver "^6.3.0" -sass@^1.24.4: - version "1.24.4" - resolved "https://registry.npm.taobao.org/sass/download/sass-1.24.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass%2Fdownload%2Fsass-1.24.4.tgz#aa50575a9ed2b9e9645b5599156fd149bdad9eaa" - integrity sha1-qlBXWp7SuelkW1WZFW/RSb2tnqo= +sass@^1.25.0: + version "1.25.0" + resolved "https://registry.npm.taobao.org/sass/download/sass-1.25.0.tgz#f8bd7dfbb39d6b0305e27704a8ebe637820693f3" + integrity sha1-+L19+7OdawMF4ncEqOvmN4IGk/M= dependencies: chokidar ">=2.0.0 <4.0.0" @@ -9842,6 +10098,13 @@ sax@^1.2.4: resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsaxes%2Fdownload%2Fsaxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= + dependencies: + xmlchars "^2.1.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1571141316329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -9859,10 +10122,10 @@ schema-utils@^2.0.0, schema-utils@^2.6.0: ajv "^6.10.2" ajv-keywords "^3.4.1" -schema-utils@^2.0.1, schema-utils@^2.1.0: - version "2.5.0" - resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.5.0.tgz?cache=0&sync_timestamp=1571141316329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" - integrity sha1-jyVPYY1ALMgCV0hiE8iXDt/Xwi8= +schema-utils@^2.6.1, schema-utils@^2.6.4: + version "2.6.4" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.6.4.tgz?cache=0&sync_timestamp=1579261789269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.6.4.tgz#a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53" + integrity sha1-on779uTnhonZGHLuPM+lfXvdD1M= dependencies: ajv "^6.10.2" ajv-keywords "^3.4.1" @@ -9891,6 +10154,11 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" +semver-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/semver-regex/download/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" + integrity sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg= + "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -9906,6 +10174,11 @@ semver@7.0.0: resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1576601945958&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= +semver@^7.1.1: + version "7.1.2" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.1.2.tgz?cache=0&sync_timestamp=1580434127470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.1.2.tgz#847bae5bce68c5d08889824f02667199b70e3d87" + integrity sha1-hHuuW85oxdCIiYJPAmZxmbcOPYc= + send@0.17.1: version "0.17.1" resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -10046,15 +10319,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -signale@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/signale/download/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" - integrity sha1-xL5YMC+wJirAD8PYhqfBE3WQQvE= - dependencies: - chalk "^2.3.2" - figures "^2.0.0" - pkg-conf "^2.1.0" - sisteransi@^1.0.3: version "1.0.4" resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.4.tgz?cache=0&sync_timestamp=1573410719947&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsisteransi%2Fdownload%2Fsisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" @@ -10170,11 +10434,6 @@ source-map-url@^0.4.0: resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@*: - version "0.7.3" - resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= - source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -10185,6 +10444,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -10343,6 +10607,13 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" +stream-events@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/stream-events/download/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" + integrity sha1-u8iY7E3zOkkC2JIzPUfam/HEBtU= + dependencies: + stubs "^3.0.0" + stream-http@^2.7.2: version "2.8.3" resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -10364,18 +10635,18 @@ strict-uri-encode@^1.0.0: resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -string-argv@^0.3.0: +string-argv@0.3.1: version "0.3.1" - resolved "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-argv%2Fdownload%2Fstring-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + resolved "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha1-leL77AQnrhkYSTX4FtdKqkxcGdo= -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/string-length/download/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc= dependencies: astral-regex "^1.0.0" - strip-ansi "^4.0.0" + strip-ansi "^5.2.0" string-width@^1.0.1: version "1.0.2" @@ -10501,6 +10772,11 @@ strip-bom@^3.0.0: resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg= + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -10523,6 +10799,13 @@ strip-indent@^2.0.0: resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= + dependencies: + min-indent "^1.0.0" + strip-json-comments@^3.0.1: version "3.0.1" resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" @@ -10545,13 +10828,18 @@ strip-url-auth@^1.0.0: resolved "https://registry.npm.taobao.org/strip-url-auth/download/strip-url-auth-1.0.1.tgz#22b0fa3a41385b33be3f331551bbb837fa0cd7ae" integrity sha1-IrD6OkE4WzO+PzMVUbu4N/oM164= -style-loader@^1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.1.2.tgz?cache=0&sync_timestamp=1577278703863&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstyle-loader%2Fdownload%2Fstyle-loader-1.1.2.tgz#1b519c19faf548df6182b93e72ea1a4156022c2f" - integrity sha1-G1GcGfr1SN9hgrk+cuoaQVYCLC8= +stubs@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/stubs/download/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" + integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= + +style-loader@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.1.3.tgz?cache=0&sync_timestamp=1579274474456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstyle-loader%2Fdownload%2Fstyle-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" + integrity sha1-noJuacaDxNm/nbkk+F6auzDV4gA= dependencies: loader-utils "^1.2.3" - schema-utils "^2.0.1" + schema-utils "^2.6.4" style-search@^0.1.0: version "0.1.0" @@ -10596,12 +10884,12 @@ stylelint-order@^3.1.1: postcss "^7.0.17" postcss-sorting "^5.0.1" -stylelint@^12.0.1: - version "12.0.1" - resolved "https://registry.npm.taobao.org/stylelint/download/stylelint-12.0.1.tgz#5b1f3bf7333320acce322b49852c8b85e94ce7e4" - integrity sha1-Wx879zMzIKzOMitJhSyLhelM5+Q= +stylelint@^13.0.0: + version "13.0.0" + resolved "https://registry.npm.taobao.org/stylelint/download/stylelint-13.0.0.tgz#532007f7154c1a5ed14245d857a5884316f5111f" + integrity sha1-UyAH9xVMGl7RQkXYV6WIQxb1ER8= dependencies: - autoprefixer "^9.7.1" + autoprefixer "^9.7.3" balanced-match "^1.0.0" chalk "^3.0.0" cosmiconfig "^6.0.0" @@ -10610,7 +10898,7 @@ stylelint@^12.0.1: file-entry-cache "^5.0.1" get-stdin "^7.0.0" global-modules "^2.0.0" - globby "^9.2.0" + globby "^11.0.0" globjoin "^0.1.4" html-tags "^3.1.0" ignore "^5.1.4" @@ -10621,10 +10909,10 @@ stylelint@^12.0.1: lodash "^4.17.15" log-symbols "^3.0.0" mathml-tag-names "^2.1.1" - meow "^5.0.0" + meow "^6.0.0" micromatch "^4.0.2" normalize-selector "^0.2.0" - postcss "^7.0.21" + postcss "^7.0.26" postcss-html "^0.36.0" postcss-jsx "^0.36.3" postcss-less "^3.1.4" @@ -10710,7 +10998,7 @@ sugarss@^2.0.0: dependencies: postcss "^7.0.2" -supports-color@7.1.0, supports-color@^7.1.0: +supports-color@7.1.0, supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= @@ -10736,6 +11024,14 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-hyperlinks@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/supports-hyperlinks/download/supports-hyperlinks-2.0.0.tgz#b1b94a159e9df00b0a554b2d5f0e0a89690334b0" + integrity sha1-sblKFZ6d8AsKVUstXw4KiWkDNLA= + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" @@ -10779,13 +11075,15 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.3" -teeny-request@^3.11.3: - version "3.11.3" - resolved "https://registry.npm.taobao.org/teeny-request/download/teeny-request-3.11.3.tgz#335c629f7645e5d6599362df2f3230c4cbc23a55" - integrity sha1-M1xin3ZF5dZZk2LfLzIwxMvCOlU= +teeny-request@6.0.1: + version "6.0.1" + resolved "https://registry.npm.taobao.org/teeny-request/download/teeny-request-6.0.1.tgz#9b1f512cef152945827ba7e34f62523a4ce2c5b0" + integrity sha1-mx9RLO8VKUWCe6fjT2JSOkzixbA= dependencies: - https-proxy-agent "^2.2.1" + http-proxy-agent "^4.0.0" + https-proxy-agent "^4.0.0" node-fetch "^2.2.0" + stream-events "^1.0.5" uuid "^3.3.2" term-size@^1.2.0: @@ -10795,6 +11093,14 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/terminal-link/download/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha1-FKZKJ6s8Dfkz6lRvulXy0HjtyZQ= + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + terser-webpack-plugin@^1.4.3: version "1.4.3" resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" @@ -10819,15 +11125,14 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha1-BKhphmHYBepvopO2y55jrARO8V4= dependencies: - glob "^7.1.3" + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" text-extensions@^1.0.0: version "1.9.0" @@ -10839,10 +11144,10 @@ text-table@^0.2.0: resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/throat/download/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha1-xRmSNYA6rRh1SmZ9ZZtecs4Wdks= through2@^2.0.0, through2@^2.0.2: version "2.0.5" @@ -10945,7 +11250,7 @@ toposort@^1.0.0: resolved "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= -tough-cookie@^2.3.3, tough-cookie@^2.3.4: +tough-cookie@^2.3.3: version "2.5.0" resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= @@ -10953,6 +11258,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4: psl "^1.1.28" punycode "^2.1.1" +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I= + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -10985,6 +11299,11 @@ trim-newlines@^2.0.0: resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= +trim-newlines@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" + integrity sha1-eXJjBKaomKqDc0JymNVMLuixyzA= + trim-off-newlines@^1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" @@ -11063,11 +11382,21 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw= + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -11093,10 +11422,10 @@ typedarray@^0.0.6: resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.7.4: - version "3.7.4" - resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" - integrity sha1-F0Ol7F/vah+p8+RwjjPIHHOHbBk= +typescript@^3.7.5: + version "3.7.5" + resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" + integrity sha1-BpLiH2X9QQi5MwI4qsEd0uF3oa4= uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -11338,7 +11667,7 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -urlgrey@^0.4.4: +urlgrey@0.4.4: version "0.4.4" resolved "https://registry.npm.taobao.org/urlgrey/download/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= @@ -11395,6 +11724,15 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4= +v8-to-istanbul@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/v8-to-istanbul/download/v8-to-istanbul-4.0.1.tgz#d6a2a3823b8ff49bdf2167ff2a45d82dff81d02f" + integrity sha1-1qKjgjuP9JvfIWf/KkXYLf+B0C8= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -11403,6 +11741,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validator@12.2.0: + version "12.2.0" + resolved "https://registry.npm.taobao.org/validator/download/validator-12.2.0.tgz?cache=0&sync_timestamp=1579921471151&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvalidator%2Fdownload%2Fvalidator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a" + integrity sha1-Zg1H6WJnAz/QcAlsOxpvLbQ4Cgo= + vary@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -11452,17 +11795,17 @@ vm-browserify@^1.0.1: resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870772154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= -vue-eslint-parser@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-6.0.5.tgz#c1c067c2755748e28f3872cd42e8c1c4c1a8059f" - integrity sha512-Bvjlx7rH1Ulvus56KHeLXOjEi3JMOYTa1GAqZr9lBQhd8weK8mV7U7V2l85yokBZEWHJQjLn6X3nosY8TzkOKg== +vue-eslint-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6" + integrity sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g== dependencies: debug "^4.1.1" - eslint-scope "^4.0.0" - eslint-visitor-keys "^1.0.0" - espree "^5.0.0" + eslint-scope "^5.0.0" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" esquery "^1.0.1" - lodash "^4.17.11" + lodash "^4.17.15" vue-hot-reload-api@^2.3.0: version "2.3.4" @@ -11492,10 +11835,10 @@ vue-loader@^15.8.3: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" -vue-router@^3.1.3: - version "3.1.3" - resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.1.3.tgz#e6b14fabc0c0ee9fda0e2cbbda74b350e28e412b" - integrity sha1-5rFPq8DA7p/aDiy72nSzUOKOQSs= +vue-router@^3.1.5: + version "3.1.5" + resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.5.tgz?cache=0&sync_timestamp=1579092196248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.1.5.tgz#ff29b8a1e1306c526b52d4dc0532109f16c41231" + integrity sha1-/ym4oeEwbFJrUtTcBTIQnxbEEjE= vue-style-loader@^4.1.0: version "4.1.2" @@ -11517,6 +11860,15 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -11563,10 +11915,10 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.10.1: - version "3.10.1" - resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.10.1.tgz#1ff3e5cccf8e0897aa3f5909c654e623f69b1c0e" - integrity sha1-H/PlzM+OCJeqP1kJxlTmI/abHA4= +webpack-dev-server@3.10.2: + version "3.10.2" + resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.10.2.tgz?cache=0&sync_timestamp=1580485125458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.10.2.tgz#3403287d674c7407aab6d9b3f72259ecd0aa0874" + integrity sha1-NAMofWdMdAeqttmz9yJZ7NCqCHQ= dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -11682,27 +12034,18 @@ websocket-extensions@>=0.1.1: resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" integrity sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk= -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= dependencies: iconv-lite "0.4.24" -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/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 "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -11722,7 +12065,7 @@ which-pm-runs@^1.0.0: resolved "https://registry.npm.taobao.org/which-pm-runs/download/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= -which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1570145314160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= @@ -11807,10 +12150,10 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.0.0: +wrap-ansi@^6.0.0, wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -11821,15 +12164,6 @@ wrappy@1: resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-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" - write-file-atomic@^2.0.0: version "2.4.3" resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -11839,9 +12173,9 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^3.0.1: +write-file-atomic@^3.0.0, write-file-atomic@^3.0.1: version "3.0.1" - resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" + resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.1.tgz?cache=0&sync_timestamp=1571199890743&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" integrity sha1-VYMoNS5nO1uxks+GUA1gsjBmfUs= dependencies: imurmurhash "^0.1.4" @@ -11856,13 +12190,6 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz?cache=0&sync_timestamp=1571495136146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= - dependencies: - async-limiter "~1.0.0" - ws@^6.2.1: version "6.2.1" resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1571495136146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" @@ -11870,6 +12197,11 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" +ws@^7.0.0: + version "7.2.1" + resolved "https://registry.npm.taobao.org/ws/download/ws-7.2.1.tgz?cache=0&sync_timestamp=1576314828024&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.2.1.tgz#03ed52423cd744084b2cf42ed197c8b65a936b8e" + integrity sha1-A+1SQjzXRAhLLPQu0ZfItlqTa44= + x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.npm.taobao.org/x-is-string/download/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" @@ -11885,6 +12217,11 @@ xml-name-validator@^3.0.0: resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -11935,10 +12272,10 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz?cache=0&sync_timestamp=1572648776744&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA= +yargs-parser@^16.1.0: + version "16.1.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" + integrity sha1-c3R9U64YfnuNvjM/lXFMduoA7PE= dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -11961,22 +12298,6 @@ yargs@12.0.5: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.npm.taobao.org/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" - yargs@^14.0.0: version "14.2.1" resolved "https://registry.npm.taobao.org/yargs/download/yargs-14.2.1.tgz#2bb87b57c12b9afea40bb4ed9745bb9eb5031a9b" @@ -11993,3 +12314,20 @@ yargs@^14.0.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^15.0.0" + +yargs@^15.0.0: + version "15.1.0" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.1.0.tgz?cache=0&sync_timestamp=1577940731931&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" + integrity sha1-4RE4H1gw6GOolVC9SxNrtqXzchk= + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.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 "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^16.1.0" diff --git a/packages/vant-eslint-config/index.js b/packages/vant-eslint-config/index.js index b32a3c019..147213acc 100644 --- a/packages/vant-eslint-config/index.js +++ b/packages/vant-eslint-config/index.js @@ -5,7 +5,7 @@ module.exports = { parser: '@typescript-eslint/parser', ecmaVersion: 2018, sourceType: 'module', - extraFileExtensions: ['.vue'] + extraFileExtensions: ['.vue'], }, plugins: ['@typescript-eslint'], @@ -14,13 +14,13 @@ module.exports = { es6: true, node: true, jest: true, - browser: true + browser: true, }, globals: { window: false, document: false, - navigator: false + navigator: false, }, rules: { @@ -32,8 +32,17 @@ module.exports = { 'no-console': 0, 'no-plusplus': 0, 'arrow-parens': 0, - 'comma-dangle': 0, 'default-case': 0, + 'comma-dangle': [ + 'error', + { + arrays: 'always-multiline', + objects: 'always-multiline', + imports: 'always-multiline', + exports: 'always-multiline', + functions: 'never', + }, + ], 'prefer-template': 0, 'consistent-return': 0, 'no-param-reassign': 0, @@ -64,6 +73,14 @@ module.exports = { 'vue/name-property-casing': ['error', 'kebab-case'], 'vue/component-name-in-template-casing': ['error', 'kebab-case'], 'vue/html-closing-bracket-newline': 2, - '@typescript-eslint/no-unused-vars': ['error'] - } + 'vue/html-self-closing': [ + 'error', + { + html: { + void: 'always', + }, + }, + ], + '@typescript-eslint/no-unused-vars': ['error'], + }, }; diff --git a/packages/vant-eslint-config/package.json b/packages/vant-eslint-config/package.json index 777986c6d..407bd7dd8 100644 --- a/packages/vant-eslint-config/package.json +++ b/packages/vant-eslint-config/package.json @@ -1,7 +1,7 @@ { "name": "@vant/eslint-config", - "version": "1.5.1", - "description": "eslint config of vant.", + "version": "2.0.0", + "description": "eslint config of vant", "main": "index.js", "publishConfig": { "access": "public" @@ -9,16 +9,16 @@ "license": "MIT", "repository": "https://github.com/youzan/vant/tree/dev/packages/vant-eslint-config", "peerDependencies": { - "eslint": "^6.7.2" + "eslint": "^6.8.0" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^2.12.0", - "@typescript-eslint/parser": "^2.12.0", + "@typescript-eslint/eslint-plugin": "^2.16.0", + "@typescript-eslint/parser": "^2.16.0", "eslint-config-airbnb-base": "^14.0.0", - "eslint-plugin-import": "^2.19.1", - "eslint-plugin-vue": "^6.0.1" + "eslint-plugin-import": "^2.20.0", + "eslint-plugin-vue": "^6.1.2" }, "devDependencies": { - "eslint": "^6.7.2" + "eslint": "^6.8.0" } } diff --git a/packages/vant-icons/CHANGELOG.md b/packages/vant-icons/CHANGELOG.md index 6a9413c84..ab6cddb5e 100644 --- a/packages/vant-icons/CHANGELOG.md +++ b/packages/vant-icons/CHANGELOG.md @@ -1,5 +1,13 @@ ## Changelog +## 1.2.1 + +- update share icon + +## 1.2.0 + +- fix medal、medal-o typo + ## 1.1.14 - add down、wap-home-o icon diff --git a/packages/vant-icons/assets/icons.sketch b/packages/vant-icons/assets/icons.sketch index a1d8cc1ef..39db2e80f 100644 Binary files a/packages/vant-icons/assets/icons.sketch and b/packages/vant-icons/assets/icons.sketch differ diff --git a/packages/vant-icons/build/build-iconfont.js b/packages/vant-icons/build/build-iconfont.js index 04d5dad9a..a85368ccd 100644 --- a/packages/vant-icons/build/build-iconfont.js +++ b/packages/vant-icons/build/build-iconfont.js @@ -36,13 +36,13 @@ function font() { targetPath: '../src/index.less', normalize: true, firstGlyph: 0xf000, - cssClass: fontName // this is a trick to pass fontName to template + cssClass: fontName, // this is a trick to pass fontName to template }) ) .pipe( iconfont({ fontName, - formats + formats, }) ) .pipe(dest(srcDir)); diff --git a/packages/vant-icons/build/export.js b/packages/vant-icons/build/export.js index 85e90a3b8..b73633780 100644 --- a/packages/vant-icons/build/export.js +++ b/packages/vant-icons/build/export.js @@ -4,7 +4,8 @@ const shell = require('shelljs'); const svgDir = path.join(__dirname, '../assets/svg'); const sketch = path.join(__dirname, '../assets/icons.sketch'); -const SKETCH_TOOL_DIR = '/Applications/Sketch.app/Contents/Resources/sketchtool/bin/sketchtool'; +const SKETCH_TOOL_DIR = + '/Applications/Sketch.app/Contents/Resources/sketchtool/bin/sketchtool'; fs.removeSync(svgDir); diff --git a/packages/vant-icons/build/template.tpl b/packages/vant-icons/build/template.tpl index a9bb6ac28..40ac8cc4d 100644 --- a/packages/vant-icons/build/template.tpl +++ b/packages/vant-icons/build/template.tpl @@ -22,7 +22,7 @@ } } -<% _.each(glyphs, function(glyph) { %>.van-icon-<%= glyph.fileName %>:before { +<% _.each(glyphs, function(glyph) { %>.van-icon-<%= glyph.fileName %>::before { content: "\<%= glyph.codePoint %>"; } diff --git a/packages/vant-icons/package.json b/packages/vant-icons/package.json index 54243cbb4..dad124cb7 100644 --- a/packages/vant-icons/package.json +++ b/packages/vant-icons/package.json @@ -1,6 +1,6 @@ { "name": "@vant/icons", - "version": "1.2.0", + "version": "1.2.1", "description": "vant icons", "main": "./src/config.js", "files": [ @@ -23,6 +23,7 @@ "gulp-iconfont": "^10.0.3", "gulp-iconfont-css": "^3.0.0", "md5-file": "^4.0.0", + "release-it": "^12.4.3", "shelljs": "^0.8.3", "svgo": "1.2.2" }, diff --git a/packages/vant-icons/src/config.js b/packages/vant-icons/src/config.js index 300f58444..b4afcf196 100644 --- a/packages/vant-icons/src/config.js +++ b/packages/vant-icons/src/config.js @@ -8,7 +8,7 @@ module.exports = { 'arrow', 'arrow-left', 'arrow-up', - 'arrow-down' + 'arrow-down', ], outline: [ // has corresponding filled icon @@ -103,7 +103,6 @@ module.exports = { 'desktop-o', 'apps-o', 'home-o', - 'share', 'search', 'points', 'edit', @@ -142,7 +141,7 @@ module.exports = { 'discount', 'idcard', 'replay', - 'shrink' + 'shrink', ], filled: [ // has corresponding outline icon @@ -212,6 +211,7 @@ module.exports = { 'goods-collect', 'eye', // without corresponding outline icon + 'share', 'alipay', 'wechat', 'photograph', @@ -235,6 +235,6 @@ module.exports = { 'ascending', 'descending', 'bars', - 'wap-nav' - ] + 'wap-nav', + ], }; diff --git a/packages/vant-icons/src/encode.less b/packages/vant-icons/src/encode.less index e123197b5..cb96b24f5 100644 --- a/packages/vant-icons/src/encode.less +++ b/packages/vant-icons/src/encode.less @@ -2,5 +2,5 @@ font-weight: normal; font-family: 'vant-icon'; font-style: normal; - src: url('data:font/ttf;base64,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ACkAAPApAADwKQAAACoAAPAqAADwKgAAACsAAPArAADwKwAAACwAAPAsAADwLAAAAC0AAPAtAADwLQAAAC4AAPAuAADwLgAAAC8AAPAvAADwLwAAADAAAPAwAADwMAAAADEAAPAxAADwMQAAADIAAPAyAADwMgAAADMAAPAzAADwMwAAADQAAPA0AADwNAAAADUAAPA1AADwNQAAADYAAPA2AADwNgAAADcAAPA3AADwNwAAADgAAPA4AADwOAAAADkAAPA5AADwOQAAADoAAPA6AADwOgAAADsAAPA7AADwOwAAADwAAPA8AADwPAAAAD0AAPA9AADwPQAAAD4AAPA+AADwPgAAAD8AAPA/AADwPwAAAEAAAPBAAADwQAAAAEEAAPBBAADwQQAAAEIAAPBCAADwQgAAAEMAAPBDAADwQwAAAEQAAPBEAADwRAAAAEUAAPBFAADwRQAAAEYAAPBGAADwRgAAAEcAAPBHAADwRwAAAEgAAPBIAADwSAAAAEkAAPBJAADwSQAAAEoAAPBKAADwSgAAAEsAAPBLAADwSwAAAEwAAPBMAADwTAAAAE0AAPBNAADwTQAAAE4AAPBOAADwTgAAAE8AAPBPAADwTwAAAFAAAPBQAADwUAAAAFEAAPBRAADwUQAAAFIAAPBSAADwUgAAAFMAAPBTAADwUwAAAFQAAPBUAADwVAAAAFUAAPBVAADwVQAAAFYAAPBWAADwVgAAAFcAAPBXAADwVwAAAFgAAPBYAADwWAAAAFkAAPBZAADwWQAAAFoAAPBaAADwWgAAAFsAAPBbAADwWwAAAFwAAPBcAADwXAAAAF0AAPBdAADwXQAAAF4AAPBeAADwXgAAAF8AAPBfAADwXwAAAGAAAPBgAADwYAAAAGEAAPBhAADwYQAAAGIAAPBiAADwYgAAAGMAAPBjAADwYwAAAGQAAPBkAADwZAAAAGUAAPBlAADwZQAAAGYAAPBmAADwZgAAAGcAAPBnAADwZwAAAGgAAPBoAADwaAAAAGkAAPBpAADwaQAAAGoAAPBqAADwagAAAGsAAPBrAADwawAAAGwAAPBsAADwbAAAAG0AAPBtAADwbQAAAG4AAPBuAADwbgAAAG8AAPBvAADwbwAAAHAAAPBwAADwcAAAAHEAAPBxAADwcQAAAHIAAPByAADwcgAAAHMAAPBzAADwcwAAAHQAAPB0AADwdAAAAHUAAPB1AADwdQAAAHYAAPB2AADwdgAAAHcAAPB3AADwdwAAAHgAAPB4AADweAAAAHkAAPB5AADweQAAAHoAAPB6AADwegAAAHsAAPB7AADwewAAAHwAAPB8AADwfAAAAH0AAPB9AADwfQAAAH4AAPB+AADwfgAAAH8AAPB/AADwfwAAAIAAAPCAAADwgAAAAIEAAPCBAADwgQAAAIIAAPCCAADwggAAAIMAAPCDAADwgwAAAIQAAPCEAADwhAAAAIUAAPCFAADwhQAAAIYAAPCGAADwhgAAAIcAAPCHAADwhwAAAIgAAPCIAADwiAAAAIkAAPCJAADwiQAAAIoAAPCKAADwigAAAIsAAPCLAADwiwAAAIwAAPCMAADwjAAAAI0AAPCNAADwjQAAAI4AAPCOAADwjgAAAI8AAPCPAADwjwAAAJAAAPCQAADwkAAAAJEAAPCRAADwkQAAAJIAAPCSAADwkgAAAJMAAPCTAADwkwAAAJQAAPCUAADwlAAAAJUAAPCVAADwlQAAAJYAAPCWAADwlgAAAJcAAPCXAADwlwAAAJgAAPCYAADwmAAAAJkAAPCZAADwmQAAAJoAAPCaAADwmgAAAJsAAPCbAADwmwAAAJwAAPCcAADwnAAAAJ0AAPCdAADwnQAAAJ4AAPCeAADwngAAAJ8AAPCfAADwnwAAAKAAAPCgAADwoAAAAKEAAPChAADwoQAAAKIAAPCiAADwogAAAKMAAPCjAADwowAAAKQAAPCkAADwpAAAAKUAAPClAADwpQAAAKYAAPCmAADwpgAAAKcAAPCnAADwpwAAAKgAAPCoAADwqAAAAKkAAPCpAADwqQAAAKoAAPCqAADwqgAAAKsAAPCrAADwqwAAAKwAAPCsAADwrAAAAK0AAPCtAADwrQAAAK4AAPCuAADwrgAAAK8AAPCvAADwrwAAALAAAPCwAADwsAAAALEAAPCxAADwsQAAALIAAPCyAADwsgAAALMAAPCzAADwswAAALQAAPC0AADwtAAAALUAAPC1AADwtQAAALYAAPC2AADwtgAAALcAAPC3AADwtwAAALgAAPC4AADwuAAAALkAAPC5AADwuQAAALoAAPC6AADwugAAALsAAPC7AADwuwAAALwAAPC8AADwvAAAAL0AAPC9AADwvQAAAL4AAPC+AADwvgAAAL8AAPC/AADwvwAAAMAAAPDAAADwwAAAAMEAAPDBAADwwQAAAMIAAPDCAADwwgAAAMMAAPDDAADwwwAAAMQAAPDEAADwxAAAAMUAAPDFAADwxQAAAMYAAPDGAADwxgAAAMcAAPDHAADwxwAAAMgAAPDIAADwyAAAAMkAAPDJAADwyQAAAMoAAPDKAADwygAAAMsAAPDLAADwywAAAMwAAPDMAADwzAAAAM0AAPDNAADwzQAAAM4AAPDOAADwzgAAAM8AAPDPAADwzwAAANAAAPDQAADw0AAAANEAAPDRAADw0QAAANIAAPDSAADw0gAAANMAAPDTAADw0wAAANQAAPDUAADw1AAAANUAAPDVAADw1QAAANYAAPDWAADw1gAAANcAAPDXAADw1wAAANgAAPDYAADw2AAAANkAAPDZAADw2QAAANoAAPDaAADw2gAAANsAAPDbAADw2wAAANwAAPDcAADw3AAAAN0AAPDdAADw3QAAAN4AAPDeAADw3gAAAN8AAPDfAADw3wAAAOAAAPDgAADw4AAAAOEAAPDhAADw4QAAAOIAAPDiAADw4gAAAOMAAPDjAADw4wAAAOQAAAAAAAAAagCqAPIB0gJOAsADOgNiA4oDsgPaBDIEdgT+BVAFjAXABn4HJgfWCFgIsgkSCU4JyApECrILDgtWC/QMcAzsDYgN1g5iDpgPKg+4EBgQYhFWEcQSOhK8E0gTwBQWFGIUphT2FVAVjBX4FmAW7BdaF7oYKhh8GNIZHBmYGfAajhreGxobShuqHGAcuB0aHXIdtB3sHtgfCB9YH6Ifzh/OIAggUiDYITQhyCImIk4iwCLsI5QkCCRwJV4mDia8JxwnbCegKBwokikAKVAp1Co4KqQq6CvWLM4tIC1oLe4u5i/sMFww3jEcMYoxyjImMnYyvDMEMy4zeDPQNAg0PjT0NVY1njYKNp429DdeN6o4LDiQOUw6BjpgOqo7MjusPAI8TDzGPTI9mj3iPgw+WD6iP3RAKkCuQTJBjkHMQhpCdkK0QtZDAkOaRBpEqkT0RXhF+kaIRvhHakgeSHpI6EksSWxJpkoYSn5LMEuUS/RM2E1uTeROOk6cTu5PUE+0UBpQdlDyUVJRolHgUjhSclKQUr5TmlRYVO5VblW6VgxWalbGVwZXalhAWJpY9llGWZZZ3lpmWsZbFltQW4hb1Fw6XIRcxF0SXZQAAwAAAAADsQOxAB0AMgBHAAABNTQ2MzEyFhUHMzIWFAYrAQcUBiImPQEjIiY0NjMTMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYB2BAMDBABwwwQEAzEAQ8WEMIMEBAM3mpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWcCEMIMEBELwhEXEMQLDw8LxBAXEf5fNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAAAAAACAAAAAAN5A3kAGwArAAABIyIGFBY7ARUUFjI2PQEzMjY0JisBNTQmIgYVJSEyFhURFAYjISImNRE0NgHYwgwQEAzCEBgQwgwQEAzCEBgQ/s8CmhchIRf9ZhchIQIQEBgQwgwQEAzCEBgQwgwQEAynIRf9ZhchIRcCmhchAAAAAAIAAAAAA7EDsQAbADAAAAEjFRQGIiY9ASMiJjQ2OwE1NDYyFh0BMzIWFAYDIgcGBwYUFxYXFjI3Njc2NCcmJyYCt6cRFhGnCxAQC6cRFhGnCxAQznlnZTs8PDtlZ/JnZTs8PDtlZwHYpwsQEAunERYRpwsQEAunERYRAdg8O2Vn8mdlOzw8O2Vn8mdlOzwAAAkAAAAAA5MDjwAnAE8AWABdAGoAcgB/AIgAkQAAAScOAQcGIyYnLgE3Njc+ARcWFxYXNyYnJiciBgcGBxQWFxYzFjc+AQc+ATcnDgEHBiMmJy4BNzY3PgEXFhcWFzcmJyYnIgYHBgcUFhcWMxYTMjY0JiIGFBYDFzcnByU0NjMhMhYUBiMhIiY3MxUUBiImNSc0NjMhMhYUBiMhIiYBHgEPASc3PgEHDgEfATcnLgEDVDIWSC9RXVpOUF4BASwuoV1aTlEvMDZeW2lrvDU0AWxeW2hsXjdTijdTGTIWSC9RXVpOUF4BASwuoV1aTlEvMDZeW2lrvDU0AWxeW2hs2AwQEBcQED2vASuF/mQQCwEWDBAQDP7qCxCKOBAXEYoQCwEWDBAQDP7qCxABGAoGBUYwRQYW8AoGBkYwRgUXAVoXMVAbLgEsLqJdWk5QXgEBLC5RHF41NAFsXltobLw1NAE2IF19IF04FzFQGy4BLC6iXVpOUF4BASwuURxeNTQBbF5baGy8NTQBAiwRFxAQFxH+8U8BjD6mDBAQFxAQC/oLEBALiwwQEBcREQEMBRcKeBx4CgYGBRcKeBx4CgYAAAADAAAAAAOxA7EAFABLAFQAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhcVFAYiJj0BBgcGBwYHFTMyFhQGKwEWFxYXFhczNTQ2MhYdATY3Njc2PwEjIiY0NjsBJicmJyYDMhYUBiImNDYB9HlnZTs8PDtlZ/JnZTs8PDtlZ5URFhFeUE4xMgiJCxEQDIkGMTBNUF0GERYRXlBOMTIIAYoLERAMigcyMU9QexchIS4hIQOwPDtlZ/JnZTs8PDtlZ/JnZTs8OYkLERAMiQYxME1QXQYRFhFeUE4xMgiJCxEQDIkGMTBNUF0GERYRX1BPMTL+uyEuISEuIQAAAAIAAAAAA3kDeQA9AE4AAAEyHgEVEScmLwE2NyM1MzUjNSMiBwYdASMVMxUjFSEGByYHDgIWFxYzMjY3FhcVFA4BIyEiLgE1ETQ+ATMTNhcWFwYHBiMiJy4BNzY3NgL8IjkiGyhGeCkZmry8TQgEAr29nQExDh29Ujo3CSUlKTdEgTRmyyI5Iv3wIjkiIjkiQTE5KkYtMTUzOSMgAx8OGBQDeSI5Iv5sBwsXLEZdNx9cBwMEUB81HzQ3PxUPQk9GFRZHQTJUBSI5IiI5IgIQIjki/lkGEgwjNx4gGxhHGgwIBwAAAAgAAAAAA3kDeQAMABkAHQAtADEAQQBFAFUAAAEiDgEUHgEyPgE0LgEnMh4BFA4BIi4BND4BBRUzNSczMhYdARQGKwEiJj0BNDYTFTM1JzMyFh0BFAYrASImPQE0NgUVMzUnMzIWHQEUBisBIiY9ATQ2AsQiOSIiOUQ6ISE6IjFTMTFTYlMwMFP+FPr6+hcgIBf6FyEhF/r6+hcgIBf6FyEhAbf6+voXISEX+hcgIANBITpEOSIiOUQ6ITgxU2JTMDBTYlMxOPr6OCEX+hcgIBf6FyH+KPr6NyAX+hchIRf6FyA3+vo3IBf6FyEhF/oXIAAAAAABAAAAAANwAqsAEgAAASYnASY0NjIXCQE2MhYUBwEOAQHuDAj+sgwYIwwBMQEwDCMYDP6yCBUBCwIJAU4MIhkM/s8BMA0ZIgz+sggGAAAAAAEAAAAAAskDbgASAAABJjY3ATYyFhQHCQEWFAYiJwEmASgCBQgBTgwjGAz+0AEwDBgjDP6yCAHsChUIAU4MGCMM/tD+zwwjGAwBTggAAAAAAQAAAAADcALOABIAAAEWFwEWFAYiJwkBBiImNDcBPgECAQwIAU4MGCMM/tD+zwwjGAwBTggVAssDCP6yDCMYDAEx/s8MGCMMAU4IBQAAAAABAAAAAALKA24AEgAAAQYHAQYiJjQ3CQEmNDYyFwEeAQLHAwj+sgwjGAwBMf7PDBgjDAFOCAYB7AwI/rIMGCMMATEBMAwjGAz+sggVAAAAAAQAAAAAA2EDJwAUACAALAA4AAABBwYiJjQ/ATY3NhYXFgcRFAYiJjUBITIWFAYjISImNDYXITIWFAYjISImNDYXITIWFAYjISImNDYDCUEMIxgMhQkPChUIDwMZIhn9qwFpEhgYEv6XERgYEQFpEhgYEv6XERgYEQFpEhgYEv6XERgYApdCDBgjDIUMAwMGCA8V/fcRGRkRAgQZIhgYIhneGSIZGSIZ3xgiGRkiGAAAAQAAAAADeQN5AC8AABM0NzY3NjIXFhcWFREUBisBIiY9ATQ2OwE0JyYnJiIHBgcGFTMyFh0BFAYrASImNW81NFha1FpYNDUhFzcXISEXNy0sTE22TUwsLTcXISEXNxchAfRqWlg0NTU0WFpq/uoXICAX3hchW01MLC0tLExNWyEX3hcgIBcAAAYAAAAAA0IDsQAUACkAMgA/AEYAVwAAATI3Njc2NCcmJyYiBwYHBhQXFhcWFyInJicmNDc2NzYyFxYXFhQHBgcGAzI2NCYiBhQWFyIuATQ+ATIeARQOAQM3FzUGIi8BFjI3ERQGIyIvAQcGJicmNQH0S0E/JSYmJT9BlkE/JSYmJT9BS1tNTCwtLSxMTbZNTCwtLSxMTVsdKCg6KCgdIjkiIjlEOSIiOZFvbzdwNzhUp1MRCwYFgIALFQQDAU0mJT9Bl0A/JSYmJT9Al0E/JSY3LSxMTrVNTCwtLSxMTbVOTCwtAQgoOikpOig4IjlEOSIiOUQ5Iv6lLy+fFRVbODj+3AsQAjY2BQkLBQUAAAAAAwAAAAADQgOVABIAJwA0AAAlFRQGIyIvASYPAQYmJyY9ARYyAzIXFhcWFAcGBwYiJyYnJjQ3Njc2FyIOARQeATI+ATQuAQKbEQsGBWoWFmoLFQQDT7BYW01MLC0tLExNtk1MLC0tLExNWx4zHh4zPDMeHjPvogwQAi0JCS0ECAsFBqImAswuLEtOtU5LLC4uLEtOtU5LLC7fHTM9Mx4eMz0zHQACAAAAAAM+A3kAAwAkAAABAyEDJyIOARUjND4BMh4BFTMyFhUTFgYHISImNRM+ATMhNC4BAQIjAiUj8h4xHjcsS1lLLGAPFiUBFBD9sw8WJQEVDwFqHTICm/3UAiymHTQeLU0tLU0tFA/9sRAXARYPAlIPFB40HQACAAAAAANAA3kAFwAfAAABND4BMh4BFTMyFhcTFgYHISImNRM+ATsCNC4BIg4BAU0sTFhMLF8PFgElARUQ/bQQFiUBFg+R2B0yOjIdAtItTS0tTS0UD/2xEBcBFg8CUg8UHjQdHTQAAAcAAAAAA7EDeQAaACcANABnAHMAfwCLAAATITIWHQEUBiImPQEhETMyFhQGKwEiJjURNDYBMj4BNC4BIg4BFB4BFyIuATQ+ATIeARQOAScyNjQmKwE3NjQmIg8BJyYiBhQfASMiBhQWOwEVIyIGFBY7ARUUFjI2PQEzMjY0JisBNQEhMhYUBiMhIiY0NhczMhYUBisBIiY0NhczMhYUBisBIiY0Nt4CLBcgEBcQ/dTDCxAQC8MXICACCy1NLS1NWk0sLE0tPGY8PGZ5Zjs7ZgEKDg4KExoHDhQHISEHEw4HGRIKDg4KIyMKDg4KIw4UDiQKDg4KJP5IAU0LEREL/rMMEBAM3gsREQveDBAQDG8LEBALbwwQEAN5IRf6CxAQC/r9ZhEXECEXApoXIfz2LU1aTSwsTVpNLTc7ZnlmPDxmeWY72w4UDhkHFA4HISEHDhQHGQ4UDhcOFA4YCg4OChgOFA4XAb8QFxAQFxBvEBcQEBcQbxAXEREXEAAABgAAAAADeQN5AAwAIgBWAGIAbgB6AAABMh4BFA4BIi4BND4BEzIWFREmIyIOARUUFhchIiY1ETQ2MwEVBycmIgYUHwEjIgYUFjsBFSMiBhQWOwEVFBYyNj0BMzI2NCYrATUzMjY0JisBNzY0LgElIyIGFBY7ATI2NCY3IyIGFBY7ATI2NCY3ISIGFBYzITI2NCYC0i5MLS1MW00sLE1lFyA1OjxmPCkk/p0XICAXAhcjIgYSDAYbGQkMDAgqKQkMDAgqDREMKggNDAkqKggNDAkZGgYMEf6mbwwQEAxvCxAQZN4MEBAM3gsREWT+swwQEAwBTQsREQG8LE1bTC0tTFtNLAG9IRf+lB88ZjwxVx8hFwKaFyH9+QEiIgYMEQYbDBEMHAwRDRcJDAwIGA0RDBwMEQwbBhEMAXwQFxERFxBvEBcQEBcQbxAXEBAXEAAABAAAAAADagN5ABQAIgBHAHoAACUOASMhIi4CPwE+AjIeAR8BFgYBIiYnJjYzITIWBw4BIwEnLgEnPgE3Ni4BIyEiDgEXHgEXBgcGDwEGFxYXFjMhMjc2NzYlMjY0JisBNzY0JiIPAScmIgYUHwEjIgYUFjsBFSMiBhQWOwEVFBYyNj0BMzI2NCYrATUDBBdBJP75JEEuEwUYCk1zhHNNCxcGE/7IKkAJAQgFAREFBwEIQSkBORcOakwcKAcEECEV/u8VIRAEBycdTTQ1DhcLGxo0N0IBB0I2NRob/uALEBALFh4IEBcIJyYIFxAIHRUMEBAMKSkMEBAMKREXECoLEBALKqkcHh43RSOLQWg7O2hBiyNFAg42KgYJCQYqNv5ji1SDIRM5IxUmFxcmFSM5EyFBQlSLQTs6IyQkIzo7dRAXER0IFxEJJiYJERcIHREXEBwQFxAcDBAQDBwQFxAcAAUAAAAAA3kDeQAbAB8AIgAlAFkAAAEyFh8BMzIWFREUBiMhIiY1ETQ2PwE2Mh8BJTYXIREhAwUhJQc3FyIPAScmIgYUHwEjIgYUFjsBFSMiBhQWOwEVFBYyNj0BMzI2NCYrATUzMjY0JisBNzY0JgLwCg8CJhYVHR0V/VoVHRgTmQYSBlABSARU/WYCmmT+kAGK/ktVhrsMCCYmCBcRCB4VDBAQDCkpDBAQDCkRFhEpDBAQDCkpDBAQDBUeCBEDeQwJjB0U/gAVHR0VAgASGwOaBgZRWAHY/gwCjmNsVCTlCSYmCREXCB0RFxAcEBcQHAwQEAwcEBcQHBAXER0IFxEAAAAABgAAAAADeQOIAAMAEwAXACcAKwA7AAATETMRJzMyFhURFAYrASImNRE0NiURMxEnMzIWFREUBisBIiY1ETQ2JREzESczMhYVERQGKwEiJjURNDanb29vFyAgF28XISEBLG9vbxchIRdvFyAgAS1vb28XISEXbxcgIAI6/l8BoTcgF/5fFyEhFwGhFyA4/fACEDcgF/3wFyEhFwIQFyBv/UoCtjghF/1KFyEhFwK2FyEAAAAABgAAAAADXgNCAAgAFAAgACwANQA+AAATIiY0NjIWFAY3ITIWFAYjISImNDYTITIWFAYjISImNDYTITIWFAYjISImNDYnIiY0NjIWFAYDIiY0NjIWFAbCFyAgLiEhggHYEhgYEv4oERgYEQHYEhgYEv4oERgYEQHYEhgYEv4oERgYiBcgIC4hIRcXICAuISEC0iEuICAuIWEYIhkZIhj+6xkiGRkiGf7qGSIYGCIZtCEuISEuIf7rIC4hIS4gAAAAAgAAAAADsQN5AAUAJgAAJRQGIiY1EzIWHQEeARcWFREzMhYUBiMhIiY0NjsBETQ3PgE3NTQ2AkcwRjBTDBBUjCgpVAsQEAv8vgsQEAtUKSiMVBCLIzAwIwLuEAwdB1xIS1b+6hAXEBAXEAEWVktIXAcdDBAAAAAABAAAAAADQgOxAAMADwAnAFoAAAEVMzUXIxQGKwEiJjUjESETERQGIyEiJjURNDY7ATQ2OwEyFhUzMhYBNzYyFhQPATMyFhQGKwEVMzIWFAYrARUUBiImPQEjIiY0NjsBNSMiJjQ2OwEnJjQ2MhcBhd6nbyEX3hchbwIsNyAX/dQXICAXbyEX3hchbxcg/rMnCBcRCB0TDBAQDCkpDBAQDCkQGBApDBAQDCkpDBAQDBQdCBEXCAN5ODg4FyAgF/0uAtL9LhcgIBcC0hchFyAgFyH+1ScIERcIHBAYEBwQFxAcCxERCxwQFxAcEBgQHAgXEQgAAAUAAAAAA0IDeQACADUAOABSAF4AAAEzIzUnJiIGFB8BIyIGFBY7ARUjIgYUFjsBFRQWMjY9ATMyNjQmKwE1MzI2NCYrATc2NCYiDwE5AQMVFBY7ATI2PQEzMhYVERQGIyEiJjURNDY7AjIWFAYrASImNDYB9AEBJggXEQgdFAwQEAwpKQwQEAwpEBgQKQwQEAwpKQwQEAwTHQgRFwgLwyEX3hchbxcgIBf91BcgIBfDpgwQEAymDBAQAiwBJwgRFwgcEBgQHBAXEBwLERELHBAXEBwQGBAcCBcRCEQBaTgXICAXOCEX/S4XICAXAtIXIRAXEREXEAAABwAAAAADeQObAAMAEwAXACcANAA9AEkAABMRIRElITIWFREUBiMhIiY1ETQ2NxUhNSUhMhYdARQGIyEiJj0BNDY3MhYdARQGIiY9ATQ2NxQGIiY0NjIWASEyFhQGIyEiJjQ2pwKa/WYCmhchIRf9ZhchIYYBvP5EAbwXISEX/kQXISH1DBAQGBAQKRQcFBQcFP7pAfQMEBAM/gwMEBABvP7rARU4IRf+6xchIRcBFRchb29vOCEXbxchIRdvFyFvEAxvDBAQDG8MEFoXICAtICD90xAXEBAXEAAAAAMAAAAAA0IDsQAHAB8APQAAExE3NjIfARElITIWFREUBiMiLwEmIg8BBiYnJjURNDYBMhYXFRQOAQcjIi4BNTE0NjIWFRQeATI+AT0BNDbe0B9PHtD91AIsFyAgFxQP0A8oD9ASLQ8MIAG4CxABLEwsAy1NLREXEB4zPDMeEQN5/PipGRmpAwg3IBf8+BchDakMDKkPBRIPFAMIFyD+zxALAS1MLQEtTC4MEBAMHjMeHjMeAQsQAAACAAAAAANCA7EAFwAvAAABFB4BMj4BNTQmIgYVFA4BIi4BNTQmIgYDITIWFREUBiMiLwEmIg8BBiYnJjURNDYBTS1NWk0tERcQHjM8Mx4QFxFvAiwXICAXFA/QDygP0BItDwwgAmMtTS0tTS0MEBAMHjMeHjMeDBAQAUEgF/z4FyENqQwMqQ8FEg8UAwgXIAAFAAAAAAOxA7EAFAApAE4AXQBmAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYDMhcWFxYXFhcWFAcGBwYHBgcGIicmJyYnJicmNDc2NzY3Njc2FyIHBgcWFxYyNzY3JicmBzIWFAYiJjQ2AfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2VneTUwKSUeGRMOCwsNExkeJSkxajEpJR4ZEw0LCw4TGR4lKTA1YUsYEhIXSsZKFxISGEthFyEhLiEhbzU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwCYxEOGhUbFRUQCBAVFRsVGg4REQ4aFRsVFRAIEBUVGxUaDhE4QhUYGBVCQhUYGBVCNyEuISEuIQAABAAAAAADsQOxABQAOQBGAE8AAAEyFxYXFhQHBgcGIicmJyY0NzY3NhMiBwYHBgcGBwYUFxYXFhcWFxYyNzY3Njc2NzY0JyYnJicmJyYHMh4BFA4BIi4BND4BFyIGFBYyNjQmAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWd5NTApJR4ZEw4LCw0TGR4lKTFqMSklHhkTDQsLDhMZHiUpMDUeMx4eMzwzHh4zHhchIS4hIQOwPDtlZ/JnZTs8PDtlZ/JnZTs8/usRDhoVGxUVEAgQFRUbFRoOEREOGhUbFRUQCBAVFRsVGg4ROB4zPDMeHjM8Mx43IS4hIS4hAAADAAAAAANCA7EAJwBNAFEAAAEyFREUBw4BBwYHBhcWFxYVFAcGIicmNTQ3Njc2JyYnLgEnJjURNDMFIRUWHwEWFx4CFxYHBg8BFBYzMj4BNScmJyY3PgI3Nj8BNjcRIRUhAwo3HxRoFiQJDgIBCAMOGo4aDgMIAQIOCSQWaBQfNwIs/dQOJwwxGh4jFwQEAgEFBhkfFhYMBgUBAgQEFyMeGjEMJw791AIsA7A3/nsTCgYOBgoSHD0jPh4HMB87Ox8wBx4+Iz0cEgoGDgYKEwGFN97IAwYBBwcHGi8hHiscJjQrKBAlHjQmHCseIS8aBwcHAQYDAW9vAAgAAAAAAyYDhwALABcAJAAxAD4ASwBYAGUAAAE1NCYnJiIHDgEdASUVITU0Njc2MhceAQMyFh0BFAYiJj0BNDYXHgEPAQ4BLgE/AT4BFxYUDwEGIiY0PwE2MgE0NjMhMhYUBiMhIiYTNhYfARYOASYvASY2BzYyHwEWFAYiLwEmNAKXLyUoVSglLwGF/kM9MTV3NTE93gsQEBcQELIKBgYbBhYUBgYbBhaQCQknCBcQCCcIF/3GEAwB9AsQEAv+DAwQaAkXBRwGBhQWBhwFBm4IFwgnCBAXCCcJAVuCJEUVFhYVRSSCgrm5Ml4dHx8dXgF4EAw4CxAQCzgMEDgGFgowCgYMFgowCgZ1CBcIJwkRFwgnCP2VDBAQGBAQAt4GBgowChYMBgowChZpCAgnCBcRCScIFwAAAAQAAAAAA0IDjQAFABsAHwAvAAABBSMRMwUTERQGIyInJSMiJjURNDY7ASU2FhcWATMnIxMRIxcWBgcGKwEiJi8BMxEDCv7B7e0BPzcgFw8N/s7eFyAgF94BMhQtCwf+OjUhNZosHwQZFwUGNRQfBC6mA1G2/rK2Arr9RhcgB68gFwFOFyCvCwwUDf0QpwG8/kScFyYEARkT6QGFAAkAAAAAA3kDeQADACQAOQA9AEEAUQBVAF0AZQAAExEhEScyFh0BMzIWFREUBiMhIiY1ETQ2OwE1NDYyFh0BITU0NgMjFQYHFRc2NzUzFRQjIicjFzMyNycjFTMnFSM1NyMVIxUzFSMVMzUjNTM1IyUhFSElIxUUFjI2NSUjFRQWMjY1pwKaiwwQbxchIRf9ZhchIRdvEBcQAU4QSNkBFhYdAZ8KDRMCCCIeATN2dhw/MB0uLjaINS0tATz9ZgKa/gw3EBcQAYU3EBcQAwr9nQJjbxAMHCAX/Z0XISEXAmMXIBwMEBAMHBwMEP6ScEYuARQ1VFW5CQEcGVhJMRgYfhEYFRkZFRjCOKccDBAQDBwcDBAQDAAAAAADAAAAAAOxA0IADAAWACAAAAEUFjsBMjY0JisBIgYBIREUBiMhIiY1ARUhNTQ2MyEyFgIrEQunCxERC6cLEf4NA3ggF/z2FyADePyIIBcDChcgAWkMEBAXEBABJ/5DFyAgFwIsODgXICAAAAAGAAAAAAOxA7EAFAApAEwAUABZAGIAACUyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgEyFhUhMhYVFA8BDgEjIRUhMhYUBiMhIiY9ATE1IyImNDYzBSEVIQUUFjI2NCYiBgUUFjI2NCYiBgH0alpYNDU1NFha1FpYNDU1NFhaanlnZTs8PDtlZ/JnZTs8PDtlZ/6pFyEBnQwQATYDDgn+mAFpCxAQC/6XFyEcCxAQCwHL/okBVP6QEBcQEBcQAU0QFxAQFxBvNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAKaIBcRCwQFpgkLNxEXECEXN98QFxBvb94MEBAXERELDBAQFxERAAAABgAAAAADsQOxABQAKQA1AD4ARwBdAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYBITIWFRQPAQ4BIyEXFBYyNjQmIgYFFBYyNjQmIgYBIiY0NjsBMhYVESEyFhQGIyEiJjURAfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2Vn/qkB1QwQATYDDgn+YBwQFxAQFxABTRAXEBAXEP57CxAQCxwXIQFpCxAQC/6XFyFvNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAJjEQsEBaYJC6YMEBAXERELDBAQFxERAXoQFxAgF/7qERcQIRcBFgAAAAAEAAAAAAOmA3kACAARAB8APAAAJRQWMjY0JiIGBRQWMjY0JiIGARMeATMhMjY3EzYmLwElITIXHgEHAw4BIyEiJicDLgErASImNDY7ATIWFwEWIC4hIS4gAYUgLiEhLiD+SCoBEAoB6QoQAjwCDgsF/ZACcAgHIicGPAUvHv4XHzAENAEQC00MEBAMTSAwA6cXISEuICAXFyEhLiAgAhT+lAsODQoBTQsTAgE3AQY5Iv6zHiYqHwHKCg4RFxAqIAADAAAAAAOmA3kACAARAC4AACUUFjI2NCYiBgUUFjI2NCYiBgEhMhceAQcDDgEjISImJwMuASsBIiY0NjsBMhYXARYgLiEhLiABhSAuISEuIP5CAnAIByInBjwFLx7+Fx8wBDQBEAtNDBAQDE0gMAOnFyEhLiAgFxchIS4gIAJLAQY5Iv6zHiYqHwHKCg4RFxAqIAAACgAAAAAD2gOPACcATwBYAGEAbgB7AIMAkACZAKIAAAEnDgEHBiMmJy4BNzY3PgEXFhcWFzcmJyYnIgYHBgcUFhcWMxY3PgEHPgE3Jw4BBwYjJicuATc2Nz4BFxYXFhc3JicmJyIGBwYHFBYXFjMWEzI2NCYiBhQWEzI2NCYiBhQWEzAxFwc1IyImNDY7ASU0NjMhMhYUBiMhIiY3MxUUBiImNSc0NjMhMhYUBiMhIiYBHgEPASc3PgEHDgEfATcnLgEDVDIWSC9RXVpOUF4BASwuoV1aTlEvMDZeW2lrvDU0AWxeW2hsXjdTijdTGTIWSC9RXVpOUF4BASwuoV1aTlEvMDZeW2lrvDU0AWxeW2hs2AwQEBcQEBwLEBAXEBA7b299DBAQDH393BALARYMEBAM/uoLEIo4EBcRihALARYMEBAM/uoLEAEYCgYFRjBFBhbwCgYGRjBGBRcBWhcxUBsuASwuol1aTlBeAQEsLlEcXjU0AWxeW2hsvDU0ATYgXX0gXTgXMVAbLgEsLqJdWk5QXgEBLC5RHF41NAFsXltobLw1NAECLBEXEBAXEf6vEBcRERcQAQtgYEMQGBAiDBAQFxAQC/oLEBALiwwQEBcREQEMBRcKeBx4CgYGBRcKeBx4CgYAAAAEAAAAAAN5A3kAAwAVABoATQAAExEhESU3PgEzITIWHwERFAYjISImNREhJyEHBTc2MhYUDwEzMhYUBisBFTMyFhQGKwEVFAYiJj0BIyImNDY7ATUjIiY0NjsBJyY0NjIXpwKa/S4oBxsQAlYQGwcoIRf9ZhchAswc/aocAUcnCBcRCB0TDBAQDCkpDBAQDCkQGBApDBAQDCkpDBAQDBQdCBEXCALS/dUCKzhQDhERDlD9nRchIRcCYzc33ScIERcIHBAYEBwQFxAcCxERCxwQFxAcEBgQHAgXEQgAAwAAAAADsQN5AAMAIwBWAAATESERARUzMhYUBiMhIiY0NjsBNSEiJjURNDYzITIWFREUBiMBNzYyFhQPATMyFhQGKwEVMzIWFAYrARUUBiImPQEjIiY0NjsBNSMiJjQ2OwEnJjQ2MhdvAwr+l6YMEBAM/nwMEBAMpv6XFyAgFwMKFyAgF/57JwgXEQgdEwwQEAwpKQwQEAwpEBgQKQwQEAwpKQwQEAwUHQgRFwgDQf4MAfT91W8RFxAQFxFvIBcB9BchIRf+DBcgAY0nCBAXCB0QFxAcEBcRGwwQEAwbERcQHBAXEB0IFxAIAAAEAAAAAAN6A3kAKQAyADsAUwAAARYVFAcGBwYiJyYnJjQ3Njc2MzIXByYjIgcGBwYUFxYXFjI3Njc2NTQvASImNDYyFhQGEyImNDYyFhQGJS4BPwE+AR8BFjY3ATYWHwEWFAcBBiInA3UENTRYWtRaWDQ1NTRYWmpZUBlETFtNTCwtLSxMTbZNTCwtA6wLEREXEBC8CxERFxAQ/e0FAQQPBA4GfAUOBQFHBQ8FCAUG/qEIFwkCKBoaalpYNDU1NFha1FpYNDUmMiAtLExNtk1MLC0tLExNWxYX/BAXEREXEP7pERcQEBcRGAYOBhIFAwRTAwEDAQoEAQQIBg4G/qIICQAAAAgAAAAAA3kDiAAQABQAJAAoADgAPABMAF0AAAEiJjQ2OwEyFh0BFAYiJj0BAREzESczMhYVERQGKwEiJjURNDYlETMRJzMyFhURFAYrASImNRE0NiURMxE1MhYVERQGKwEiJjURNDYzNxYGBwUnBQYuATY3JRclNhYC2AsQEAtrCxAQFhD9l2xsbBYfHxZsFh8fASNra2sWICAWaxcfHwEjaxYgIBZrFiAgFoAHAgn+6KP+/woWCwYJAReeAQEJFgNQEBYQEAtrCxAQC1D+U/70AQw2IBb+9BYgIBYBDBYgNv6IAXg1Hxb+iBYgIBYBeBYfNv4dAeM1Hxb+HRYgIBYB4xYfzQkWB981mQYFFBUGpTPNBwIAAAAFAAAAAAOxA3kAFwAzADwARQBOAAA/ARcWMzI3Njc2NCcmJyYiBwYHBhUUHwEFIiYnBwYuAT8BLgE1NDc2NzYyFxYXFhQHBgcGAxQWMjY0JiIGBxQWMjY0JiIGBRQWMjY0JiIGmG0WYndqW1gzNTUzWFvUW1gzNT0TATVDfDaPCRQJBDIjJTw7ZWfyZ2U7PDw7ZWexIS4hIS4h3iEuICAuIQG9IC4hIS4gySMMOS4sTE20TUwsLi4sTE1aYlEauCEgLwMJFQp5L2w6alpYNDU1NFha1FpYNDUBhRchIS4hIRcXISEuISEXFyEhLiEhAAAEAAAAAAOxA3kAHAAlAC4ANwAAATIXFhcWFAcGBwYjIiYnBwYuAT8BLgE1NDc2NzYTIgYUFjI2NCYjIgYUFjI2NCYhIgYUFjI2NCYB9HlnZTs8PDtlZ3lDfDaPCRQJBDIjJTw7ZWd5FyEhLiEh9RchIS4gIAGlFyAgLiEhA3k1NFha1FpYNDUhIC8DCRUKeS9sOmpaWDQ1/rMhLiEhLiEhLiEhLiEhLiEhLiEAAgAAAAADsQOwABQALAAAATIXFhcWFAcGBwYiJyYnJjQ3Njc2ASYiBwUOAS8BJgYPAQYWHwEWMjcBNjQnAfR5aGQ7PT07ZGjxaGQ7PT07ZGgBgwUNBf7aBQwFbwUNBA0EAQWJCBUHATwFBAOwPTtkaPFoZDs9PTtkaPFoZDs9/uYEA98DAQNFBAIFDwUMBYAHBwEmBA0EAAACAAAAAAOxA7EAFAApAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYB9GhZVjM0NDNWWdBZVjM0NDNWWWh5Z2U7PDw7ZWfyZ2U7PDw7ZWd2NDNWWdBZVjM0NDNWWdBZVjM0Pjw7ZWfyZ2U7PDw7ZWfyZ2U7PAAAAgAAAAADsQOxABQAMQAAATIXFhcWFAcGBwYiJyYnJjQ3Njc2ASYiDwEnJiIGFB8BBwYUFjI/ARcWMjY0LwE3NjQB9HlnZTs8PDtlZ/JnZTs8PDtlZwEpCBcIiYoIFxAIiYkIEBcIiokIFxEJiYkJA7A8O2Vn8mdlOzw8O2Vn8mdlOzz+9QgIiooIERcIiYoIFxAIiYkIEBcIiokIFwAAAAMAAAAAA7EDsQAUACkAOwAAJTI3Njc2NCcmJyYiBwYHBhQXFhcWEzIXFhcWFAcGBwYiJyYnJjQ3Njc2FyIGHQEUFjsBMjY0JisBNTQmAfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2VnXQsREQv6DBAQDN4QbzU0WFrUWlg0NTU0WFrUWlg0NQNBPDtlZ/JnZTs8PDtlZ/JnZTs83hAM+gsQEBcQ3gwQAAIAAAAAA7EDsQAUACYAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhciBh0BFBY7ATI2NCYrATU0JgH0eWdlOzw8O2Vn8mdlOzw8O2VnXQsREQv6DBAQDN4QA7A8O2Vn8mdlOzw8O2Vn8mdlOzzeEAz6CxAQFxDeDBAAAAMAAAAAA7EDsQAbADAARQAAATc2MhYUDwEXFhQGIi8BBwYiJjQ/AScmNDYyFxMyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgH0iQgXEQmJiQkRFwiJiggXEAiJiQgQFwiKalpYNDU1NFha1FpYNDU1NFhaanlnZTs8PDtlZ/JnZTs8PDtlZwIbiggRFwiJiggXEAiJiQgQFwiKiQgXEQj9yjU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwAAAIAAAAAA7QCyAA+AEAAABMWFxYXFjc2NzYeAQcGBxcWDgEvARcGBxcWBiYvAQYHIxcUBiYnNyYvAQcOASY/AiYnBw4BLgE/ASYnJj4BBTGAKjs4PY+ShnoOIAsOHx81CRMhCDsHNzgrBxgiByo9PQUBHh4BAT48Ay4HIRgGLgI3L0cIFhUIB0ocFwwLHwGcArotJSMVMikmbQwLIAwbGGoQHQIQcwwjF3ERFgURbhIDhBIPDhKFBBQBeBEFFRF5BBgfXgoHDBsJYxYZDSEL8QAJAAAAAAOxA3kAAwATABcAJwArADsAPwBPAGUAAAEVMzUnMzIWHQEUBisBIiY9ATQ2ARUzNSczMhYdARQGKwEiJj0BNDYFFTM1JzMyFh0BFAYrASImPQE0NgUVMzUnMzIWHQEUBisBIiY9ATQ2IT4CNzUzFR4CFyMuAScVIzUOAQcBvHBwcBcgIBdwFyAg/spvb28XISEXbxcgIAFkcHBwFyAgF3AXICABZW9vbxcgIBdvFyEh/akWXYBJOEmAXRY7IIpXOFeKIANBb284IRdvFyAgF28XIf2db283IBdvFyEhF28XIDdvbzcgF28XISEXbxcgN29vNyAXbxchIRdvFyBEbUMFjIwFQ21EUGoIwsIIalAAAAAAAQAAAAADsQN5AFUAAAEVHgIXMzIWHQEUBisBIiY9ATQ2OwEuAScVMzIWHQEUBisBIiY9ATQ2OwE1DgEHMzIWHQEUBisBIiY9ATQ2OwE+Ajc1IyImPQE0NjsBMhYdARQGIwIQSYBdFi0XICAXbxchIRcHIIpXHBcgIBdwFyAgFxxXiiAHFyEhF28XICAXLRZdgEkcFyAgF3AXICAXAptVBUNtRCAXbxchIRdvFyBQagjCIBdvFyEhF28XIMIIalAgF28XISEXbxcgRG1DBVUgF28XISEXbxcgAAAAAAUAAAAAA0IDeQAPABwAKAA0AEAAABMhMhYVERQGIyEiJjURNDYhMhYVERQGIiY1ETQ2BSIGFBYzITI2NCYjBSIGFBYzITI2NCYjBSIGFBY7ATI2NCYj3gG9FyAgF/5DFyAgAl8LEBAXEBD+GAwQEAwBFQwQEAz+6wwQEAwBFQwQEAz+6wwQEAymDBAQDAN5IRf9ZhchIRcCmhchEAz9LgwQEAwC0gwQpxAXEBAXEG8QFxAQFxBvEBcRERcQAAAAAAQAAAAAA7EDsQAUACkAQQBIAAABMhcWFxYUBwYHBiInJicmNDc2NzYXIgcGBwYUFxYXFjI3Njc2NCcmJyYXMhYVERQGIyEHBgcGJi8BIyImNRE0NjMFIREzFzchAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWd5alpYNDU1NFha1FpYNDU1NFhacQ0SEg3+3SAFCQsZBiAbDRISDQGd/nwkGhoBLAOwPDtlZ/JnZTs8PDtlZ/JnZTs8NzU0WFrUWlg0NTU0WFrUWlg0NacSDf61DRI/CAUGCAs/Eg0BSw0SN/7lMjIAAwAAAAADsQOxABQALAAzAAABMhcWFxYUBwYHBiInJicmNDc2NzYFISIGFREUFjsBFx4BNzY/ASEyNjURNCYHESEHJyMRAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWcBVP5KDRISDRsgBhkLCQUgASMNEhIm/tQaGiQDsDw7ZWfyZ2U7PDw7ZWfyZ2U7PN4SDf61DRI/CwgGBQg/Eg0BSw0SN/7lMjIBGwAEAAAAAAOxA3kABgAeACoANgAAJTchESERIRcGBwYmLwEhIiY1ETQ2MyEyFhURFAYjIQEhMhYUBiMhIiY0NhchMhYUBiMhIiY0NgH0UQE0/PYBNH8GCRMtDUH+6hcgIBcDChcgIBf+6v7PAYQMEBAM/nwMEBAMAYQMEBAM/nwMEBDTegH0/gyZCQYNCRNiIBcB9BchIRf+DBcgAbwQFxAQFxCmERcQEBcRAAAAAwAAAAADsQN5ABcAIwAvAAABBwYHBiYvASEiJjURNDYzITIWFREUBiMBIgYUFjMhMjY0JiMFIgYUFjMhMjY0JiMCY0EGCRMtDUH+6hcgIBcDChcgIBf9uQwQEAwBhAwQEAz+fAwQEAwBhAwQEAwBFmIJBg0JE2IgFwH0FyEhF/4MFyABvBAXEBAXEKYRFxAQFxEAAAYAAAAAA0IDsQARADMANwA7AEcAUwAAATIWFREUBiMhIiY1ETQ2MxEhAzEXFg8BFgYPAQYnIi8BJjUnND8BPgEfARY2PwE2Mhc3NgEVIzUhFSM1IyIGFBY7ATI2NCYjJzMyFhQGKwEiJjQ2AwoXICAW/dMXICAXAiw+BgECAQMBBPUHCQUEbwMBAwoDCgRXAwoE5AQIBAEC/runAiynwgwQEAymDBAQDKamIzExI6YjMTEDeSEX/S4XICAXAtIXIfz2AfQGAgECAwkE9QcBA24DBQEFBA0EAQI6AwEDuQMCAgEBFTg4ODgQFxERFxA3MEUxMUUwAAAABAAAAAADeQOxABAAHwAsADkAAAEyFhcWFRQGIyEiJjU0Nz4BFyIOARUUFjMhMjY1NC4BJzI+ATQuASIOARQeARciLgE0PgEyHgEUDgEB9G+xMTRENv3qN0M0MrFuX5hWIiACFiAiVZhgLU0tLU1aTS0tTS08Zjw8ZnhmPDxmAaE2MTRELjw8LkM0MTc4K00vFxscFjBMK8MsTVpNLS1NWk0sODxmeWY7O2Z5ZjwAAAAJAAAAAAOxA0IAAQADAAUABwA/AEsAVwBlAHMAABM1HQElFT0BHQEiBhQWMxUUBiMhIiY9ATI2NCYjNTQ2MyEyFh0BIzUhFSM1FTIWFAYjFTUzFSE1MxU1IiY0NjMlITIWFAYjISImNDYXITIWFAYjISImNDYlMh4BFA4BIzUyNjQmIyUVIgYUFjMVIi4BND4BOAN4FyAgFyAX/PYXIBcgIBcgFwMKFyA3/PY3FyAgFzcDCjcXICAX/bkBFgsREQv+6gsREQsBFgsREQv+6gsREf7aHjMeHjMeFyAgFwN4FyAgFx4zHh4zAjkOmA4ODpgODg0hLiHeFyAgF94hLiHeFyAgF97e3g0NIS4hDQ3e3g0NIS4hNxAXEBAXEKcQFxAQFxCnHjM8Mx43IS4hNzchLiE3HjM8Mx4AAAAAAwAAAAADsQNCAB8AKwA3AAATNTQ2MyEyFh0BIg4BFB4BMxUUBiMhIiY9ATI+ATQuASEiBhQWMyEyNjQmIwUiBhQWMyEyNjQmIzggFwMKFyAeMx4eMx4gF/z2FyAeMx4eMwETCxERCwEWCxERC/7qCxERCwEWCxERCwJjpxcgIBenHjM8Mx6nFyAgF6ceMzwzHhAXEBAXEKcQFxAQFxAAAAQAAAAAA7EDQgAPABMAFwAjAAABMhYVERQGIyEiJjURNDYzBSERIREhFSEBMzI2NCYrASIGFBYDeRcgIBf89hcgIBcDCvz2Awr89gMK/s6nCxAQC6cLEREDQSAX/dQXICAXAiwXIKb+QwIsOP57EBcQEBcQAAAAAAEAAAAAAzwDOgAbAAABExYUBiInJQcGIiY0NxMnJjQ2Mh8BJTYyFhQHAjD/DRkiDP8A/wwjGAz//wwYIwz/AQAMIhkNAfP/AAwiGQ3//w0ZIgwBAP8MIxgM//8MGCMMAAYAAAAAA7EDQgAPABMAFwAkADAAPAAAATIWFREUBiMhIiY1ETQ2MwUhESERIRUhARYyPwE2NCYiDwEGFBc3NjQmIg8BBhQWMj8BNjQmIg8BBhQWMgN5FyAgF/z2FyAgFwMK/PYDCvz2Awr+XAgXCCcIEBcIJwmfJwgQFwgnCBAXdycIEBcIJwgQFwNBIBf91BcgIBcCLBcgpv5DAiw4/lwICCcJFxAIKAgXCCcJFxAIKAgXEAgnCRcQCCgIFxAAAAwAAAAAA3kDeQAFABYAHwAoADEAOQBDAFkAZgBzAIAAjAAAEzAxIzUzNyMiFDMxFRQ7ATI9ATMwNCMHMD0BMCIdARQjMD0BMCIdARQzMic1MiIXFRQnMzA0KwEiFAEUBiMhIiY1ESE3ISIGFBY7AREUFjMhMjY1ETMyNjQmAzI2NRE0JiIGFREUFiEyNjURNCYiBhURFBYzMjY1ETQmIgYVERQWAyEyNjQmIyEiBhQWjQoKAg0BAQEKAQEBAwEEAQMBAQECAQMHAQYBAoYCAf3aAQICLFP9LgwQEAwcIhgCJhgiHAwQEOoLEREXEBD+9gwQEBcREZYMEBAXERG3AYQMEBAM/nwMEBACNQoBAQoBAQoBCQEFAQQBAQUBBAEBBQEEAQoBAf5oAQEBAQIpOBEXEP3XGCIiGAIpEBcR/gwQDAEVDBAQDP7rDBAQDAEVDBAQDP7rDBAQDAEVDBAQDP7rDBACKxEXEBAXEQAEAAAAAAN5AyYAFAAgACwAOAAAATc2MhYUDwEGBwYmJyY3ETQ2MhYVBSEyFhQGIyEiJjQ2FyEyFhQGIyEiJjQ2FyEyFhQGIyEiJjQ2Au9CDCMYDIUKDgoWBxAEGCMY/aoBahEYGBH+lhEYGBEBahEYGBH+lhEYGBEBahEYGBH+lhEYGAFRQgwYIwyFDAMDBggPFQIJERkZEQwZIhgYIhneGSIZGSIZ3xgiGRkiGAAAAAYAAAAAA0IDsQACAAsAHQApADUAQQAAJTUzBREhESMiBh0BEyEiBhURFBYzITI/ATY1ETQmByEiBhQWMyEyNjQmByEiBhQWMyEyNjQmByMiBhQWOwEyNjQmAmOQ/esCLKcXIN791BcgIBcBbhcQvhAgov7qCxERCwEWCxERC/7qCxERCwEWCxEReqcLERELpwsREYaQpwMK/dQgF6cDQSAX/PYXIBC9ERcCTBcgphEXEBAXEW8RFxAQFxFvERcQEBcRAAAFAAAAAANCA7EAAwAHAAsALwA7AAABESERFzM1IwUhFSETMhYVERQGKwEVMzIWHQEUBiMhIiY9ATQ2OwE1IyImNRE0NjMBIiY0NjsBMhYUBiMDCv3Up97eAU3+RAG8OBcgIBdvNxchIRf+RBchIRc3bxcgIBcBaQsQEAs4CxERCwG8Ab3+Q284b6cDQSAX/kMXIDggF6cXICAXpxcgOCAXAb0XIPz3EBcQEBcQAAAAAAMAAAAAA7IDQgAEABgAJAAAEwkBJyEHLgE/AT4BMyEyFh8BFgYHAQYiJwMhMhYUBiMhIiY0NnQBgAGAev30rAkCB4UGFQsCFgsVBoUHAgn+cA0qDaABhAwQEAz+fAwQEAJS/lkBp7jTChkLyQkKCgnJCxkK/kcPDwIdERcQEBcRAAAAAAIAAAAAA7IDQgATAB8AAAEyFh8BFgYHAQYiJwEuAT8BPgEzBSEiBhQWMyEyNjQmAv8LFQaFBwIJ/nANKg3+cAkCB4UGFQsBzf58DBAQDAGEDBAQA0EKCckLGQr+Rw8PAbkKGQvJCQqmERcQEBcRAAAHAAAAAAO7A7sAOwBfAGwAcAB9AIoAlwAAJTcXFjY/ARcWNi8BNz4BLwE3NiYvATc2Jg8BJy4BDwEnJgYPAScmBh8BBw4BHwEHBhYfAQcGFj8BFx4BFwYmJwYmNy4BNyY2NyY2Fz4BFzYWFzYWBx4BBxYGBxYGJw4BEzIXFhQHBiInJjQ3NiczAyMDMhcWFAcGIicmNDc2BSIHBhQXFjI3NjQnJiciBwYUFxYyNzY0JyYB1h4eLjgZECQ2KQICIDAPHRMTHQ8xHwICKTYkEBk4Lh4eLjgZECQ2KQICIDAPHRMTHQ8xHwICKTYkEBk4TENnJE9MBEYcKyscRgRMTyRnQ0NnJE9MBEYcKyscRgRMTyRnLSUUEhIUShQSEhQHJbIkByUTEhIUSRQSEhMBChEIBgYIIggGBwf1EQgGBgghCAYGB4YTEx0PMCACAik2JBAZOC4eHi44GRAkNikCAh8xDx0TEx0PMCACAik2JBAZOC4eHi44GRAkNikCAh8xDxErHEYETE8kZ0NDZyRPTARGHCsrHEYETE8kZ0NDZyRPTARGHAHOGhdLGBoaGEwWGpb+tgFEGxdKGBoaF0wWG68RDTMOERIPLw8RkBEOMg4REg8vDhIAAAAAAQAAAAADOwOxABoAAAEyFhURNz4BHwEWFAcBBiInASY0NjIfARE0NgH0ERnUDCMMAQwM/u4RLxH+7gwZIw3TGQOwGRL9PtMMAQwBDCQM/u4REQESDCQYDNMCwhIZAAAABAAAAAADsQNCAA8AEwAXADUAAAEyFhURFAYjISImNRE0NjMFIREhESEVIQEzMjY0JisBNTMyNjQmKwE1MzI2NCYrASIGHQEUFgN5FyAgF/z2FyAgFwMK/PYDCvz2Awr+KKYMEBAMi4sMEBAMi4sMEBAMpgwQEANBIBf91BcgIBcCLBcgpv5DAiw4/mAQFxA4EBcQOBAXEBAL3wsQAAAAAAUAAAAAA3kDeQADAA0AGQAjACgAAAEnBxc3Byc3NjIfARYUASEyFhQGIyEiJjQ2ARcBBwYmJyY/ARcHNwEnAuhPJ09iYp5jCBcIdgj9YALSDBAQDP0uDBAQAX2d/sacCxMCAgIfMxRiAQhPAudPJ08UY55iCAh2CBf9yxEXEBAXEQJAnf7GHwMNCwYFnBtjFAEHTwADAAAAAAN5AkgACAARABoAABMyFhQGIiY0NiEyFhQGIiY0NiEyFhQGIiY0NrUcKSk5KSkBXB0oKDooKAFcHSkpOSkpAkcoOikpOigoOikpOigoOikpOigAAwAAAAADsQNCAAMAEwAfAAATESERJSEyFhURFAYjISImNRE0Ngc3ARYyNwEXAQYiJ28DCvz2AwoXICAX/PYXICAWIwF/BxQHAX0j/oMXOhcDCv3UAiw3IBf91BcgIBcCLBcgTSv+zwYGATEr/s8TEgAAAAACAAAAAAOVA5UAFwAvAAABISIGFBYzIQcGFBYyPwE2NC8BJiIGFBcBITIWFAYjIRcWFAYiLwEmND8BNjIWFAcDOv34DBAQDAIEVQgQFwiDCgqFCBcRCf3PAggMEBAM/fxVCBAXCIMKCoUIFxEJAU0QFxBWCBcQCIMKGwqFCBAXCAFhEBgQVQgXEQmCChwKhQgRFwgACAAAAAADeQN5AAMAEwAfACwAOABEAFEAXQAAExEhESUhMhYVERQGIyEiJjURNDYFMzIWFAYrASImNDYzMhYdARQGIiY9ATQ2BwYiJjQ/ATYyFhQHASMiJjQ2OwEyFhQGIyImPQE0NjIWHQEUBjc2MhYUDwEGIiY0N6cCmv1mApoXISEX/WYXISEBt6cMEBAMpwsQELIMEBAYEBCHCBcQCKYIGBAI/p+nDBAQDKcLEBCyDBAQGBAQhwgXEAimCBgQCANB/WYCmjghF/1mFyEhFwKaFyFvEBgQEBgQEAynCxAQC6cMENYIEBcIpwgQGAj+BBAYEBAYEBAMpwsQEAunDBDWCBAXCKcIEBgIAAMAAAAAA3kDeQAXAC8APwAAARQGIiY9AQcGIiY0PwEjIiY0NjsBMhYVAQczMhYUBisBIiY9ATQ2MhYdATc2MhYUASEiBhURFBYzITI2NRE0JgMKERYRfwgXEQl/ZAsQEAunCxH+sn9kCxAQC6cLEREWEX8IFxEBfP1mFyEhFwKaFyEhAkcLEBALZH8JERcIfxEWEREL/qd/ERYREQunCxAQC2R/CREXAdwhF/1mFyEhFwKaFyEAAAAEAAAAAAOxAyYAIwBGAFMAYAAAASYnJiIHBgcGBwYHNB8BFhcWFxYXFjI3Njc2NzY/ATYVJicmJTIXFhcWFxYXFhUUBwYHBgcGIicmJyYnJjU0NzY3Njc2NzYXIg4BFB4BMj4BNC4BBzIeARQOASIuATQ+AQMVPkhLoEtIPicgHAECAgcNIjNCRkmOSUdBMyINBwICAhwf/rhPSkE6MykjFhMiJjhDSliuWEpDOCYiExYjKTM6QUpPLU0tLU1aTS0tTS0eMx4eMzwzHh4zAnk4Hh8fHjgkLCcOAgQDDxMwLTgfHx8fOC0wEw8DBAEOJyvRGxcqJC4oJyMSFzA2MToiKCgiOjE2MBcSIycoLiQqFxuLLU1aTS0tTVpNLTgeMzwzHh4zPDMeAAMAAAAAA7EDQgAkADEAOgAAASIHBgcGBwYHBhQXFhcWFxYXFjI3Njc2NzY3NjQnJicmJyYnJgMiLgE0PgEyHgEUDgEnIgYUFjI2NCYB9FRNQjswKB8WEREVHygvO0JOqk5COy8oHxURERYfKDA7Qk1ULU0tLU1aTS0tTS0jMDBGMDADQR4aLyYzJScfDR4nJjImLxofHxovJjImJx4NHyclMyYvGh7+KC1NWk0sLE1aTS36MUUxMUUxAAAAAgAAAAACLAN5AA8AGAAAATQ2OwEyFhUDFAYrASImNRciJjQ2MhYUBgG8CAdSBgkMCQY6BgksFyEhLiEhA2oGCQkG/fIGCQkGtSAuISEuIAAEAAAAAANCA7EAFwAjAEMATwAAATIWFREUBiMhIiY1ETQ2OwEVIxEhESM1IyIGFBY7ATI2NCYjAxcWFAYiLwEHBiIvASY0PwEnJjQ2Mh8BNzYyHwEWFAcDMzIWFAYrASImNDYDChcgIBf91BcgIBenpwIsp8IMEBAMpgwQEAwqPggRGAg+PgkXCAEJCT4+CBEYCD4+CRcIAQkJuqYjMTEjpiMxMQN5IRf9LhcgIBcC0hchOP0uAtI4EBcRERcQ/ns+CBgRCD4+CQkBCBcJPj4IGBEIPj4JCQEIFwkBfjBFMTFFMAACAAAAAANOA3kABQAVAAABEyETERcLASY1NDYzITIXHgEHAxEnAhD6/dT6OG/8CBoSAlYOCw8HC/ymAdcBav6W/uQhASwBbQwNExoICiUP/pP+cmQAAAAAAgAAAAADlQPPADIAawAAATQnJicGBwYuATc2JyYvAQYHBg8BBgcOARUUFxYXJjc2NzY3PgEeAQcGBwYXFhceAQc2Az4BFhcWFxYVFAUHIyImNz4BJyYnBgcGBwYXFg4BKwEnJicmNTQ2NzY/ATY3PgE3PgEXFhcWFxYXA11EFhkcGgoXDQIpjSMrAgsoJFUDPh4iHDk3Z0AVEUgcIhIYFwcHAQIMDxI1Kg4a6Y8HGBQPHRhQ/scLFxEQCisGJVwEDQw7DhdtBwEPDA0JmFVYIicjRAI6HiEfBAEWDREYMCiCAQFlYF0dGiQUCAUTDK9tGxQBSzcyQgIwIyZVPllIRjBoY1BDGhYLDAsYDAEGISctMitpPXABvQoEEA8cImxywoUCHg1AYSZYUwoMNz9pegkWDwEzW197SGUtKTUCLSAkTDcNDwQFDBYfZZYAAAAAAQAAAAADeQOxAEcAAAEWFxYXFhcWFxYXFhcWFxYHNzY3NjcXFhcWFxYXFhUUBSc2JyYnJicmNzY/AQcGBwYHBgcGFzcHJicmJzU0NzY3Njc2NzY3NgG8BwYQERcWGxcaFBcNDwIDCwkMDREOEBISGRMYDQ/+2BZgWSUVEgcFAgIFBRYbGCEXHAkadk9ch09aAhkUKRg4NBgnFRoDsAICBggMDhEUGBsfIyYrLzMIDA4TFw4SFR0fJygvL7B9Ao1bJCIeHBcVEAwKDRAUHSAoK3eEAQEsT1h1BUs6MCkZLCgYJys0AAAAAAIAAAAAA2EDRQAYAD0AAAEuAS8BLgEnJgcDNhcWFxYfAR4BFxY3EyYFBw4BLgE/ATETPgE3NhcWFxYXFhcWFxY3AwYnJicmJyYnJicmArocMRwbICsaO0BJRj4gGxkfEx8rGywZSSj+GUUDGBoNBD5iBSEVSkUmIxUjIBEbHEtLaS5cKSQVIx8QGx0/AnAHGhUVGRgHEAP+7QMQCA8OGQ8bGAYKBQEPAbn9DQ0HFw3jAW4UGwEDEgsVDRsZChEIExP+eCEWCRYNHhkKEgcQAAAHAAAAAANvA5YAJwBRAGQAbQB2AJcAoAAAAR4CHwE3PgI3NjUGBwYnJi8BJicmLwEmMgcGBwYHBgcGJy4BJwYTFSM1Jy4CJyY3NhcWFxYXFjc2NzY3MhcWHwEWNzY3Njc2FxYHDgIPAi4BByIHBg8BJwY3Njc2MzYWFzIWFAYiJjQ2JzIWFAYiJjQ2JTIXFhcWJxYVFAYjIi8BJicmIyYGBzEOASImNTQ3MT4BBTIWFAYiJjQ2ASIDKUEmOkgnQikCCB8SGxcYEBMMChUQBwUBBgwIGRMNGhgdCxUWAfs4JzRXOAQUDgcXDiEeDBQHFR4nHhspFiUHCBUNHSYOGAIECwQ3WTWWNRs8HhAWCAcIKx4hEAgmJjVUcwwQEBcREV8LEBAXEBABdiUmCA8XEAUQDA4ICAcIFhAePBwCDxUQAiJU/ecLEBAXEBACMiY/JwIDBAIoQSd2PhEFCAUHFhsRDRsPBgQHDAogKBsKCAcDCgs8/r76+QMDNFU0ziYSBQMREAMFDS0mMgEtGjQLCwYEEBMCAx43rTVZNgPiElBOARYHCQskJCcVByUCYWMQFxAQFxAQEBcRERcQsiUHExsSBwgLEQwKCQcWAU5QCQsQDAUFY2E9EBgQEBgQAAgAAAAAA7EDsQAUACkARABlAGwAcwB6AIEAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhciBwYHBhQXFhcWMjc2NzY0JyYnJgcxMhYdATMyFh0BFAYrASImPQE0NjsBNTQ2MwUyFh0BFAYrASImNDY7ATU0JisBIgYdARQGIiY9ATQ2MwUjFRQWOwE3IxUzMjY1JyMiBh0BMzcjFTM1NCYB9HlnZTs8PDtlZ/JnZTs8PDtlZ3lqWlg0NTU0WFrUWlg0NTU0WFrUCg88HioqHqEeKioeMw4LASwbJw8KLQoPDwoUCgYxBgoPFA8nG/7sRAoHM39NPAcKfzMHCkRuPE0KA7A8O2Vn8mdlOzw8O2Vn8mdlOzw3NTRYWtRaWDQ1NTRYWtRaWDQ1sg4LPCgdpx0oKB2nHSg8Cg9VKB1QCg8PFA83CAsLCLYLDg4Lth0orj4FCUxMCQW1CQU3RUU3BQkAAAAIAAAAAAN3A3kAFQAoAEMATABVAF4AawB4AAABMhcHJiMiDgEdARQGIiY9ATQ3Njc2NzEyFhQGIyIGFBYzFSIuATQ+AQEyFxYXFhcVIzQnLgEnIyIHDgEHFSM0NzY3NicyFhQGIiY0NgMyFhQGIiY0NiEyFhQGIiY0NgEyPgE0LgEiDgEUHgEXIi4BND4BMh4BFA4BAVtKQR0zO0BsQBAXECcnQkQuCxAQCyMxMSMmQCUlQAEVWk1LLC4COCUkfkoFSkE+SwI3LS1LTpULEBAXEBA2CxAQFxAQAm8LEREXEBD+3CVAJiZAS0AlJUAmNVk1NVlqWTQ0WQJIIzAbP2xAAgsQEAsBT0RCJyjcEBcQMUUxNyVAS0Al/u0tK0pNWQVKQD9LASUkfUsEWk5LLC41EBcQEBcQ/pkQFxAQFxAQFxAQFxABTSVAS0AlJUBLQCU4NFppWjQ0WmlaNAADAAAAAAOxA3kAIQA/AEEAAAEyHgEVFAYHHgEXFhcVFAYjISImPQE0Nz4BNzEuATU0PgEHMhcGFRQWFw4BByMiJj0BMTU+Aj8BJy4BNTQ+AQMxAmU0WjQ+MkZxICEBEAv9nAsQISBySDI9NFqqDg0pKSRbdQhnCg0BNl06BAIpMixKGQN5NFo1OV8YElxBQ0sFDBAQCwFMRENeEhheOTVaNEECOUcwWB8oo2UOCQEEPm1NEAEBFE4vLEsr/swAAAAHAAAAAAOyA3kAEwAWABkAHAAgACQAKAAAATIWHwEWBgcBDgEnAS4BPwE+ATMBIRMBIwMBIwEDIwczNyMHITcjFzMDMggPA2MDAwX+XggXCP5eBQMDYQMPCAG+/veJAWOnff78nAEgSKJMtfyJOQEHrbdGvgN5Cgj5Bw8G/igJAQcB2wYPB/kICv7O/qwBVP62AUr+uQJBwsLCwsIAAAAABgAAAAADqQN5AAIABQAIAA0AEQAXAAABCwEhARMhEwkBByM3MyEXITchMjEXIycCd4SNAjv+om3+fXT+pwEySfBhAQF7Vf74SQGQAWP6VgJH/iYB2v51AYv+eQGHATL6+vr6+voAAAAFAAAAAAOxA0IAAwATADkARABPAAATESERJSEyFhURFAYjISImNRE0NgEXHgEOAS8BESMRBwYuATY/AS4CNjc2MzIXNTMVNjMyFx4BDgEnJiIGFBceARcuATcOAQc+ATc2NCYibwMK/PYDChcgIBf89hcgIAHwRwsHChYLZjhmCxYKBwtINCkODhQeKx4ZOBkeKx8UDg4puA8oHA4HMSADC1wFCwMgMQcOHSgDCv3UAiw3IBf91BcgIBcCLBcg/pAjBhUVBwUz/vgBCDMFBxUVBiQKJzQ1FB8Qe3sQHxQ1NCd9DhwmDQYNAyAxBgYxIAMNBg0mHAAAAAQAAAAAA7EDQgAlADUAQABLAAABPgImJyYjIgc1IxUmIyIHDgEeARcHDgEeAT8BETMRFxY+ASYnASEyFhURFAYjISImNRE0NgU2MhYUBw4BBz4BJx4BFy4BJyY0NjICSDQpDg4UHyseGTgZHiseFA4OKTRICwcKFgtmOGYLFgoHC/3gAwoXICAX/PYXICABzQ4oHQ4HMSADC1wFCwMgMQcOHCgB0QsnNDUUHxCyshAfFDU0JwokBhUVBwUz/vgBCDMFBxUVBgGTIBf91BcgIBcCLBcg6A4cJg0GDQMgMQYGMSADDQYNJhwAAAAACAAAAAADeQN5ACYAKgAuADIANgA6AEEASAAAJSMiJjURIiY9ATQ2OwE+ATMyFhc+ATMyFhczMhYdARQGKwERFAYjAyMRMwMjETMBIxEzASMVMyUjFTMBIgYHMy4BMyIGBzMuAQG83hcgFyEhF1YKTDIhOxMTOyEyTApWFyEgFwEgFt9wcKenpwGFp6f+e97eAbze3v5EGysJnQgrwxsrCJ0JK28hFwFNIRemFyEwPx4aGh4/MCAXpxch/rMXIQJj/dUBTf6zAU3+swIrpqamARUfGBgfHxgYHwAAAAQAAAAAA3kDeQAFACoAMAA0AAABLgEiBgcjPgEzMhYXPgEzMhYXMzIWHQEUBiMRFAYjISImNREiJj0BNDYzITMuASIGBxEzEQHTCCs2Kwk5CkwyITsTEzshMkwKVhchIRcgF/3UFyAXISEXAW6dCSs2K2FwAwoYHx8YMD8eGhoePzAhF6YXIf6zFyEhFwFNIRemFyEYHx8Y/WUCmwAAAAADAAAAAAOxA7EAMgBHAFwAAAEnJjQ2Mh8BNzYyFhQPATMyFhQGKwEVMzIWFAYrARUUBiImPQEjIiY0NjsBNSMiJjQ2MxMyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgG8UAgQFwhiYggXEAhQUQsREQtvbwsREQtvEBgQbwsREQtvbwsREQuLalpYNDU1NFha1FpYNDU1NFhaanlnZTs8PDtlZ/JnZTs8PDtlZwJHUAgXEQhiYggRFwhQEBcQVBAXEG8MEBAMbxAXEFQQFxD+KDU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwAAAACAAAAAAOxA7EAFABHAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDIyIGFBY7ARUjIgYUFjsBFRQWMjY9ATMyNjQmKwE1MzI2NCYrATc2NCYiDwEnJiIGFBcB9HlnZTs8PDtlZ/JnZTs8PDtlZ7FTCxERC29vCxERC28QGBBvCxERC29vCxERC1FQCBAXCGJiCBcQCDg8O2Vn8mdlOzw8O2Vn8mdlOzwCDxAXEFQQFxBvDBAQDG8QFxBUEBcQUAgXEQhiYggRFwgAAAMAAAAAA3kDegAoAEMARwAAATY3Njc2NzY3Njc2MhceAQ8BBhY7ATEzMhYVFAcDDgEjISImNRE0NjMXESEyNjcSNCYrATEjIicmJyY3NjcuAQ8BBgcDMxEjAU0aCx8WEAkHEwIHIXkkCAgELAEDAoURJzcDLwczIf27FyEhF6YBnwoRAjgSDTZlIhQNAgIGGREBUg0XKHS2b28CYwkHEh8XFxNFCA84OA8mGJkDBDYmCBD+1h8oIRcBhRcgPf6BDQoBKxoSFxARDhZXQC0MM1FsJf57AYUAAAIAAAAAA3kDegAhACsAACURNjc2NzY3Njc2NzYyFx4BDwEGFjsBMTMyFhUUBwMOASMhIyImNRE0NjsBAU0aCx8WEAkHEwIHIXkkCAgELAEDAoURJzcDLwczIf4qbxchIRdvbwH0CQcSHxcXE0UIDzg4DyYYmQMENiYIEP7WHyghFwGFFyAAAAAKAAAAAAN5A7EAAQAEABcAKgBaAH4AhwCIAJEApAAAJSMzIiMTJy4BIyEiBgcDFBYzITUhEyEXNycuASMhIgYHAxQWMyE1IRMhHwEyHgEdARQHBgc3MDcHMBUHBgcGDwEGNwYiJyMxFi8BJicmJyYnNSY9ATQ+ATIXNhciDwEnJiIGHQE1FB8BFhcWFxYfATc2NzY/AjY9ARQ9ATQmBTIWFAYiJjQ2JQMyFhQGIiY0NgMyHgEXFSM0LgEiDgEdASM0PgECzwQEAgIjCwEgFv5RFiABHyAXARb+6h8Brwo4CwEgFv5RFiABHyAXARb+6h8BrwpWHjIdBwIHAgEBChIgFRgRCgUMHAsBBQsQGBUhEgkFCB0yPRobHxYPFRQQLB8EAQMGDxwTFwwMFxMcDgYGAx/+0gwQEBgQEAGDmQwQEBcREe8uTy4BNyA1PzUgOC9PpwFN4hYeHhb+CBcgNwH04QPiFh4eFv4IFyA3AfThUB80HwUQEggLAwEBARAcIBQUDQgECQkECA0UFCEcDg0BFBIFHzQfEhI4ERcXESIYBwEHCgEICRccEhMKChMSGxcJDQgGAQEEAhgiixAXEBAXEBoBGBAYEBAYEAGgLU4uAh82Hx80IAEuTy4AABYAAAAAA3YDeQACAAQABwAKAAwADwASABQAFwAZABsAHgAhACgAUwBVAFgAWwBdAGAA0ADTAAABMTUHFSc5ASc5AScxJxUXNzkBNyM3OQM3MTc5ATc5AQEiBgczLgETMRUWFxYXISImNRM+ATsBPgE3MzIeARczMhYXEwYHJiMiDgEdARQXOQEVNzE3IzE3OQE3MTc5AQc1NzE3MTUxNzE3OQQ3IzcjNzE1FTUVNzE3OQIzOQIzIzcxMyM3IzM5AjMjMzE1MTMxMzkENjMyFh0BFAcGDwEGBwYPAQYiLwEmLwEVJzMnJic5Aic5Aic5AicmPQE0NjIXNyMHOQEC8lcgCAQJAYkFAQ0DCgb+xic+C98KPjEHCg8Z/nMXICEBIBYyDF09AylIMAhDFiABFBQTGx8lPyQKuQMBCA0JGQQBAwIDAQIBBAIDAQEBAQIBBAEBAQEBAQIJCCIvBQICBRMtGBsBBAoDAhMRGRcBAhMLAQUBBi9DGAgBvwE6Aa0BJgsFEwEBZAQJAQQBAfYuJSUu/YICEA8ZGiEXAhMWHjtPASRAJx4W/skDCQ4mQScGFhgBcgIHCAQPAQIBAQECAQEBAQEBAQIBAQEBAjIkBQsNBgUIISoWFQEDAwEPDxcBGAIVEwILAw4NBSQyGgd3AAAEAAAAAANBA5MADwAfACsANwAAEzQ2MyEyFhURFAYjISImNRMiBhURFBYzITI2NRE0JiMBIgYUFjMhMjY0JiMFIgYUFjsBMjY0JiOmIRcCKxchIRf91RchiwwQEAwBhQsREQv+ewwQEAwBhQsREQv+ewwQEAzeDBAQDANbFyEhF/0vFyEgGAKaEAz+6gsQEAsBFgwQ/kMQFxAQFxBvEBcQEBcQAAMAAAAAA4EDjAARABYAKAAAEyY2NwE2MhcBHgEOAScJAQYmFxUhNSUFNDclNjIXBRYdARQGIyEiJjVvBwEJAV4PKg8BXgkBDxcI/qL+oggXZwIs/ur+sxQBFRAoEAEVFCAX/dQXIAIsCBcIASsODv7VCBcRAggBK/7VCAK4jY3n5xoR5w0N5xEajRcgIBcAAAYAAAAAA7EDsQAPADcAQwBPAFkAYQAAAQcjFQcXFTMXNzM1Nyc1Iyc3NjIfATMyFh0BFxYUDwEVFAYrAQcGIi8BIyImPQEnJjQ/ATU0NjMXMxUzNTMVIzUjFSM3NDYyFhUUDgEiLgE3FBYyNjU0JiIGNzMVIxUjNSMB9HKhcnKhcnKhcnKh+2IQLhBiihcgYhAQYiAXimIQLhBiihcgYhAQYiAXNSswLCwwK54mRiYRHy8gEywPHA8QGw9uhCwrLQN5cqFycqFycqFycqE3YhAQYiAXimIQLhBiihcgYhAQYiAXimIQLhBiihcg+Tk5okJCUScsKyccJBQRJhwZFRUbFxUWOSh6egAAAAALAAD//wMKA+kADwATADMASABOAFQAWgBgAGYAkQCsAAABMhYVERQGIyEiJjURNDYzBSERIQMVBgczFSMHFhcHJicGByc2PwEjNTMmJzcWFwczNjc1NxUzFSMVMxUGByc2NyM1MzUjNTM1BxYXByYnAxcGByc2NxYXByYvARYXByYnNxYXByYnNxUzFRQXFjI2NRcGBwYjIicmPQEjBgcWFwcmJwYHJzY3Jic3FzY3IzUzNQcVMxUjFTcVBxUUKwEnFjI9AQcnNjc1IzUzNQLSFyEhF/5EFyEhFwG8/kQBvLYBA2p3Az41FDg7JFITUx0HekwcIBEjIQ83BAILXV11CAwhCQjreF9fPyQhEiEjEx0RFx0Y6B0RHREcaAkJIwYKZg4LIwkOKEQGAwUEGgMIBgkTDBUiAQcVEhQQEBAdGh0ODQ8TEwQBIiJQJCQiIiAgCBEULAgaGiwsA+ghF/yIFyEhFwN4FyE4/IgBAjYPDSEFEhkeHxIfER4RFwchEgoYCxIXDw02dBYgFhYiIQoTHCAWIBZvChAaEgoBXQ4mHBUZKCQcFR4lAxkkCCEdCx4iCSYc9ChENhMJHg4NLA0IDhhOIiMcEBIeEQ0iFxcWIgoJGwwSFyIoASYiKAohCS4iIgMMHAggAwYwIiYAAAAACgAA//8DCgPpAA8ANABJAFAAWABfAGYAbQCcALkAAAEyFhURFAYjISImNRE0NjMBIxUGBxUjNyYnIwcWHwEjFTMHBgcjFzY3Fh8BNyYnNzM1IzY3JyMVIxUzFSMVMwYHFzY3NSM1MzUjDwEWHwE3JgMGDwEXNjc1NwcWHwE3JicHFh8BNyY3BxYXFTcmAyMVIxUzBgcnBxYXBg8BFzY3Fh8BNyYnNjc1MxUUFxYzMjc2NzUnFAYiJyY9ASMnIxUjFTMVBgcjFzcVFCIvARczMjc1NzUHNTM1IwLSFyEhF/5EFyEhFwEGIQIENw8gIwERHxwBTHoHHVECE1IkOjcCFDU+A3dqAwEWIl9feOsICSEMCHVdXWERIiEBEiFIEBcBHRcRuxwcEAEdEaEhCgUBIwk8IQ4JIwsHIiIiAQQTEw8NDhwBGh0QDxABFBIVBgIiFQwTCQYIAxoEBQMGRHIjLCwZGAMILBQQAQggHwEiIiQkA+ghF/yIFyEhFwN4FyH9UjYNDQIXEQwYChEBIQcXER4RHxIeAR4ZEgUhDQ6rFiAWIBwTCiEiFhYgWRgKEQEaEAFPIRkBFRwlARQSJB4BFRwVBx0gAQgkHQccJAIJIgELKCIXEgwbCQoiFQEXFyIMEQEeEhAcIQIiThgOCA0rAQ0OHgkTNUUnJiIwBQQgCBwMAgEiIi4JIQooIgAFAAAAAAOxA7EAJwAzAD8ASQBRAAABNzYyHwEzMhYdARcWFA8BFRQGKwEHBiIvASMiJj0BJyY0PwE1NDYzFxUzNTMVMzUjFSM1FxQeATI+ATU0JiIGFzQ2MhYVFAYiJjcVMxUzNTM1AWtiEC4QYooXIGIQEGIgF4piEC4QYooXIGIQEGIgFxkxNTExNYEWIzUjEytOKzESHhIRHxJ8MjEyAz5iEBBiIBeKYhAuEGKKFyBiEBBiIBeKYhAuEGKKFyD5okJCojk5URwmERQkHCcrLCcYFhUXGxUVaih6eigAAAgAAAAAA3kDegADABMAIAAtADoARwBLAFsAABMRMxEnMzIWFREUBisBIiY1ETQ2JTIWHQEUBiImPQE0NhcyFh0BFAYiJj0BNDY3MhYdARQGIiY9ATQ2FzIWHQEUBiImPQE0NgMRIRElITIWFREUBiMhIiY1ETQ2p6amphchIRemFyEhAdMMEBAYEBAMDBAQGBAQewwQEBcREQsMEBAXERHTAU3+swFNFyEhF/6zFyEhAmP+RAG8OCEX/kQXISEXAbwXITcQCzgMEBAMOAsQ3hAMNwwQEAw3DBBvEAw3DBAQDDcMEN4QDDcMEBAMNwwQAbz9ZgKaOCEX/WYXISEXApoXIQAABAAAAAADsQNCABEAFQAhACUAABMhMhYVERQGIyEiJjURNDYzIRUhESEnMhYUBiMhIiY0NjMBIRUhbwMKFyAfF/z1FyAfFwML/PYDCsMMEBAM/nwMEBAMAkf89gMKA0EgFv3TFyAgFgItFyCm/kOnEBcRERcQAYU4AAAAAAQAAAAAA7EDsQAUACkAQgBLAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYnMzIWFAYrASImNDY7ATUjIiY0NjsBMhYVJxQWMjY0JiIGAfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2VnXRwLEBALcAsQEAscDgsQEAsqDBBGGSIZGSIZbzU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzz6ERcQEBcR+hAXEBAMfREYGCMYGAADAAAAAAOxA7EAFAAeACcAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhMjFTMVIxUzNSMDIgYUFjI2NCYB9HlnZTs8PDtlZ/JnZTs8PDtlZ5VhKTemNxwRGRkiGRkDsDw7ZWfyZ2U7PDw7ZWfyZ2U7PP6zN/o4OAG8GCMYGCMYAAAAAAMAAAAAA3kDeQAcACQAPgAAARQXFRYXFhczFjI3MzY3Nj8BNj0BNCYiByYiBhUFBwYiLwE1IRcjNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmAYUFDCgVGQEDCAMBFRMkEAcEJjYTEzYmAU3KCRYJygG8bzchF/5EFyE3FyEhFwKaFyEhArcJDAEcJRMTAwMQESEaDgsIBBwnFBQnHHB5BgZ59m9vFyEhF28gF/4MFyEhFwH0FyAAAAAEAAAAAANCA7EABAAZACUAMQAAJREhESUBITIWFREUBiMiLwEHBiYnJjURNDYXITIWFAYjISImNDYXITIWFAYjISImNDYDCv3UARb+6gIsFyAgFw0M/f0VKwoGIKIBFgsREQv+6gsREQsBFgsREQv+6gsREZEC6P0YiwKUIBf9GBcgBn5+Cw8VCw0C6Bcg3hAXEBAXEKYRFxAQFxEAAAAAAwAAAAADQgOxAAsAFwArAAABISImNDYzITIWFAYHISImNDYzITIWFAYTISIGFREUFjclNjIXBRY2NRE0JgJ//uoMEBAMARYLEBAL/uoMEBAMARYLEBCA/dQXIRsOAQwMGgwBDA4aIAKbEBcQEBcQpxAXEREXEAG8IBf82g8QB4YFBYYHEA8DJhcgAAACAAAAAAO6A4IAEgAoAAAlFwE+AS4CBg8BJy4BDgIWFwEXNz4BHgIGBwEGJi8CLgE+AhYBl10BTSYZHE1mZiYxMSdmZkwdGiUBRAoJMYODYiMfMP6wES4PXfEwICRigoPqYwFhKGloTBsbJjExJhsbTGhoKAFGCgowIiJig4Uz/p0QARFj/zKFg2IiIgAAAAABAAAAAAO7A4IAFQAAJScuAT4CFh8BNz4BHgIGBwEGJicBcPEwICRigoMxCgkxg4NiJCAw/rARLg/E/zKFg2IiIjAKCjAiImKDhTP+nRABEQAAAAACAAAAAAN5A14AHwAvAAABMzc2MhYUDwEzMhYVERQGIyEiJjURNDY7AScmNDYyFwE2NzYmLwEmIgYdARQeATcBrI2TCBcQCGu5FyEhF/1mFyEhF7dsCBAXCAEmAgIHAglxCBUQDRcJAsKTCBAXCGwhF/5EFyEhFwG8FyFsCBcQCP4+AgIJFwdbBhELtQoQAwcAAAAABAAAAAADQgOyAAwAIAAtADYAAAE0JicmIgcOARUUAQADMAcGJicANTQ3Njc2MhcWFxYVFCUiLgE0PgEyHgEUDgEnMjY0JiIGFBYDCks+QZdBP0oBFQEW7gEQLhD+2i4sS061TkssLv6yJUAmJkBLQCUlQCYjMTFFMTECa0l9IyUlI31J3/7jARz+vQEQARABLvVZTEkrLS0rSUxZ9kglQEw/JiY/TEAlODBFMTFFMAACAAAAAANBA7AAFAAhAAAlMTMWMj8BADU0JyYnJiIHBgcGFRQBMh4BFA4CLgE0PgEBzAEQLRABASYuLEtOtE5LLC4BTR40Hh40PDQeHjRIERABASz2WUxJLCwsLElMWfQBXR40PDMeAR8zPDQeAAAAAgAAAAADQgN5ABkAIwAAATU0PgEyHgEdATMyFhURFAYjISImNRE0NjsBITU0LgEiDgEVARY8ZnhmPEYRGBgR/bgRGBgRmQEWJUBMQCUCLG88Zjw8ZjxvGRH+lxEZGREBaREZbyVAJiZAJQAACQAAAAADsQN5ABcAIwAvAEwAVQBiAGsAeAB8AAABMhYfAh4BFREUBisBNTMRLwEuASMhNQEyFhQGIyEiJjQ2MyUyFhQGIyEiJjQ2MzcuATQ2MyEyFh8CHgEVERQGKwE1MxEvAS4BIyEBMjY0JiIGFBYXIi4BND4BMh4BFA4BJTI2NCYiBhQWFyIuATQ+ATIeARQOATc1IRUCdyg9CCaAERUgF97enywEHxT+MAEVDBAQDP6zCxERCwFNDBAQDP6zCxERCzcLEBAMAdAoPQgmgBEVIBfe3p8sBB8U/jABvBchIS4gIBceMx4eMzwzHh4z/l0XISEuICAXHjMeHjM8Mx4eMxoBFgN5Mie9KwUeEf7aFyA3ASY13BMZOP57EBcRERcQpxEXEBAXEaYBEBcQMie9KwUeEf7aFyA3ASY13BMZ/UogLiEhLiA4HjM9Mx4eMz0zHjggLiEhLiA4HjM9Mx4eMz0zHlQ3NwAAAAUAAAAAA3kDsQAFABsAKAA1AEEAABMVITUnIQc3NjMhMh8BHgEdARQGIyEiJj0BNDYlMj4BNC4BIg4BFB4BFyIuATQ+ATIeARQOARczMhYUBisBIiY0NqcCmrP+zMuzCw0BNA0Lsw8RIRf9ZhchEQF0LU0tLU1aTS0tTS08Zjw8ZnhmPDxmF28MEBAMbwsQEAEvwMBWJFYFBVYGHBDAFyAgF8AQHNEsTVpNLS1NWk0sODxmeWY7O2Z5ZjzeEBgQEBgQAAADAAAAAAN5A7EAFQAiAC8AABM3NjMhMh8BHgEdARQGIyEiJj0BNDYFFBY7ATI2NCYrASIGJyIuATQ+ATIeARQOAY+zCw0BNA0Lsw8RIRf9ZhchEQGsEAtvDBAQDG8LEDg8Zjw8ZnhmPDxmAWFWBQVWBhwQwBcgIBfAEBxhDBAQGBAQ7jxmeWY7O2Z5ZjwAAAAEAAAAAAO7A3kAHwAjAD0ARgAAATIWHwEWBgcGIyEiJjU0PwE+ATsBFhcWFxYwNzY3NjcXFSE1EzIeARUUBwYHBgcGDwEnJicmJyYnJjU0PgEXIgYUFjI2NCYC6w4ZB5UNCRMOEfznFyAJkwgZDl8rNxwbAQEbHDcrRP5E3jxmPBcTJBwmGh0XFx0aJhwkExc8ZjwjMDBGMDABhQ0M3hMtDQkgFxEO3gwNMi4XEwEBExcuMt44OALSPGY8NDgvMScnGxgTExgbJycxLzg0PGY8izFFMTFFMQAFAAAAAANCA7EAFAA2AFEAVQBlAAABNjMyHwE1MxUWFzc1IRUXNjc1MxUXFhcWFRQHBgcGIicmJyY1NDc2NycmPQE0NjMhMhYdARQPATEmJyYnJiMiBw4CFRQXFhcWMjc2NzY1NCYPARc3JxcWFA8BBiIvASY0PwE2MgG+GxsWFQ03FBNI/kRHExU3/T8kJS0sTE22TUwsLSUjP0cJIRcBvBchCmYICTQ+ERIWFkJqPiYlP0GWQT8lJjzaT09PKE8QEE8QLhBPEBBPEC4CzgQDAau5BwpsXl5sCge5qzwvRUhRW01MLC0tLExNW1FIRS5rDhFeFyAgF14RDpkGBiIHAgMKTnZETEA/JSYmJT9ATEN1ak5PT3ZPEC4QTxAQTxAuEE8QAAAAAAMAAAAAA0IDsQAUACUANwAAATIXFhcWFAcGBwYiJyYnJjQ3Njc2FzEHBhQfARYyPwE2NC8BJiITMhYdAQcmJzUjFQYHJzU0NjMB9FtNTCwtLSxMTbZNTCwtLSxMTTRPEBBPEC0RTxAQTxAtvRcgKzpBcEE6KyAXAtItLExOtU1MLC0tLExNtU5MLC3XTxAtEU8QD1AQLRFPEAGlIBdvLB4JdHQJHixvFyAAAAAFAAAAAAOxA7EAFAApADIAOwBEAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYDFBYyNjQmIgYHFBYyNjQmIgYFFBYyNjQmIgYB9GhZVjM0NDNWWdBZVjM0NDNWWWh5Z2U7PDw7ZWfyZ2U7PDw7ZWexIS4hIS4h3iEuICAuIQG9IC4hIS4gdjQzVlnQWVYzNDQzVlnQWVYzND48O2Vn8mdlOzw8O2Vn8mdlOzwBvBchIS4hIRcXISEuISEXFyEhLiEhAAQAAAAAA7EDsQAUAB0AJgAvAAABMhcWFxYUBwYHBiInJicmNDc2NzYTIgYUFjI2NCYjIgYUFjI2NCYhIgYUFjI2NCYB9HlnZTs8PDtlZ/JnZTs8PDtlZ3kXISEuISH1FyEhLiAgAaUXICAuISEDsDw7ZWfyZ2U7PDw7ZWfyZ2U7PP58IS4hIS4hIS4hIS4hIS4hIS4hAAAABAAAAAADsQOxABQAKQA1AFcAACUiJyYnJjQ3Njc2MhcWFxYUBwYHBgMiBwYHBhQXFhcWMjc2NzY0JyYnJgMjIiY0NjsBMhYUBhMnJisBIgYHAyYrASIOARQeATsBMj4BNSczERcWMzI3NiYB9GlbWDQ1NTRYW9JbWDQ1NTRYW2l5Z2U7PDw7ZWfyZ2U7PDw7ZWeqRRQdHRRFFB0du3IHCAMKDgEBGBlFHDAcHDAcRR0wHAEBSgcHEAgGBm81NFhb0ltYNDU1NFhb0ltYNDUDQTw7ZWfyZ2U7PDw7ZWfyZ2U7PP1mHCgdHSgcAa1CBQ4J/q8NHDA5MBwcMBwHAXErBA4KFgADAAAAAAOxA7EAFAA2AEIAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhcjIgYHAyYrASIOARQeATsBMj4BNSczERcWMzI3NiYvASYDMhYUBisBIiY0NjMB9HlnZTs8PDtlZ/JnZTs8PDtlZ5YDCg4BARgZRRwwHBwwHEUdMBwBAUoHBxAIBgYKcgdWFB0dFEUUHR0UA7A8O2Vn8mdlOzw8O2Vn8mdlOzymDgn+rw0cMDkwHBwwHAcBcSsEDgoWBkIF/m0dKBwcKB0AAA0AAAAAA+kDCgANABcAOgBOAFYAXgBkAGoAbgByAHYAegCEAAABMhcWFxYUBwYHBiMhEQUhESEyPgE0LgEFFwYHMxUjFTMVIxUUKwEnFjMyPQEjNTM1IzUzJic3FhczNjcXBgcVMxUjFSM1IxUGByc2NzU2FxUjNSMVIzUhFSM1IxUjNQUXBgcnNjcWFwcmJyUjFTM3IxUzJxUjNRcjFTMlFhczFSM1MyYnAtJMQD8lJiYlP0BM/S4C0v1mApo9Zjs7Zv4VHAYIIj04OCESBwgGDDs7QCMHCBwJBiAIshArNGcgHygDJBcdAjztHz4fARcgQB/+KR0NFRoWcQ4HGwgMAU4+PppAQA29nn5+/i4IBT2YOwYHAwomJT9BlkE/JSYCLDj+RDxmeGY8dgoSEB0eHFoeHgIKUhweHRIPChQXFk4cDwQ2Hq+vIlg0GCpKkAGClhAQlpYQEJY0BjQkESMsIRkKHx4bS0tL9nR0HjhlEgwdHQ0MAAAMAAAAAAPpAwoADQA1AEwAVABcAGQAawBvAHMAdwB7AIYAAAEyFxYXFhQHBgcGIyERBQYPASMmJzUHFhcVIxUzFSMVMxUUIyInMRczMj0BMzUjNTM1IzY/AgYHIxUGDwEXNjc1MxUzNTM1IzU2PwEXIxUzNTMVMzcjFTM1MxUzJQYPARc2PwIHFhcVNyYlFSM1MxUjNTcjFTMnFSM1JQcWFxUjFTM1IyYC0kxAPyUmJiU/QEz9LgEjBQcBHgcHHwgGIkA6OgwECQcSIjc3PSEGBgGPMD0BAhwBGSQDJCMeZTMqAat+IjshnIIiPSP9pggVAR0VCwFMHAsHHgYBIzvVPTPAwCN5/qskBwY5mT0HAwomJT9BlkE/JSYCLMAUEwIYEAELDQ8CHhkfSwkCHh1THxkeDRABQRIBikUoARkyUyClpR8yAg0BcZAPD5CQDw9eJiIBESIwAggHHBwCCxYxRERERKZyUzMzLAYJCwIeHhMAAAAFAAAAAANCA+gACwAXACMALwA/AAATERQeATMhMj4BNRElIREUDgEjISIuATU3IzUzFzM1MxUjJyMXFSM1MxUjFTMVIxU3ByMnMxcxNzMXMzczByMn3h4zHgFOHjMe/Z0Cmi1MLf6yLUwtkSIcPAEiHDwBz2FhPTk5qRgiJCUTGB0XARMlJSEYA7D9wBgpGRkpGAJAOP2IKEMnJ0MooKZgYKZiQCKmIiEfIkZopnBwcHCmaAAEAAAAAANCA+gACwAXACMAMwAAAREUDgEjISIuATUREyMVMzUzFzM1IxUjNyMVMzUjNTM1IzUzNyMXMzczFzM3IwcjJyMHMQNBLUwt/rItTC2LHCIBPBwiAZlhYT05OT0zJSQiGAEYISUlEwEXHRgD6P2IKEMnJ0MoAnj+zqZiYqZgYKYiIh8hIqZoaKZwcHAAAAAACQAAAAADeQN5AAMAGAAcACAAMAA8AEgAVABgAAAlMzUjNzIWHQEUBiMhIiY1ETQ2MyEyFhURBSERIRMzNSMHIiY9ATQ2OwEyFh0BFAYjAyImNDYzITIWFAYjByImNDY7ATIWFAYjByImNDY7ATIWFAYjByImNDY7ATIWFAYjAwo3NzcXISEX/WYXISEXAisXIf2dAiv91W9vbxwMEBAMpwsQEAunDBAQDAGFCxERC28MEBAMbwsREQtvDBAQDG8LERELbwwQEAxvCxERC6emOCEXphchIRcCmhchIRf+RN4Cmv5Ep98RC94MEBAM3gsRAU4QFxAQFxBvEBcQEBcQcBEXEBAXEW8RFxAQFxEAAAAFAAAAAAN5A3kAEwAzAD8ASwBXAAAlESMVFAYiJj0BIRUUBiImPQEjEQEzMhYVERQGIyEiJjURNDY7ATU0NjIWHQEhNTQ2MhYVASImNDYzITIWFAYjJSImNDYzITIWFAYjBSImNDY7ATIWFAYjA0FvEBcQ/rIQFxBvAitvFyEhF/1mFyEhF28QFxABThAXEP5gDBAQDAGEDBAQDP58DBAQDAGEDBAQDP58DBAQDKYMEBAMpwJjHAwQEAwcHAwQEAwc/Z0CmiAX/Z0XISEXAmMXIBwMEBAMHBwMEBAM/igQFxAQFxBvEBcRERcQ3hAXEBAXEAAABQAAAAADQgOwAAMAEwAfACsANwAAExEhESUhMhYVERQGIyEiJjURNDYTITIWFAYjISImNDYXITIWFAYjISImNDYXMzIWFAYrASImNDbfAiv91QIrFyEhF/3VFyEhoQEWDBAQDP7qCxAQCwEWDBAQDP7qCxAQC6cMEBAMpwsQEAN4/PcDCTghF/z3FyEhFwMJFyH+6hAXEBAXEKYRFxAQFxGnEBcRERcQAAAAAAUAAAAAA7EDQgAPABMAHAAlAC4AAAEyFhURFAYjISImNRE0NjMFIREhJTI2NCYiBhQWMzI2NCYiBhQWMzI2NCYiBhQWA3kXICAX/PYXICAXAwr89gMK/dQRGRkiGRm4ERgYIxgYuBIYGCMYGANBIBf91BcgIBcCLBcgN/3U8RgjGBgjGBgjGBgjGBgjGBgjGAAAAAAFAAAAAAOxA6MAAwAWACoAMwBTAAATESERJxUzMhYVERQGIyEiJjURITUyFhcVISIOARQeARchFSEiLgE0PgE3FzIWFAYiJjQ2AzEyFh8BMxUjFy8BBSc3IyIGFBYzFSInIzU0NjchNzZvAwo4OBcgIBf89hcgAtIXIG/+6x8zHR0yHgEX/usuTC0sSy0RERgYIxgYUA8ZBylrSzRCav7bZ3SkDBAQDBoWIy8iAQacDQKb/kMBvW84IBf+QxcgIBcB9G8gvjceMzwzHgE3LUxaTC0BfRgjGBgjGAG9DwxHN1oCuagEQxAYEDcPRSIvAVoIAAAAAwAAAAADsQOxABcALABBAAABFxYUBwEGJi8BLgE/AT4BHwEWMjclNhYBMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYC/gcFBf7ECBUHigUBBA0EDQVwBA0EASYFDv76alpYNDU1NFha1FpYNDU1NFhaanlnZTs8PDtlZ/JnZTs8PDtlZwKWBwQNBf7OBwEHhQUMBRAFAgNIAwTnBAH91TU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwAAAAABAAAAAADsQOxAAwAGQAuAEMAAAEyFhURFAYiJjURNDYzMhYVERQGIiY1ETQ2AzI3Njc2NCcmJyYiBwYHBhQXFhcWFyInJicmNDc2NzYyFxYXFhQHBgcGAZoOFBQdFBTDDxQUHRQUTGpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWcCmxUO/vgOFRUOAQgOFRUO/vgOFRUOAQgOFf3UNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAAAAAMAAAAAA7EDsQAUACEALgAAJSInJicmNDc2NzYyFxYXFhQHBgcGAyIGFREUFjI2NRE0JjMiBhURFBYyNjURNCYB9HlnZTs8PDtlZ/JnZTs8PDtlZ9MPFBQdFBSmDhQUHRQUODw7ZWfyZ2U7PDw7ZWfyZ2U7PAJjFQ7++A4VFQ4BCA4VFQ7++A4VFQ4BCA4VAAIAAAAAAu8DXgAMABkAAAEyFhURFAYiJjURNDYhMhYVERQGIiY1ETQ2AU0jMTFFMTEBcCIxMUUxMQNdMSL91CIxMSICLCIxMSL91CIxMSICLCIxAAQAAAAAA7EDQgADAAcAFwAvAAABESERJRUhNSUhIgYVERQWMyEyNjURNCYBMwcGFBYyPwE2NC8BJiIGFB8BIyIGFBYDefz2Awr89gMK/PYXICAXAwoXICD+lYYfCBAXCE8ICE8IFxAIH4YMEBACm/5DAb1vODg3IBf91BcgIBcCLBcg/i0fCBcRCE8IFwhPCBAXCCAQFxAABAAAAAADsQNCAAMAEwAlAC4AABMRIRElITIWFREUBiMhIiY1ETQ2BRUhIgYUFjMhFSEiLgE0PgEzFyImNDYyFhQGbwMK/PYDChcgIBf89hcgIAM9/s4iMTEiATL+ziY/JiY/JkYSGBgjGBgDCv3UAiw3IBf91BcgIBcCLBcgwjgwRjA4JUBMQCW1GSIZGSIZAAAAAAQAAAAAA7EDsQAUACkAYACOAAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYDLgEnJiciMSIGBwYUFh8BHgEyNz4BNTA1JicuAiMyBg8BBg8BJyYnLgEnJi8BNzY/AT4BFTQHJyYnJjQ3Njc2MzIXHgEXFhUUBwYHFx4BHwE2NzYzMhceARcWFRQHBgcGIicmAfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2VnxAobDQUFAQMVCRk+MAsxZjMjCxMEBg0oIQQBBQYFAwMLERAbHjAUEwMEDgQHCwwHLQs1IyclExEUFRkaECALDxsHCQQRKBoFBAUSHRIcFC8PHA8MGjFWQDhvNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAIuESgNBgQTCyMzZjELMD4ZCRUDAQUFDRsSBwwLBwQOBAMTFDAeGxARCwMDBQYFAQTdCzY4QFYxGgwPHA8vFBwSHRIFBAUaKBEECQcbDwsgEBoZFRQREyUnIwAAAAQAAAAAA7EDsQAUAEIAeQB7AAABMhcWFxYUBwYHBiInJicmNDc2NzYHIgcGBwYUFxYfARYXFjI3Njc2NTQnLgEnJiMiBwYHJy4BLwE2NzY1NCcuAScmBzAzFhceAhUxMAYPAQYPARcWFx4BFxYfATc2PwE+ASMyHgEXFhcUMRQGBwYiJi8BLgE0Nz4BFzEB9HlnZTs8PDtlZ/JnZTs8PDtlZw8VFBETJScjNQs2OEBWMRoMDxwPLxQcEh0SBQQFGigRBAkHGw8LIBAaGQEFBQwcEgcMCwcEDgQDExQwHhsQEQsDAwUGBQEEISgNBgQTCyMzZjELMD4ZCRVIA7A8O2Vn8mdlOzw8O2Vn8mdlOzzCDwwaMVZAODYLNSMnJRMRFBUZGhAgCw8bBwkEESgaBQQFEh0SHBQvDxw4BAYNKCEEBAYFAwMLERAbHjAUEwMEDgQHCwwHEhsNBQUBAxUJGT4wCzFmMyMLE2QAAAACAAAAAANvA3sAJwBTAAABMCsBBgcGFxYXFhcxFhcWFxY3Njc2JicmBgcGBwYuAjc2Nz4BJyYBIicmJyYnJicmJyY3PgE3NhcWFxYGBwYHBhceARcWNzY3PgEXFhcWBwYHBgEnAQEjND4kGUgmHyQvXU1rPjQBARQVLDkeFicjU24wBAUmLAUrKQFaSlxDRiUZKClQGCJQIzwdIiEVGj4KQxEBAg4UZSQZEAwJLmw/GQ4TAQNDOANBATQ+bU5eMB8jJEcZIj00IxAjFisFLSUFBTFtVSInFx05LCj9OjEjOB8YKTdrXH9PIyIBARMNGj5tLQoMDxklZRQOAgIORQs/GRchIThEOAABAAAAAAN1A3IAVgAAARYXFh8CFRYHBgcGBwYHBiMiJy4BJy4BJy4BJyY3Nj8BNjc2NzYyHwEWFxYXFhcWHwEWBg8BBg8BBgcxDgIXFhcWFxYzMjY/ATY3Njc2NzYzMh8CAzIGBRgKBAsGAgIGDiAeGSQkCAkdVTBspD8cJAQFFxQlBBIJEBIOGQwLCQsTEhMOEQwCBQYKCwkHCgkSDxMFAxlLM00HBwkSBRQJBgQDCQ8ICg0KFCkBcgUEFQwFDwEOEw8NIR8cDxUBBCMcP6JrMFUdJysmIAQPBwsHBgUGBAoQGRoZHhsIDhwLCQYEBwUIBgoXBjtKMy4EDQkqDwoGAw0GAwULHAAFAAAAAAOxA0IACAARAB4AKAA4AAABIiY0NjIWFAYnIgYUFjI2NCYFJiIHAycmIg8BESERFSE1NxcWNjcTAREhIgYVERQWMyEyNjURNCYBMgwQEBcQEAsjMTFFMTEBOhEzEexHES4QSAMK/PZvSBExEOwBFfz2FyAgFwMKFyAgAmMQFxERFxBvMUUwMEUxMhQU/uVIEBBIAYX+hLBYb0cSAxIBG/69AgggF/3UFyAgFwIsFyAAAAAAAwAAAAADsQNCAAgAFQAlAAABIgYUFjI2NCYFJiIHAycmIg8BESEZASEiBhURFBYzITI2NRE0JgEyIzExRTExAToRMxHsRxEuEEgDCvz2FyAgFwMKFyAgAtIxRTAwRTEyFBT+5UgQEEgBhf6EAbMgF/3UFyAgFwIsFyAAAAMAAAAAA7EDeQAZACYAMwAAATIWHwEzMhYVERQGIyEiJjURNDY7ATc+ATMXIg4BFB4BMj4BNC4BBzIeARQOASIuATQ+AQJqDhkIOacXICAX/PYXICAXpzkIGQ52PGY8PGZ4Zjw8ZjweMx4eMzwzHh4zA3kNDFYhF/3VFyEhFwIrFyFWDA3ePGZ5Zjw8ZnlmPG8eMz0zHh4zPTMeAAMAAAAAA7EDsQAPACQAOQAAAQcGLgE1ETQ2Mh8BHgEHBgMyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgKczgkXDRAWB84JAgcCqmpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWcB3qQHAhEKAUgMEAakCBYJA/6PNTRYWtRaWDQ1NTRYWtRaWDQ1Nzw7ZWfyZ2U7PDw7ZWfyZ2U7PAACAAAAAAOxA7EAFAAkAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYTNjc2Ji8BJiIGFREUHgE3AfR5Z2U7PDw7ZWfyZ2U7PDw7ZWcvAgIHAgnOBxYQDRcJODw7ZWfyZ2U7PDw7ZWfyZ2U7PAGmAgMJFgikBhAM/rgKEQIHAAAAAQAAAAADCwNCAA8AAAkBBi4BNRE0NjIXAR4BBwYC//57CRYOERUHAYUJAwcCAdn+yQgDEQkCbwsQBv7JBxcJAgAAAAABAAAAAAOEA4QAGwAAAREUBiImNREhIiY0NjMhETQ2MhYVESEyFhQGIwIaFiAV/rsQFhYQAUUVIBYBRQ8WFg8Bz/67EBYWEAFFFSAWAUUPFhYP/rsWIBUABwAAAAADeQOHAC8AMwA3ADsAPwBQAGEAAAEWFAYPATMyFh0BFAYrAREUBiMhIiY1ESImPQE0NjsBJy4BPgEyFhcWFxU2Nz4BMgMjETMBIxEzASEVISUhFSEnBgcOARY2Nz4BNz4BJgYHBiUGFhceARceATYmJy4BJy4BAtgQHRsGlxchIBcBIBf91BcgFyEhF7wHGh4BIDU9GygMDCgbPTbw+voBMvr6/s7+zwExAWn+zwEx3xEKCQcGGg8TIAsJBgYZDxP+6gMGCQshEhAZBgYJCyESEBkDdhA2PRsGIBdvFyH+sxchIRcBTSEXbxcgBhs9NiAdGygtAS4oGx3+bv6zAU3+swH0b29v+xATDxoGBwkKIRMPGQYGCQsXAxkPEyEKCQcGGg8TIAsJBgAAAAUAAAAAA3kDegAPAB4AJQAsAFQAAAEGByM2NzY3Njc+ARYGBwYHLgEnLgE2MzIXHgEXFh8BESMiJjURIREUBisBEQMWFzY3PgEWFxYGDwEzMhYdARQGIyE1IxUhIiY9ATQ2OwEuATc+ARYCdxMXJgEJCxQREw8YBgUJC+0XJAsJBQQFDBEXKAsJARf6FyACmiAX+lAoDAwoHDw1EBgRJAKbFyEgF/7OOP7PFyEgF5wlEhgQNTwC8hMMDREVExIKCQUFGQ8TMAwkEw8YBQkLKBURDd7+eyAXAU7+sxchAYUBSygsLCgcHQEQGFIpAh8XORYhpqYgFjkXIClUGBABHQAEAAAAAAOVA5UAEAAhAEEAYQAAASImJyY0Nz4BMhYXFhQHDgEnMjc+ATQmJyYiBw4BFBYXFicXDgEVFBYXFjI3PgE1NCYnNx4BFRQHDgEiJicmNTQ2HwEOARUUFhcWMjc+ATU0Jic3HgEVFAcOASImJyY1NDYB9HK/Njo6Nr/kvzY6Oja/cmJVUWFhUVXEVVFhYVFVyxgpK2FRVcRVUWEwLhc8Qzo2v+S/Njo9OBgpLGFRVcRVUWEvLRc7Qjo2v+S/Njo9AhAyKy5vLSwyMiwtby4rMjcVE0BGQBQUFBRARkATFTYyFC0WI0ATFRUTQCMXMBQzG0kqOC0rMjIrLTgpRcMyFC0WI0AUFBQUQCMXLxQzG0gqOC0sMjIsLTgoRgAEAAAAAAOxA3kAEwAdACYAMAAAJTUhFSMiJjURNDYzITIWFREUBiMBITIWHQEhNTQ2ATI2NCYiBhQWBSEVFAYjISImNQNB/WY4FyAgFwMKFyAgF/1lAiwXIP1mIAJsEhgYIxgY/bwCLCEX/kQXId6npyEXAU0XISEX/rMXIQKbIRdvbxch/nsYIxgYIxinphchIRcACgAAAAADeQN5AAgADgAUACEAKgAzADcARwBLAFsAACUiJjQ2MhYUBjczBzUXJyUXFSImNRMVMzUyFh0BIyc1IycBFxUzFyMiJjUBMhYdASc1IycFFTM1JzMyFh0BFAYrASImPQE0NgEVMzUnMzIWHQEUBisBIiY9ATQ2AsQRGBgjGBhrODgHB/7rNxcgwlMXIVhrIDf+EDirOOMXIQEyFyA3rDcBifr6+hchIRf6FyAg/nf6+voXICAX+hchIYsYIxgYIxjCNyoDByo4xyAXATKLiyAXi2ohNwFSN6w3IBYBMyEX4zirODj6+jghF/oXICAX+hch/ij6+jcgF/oXISEX+hcgAAAACQAAAAADeQN5ABEAGgAjACcANwA7AEsAWwBfAAABFTM1MhYdASM1IxEiJjURNDMXMhYUBiImNDYzMhYUBiImNDYBFTM1ETIWHQEUBisBIiY9ATQ2MxcjFTMRMhYdARQGKwEiJj0BNDYzITIWHQEUBisBIiY9ATQ2MxcjFTMC7lMXIcNTFyABlxIYGCMYGJwRGRkiGBj9afoXICAX+hchIRf6+voXICAX+hchIRcCmhchIRf6FyAgF/r6+gHYi4sgF4uL/s4hFwEwAfoYIxgYIxgYIxgYIxgCY/r6/pcgF/oXISEX+hcgN/oC0iEX+hcgIBf6FyEhF/oXICAX+hchOPoAAAAEAAAAAAOxA7EAFAApAFUAXwAAJSInJicmNDc2NzYyFxYXFhQHBgcGAyIHBgcGFBcWFxYyNzY3NjQnJicmByIGHQEUFjI2NSc0NzYzMhYVFA8BBgcGBwYdARQWMjY/ATY3Njc2NzY1NCYDIgcGFBYyNjQmAfRpW1g0NTU0WFvSW1g0NTU0WFtpeWdlOzw8O2Vn8mdlOzw8O2Vnc0NNExsTARESKiEkEQo3DwYDAhMbEQICBAQIESsJFkhGFAsOGiUbGW81NFhb0ltYNDU1NFhb0ltYNDUDQTw7ZWfyZ2U7PDw7ZWfyZ2U7PN5NQwENExMNASkWGiUgFxUMMBwLDAkJBw0TEQ8LDQcQDyULHi03QP6bDAwmGRkmGAAAAAMAAAAAA7EDsQAUAB4ASgAAATIXFhcWFAcGBwYiJyYnJjQ3Njc2EyIHBhQWMjY0JgMiBh0BFBYyNjUnNDc2MzIWFRQPAQYHBgcGHQEUFjI2PwE2NzY3Njc2NTQmAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWd1FAsOGiUbGQpDTRMbEwEREiohJBEKNw8GAwITGxECAgQECBErCRZIA7A8O2Vn8mdlOzw8O2Vn8mdlOzz9vQwMJhkZJhgBZU1DAQ0TEw0BKRYaJSAXFQwwHAsMCQkHDRMRDwsNBxAPJQseLTdAAAAABQAAAAADQgOxABoAJgAyAEcATAAAASEiBhURFBYzITI2NRE0JiIGFREhESEyNjQmAyMiBhQWOwEyNjQmByMiBhQWOwEyNjQmEyIPAQYPAQYWMzI/ATY/ATY0LwEmBxcPATcCEP7KFR4eFQH8Fh4RFhH+DAEyCxERQ6YMEBAMpgwQEAymDBAQDKYMEBDzCwnSBgIcBBENBANrCAbSCAhOCQsnujUOA3keFv0mFR4eFQIUCxERC/3wAtIRFxD91BAXEBAXEG8QFxAQFxAC0gjSBgdsDRUBHAIG0gkXCE4IQye6DjUABAAAAAADsQN5ABQAKQBgAHwAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhciBwYHBhQXFhcWMjc2NzY0JyYnJhceAQ8BMzIWFAYrARUzMhYUBisBFRQGIiY9ASMiJjQ2OwE1IyImNDY7AScmNjczNhYfATM3PgElHgEHBhUUFxYGBwYnJi8BJj4BFh8BJjU0Nz4BAixpW1gzNTUzWFvTW1gzNTUzWFtqW05LLC4uLEtOtU5LLC4uLEtOHwoGBi49CxAQC3BwCxAQC3AQFxBvDBAQDG9vDBAQDCcuBgYJAQoWBj4yPgYW/hQLBwUxGwQKCw0MBANWBwMTFwcKAzcFFgN5NTRYWtRaWDQ1NTRYWtRaWDQ1OC0sTE22TUwsLS0sTE22TUwsLX0FFwpQEBcQOBAXEW8LEBALbxEXEDgQFxBQChYGBgYJbWwKBiEFFgpjb1FMCxUEBQgDBHEKFg4DCQ4ZGXxvCgcAAAAAAQAAAAADegOoADgAAAEXFhQPAQYmPQEmBgcGBwYXFhceATc2NzY3Nj8BNDc+AR4BBwYHBgcGBwYmJyYnJjc2Nz4BFzU0NgI/pwwMpw4dR4cyNRkeEA82OKVWVEFEHgkFAQIEGRkLBAUMJFFPZGfHQ0ESEyQePjyeVR0Dnm8IHghvChARZAcxMTNGU1ZTQkM8DxA2OFIaGwMEAw0LCRgNHyBjQ0ESE0hRTmVnY1M9OzsHOREPAAAAAAUAAAAAA3kDeQAQACEAMgBDAE8AABM1NDY7ATIWFAYrARUUBiImExUzMhYUBisBIiY9ATQ2MhYBNSMiJjQ2OwEyFh0BFAYiJhMVFAYrASImNDY7ATU0NjIWJSEyFhQGIyEiJjQ2byEXiwsQEAuLERcQOIsLEBALixchEBcRApqLCxAQC4sXIRAXETghF4sLEBALixEXEP0SAtIMEBAM/S4MEBACtosXIRAXEYsLEBD+h4sRFxAhF4sLEBABeYsRFxAhF4sLEBD+h4sXIRAXEYsLEBDTEBgQEBgQAAACAAAAAAOBA4UADAApAAABMj4BNC4BIg4BFB4BJRcWFAYiLwEOASMiJyYnJjQ3Njc2MhcWFxYVFAYBk0RzQ0NziHNDQ3MBMPoIEBgI+SllN1NHRigqKihGR6ZHRSkpJAFZQ3OIc0NDc4hzQzj5CBgQCPojJSkpRUemR0YoKiooRkdTNmMAAAAABAAAAAADeQOJABEAGgAfACQAABM3PgEzITIWHwERFAYjISImNQEjEScHESMRIQMjFTcXASEnIQdwKAcbDwJVEBsHKCAX/WYXIALRp6anpgKa3t5vb/4NAsoc/asbAxlRDhAQDlH9nhcgIBcCK/6zQEABTf3VAiv8KysBMzg4AAADAAAAAAN5A3kACQAWACAAAAERFAYjISImNREFIREUFj8BNh8BFjY1EzIWHwEhNz4BMwN5IBf9ZRchAiz+sgkGhhIRhwUKhBAbByj89igHGxAC0v3VFyEgFwIsN/7CBgYBLQYGLQIHBQIdEQ5QUA4RAAAAAAQAAAAAA3kDsQAyADYAOgBOAAABMhcWFxYXERQGKwEiJj0BNDY7ATQnJicmJyMGBwYHBgcVMzIWFxUUBgcjIjURNDc2NzYBIxUzJSMVMwE0NjIWFREOASsBIiY0NjsBMjY1AfRpWlc0NQIhFzcXISEXNywsSkxZDFhMSSwtATcXIAEgF28BNTRYWgG3Nzf9nTc3AmMRFxABTkvPCxERC88yMAOwNDJXWWj+5BchIRfeFyFZTUstLQICLStKTFgFIBffFyABAQFNaVtYMzX+RN7e3gEOCxERC/7DVVsRFxA5QAAAAAQAAAAAA3kDsQAMABkALgBHAAATMhYdARQGKwEiJjURIREUBisBIiY9ATQ2MxcyFh0BDgErASImNDY7ATI2PQE0NgEyFxYXFhUjNCcmJyYiBwYHBhUjNDc2NzbeFyEhFzcXIQMKIRc3FyEhF1MMEAFOS88LERELzzIwEf6ialpYNDU4LSxMTbZNTCwtODU0WFoCLCEX3hchIRcBFv7qFyEhF94XIcMQDGZVWxEXEDlAZQwQAkc1M1hbaVpOSywuLixLTlppW1gzNQAAAAQAAAAAA78DtAArAFsAaAB1AAATFg4CBwYUFx4DBxYXPgEyFhc2NyY+Ajc2NCcuAzcmJw4BIiYnBiUeARcOAR4BNxYUByYOARYXDgEHLgEiBgcuASc+AS4BByY0NxY+ASYnPgE3HgEyNgciDgEUHgEyPgE0LgEHMh4BFA4BIi4BND4B4wkHIzYhCgohNiMHCUNWFz9EPxdWQwkHIzYhCgohNiMHCUNWFz9EPxdWATBGezAQAh83HhUVHjcfAhAwe0YONT41DkZ7MBACHzceFRUeNx8CEDB7Rg41PjVULU0tLU1aTS0tTS0eMx4eMzwzHh4zAxwgRDspCCtaKwgpO0QgPhsZGxsZGz4gRDspCCtaKwgpO0QgPhsZGxsZG1oPSDQaPTcdAUSORAEdNz0aNEgPGyAgGw9INBo9Nx0BRI5EAR03PRo0SA8bICD+LU1aTS0tTVpNLTgeMzwzHh4zPDMeAAAAAgAAAAADvwO0ADIAPwAAATEeATI2NzEeARcOAR4BNxYUByYOARYXDgEHLgEiBgcxLgEnPgEuAQcmNDcWPgEmJz4BEyIOARQeATI+ATQuAQGSDjU+NQ5GezAQAh83HhUVHjcfAhAwe0YONT41DkZ7MBACHzceFRUeNx8CEDB7qB4zHh4zPDMeHjMDtBsgIBsPSDQaPTcdAUSORAEdNz0aNEgPGyAgGw9INBo9Nx0BRI5EAR03PRo0SP6+HjM8Mx4eMzwzHgAAAAACAAAAAAN5A3oAFwBBAAABIyImNDY7ATIWHQEUBiImPQEBBiImNDcFNDYyFhUUBwYHBiInJicmNDc2NzYzMhYUBiMiBwYHBhQXFhcWMjc2NzYDDXcNExMNww0TExsT/tkKGxMKAV4RFxA1NFha1FpYNDU1NFhaagsREQtbTUwsLS0sTE21TkwsLQM5ExoTEw3ADhISDnD+3AkSGwkfDBAQDGlbWDQ1NTRYW9NbWDM1EBcQLixLTrVOSy0tLS1LTgAFAAAAAAN5A5YAKwA3AE8AfgCiAAATLgE0PwE+ATMhMhYfARYVFA4BIyImJw4BIiYnDgEjIicRITIWFAYjISImNRMhMhYUBiMhIiY0NgEnIQcGFRQWMjY1MxQWMjY1MxQWMjY1NBMzFAcGBzcHNA8BBgcGDwEGNwYiJxYvASYnJicmJzUmNSc0PgEzMhc2MzIeAR0BBzY1MyMwPQE0JiIPAScmIgYdATUUHwEWFxYXFh8BNzY3Nj8BpRkdDiIFHRMCMBMdBSIOKEQoIz0UFT1GPRUUPSMUEwErDA8PDP7HERg3AiALEBAL/eALEBACVyT90CQLN003LzZONi83TTcqGwcCBwMBAQoSIhUZEQsFCxwLBgwRGRUiEwkGCAEeMx4hGxwgHjMeOgQbGyEvERQTES8hBAEDBg8eExgODhgTHQ8GAcQVPEMeiRIXFxKJHiEoRCgfGhofHxoaHwX+8xAXEBgRAwgQFhAQFhD+zo+PFBgnNjYnJzY2Jyc2NicY/sEQEQgKAwEBAhAbHxMUDQgECAgECA0TFCAcDQ0BFBEGHjMeEhIeMx4GDgkFAwMXIhIUFBIiFwcBBwkBCAkXGxISCwsSEhsWCQADAAAAAAN5A5YAKwA3AGYAABMuATQ/AT4BMyEyFh8BFhUUDgEjIiYnDgEiJicOASMiJxEhMhYUBiMhIiY1EyEyFhQGIyEiJjQ2ATMUBwYHNwc0DwEGBwYPAQY3BiInFi8BJicmJyYnNSY1JzQ+ATMyFzYzMh4BHQGlGR0OIgUdEwIwEx0FIg4oRCgjPRQVPUY9FRQ9IxQTASsMDw8M/scRGDcCIAsQEAv94AsQEAKMGwcCBwMBAQoSIhUZEQsFCxwLBgwRGRUiEwkGCAEeMx4hGxwgHjMeAcQVPEMeiRIXFxKJHiEoRCgfGhofHxoaHwX+8xAXEBgRAwgQFhAQFhD9exARCAoDAQECEBsfExQNCAQICAQIDRMUIBwNDQEUEQYeMx4SEh4zHgYAAAAEAAAAAAN5A5YAGQArADcATwAAEy4BND8BPgEzITIWHwEWFAYHERQGIyEiJjUTESERBiMiJicOASImJw4BIyIDITIWFAYjISImNDYBJyEHBhUUFjI2NTMUFjI2NTMUFjI2NTSnGh4OIwUeEwI8Ex4FIg8eGhgR/bgRGDcCLBQUJD4VFT5IPhUVPyMUFAIsCxAQC/3UCxERAmMk/cQkCzdPODA3TzgwOE44AbsVPUUejBIYGBKMHkU9Ff7CERgYEQEh/u0BEwUfGxsfHxsbHwH8EBcRERcQ/siRkRUYKDc3KCg3NygoNzcoGAAAAAMAAAAAA3kDlgAZACsANwAAEy4BND8BPgEzITIWHwEWFAYHERQGIyEiJjUTESERBiMiJicOASImJw4BIyIDITIWFAYjISImNDanGh4OIwUeEwI8Ex4FIg8eGhgR/bgRGDcCLBQUJD4VFT5IPhUVPyMUFAIsCxAQC/3UCxERAbsVPUUejBIYGBKMHkU9Ff7CERgYEQEh/u0BEwUfGxsfHxsbHwH8EBcRERcQAAAEAAAAAAOeA3oAJwArADQAPQAAEzIWHwEhMhYVFAcDDgEHBRceATMhMhYUBiMhIiYnAy4BKwEiJjQ2MxMlEyETFBYyNjQmIgYFFBYyNjQmIgaFIDADBAKKFyECUwUaEf3xAwEQCwIXCxAQC/3pIDADNQIPC00MEBAMzAIQUv17NSAuISEuIAGFIC4hIS4gA3krICQhFwgH/uYQFgIxIgoOERcQKyACAAoPEBcQ/g4yARn9nRcgIC4hIRcXICAuISEAAAAAAwAAAAADsQN6ACMALAA1AAATMhYfASEXFQMUMQUXHgEzITIWFAYjISImJwMuASsBIiY0NjMTFBYyNjQmIgYFFBYyNjQmIgaFIDADBALTAXL9zAMBEAsCFwsQEAv96SAwAzUCDwtNDBAQDN4gLiEhLiABhSAuISEuIAN5KyAkAQH+fgE1IgoPEBcQKyACAAoPEBcQ/PYXICAuISEXFyAgLiEhAAAEAAAAAAN5A3kAAwATACsAQwAAExEhESUhMhYVERQGIyEiJjURNDYBMzIWFAYrASImPQE0NjIWHQE3NjIWFAcBIyImNDY7ATIWHQEUBiImPQEHBiImNDenApr9ZgKaFyEhF/1mFyEhAfpkDBAQDKcLEBAXEHcIGBAI/lxkDBAQDKcLEBAXEHcIGBAIA0H9ZgKaOCEX/WYXISEXApoXIf7qEBcQEAunDBAQDGR4CBAYCP6rEBcQEAunDBAQDGR4CBAYCAAABAAAAAADeQN5AAMADQAbADwAABMRIRElIREUBiMhIiY1ATIWHwEjJyEHIzc+ATMBNh8BFg8BFgYPAQYnIi8BJjUnND8BPgEfARY2PwE2MhenApr9LgMKIRf9ZhchArAQGwcoPhz9qhw+KAcbEAH/AgIGAQIBAwEE9QcJBQRvAwEDCgMKBFcDCgTkBAgEAtL91QIrOP2dFyEhFwLSEQ5QNzdQDhH+6gEBBgIBAgMJBPUHAQRtAwUBBQQNBAECOgMBA7kDAgAAAAAFAAAAAAN5A3kABgAZADQAPQBGAAABIREhETMVFwc1IyImNRE0NjMhMhYVERQGIwMxFA4BIi4BNTE0NjIWFRQeATI+AT0BNDYyFiUyFhQGIiY0NiEyFhQGIiY0NgFWAev9Zm9TizcXISEXApoXISEXrCxMWEstERcQHTI6MR4QFxH+1AwQEBcREQEhCxERFxAQARYCK/3VMwVvbyEXAisXISEX/dUXIQFOLkwtLUwtDBAQCx8zHh4yHgEMEBCbEBcQEBcQEBcQEBcQAAAEAAAAAAN5A3kAEgAtADYAPwAAJQc1IyImNRE0NjMhMhYVERQGIwM0JiIGHQEUDgEiLgE1NCYiBhUxFB4BMj4BNSUiBhQWMjY0JiEiBhQWMjY0JgFpizcXISEXApoXISEXrBEXEB4xOjIdEBcRLUtYTCz+1AsRERcQEAEKDBAQFxER3m9vIRcCKxchIRf91RchAU4LEBAMAR4yHh4zHwsQEAwtTC0tTC6mEBcQEBcQEBcQEBcQAAAABQAAAAADlQOVABQAKQAyADsATwAAJTI3Njc2NCcmJyYiBwYHBhQXFhcWFyInJicmNDc2NzYyFxYXFhQHBgcGARQWMjY0JiIGBRQWMjY0JiIGFz4BHgEHDgEiJicmPgEWFx4BMjYB9GFTUS8xMS9RU8JTUS8xMS9RU2FxYV83OTk3X2HiYV83OTk3X2H+xhwoHBwoHAE1HCccHCccTQQWFwsEG4OigxoFCxcXBBRkfGSPMS9RU8JTUS8xMS9RU8JTUS8xPDk3X2HiYV83OTk3X2HiYV83OQIMFBsbKBwcFBQbGygcHLEMCwkWC0xdXUwLFgkLDDlISAAEAAAAAAOxA7EAFAApADIAOwAAATIXFhcWFAcGBwYiJyYnJjQ3Njc2ASYGBw4BIiYnLgEOARceATI2NzYmJSIGFBYyNjQmISIGFBYyNjQmAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWcBWAwWBBVkfGQUBBcXCwUag6KDGwQL/n0UHBwoHBwBIRQcHCccHAOwPDtlZ/JnZTs8PDtlZ/JnZTs8/iUECww5SEg5DAsJFgtMXV1MCxa/HCgbGygcHCgbGygcAAACAAAAAAO5A5gACQAsAAABNy8BDwEXBzcXJwcGJicmNxMnJjY3NjclNz4BFxYfAQUeAQcGDwETFgYHBicCwKf1fn71pxnl5eX6CxUFAwEbtgcBCAYHAQuKBhYKBgSKAQsLDQMBBbYbAQ4MBwcBers12Ng1u/llZShuBAgKBwcBEMwJFwgEAjrsCgYGAwfsOgIUCwcGzP7wCxIBAQMAAAAAAQAAAAADuQOlACIAACUHBiYnJjcTJyY2NzY3JTc+ARcWHwEFHgEHBg8BExYGBwYnAfT6CxUFAwEbtgcBCAYHAQuKBhYKBgSKAQsLDQMBBbYbAQ4MBwe2bgUJCgcHARDMCRcIBAI67AoGBgMH7DoCFAsHBsz+8AsSAQEDAAMAAAAAA7EDsQAPACQAOQAAATMyFh0BFAYrASImPQE0NhMyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgGF3wsQEAvfCxAQempaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWcCfxAM3gsREQveDBD98DU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwAAgAAAAADsQOxABQAJAAAJSInJicmNDc2NzYyFxYXFhQHBgcGAyIGHQEUFjsBMjY9ATQmIwH0eWdlOzw8O2Vn8mdlOzw8O2Vn6AsQEAvfCxAQCzg8O2Vn8mdlOzw8O2Vn8mdlOzwCRxAM3gsREQveDBAAAAABAAAAAAK9Ar0ADwAAASEyFhURFAYjISImNRE0NgFUAUARFxcR/sARFxcCvBcR/sARFxcRAUARFwAAAAABAAAAAAN6AyYAFwAAEy4BPwE+AR8BFjY3ATYWHwEWBgcBBiIndwcCBxQGFAitBxQHAckIFQcLBwEH/hUMIQsB3AcVCBkHBAZzBQEFAXQGAQcLBxUI/hYLDAAAAAUAAAAAA7EDsQAxADUAZgB7AJAAAAEHNzYWDwIUHwEWBg8BDgEXFgcGDwEUHQEWBgcFBiY9ATQ2PwE+ATc2Nz4CPwE2FgcVNzU3BgcGBwYHBgcGBxU3PgE1JyY3Nj8BNjU2JyY2PwE+AS8BJj8BNjc2JiMHBiY/ATYmAzI3Njc2NCcmJyYiBwYHBhQXFhcWFyInJicmNDc2NzYyFxYXFhQHBgcGAkMGRhwhBwIBAQEEAgUBAgEBAwEBBgMCGhT+2xIaEg5FDBkKCAYCBBQOBR8q7yGKBAEBAwYJDRESGNYEBwECAgECAwMBAQMCBAECAgICAgECAQECBQZLEhoCBgENGWpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWcCoE0IAyYcBwkCAwQOGwwDBAkFCwkODQYDAwMVIgMwAxcSow4WAw0DKyMdIxEbFwQBAynpnQWf3gIDDRImHy4aHQigIwEGAwQJCgUFBwUHBAQMFAsCBg4HBAsJDAkCBwQJAhgSUwwO/bE1NFha1FpYNDU1NFha1FpYNDU3PDtlZ/JnZTs8PDtlZ/JnZTs8AAAABAAAAAADsQOxABQARgBKAHsAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhM2Jg8BDgIHBgcOAQ8BDgEdARQWNyU+ASc1NDU3Njc2JyY2PwE+AS8BJjU/ATYmDwIVBzU3NhYPAQYWPwEyFgcGDwEGHwEWBg8BDgEXFgcUDwEGBwYfAQ4BDwE1Njc2NzY3Njc2AfR5Z2U7PDw7ZWfyZ2U7PDw7ZWfIAiofBQ4UBAIGCAoZDEUOEhoSASUUGgIDBgEBAwEBAgEFAgQBAQECByEcRsYhqwwNAQYCGhJLBgUCAQECAQICAgICAQQCAwEBAwMCAQICAQEGBNYYEhENCQYDAQEDsDw7ZWfyZ2U7PDw7ZWfyZ2U7PP7wISkDAQQXGxEjHSMrAw0DFg6jEhcDMAMiFQMDAwYNDgkLBQkEAwwbDgQDAgkHHCYDCHSfBZ3lAQ4MUxIYAgkEBwIJDAkLBAcOBgILFAwEBAcFBwUFCgkEAwYBI6AIHRouHyYSDQMAAAAHAAAAAAOxA3kAGgAnADQARABQAFwAaAAAEyEyFh0BFAYiJj0BIREzMhYUBisBIiY1ETQ2ATI+ATQuASIOARQeARciLgE0PgEyHgEUDgEDNDYyFh0BFxYUBiIvASY1ASEyFhQGIyEiJjQ2FzMyFhQGKwEiJjQ2FzMyFhQGKwEiJjQ23gIsFyAQFxD91MMLEBALwxcgIAILLU0tLU1aTSwsTS08Zjw8ZnlmOztmWREXEDYIEBcINhH+fAFNCxERC/6zDBAQDN4LEREL3gwQEAxvCxAQC28MEBADeSEX+gsQEAv6/WYRFxAhFwKaFyH89i1NWk0sLE1aTS03O2Z5Zjw8ZnlmOwEwCxAQC0g1CRcQCDYQFwGyEBcQEBcQbxAXEBAXEG8QFxERFxAAAAAGAAAAAAN5A3kADAAiADMAPwBLAFcAAAEyHgEUDgEiLgE0PgETMhYVESYjIg4BFRQWFyEiJjURNDYzASIGBxUUHwEWMjY0LwE1NCYlIyIGFBY7ATI2NCY3IyIGFBY7ATI2NCY3ISIGFBYzITI2NCYC0i1NLS1NWk0sLE1lFyA1OjxmPCkk/p0XICAXAfQLEAEQNwgXEAg2EP7DbwwQEAxvCxAQZN4MEBAM3gsREWT+swwQEAwBTQsREQG8LE1bTC0tTFtNLAG9IRf+lB88ZjwxVx8hFwKaFyH+ChALSBYQNwgQFwg2SAsQcRAXEREXEG8QFxAQFxBvEBcQEBcQAAAABAAAAAADeQN5AAMADQAcACwAABMRIRElIREUBiMhIiY1ATIWHwIeAQ4BLwE3NDYBITIWHwEjJyEHIzc+ATMhpwKa/S4DCiEX/WYXIQFyBQgBE3YFAwUJBbEYCP7tAlYQGgcpPhz9qhw+KAcbDwJXAtL91QIrOP2dFyEhFwG8BwW+SwMKCQQBOekFBwEWEA5RNzdQDhEAAAADAAAAAAN5A3kAHwAjADUAABMhMhYVERQGIyEVMzIWFAYjISImNDY7ATUhIiY1ETQ2EyERIQEHBiYnJj0BNDYzMh8BHgEHBqcCmhchIRf+z6YMEBAM/nwMEBAMpv7PFyEhFwKa/WYBwrwKFgUDEAwGBrwKCAYEA3khF/4MFyBvERcQEBcRbyAXAfQXIf3UAfT+/14FBwoGB7sMEANeBRYKCAAAAAMAAAAAA7EDsQAVACkAPgAAASEiJjc+Ajc1NDYyFh0BHgIXFgYHFAYiJj0BNDYyFh0BFBYyNj0BMwMiBwYHBhQXFhcWMjc2NzY0JyYnJgLs/hANEAEHRWxAEBgQQGxFBwEQ6TFFMRAXERAXEDgceWdlOzw8O2Vn8mdlOzw8O2VnAfQTDUBqQwYfCxAQCx8GQ2pADRPeIzExIxwLEBALHAwQEAymAfQ8O2Vn8mdlOzw8O2Vn8mdlOzwAAAAAAwAAAAADsQOxABQAKQA4AAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYDMhYXExceAQ4BLwETNDYB9GpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWd8BwsBG6oGBQcOB/wiDG81NFha1FpYNDU1NFha1FpYNDU3PDtlZ/JnZTs8PDtlZ/JnZTs8AtIKCP7xawQODgYDUQFMCAoAAAIAAAAAA7EDsQAUACUAAAEyFxYXFhQHBgcGIicmJyY0NzY3NhciBgcDFxY2NzE2Ji8BAy4BAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWd2BwsBIvwHDgMEBQaqGwELA7A8O2Vn8mdlOzw8O2Vn8mdlOzymCgf+s1EDBgcHDgRrAQ8ICgAAAwAAAAADsQOxABQAKQA/AAAlMjc2NzY0JyYnJiIHBgcGFBcWFxYXIicmJyY0NzY3NjIXFhcWFAcGBwYDHwEWFAYiLwERFAYiJjURBwYiJjQ3AfRqWlg0NTU0WFrUWlg0NTU0WFpqeWdlOzw8O2Vn8mdlOzw8O2VndyeJCBAXCHAQFxBsCBcQCG81NFha1FpYNDU1NFha1FpYNDU3PDtlZ/JnZTs8PDtlZ/JnZTs8ApsoiQgXEQlv/sgMEBAMATRrCREXCAAAAAAFAAAAAAOxA7EADAAZAEEAWgCNAAABIi4BND4BMh4BFA4BNzQuASIOARQeATI+ARMGDwQGDwEGDwEGDwEGIi8BJi8BJi8BJi8EJi8BPgEyFhcBNDc2NzYyFxYXFhUUBgcmJyYiBwYHJicmBTY3NjU0JyYnJiIHBgcGFRQXHgEfARYfARYfARYfARYfARYyPwE2PwE2PwE2PwE2PwE2AfQeMx4eMzwzHh4ziS1NWk0tLU1aTS1xBw0JICEQDAYPDgcPDwgmFCgUJwcPDwcODwYMESEfCQ0HAi6VrpUu/WE1NFhb0ltYNDUlIjVTVcJVUzUiEhMC4i4YGTw7ZWfyZ2U7PBkYXD0FERMKEg4PDhEPDhQPGi4aDxQNEBEODw8QCxMRBD4CLB00PDMeHjM8NB1vLUwtLUxbTC0tTP56CAwIGBQJBQMFBgIEBAIGAgIGAgQEAgYFAwUJFBgIDAgCSVNTSQELaVtYNDU1NFhbaT1xMU4sLS0sTjE3OtU6REhMeWdlOzw8O2VneUxIRHUoAwsJBQgGBQUEBAMDAwICAwMDBAQFBQYIBQkLAygAAAQAAAAAA3kDsQAYACEALgA7AAABFzczMh8BHgEdARQGIyEiJj0BNDY/ATYzFyMHFSE1JyMHETIeARQOASIuATQ+ARciDgEUHgEyPgE0LgEBhW9vKw0Lsw8RIRf9ZhchEQ+zCw0UFLMCmrMUhjxmPDxmeGY8PGY8LU0tLU1aTS0tTQG8b28FVgYcEMAXICAXwBAcBlYFN1bAwFaGArE7ZnlmPDxmeWY7Ny1NWk0sLE1aTS0AAAgAAAAAA3kDeQADABMAFwApACwAMAA0ADgAABMRIRElITIWFREUBiMhIiY1ETQ2FyEVIQEHBiYnJj0BNDYzMh8BHgEHBi8BFQMzFyM3MxcjNzMXI6cCmv1mApoXISEX/WYXISEXApr9ZgHCvAoWBQMQDAYGvAoIBgRFcKY3ODduODg4bzg4OANB/WYCmjghF/1mFyEhFwKaFyGnN/7tXgUHCgYHvAsQA10GFQsIFTdvAdhvb29vbwAGAAAAAAN5A3kACQATABcAGwAfADEAAAEhNTQ2MyEyFh0BERQGIyEiJjURNxczJzMXMyczFzMnAzY3NiYvASYjIgYdARQXHgE3A3n89iEXApoXISEX/WYXIac4NzhvODg4bzg4ODIIBAYICrwGBgwQAwUWCgLSbxchIRem/gwXISEXAfSmb29vb29v/kcECAsVBl0DEAu8BwYKBwUAAAAABwAAAAADsQNCAA8AEwAXAB8AIwArADMAAAEyFhURFAYjISImNRE0NjMFIREhESEVIQUzFzM3MwcjNzMVIzczMhQrARUjNxUzMjY0JiMDeRcgIBf89hcgIBcDCvz2Awr89gMK/XcqQgFBKlQvnCcnVmNWVzsnJzkZGRkaA0EgF/3UFyAgFwIsFyCm/kMCLDiXwsLu7u7uklzNUBMqEwAAAAYAAAAAA7EDQgAJABMAGwAfACcALwAAASE1NDYzITIWHQERFAYjISImNREfATM3IwcjJzMVMzUzFTM1MzI0IwczMhYOASsBA7D8iCAXAwoXICAX/PYXILhVL1QqQgFBxycvJztXVzs5GRkBGBo4AtI4FyAgF2/+QxcgIBcBvWDu7sLC7u7uXJIhEyoTAAAAAAgAAAAAA7EDlQAFABcAJwAzADwARQBOAFcAAAEXEQcjERcjIiY1ETQ2OwE3MhYVERQGIwEWFxYUBwYHJzY3NjQnJicHHgEUBgcnPgE0JicTIiY0NjIWFAYDIiY0NjIWFAYTIiY0NjIWFAYDIiY0NjIWFAYBJNvbtbXDERgYEcPeFyAgFwEsPiIiIiI+JzYdHx8dNk8nKysnJx8iIh8TCxAQFxAQCgwQEBcQEGkLEREXEBAMCxAQFxAQATKaAria/nw4Fg8Bqg8WpxcQ/QwQFwLbPVBTtFNQPSc2RkieSEY2TyZlcmUmJx9RWlEf/pYQFxERFxABYREXEBAXEf4pERcQEBcRAk4QFxERFxAAAAAAAwAAAAADsQNoABYAKwA/AAABMREUBi8BJisBIiY1ETQ2OwEyPwE2Fhc2MhceARQGBwYiJjQ3PgE0JicmNAceARQGBwYiJjQ3PgE0JicmNDYyAiwcDt8ND5gXIB8XmA8N4A0c1AgXCENHR0MIFxAIOz8/OwhHLC4uLAgXEAgjJiYjCBAXA0j9WBAQCIYIIBYBTxYhCIYIEBYICEOsvqxDCBAXCDuZppk7CBduK3B6cCsIEBcIJFtkWyQIFxAAAAAAAgAAAAADgQOMABEAMwAAEyY2NwE2MhcBHgEOAScJAQYmARQGKwEiJjURMxEzNTQ2OwEyFh0BMxEzERQGKwEiJj0BI28HAQkBXg8qDwFeCQEPFwj+ov6iCBcBRSEXphcgN6YhF28YIKc3IBenFyFvAiwIFwgBKw4O/tUIFxECCAEr/tUIAv6EFyEhFwHY/iimFyEhF6YByP44FyEhF6YAAAEAAAAAA4EDgwAkAAAJAR4BDgEvAREUBisBIiY9ASMVMRQGKwEiJjURBwYuATY3ATYyAhgBXggCDxcIESAYphchbyEXphchEAkXDwIJAV4PKQN1/tQIFxECCA7+cBchIRemphchIRcBkA4IAhEXCAEsDQAAAwAAAAADeQMKAAsAFwAjAAATITIWFAYjISImNDYXITIWFAYjISImNDYXITIWFAYjISImNDagAqgUHR0U/VgUHR0UAqgUHR0U/VgUHR0UAqgUHR0U/VgUHR0DCh0oHBwoHfMdKBwcKB3zHSgdHSgdAAQAAAAAA3kDRgACABQAJAAtAAAJASEJARYGBwYjISImNTQ3AT4BFxYHNDY7ATIWFQMUBisBIiY1FyImNDYyFhQGAfH+tgKV/uYBSwsNFA0O/WsXIQcBSwssFA5CBAQpAwQGBAMdAwUWCxERFxAQAwr9oAJ6/aAULAsHIRcODAJgFQ0LCNsDBAQD/vkDBAQDWxEXEBAXEQAABAAAAAADsQOxABQAKQA5AEIAACUyNzY3NjQnJicmIgcGBwYUFxYXFhciJyYnJjQ3Njc2MhcWFxYUBwYHBgM0NjsBMhYVAxQGKwEiJjUXIiY0NjIWFAYB9GpaWDQ1NTRYWtRaWDQ1NTRYWmp5Z2U7PDw7ZWfyZ2U7PDw7ZWedBQU6BAYJBgQpBAYfEBcXIBcXbzU0WFrUWlg0NTU0WFrUWlg0NTc8O2Vn8mdlOzw8O2Vn8mdlOzwCrgUGBgX+kAQGBgR/FyAXFyAXAAAAAwAAAAADsQOxABQAHQAtAAABMhcWFxYUBwYHBiInJicmNDc2NzYTIgYUFjI2NCYTIyIGFRMUFjsBMjY1EzQmAfR5Z2U7PDw7ZWfyZ2U7PDw7ZWd8EBcXIBcXDToFBQgGBCkEBgkGA7A8O2Vn8mdlOzw8O2Vn8mdlOzz9lRcgFxcgFwGsBgX+kAQGBgQBcAUGAAAAAAMAAAAAA+gCmwAMABkAJgAAASIuATQ+ATIeARQOASUiLgE0PgEyHgEUDgEhIi4BND4BMh4BFA4BAfQtTS0tTVpNLS1NAVgeMx4eMzwzHh4z/NgeMx4eMzwzHh4zAU0tTVpNLS1NWk0tOB4zPDMeHjM8Mx4eMzwzHh4zPDMeAAAAAQAAAAADeQN5AC8AAAEGJyYvASY2Fh8BHgE3NjclJicmIyIHBgcGFRQXFhcHFBY3NjcWMzI3Njc2NTQnAAF1HxAIAj8IAwwIHRskGAwIAZk5WVtocWFeODgqKkoTCQ0YTUpQcWJeNzks/lMBiREPBwuVGRMBBhYTFwIBA8FKKiszMVVXZVdOSzRuCAcHCzQaMzFVV2VYTv73AAAAAwAAAAADeQOzABoAIwBQAAABBREUBwYHBgcGByYnJicmJyY1ESU3NhcWFxYDFR4BPwE1BwYXNz4BJzUmNzY3Njc2Jj4CJyY3NjcxNiYPAQYmPwE2Jgc3DgEPAQYHBgcGBwJDATYGCh0mRVN+flNFJh4KBQE8CBYYDw4H8AMKBjA1CVPoDRACAQEBAwUBAQQBCAIEAgEBAwQTEk0JCwEGAh8XBAkOAQQGBwsOERYDpV7+cSkcMy07Mz0wMD0zOy0zHCkBj18DCQIBBgP+S70FBQEI0woCxCcCFg0EBgUEBgsMBxEPFBYMCgYOCBIWAgoBCwlXGR0EAQEPChwjHiobIQYAAAAAABAAxgABAAAAAAABABAAAAABAAAAAAACAAcAEAABAAAAAAADABAAFwABAAAAAAAEABAAJwABAAAAAAAFAAsANwABAAAAAAAGABAAQgABAAAAAAAKACsAUgABAAAAAAALABMAfQADAAEECQABACAAkAADAAEECQACAA4AsAADAAEECQADACAAvgADAAEECQAEACAA3gADAAEECQAFABYA/gADAAEECQAGACABFAADAAEECQAKAFYBNAADAAEECQALACYBinZhbnQtaWNvbi1kMzgyNWFSZWd1bGFydmFudC1pY29uLWQzODI1YXZhbnQtaWNvbi1kMzgyNWFWZXJzaW9uIDEuMHZhbnQtaWNvbi1kMzgyNWFHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQB2AGEAbgB0AC0AaQBjAG8AbgAtAGQAMwA4ADIANQBhAFIAZQBnAHUAbABhAHIAdgBhAG4AdAAtAGkAYwBvAG4ALQBkADMAOAAyADUAYQB2AGEAbgB0AC0AaQBjAG8AbgAtAGQAMwA4ADIANQBhAFYAZQByAHMAaQBvAG4AIAAxAC4AMAB2AGEAbgB0AC0AaQBjAG8AbgAtAGQAMwA4ADIANQBhAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5QECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAAVhZGQtbwphZGQtc3F1YXJlA2FkZAphZnRlci1zYWxlA2FpbQZhbGlwYXkGYXBwcy1vCmFycm93LWRvd24KYXJyb3ctbGVmdAhhcnJvdy11cAVhcnJvdwlhc2NlbmRpbmcFYXVkaW8HYXdhcmQtbwVhd2FyZAViYWctbwNiYWcOYmFsYW5jZS1saXN0LW8MYmFsYW5jZS1saXN0CWJhbGFuY2UtbwtiYWxhbmNlLXBheQtiYXItY2hhcnQtbwRiYXJzBGJlbGwGYmlsbC1vBGJpbGwPYmlydGhkYXktY2FrZS1vCmJvb2ttYXJrLW8IYm9va21hcmsSYnJvd3NpbmctaGlzdG9yeS1vEGJyb3dzaW5nLWhpc3RvcnkHYnJ1c2gtbwZidWxiLW8KYnVsbGhvcm4tbwpjYWxlbmRlci1vBGNhcmQNY2FydC1jaXJjbGUtbwtjYXJ0LWNpcmNsZQZjYXJ0LW8EY2FydBBjYXNoLWJhY2stcmVjb3JkD2Nhc2gtb24tZGVsaXZlcgljYXNoaWVyLW8LY2VydGlmaWNhdGUQY2hhcnQtdHJlbmRpbmctbwZjaGF0LW8EY2hhdAdjaGVja2VkBmNpcmNsZQVjbGVhcgdjbG9jay1vBWNsb2NrBWNsb3NlCmNsb3NlZC1leWUJY2x1c3Rlci1vB2NsdXN0ZXIGY29sdW1uEGNvbW1lbnQtY2lyY2xlLW8OY29tbWVudC1jaXJjbGUJY29tbWVudC1vB2NvbW1lbnQJY29tcGxldGVkB2NvbnRhY3QIY291cG9uLW8GY291cG9uCmNyZWRpdC1wYXkFY3Jvc3MJZGViaXQtcGF5BmRlbGV0ZQpkZXNjZW5kaW5nC2Rlc2NyaXB0aW9uCWRlc2t0b3AtbwlkaWFtb25kLW8HZGlhbW9uZAhkaXNjb3VudARkb3duCWVjYXJkLXBheQRlZGl0CGVsbGlwc2lzBWVtcHR5CWVudmVsb3AtbwhleGNoYW5nZQhleHBhbmQtbwZleHBhbmQFZXllLW8DZXllBGZhaWwHZmFpbHVyZQhmaWx0ZXItbwZmaXJlLW8EZmlyZQZmbGFnLW8IZmxvd2VyLW8MZnJlZS1wb3N0YWdlCWZyaWVuZHMtbwdmcmllbmRzBWdlbS1vA2dlbQtnaWZ0LWNhcmQtbwlnaWZ0LWNhcmQGZ2lmdC1vBGdpZnQLZ29sZC1jb2luLW8JZ29sZC1jb2luCmdvb2Qtam9iLW8IZ29vZC1qb2IPZ29vZHMtY29sbGVjdC1vDWdvb2RzLWNvbGxlY3QHZ3JhcGhpYwZob21lLW8FaG90LW8KaG90LXNhbGUtbwhob3Qtc2FsZQNob3QHaG90ZWwtbwZpZGNhcmQGaW5mby1vBGluZm8IaW52aXRpb24HbGFiZWwtbwVsYWJlbAZsaWtlLW8EbGlrZQRsaXZlCmxvY2F0aW9uLW8IbG9jYXRpb24EbG9jawlsb2dpc3RpY3MJbWFuYWdlci1vB21hbmFnZXIKbWFwLW1hcmtlZAdtZWRhbC1vBW1lZGFsBm1vcmUtbwRtb3JlB211c2ljLW8FbXVzaWMNbmV3LWFycml2YWwtbwtuZXctYXJyaXZhbAVuZXctbwNuZXcLbmV3c3BhcGVyLW8Hbm90ZXMtbwhvcmRlcnMtbwlvdGhlci1wYXkEcGFpZAZwYXNzZWQOcGF1c2UtY2lyY2xlLW8McGF1c2UtY2lyY2xlBXBhdXNlCHBlZXItcGF5D3BlbmRpbmctcGF5bWVudA5waG9uZS1jaXJjbGUtbwxwaG9uZS1jaXJjbGUHcGhvbmUtbwVwaG9uZQdwaG90by1vBXBob3RvCnBob3RvZ3JhcGgNcGxheS1jaXJjbGUtbwtwbGF5LWNpcmNsZQRwbGF5BHBsdXMMcG9pbnQtZ2lmdC1vCnBvaW50LWdpZnQGcG9pbnRzB3ByaW50ZXIKcXItaW52YWxpZAJxcgpxdWVzdGlvbi1vCHF1ZXN0aW9uB3JlY29yZHMIcmVmdW5kLW8GcmVwbGF5BHNjYW4Gc2VhcmNoC3NlbmQtZ2lmdC1vCXNlbmQtZ2lmdAlzZXJ2aWNlLW8Hc2VydmljZQlzZXR0aW5nLW8Hc2V0dGluZwVzaGFyZQ5zaG9wLWNvbGxlY3QtbwxzaG9wLWNvbGxlY3QGc2hvcC1vBHNob3APc2hvcHBpbmctY2FydC1vDXNob3BwaW5nLWNhcnQGc2hyaW5rBHNpZ24Pc21pbGUtY29tbWVudC1vDXNtaWxlLWNvbW1lbnQHc21pbGUtbwVzbWlsZQZzdGFyLW8Ec3Rhcg1zdG9wLWNpcmNsZS1vC3N0b3AtY2lyY2xlBHN0b3AHc3VjY2Vzcw50aHVtYi1jaXJjbGUtbwx0aHVtYi1jaXJjbGULdG9kby1saXN0LW8JdG9kby1saXN0BnRvc2VuZAR0di1vD3VtYnJlbGxhLWNpcmNsZQp1bmRlcndheS1vCHVuZGVyd2F5B3VwZ3JhZGUNdXNlci1jaXJjbGUtbwZ1c2VyLW8HdmlkZW8tbwV2aWRlbwp2aXAtY2FyZC1vCHZpcC1jYXJkCHZvbHVtZS1vBnZvbHVtZQp3YXAtaG9tZS1vCHdhcC1ob21lB3dhcC1uYXYGd2Fybi1vCXdhcm5pbmctbwd3YXJuaW5nCXdlYXBwLW5hdgZ3ZWNoYXQNeW91emFuLXNoaWVsZAAAAAA=') format('truetype'); + src: url('data:font/ttf;base64,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ACkAAPApAADwKQAAACoAAPAqAADwKgAAACsAAPArAADwKwAAACwAAPAsAADwLAAAAC0AAPAtAADwLQAAAC4AAPAuAADwLgAAAC8AAPAvAADwLwAAADAAAPAwAADwMAAAADEAAPAxAADwMQAAADIAAPAyAADwMgAAADMAAPAzAADwMwAAADQAAPA0AADwNAAAADUAAPA1AADwNQAAADYAAPA2AADwNgAAADcAAPA3AADwNwAAADgAAPA4AADwOAAAADkAAPA5AADwOQAAADoAAPA6AADwOgAAADsAAPA7AADwOwAAADwAAPA8AADwPAAAAD0AAPA9AADwPQAAAD4AAPA+AADwPgAAAD8AAPA/AADwPwAAAEAAAPBAAADwQAAAAEEAAPBBAADwQQAAAEIAAPBCAADwQgAAAEMAAPBDAADwQwAAAEQAAPBEAADwRAAAAEUAAPBFAADwRQAAAEYAAPBGAADwRgAAAEcAAPBHAADwRwAAAEgAAPBIAADwSAAAAEkAAPBJAADwSQAAAEoAAPBKAADwSgAAAEsAAPBLAADwSwAAAEwAAPBMAADwTAAAAE0AAPBNAADwTQAAAE4AAPBOAADwTgAAAE8AAPBPAADwTwAAAFAAAPBQAADwUAAAAFEAAPBRAADwUQAAAFIAAPBSAADwUgAAAFMAAPBTAADwUwAAAFQAAPBUAADwVAAAAFUAAPBVAADwVQAAAFYAAPBWAADwVgAAAFcAAPBXAADwVwAAAFgAAPBYAADwWAAAAFkAAPBZAADwWQAAAFoAAPBaAADwWgAAAFsAAPBbAADwWwAAAFwAAPBcAADwXAAAAF0AAPBdAADwXQAAAF4AAPBeAADwXgAAAF8AAPBfAADwXwAAAGAAAPBgAADwYAAAAGEAAPBhAADwYQAAAGIAAPBiAADwYgAAAGMAAPBjAADwYwAAAGQAAPBkAADwZAAAAGUAAPBlAADwZQAAAGYAAPBmAADwZgAAAGcAAPBnAADwZwAAAGgAAPBoAADwaAAAAGkAAPBpAADwaQAAAGoAAPBqAADwagAAAGsAAPBrAADwawAAAGwAAPBsAADwbAAAAG0AAPBtAADwbQAAAG4AAPBuAADwbgAAAG8AAPBvAADwbwAAAHAAAPBwAADwcAAAAHEAAPBxAADwcQAAAHIAAPByAADwcgAAAHMAAPBzAADwcwAAAHQAAPB0AADwdAAAAHUAAPB1AADwdQAAAHYAAPB2AADwdgAAAHcAAPB3AADwdwAAAHgAAPB4AADweAAAAHkAAPB5AADweQAAAHoAAPB6AADwegAAAHsAAPB7AADwewAAAHwAAPB8AADwfAAAAH0AAPB9AADwfQAAAH4AAPB+AADwfgAAAH8AAPB/AADwfwAAAIAAAPCAAADwgAAAAIEAAPCBAADwgQAAAIIAAPCCAADwggAAAIMAAPCDAADwgwAAAIQAAPCEAADwhAAAAIUAAPCFAADwhQAAAIYAAPCGAADwhgAAAIcAAPCHAADwhwAAAIgAAPCIAADwiAAAAIkAAPCJAADwiQAAAIoAAPCKAADwigAAAIsAAPCLAADwiwAAAIwAAPCMAADwjAAAAI0AAPCNAADwjQAAAI4AAPCOAADwjgAAAI8AAPCPAADwjwAAAJAAAPCQAADwkAAAAJEAAPCRAADwkQAAAJIAAPCSAADwkgAAAJMAAPCTAADwkwAAAJQAAPCUAADwlAAAAJUAAPCVAADwlQAAAJYAAPCWAADwlgAAAJcAAPCXAADwlwAAAJgAAPCYAADwmAAAAJkAAPCZAADwmQAAAJoAAPCaAADwmgAAAJsAAPCbAADwmwAAAJwAAPCcAADwnAAAAJ0AAPCdAADwnQAAAJ4AAPCeAADwngAAAJ8AAPCfAADwnwAAAKAAAPCgAADwoAAAAKEAAPChAADwoQAAAKIAAPCiAADwogAAAKMAAPCjAADwowAAAKQAAPCkAADwpAAAAKUAAPClAADwpQAAAKYAAPCmAADwpgAAAKcAAPCnAADwpwAAAKgAAPCoAADwqAAAAKkAAPCpAADwqQAAAKoAAPCqAADwqgAAAKsAAPCrAADwqwAAAKwAAPCsAADwrAAAAK0AAPCtAADwrQAAAK4AAPCuAADwrgAAAK8AAPCvAADwrwAAALAAAPCwAADwsAAAALEAAPCxAADwsQAAALIAAPCyAADwsgAAALMAAPCzAADwswAAALQAAPC0AADwtAAAALUAAPC1AADwtQAAALYAAPC2AADwtgAAALcAAPC3AADwtwAAALgAAPC4AADwuAAAALkAAPC5AADwuQAAALoAAPC6AADwugAAALsAAPC7AADwuwAAALwAAPC8AADwvAAAAL0AAPC9AADwvQAAAL4AAPC+AADwvgAA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ASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAAVhZGQtbwphZGQtc3F1YXJlA2FkZAphZnRlci1zYWxlA2FpbQZhbGlwYXkGYXBwcy1vCmFycm93LWRvd24KYXJyb3ctbGVmdAhhcnJvdy11cAVhcnJvdwlhc2NlbmRpbmcFYXVkaW8HYXdhcmQtbwVhd2FyZAViYWctbwNiYWcOYmFsYW5jZS1saXN0LW8MYmFsYW5jZS1saXN0CWJhbGFuY2UtbwtiYWxhbmNlLXBheQtiYXItY2hhcnQtbwRiYXJzBGJlbGwGYmlsbC1vBGJpbGwPYmlydGhkYXktY2FrZS1vCmJvb2ttYXJrLW8IYm9va21hcmsSYnJvd3NpbmctaGlzdG9yeS1vEGJyb3dzaW5nLWhpc3RvcnkHYnJ1c2gtbwZidWxiLW8KYnVsbGhvcm4tbwpjYWxlbmRlci1vBGNhcmQNY2FydC1jaXJjbGUtbwtjYXJ0LWNpcmNsZQZjYXJ0LW8EY2FydBBjYXNoLWJhY2stcmVjb3JkD2Nhc2gtb24tZGVsaXZlcgljYXNoaWVyLW8LY2VydGlmaWNhdGUQY2hhcnQtdHJlbmRpbmctbwZjaGF0LW8EY2hhdAdjaGVja2VkBmNpcmNsZQVjbGVhcgdjbG9jay1vBWNsb2NrBWNsb3NlCmNsb3NlZC1leWUJY2x1c3Rlci1vB2NsdXN0ZXIGY29sdW1uEGNvbW1lbnQtY2lyY2xlLW8OY29tbWVudC1jaXJjbGUJY29tbWVudC1vB2NvbW1lbnQJY29tcGxldGVkB2NvbnRhY3QIY291cG9uLW8GY291cG9uCmNyZWRpdC1wYXkFY3Jvc3MJZGViaXQtcGF5BmRlbGV0ZQpkZXNjZW5kaW5nC2Rlc2NyaXB0aW9uCWRlc2t0b3AtbwlkaWFtb25kLW8HZGlhbW9uZAhkaXNjb3VudARkb3duCWVjYXJkLXBheQRlZGl0CGVsbGlwc2lzBWVtcHR5CWVudmVsb3AtbwhleGNoYW5nZQhleHBhbmQtbwZleHBhbmQFZXllLW8DZXllBGZhaWwHZmFpbHVyZQhmaWx0ZXItbwZmaXJlLW8EZmlyZQZmbGFnLW8IZmxvd2VyLW8MZnJlZS1wb3N0YWdlCWZyaWVuZHMtbwdmcmllbmRzBWdlbS1vA2dlbQtnaWZ0LWNhcmQtbwlnaWZ0LWNhcmQGZ2lmdC1vBGdpZnQLZ29sZC1jb2luLW8JZ29sZC1jb2luCmdvb2Qtam9iLW8IZ29vZC1qb2IPZ29vZHMtY29sbGVjdC1vDWdvb2RzLWNvbGxlY3QHZ3JhcGhpYwZob21lLW8FaG90LW8KaG90LXNhbGUtbwhob3Qtc2FsZQNob3QHaG90ZWwtbwZpZGNhcmQGaW5mby1vBGluZm8IaW52aXRpb24HbGFiZWwtbwVsYWJlbAZsaWtlLW8EbGlrZQRsaXZlCmxvY2F0aW9uLW8IbG9jYXRpb24EbG9jawlsb2dpc3RpY3MJbWFuYWdlci1vB21hbmFnZXIKbWFwLW1hcmtlZAdtZWRhbC1vBW1lZGFsBm1vcmUtbwRtb3JlB211c2ljLW8FbXVzaWMNbmV3LWFycml2YWwtbwtuZXctYXJyaXZhbAVuZXctbwNuZXcLbmV3c3BhcGVyLW8Hbm90ZXMtbwhvcmRlcnMtbwlvdGhlci1wYXkEcGFpZAZwYXNzZWQOcGF1c2UtY2lyY2xlLW8McGF1c2UtY2lyY2xlBXBhdXNlCHBlZXItcGF5D3BlbmRpbmctcGF5bWVudA5waG9uZS1jaXJjbGUtbwxwaG9uZS1jaXJjbGUHcGhvbmUtbwVwaG9uZQdwaG90by1vBXBob3RvCnBob3RvZ3JhcGgNcGxheS1jaXJjbGUtbwtwbGF5LWNpcmNsZQRwbGF5BHBsdXMMcG9pbnQtZ2lmdC1vCnBvaW50LWdpZnQGcG9pbnRzB3ByaW50ZXIKcXItaW52YWxpZAJxcgpxdWVzdGlvbi1vCHF1ZXN0aW9uB3JlY29yZHMIcmVmdW5kLW8GcmVwbGF5BHNjYW4Gc2VhcmNoC3NlbmQtZ2lmdC1vCXNlbmQtZ2lmdAlzZXJ2aWNlLW8Hc2VydmljZQlzZXR0aW5nLW8Hc2V0dGluZwVzaGFyZQ5zaG9wLWNvbGxlY3QtbwxzaG9wLWNvbGxlY3QGc2hvcC1vBHNob3APc2hvcHBpbmctY2FydC1vDXNob3BwaW5nLWNhcnQGc2hyaW5rBHNpZ24Pc21pbGUtY29tbWVudC1vDXNtaWxlLWNvbW1lbnQHc21pbGUtbwVzbWlsZQZzdGFyLW8Ec3Rhcg1zdG9wLWNpcmNsZS1vC3N0b3AtY2lyY2xlBHN0b3AHc3VjY2Vzcw50aHVtYi1jaXJjbGUtbwx0aHVtYi1jaXJjbGULdG9kby1saXN0LW8JdG9kby1saXN0BnRvc2VuZAR0di1vD3VtYnJlbGxhLWNpcmNsZQp1bmRlcndheS1vCHVuZGVyd2F5B3VwZ3JhZGUNdXNlci1jaXJjbGUtbwZ1c2VyLW8HdmlkZW8tbwV2aWRlbwp2aXAtY2FyZC1vCHZpcC1jYXJkCHZvbHVtZS1vBnZvbHVtZQp3YXAtaG9tZS1vCHdhcC1ob21lB3dhcC1uYXYGd2Fybi1vCXdhcm5pbmctbwd3YXJuaW5nCXdlYXBwLW5hdgZ3ZWNoYXQNeW91emFuLXNoaWVsZAAAAAA=') format('truetype'); } diff --git a/packages/vant-icons/src/index.less b/packages/vant-icons/src/index.less index 64a4541d3..b6d7e960e 100644 --- a/packages/vant-icons/src/index.less +++ b/packages/vant-icons/src/index.less @@ -4,9 +4,9 @@ font-family: 'vant-icon'; font-style: normal; font-display: auto; - src: url('https://img.yzcdn.cn/vant/vant-icon-d3825a.woff2') format('woff2'), - url('https://img.yzcdn.cn/vant/vant-icon-d3825a.woff') format('woff'), - url('https://img.yzcdn.cn/vant/vant-icon-d3825a.ttf') format('truetype'); + src: url('https://img.yzcdn.cn/vant/vant-icon-db1de1.woff2') format('woff2'), + url('https://img.yzcdn.cn/vant/vant-icon-db1de1.woff') format('woff'), + url('https://img.yzcdn.cn/vant/vant-icon-db1de1.ttf') format('truetype'); } .van-icon { diff --git a/packages/vant-icons/yarn.lock b/packages/vant-icons/yarn.lock index 76da32c61..9d4d97041 100644 --- a/packages/vant-icons/yarn.lock +++ b/packages/vant-icons/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@iarna/toml@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" + integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg== + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -23,6 +28,99 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@octokit/endpoint@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.1.tgz#2eea81e110ca754ff2de11c79154ccab4ae16b3f" + integrity sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg== + dependencies: + "@octokit/types" "^2.0.0" + is-plain-object "^3.0.0" + universal-user-agent "^4.0.0" + +"@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.0.tgz#a64d2a9d7a13555570cd79722de4a4d76371baaa" + integrity sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg== + dependencies: + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.0.0": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120" + integrity sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg== + dependencies: + "@octokit/endpoint" "^5.5.0" + "@octokit/request-error" "^1.0.1" + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + is-plain-object "^3.0.0" + node-fetch "^2.3.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + +"@octokit/rest@16.33.0": + version "16.33.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.33.0.tgz#13c1404b24c9871419eb31029de177e82f3eb851" + integrity sha512-t4jMR+odsfooQwmHiREoTQixVTX2DfdbSaO+lKrW9R5XBuk0DW+5T/JdfwtxAGUAHgvDDpWY/NVVDfEPTzxD6g== + dependencies: + "@octokit/request" "^5.0.0" + "@octokit/request-error" "^1.0.2" + atob-lite "^2.0.0" + before-after-hook "^2.0.0" + btoa-lite "^1.0.0" + deprecation "^2.0.0" + lodash.get "^4.4.2" + lodash.set "^4.3.2" + lodash.uniq "^4.5.0" + octokit-pagination-methods "^1.1.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + +"@octokit/types@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.0.2.tgz#0888497f5a664e28b0449731d5e88e19b2a74f90" + integrity sha512-StASIL2lgT3TRjxv17z9pAqbnI7HGu9DrJlg3sEBFfCLaMEqp+O3IQPUF6EZtQ4xkAu2ml6kMBBCtGxjvmtmuQ== + dependencies: + "@types/node" ">= 8" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/glob@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*", "@types/node@>= 8": + version "13.1.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.8.tgz#1d590429fe8187a02707720ecf38a6fe46ce294b" + integrity sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A== + "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" @@ -43,6 +141,13 @@ ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + dependencies: + string-width "^3.0.0" + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -50,6 +155,13 @@ ansi-colors@^1.0.1: dependencies: ansi-wrap "^0.1.0" +ansi-escapes@^4.2.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== + dependencies: + type-fest "^0.8.1" + ansi-gray@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" @@ -67,6 +179,16 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -192,6 +314,11 @@ array-sort@^1.0.0: get-value "^2.0.6" kind-of "^5.0.2" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -234,6 +361,13 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.2.tgz#8b8a7ca2a658f927e9f307d6d1a42f4199f0f735" integrity sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg== +async-retry@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" + integrity sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q== + dependencies: + retry "0.12.0" + async-settle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" @@ -246,6 +380,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +atob-lite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" + integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= + atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -306,12 +445,17 @@ beeper@^1.0.0: resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= +before-after-hook@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + binary-extensions@^1.0.0: version "1.13.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1" integrity sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw== -bindings@^1.3.0: +bindings@^1.3.0, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -328,6 +472,20 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boxen@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" + integrity sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A== + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^2.4.2" + cli-boxes "^2.2.0" + string-width "^3.0.0" + term-size "^1.2.0" + type-fest "^0.3.0" + widest-line "^2.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -359,6 +517,11 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= + buffer-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" @@ -398,16 +561,62 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +chalk@2.4.2, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -419,14 +628,15 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +changelog-filename-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/changelog-filename-regex/-/changelog-filename-regex-1.1.2.tgz#19e98e38248cff0c1cf3ae3bf51bfb22c48592d6" + integrity sha512-kpOfKlZ9x2UpeC4at6FAXHLKfi/JEUqUqkPCb1JUCa5FnNbJIzOHRM9RfeQ1QDcpj+Gxuc/UoHqASgmEeFDejQ== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== chokidar@^2.0.0: version "2.1.4" @@ -452,6 +662,11 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -462,6 +677,28 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +cli-boxes@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" + integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" + integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -476,6 +713,13 @@ clone-buffer@^1.0.0: resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" @@ -486,7 +730,7 @@ clone-stats@^1.0.0: resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= -clone@^1.0.0: +clone@^1.0.0, clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= @@ -585,6 +829,18 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" +configstore@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" + integrity sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ== + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -622,6 +878,41 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +cosmiconfig@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + css-select-base-adapter@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" @@ -701,14 +992,21 @@ debug@2.6.1: dependencies: ms "0.7.2" -debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: +debug@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -decamelize@^1.1.1: +decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -718,6 +1016,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -735,6 +1040,18 @@ default-resolution@^2.0.0: resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f" + integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ== + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -774,15 +1091,40 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +deprecated-obj@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deprecated-obj/-/deprecated-obj-1.0.1.tgz#d7051278d2c141dc672ac3410d06642e990003b7" + integrity sha512-igs766xNtF7Fv/R//gT644e6dr+bT6kJrg+qyJA9affCyvf70UUNKIUIMUSROBg1sPUrBnENPsDdDHcBLI5wFQ== + dependencies: + flat "^4.1.0" + lodash "^4.17.11" + +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +detect-repo-changelog@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/detect-repo-changelog/-/detect-repo-changelog-1.0.1.tgz#c2108cbbf0964da7bc074645b6ad1d3b80a6bd6d" + integrity sha1-whCMu/CWTae8B0ZFtq0dO4CmvW0= + dependencies: + changelog-filename-regex "^1.1.0" + is-regular-file "^1.0.1" + lodash.find "^4.6.0" + pify "^2.3.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" dom-serializer@0: version "0.1.1" @@ -805,6 +1147,13 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -819,6 +1168,11 @@ duplexer2@^0.1.2: dependencies: readable-stream "^2.0.2" +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -845,6 +1199,16 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" @@ -857,7 +1221,7 @@ entities@^1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -error-ex@^1.2.0: +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -931,6 +1295,32 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.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" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + 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" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -971,6 +1361,15 @@ extend@^3.0.0, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -1010,7 +1409,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-glob@^3.1.1: +fast-glob@^3.0.3, fast-glob@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.1.1.tgz#87ee30e9e9f3eb40d6f254a7997655da753d7c82" integrity sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g== @@ -1033,6 +1432,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.0" +figures@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + dependencies: + escape-string-regexp "^1.0.5" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -1055,6 +1461,14 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-up@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1099,6 +1513,13 @@ flagged-respawn@^1.0.0: resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -1124,6 +1545,15 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -1170,12 +1600,12 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== + version "1.2.11" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3" + integrity sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw== dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + bindings "^1.5.0" + nan "^2.12.1" function-bind@^1.1.1: version "1.1.1" @@ -1206,6 +1636,25 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -1218,6 +1667,21 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +git-up@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" + integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== + dependencies: + is-ssh "^1.3.0" + parse-url "^5.0.0" + +git-url-parse@11.1.2: + version "11.1.2" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" + integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== + dependencies: + git-up "^4.0.0" + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -1273,6 +1737,13 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -1293,6 +1764,20 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" +globby@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + glogg@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" @@ -1300,6 +1785,23 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" +got@9.6.0, got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -1486,6 +1988,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -1534,6 +2041,11 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -1553,6 +2065,11 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== +http-cache-semantics@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" + integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -1562,19 +2079,49 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@^0.4.4: +iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== +ignore@^5.1.1: + version "5.1.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== + +import-cwd@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== dependencies: - minimatch "^3.0.4" + import-from "^3.0.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= inflight@^1.0.4: version "1.0.6" @@ -1594,6 +2141,25 @@ ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +inquirer@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" + integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + interpret@^1.0.0, interpret@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -1643,11 +2209,23 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-ci@2.0.0, is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -1685,6 +2263,11 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -1714,6 +2297,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -1735,11 +2323,29 @@ is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= +is-npm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" + integrity sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -1757,6 +2363,18 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -1764,6 +2382,18 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" + integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== + dependencies: + isobject "^4.0.0" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -1771,6 +2401,11 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regular-file@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regular-file/-/is-regular-file-1.1.1.tgz#ffcf9cae56ec63bc55b17d6fed1af441986dab66" + integrity sha512-+1U3MZrVwC4HM6VUKk3L5fiHtNd2d9kayzEJhmQ+B+uIBPE/p8Fy8QVdkx0HIr3o9J5TOKJY40eI5GfTfBqbdA== + is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" @@ -1778,6 +2413,18 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" +is-ssh@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" + integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== + dependencies: + protocols "^1.1.0" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" @@ -1812,6 +2459,11 @@ is-windows@^1.0.1, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -1839,6 +2491,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isobject@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" + integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== + isstream@^0.1.2, isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -1857,6 +2514,16 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -1899,6 +2566,13 @@ just-debounce@^1.0.0: resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -1931,6 +2605,13 @@ last-run@^1.1.0: default-resolution "^2.0.0" es6-weak-map "^2.0.1" +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -1977,6 +2658,13 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" @@ -2029,6 +2717,16 @@ lodash.escape@^3.0.0: dependencies: lodash._root "^3.0.0" +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -2053,6 +2751,11 @@ lodash.restparam@^3.0.0: resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + lodash.template@^3.0.0: version "3.6.2" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" @@ -2076,11 +2779,53 @@ lodash.templatesettings@^3.0.0: lodash._reinterpolate "^3.0.0" lodash.escape "^3.0.0" -lodash@^4.17.10, lodash@^4.17.11: +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +macos-release@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" + integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + make-iterator@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" @@ -2120,7 +2865,7 @@ mdn-data@~1.1.0: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== -merge2@^1.3.0: +merge2@^1.2.3, merge2@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== @@ -2157,11 +2902,23 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.38.0: version "1.38.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== +mime-types@2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.22" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" @@ -2169,6 +2926,16 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "~1.38.0" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -2186,7 +2953,7 @@ minimist@^1.1.0, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: +minipass@^2.2.1, minipass@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== @@ -2194,7 +2961,7 @@ minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1, minizlib@^1.2.1: +minizlib@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== @@ -2209,7 +2976,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@^0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -2226,6 +2993,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -2246,16 +3018,16 @@ mute-stdout@^1.0.0: resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== -nan@^2.10.0: +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.10.0, nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.9.2: - version "2.13.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.1.tgz#a15bee3790bde247e8f38f1d446edcdaeb05f2dd" - integrity sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -2280,20 +3052,21 @@ neatequal@^1.0.0: dependencies: varstream "^0.3.2" -needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - next-tick@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-fetch@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + node-gyp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-4.0.0.tgz#972654af4e5dd0cd2a19081b4b46fe0442ba6f45" @@ -2311,22 +3084,6 @@ node-gyp@^4.0.0: tar "^4.4.8" which "1" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -2334,14 +3091,6 @@ node-pre-gyp@^0.10.0: dependencies: abbrev "1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -2364,6 +3113,16 @@ normalize-path@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-url@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + now-and-later@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" @@ -2371,20 +3130,14 @@ now-and-later@^2.0.0: dependencies: once "^1.3.2" -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" + path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2: +"npmlog@0 || 1 || 2 || 3 || 4": version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -2503,6 +3256,11 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +octokit-pagination-methods@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" + integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== + once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2510,6 +3268,26 @@ once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: dependencies: wrappy "1" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +ora@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.2.tgz#0e1e68fd45b135d28648b27cf08081fa6e8a297d" + integrity sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig== + dependencies: + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" @@ -2529,12 +3307,20 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@^1.0.0: +os-name@3.1.0, os-name@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4: +osenv@0: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -2542,6 +3328,45 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + pako@^1.0.0: version "1.0.10" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" @@ -2563,6 +3388,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-node-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" @@ -2573,6 +3406,24 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +parse-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" + integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== + dependencies: + is-ssh "^1.3.0" + protocols "^1.4.0" + +parse-url@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" + integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== + dependencies: + is-ssh "^1.3.0" + normalize-url "^3.3.0" + parse-path "^4.0.0" + protocols "^1.4.0" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -2590,11 +3441,26 @@ path-exists@^2.0.0: dependencies: pinkie-promise "^2.0.0" +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -2621,6 +3487,11 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -2631,11 +3502,16 @@ picomatch@^2.0.5: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -2672,6 +3548,11 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + pretty-hrtime@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -2687,6 +3568,16 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== +protocols@^1.1.0, protocols@^1.4.0: + version "1.4.7" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" + integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + psl@^1.1.24: version "1.1.31" resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" @@ -2700,6 +3591,14 @@ pump@^2.0.0: end-of-stream "^1.1.0" once "^1.3.1" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pumpify@^1.3.5: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" @@ -2729,7 +3628,7 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -rc@^1.2.7: +rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -2803,6 +3702,55 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +registry-auth-token@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.0.tgz#b17f4763c53785b5342fadb0a35d9825be976cfb" + integrity sha512-7uxS951DeOBOwsv8deX+l7HcjY2VZxaOgHtM6RKzg3HhpE+bJ0O7VbuMJLosC1T5WSFpHm0DuFIbqUl43jHpsA== + dependencies: + rc "^1.2.8" + safe-buffer "^5.0.1" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +release-it@^12.4.3: + version "12.4.3" + resolved "https://registry.yarnpkg.com/release-it/-/release-it-12.4.3.tgz#c99a72cd1c812bcde3b532ecfee8b22c652b36f8" + integrity sha512-nQMzrAhlNg7LM7c9+4QkDtwzU/cOZeWmqsevzkp/FILSGIu3wjmQ63iSeBuZi1gpscjvJJy8/cCxhnHKczy1RQ== + dependencies: + "@iarna/toml" "2.2.3" + "@octokit/rest" "16.33.0" + async-retry "1.2.3" + chalk "2.4.2" + cosmiconfig "5.2.1" + debug "4.1.1" + deprecated-obj "1.0.1" + detect-repo-changelog "1.0.1" + find-up "4.1.0" + form-data "2.5.1" + git-url-parse "11.1.2" + globby "10.0.1" + got "9.6.0" + import-cwd "3.0.0" + inquirer "7.0.0" + is-ci "2.0.0" + lodash "4.17.15" + mime-types "2.1.24" + ora "4.0.2" + os-name "3.1.0" + semver "6.3.0" + shelljs "0.8.3" + supports-color "7.1.0" + update-notifier "3.0.1" + url-join "4.0.1" + uuid "3.3.3" + window-size "1.1.1" + yargs-parser "15.0.0" + remove-bom-buffer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" @@ -2898,6 +3846,16 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-options@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" @@ -2917,28 +3875,62 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.4.0: dependencies: path-parse "^1.0.6" +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry@0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + reusify@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2, rimraf@^2.6.1: +rimraf@2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== +rxjs@^6.4.0: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -2961,6 +3953,13 @@ sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + semver-greatest-satisfied-range@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" @@ -2968,11 +3967,21 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0: +"semver@2 || 3 || 4 || 5": version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== +semver@6.3.0, semver@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^5.0.3, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -3003,7 +4012,19 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -shelljs@^0.8.3: +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/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 "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shelljs@0.8.3, shelljs@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== @@ -3012,11 +4033,16 @@ shelljs@^0.8.3: interpret "^1.0.0" rechoir "^0.6.2" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -3175,7 +4201,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2": +"string-width@^1.0.2 || 2", string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -3183,6 +4209,24 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string.fromcodepoint@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653" @@ -3219,6 +4263,20 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -3226,11 +4284,23 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +supports-color@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -3309,19 +4379,6 @@ svgpath@^2.1.5: resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.2.1.tgz#0834bb67c89a76472b2bd06cc101fa7b517b222c" integrity sha1-CDS7Z8iadkcrK9BswQH6e1F7Iiw= -tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - tar@^4.4.8: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" @@ -3335,6 +4392,13 @@ tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + through2-filter@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" @@ -3351,11 +4415,23 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + to-absolute-glob@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" @@ -3371,6 +4447,11 @@ to-object-path@^0.3.0: dependencies: kind-of "^3.0.2" +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -3416,6 +4497,11 @@ transformation-matrix-js@^2.7.1: resolved "https://registry.yarnpkg.com/transformation-matrix-js/-/transformation-matrix-js-2.7.6.tgz#25c7ff055c99b8528ffbd4c4a2684be6c9d5ef60" integrity sha512-1CxDIZmCQ3vA0GGnkdMQqxUXVm3xXAFmglPYRS1hr37LzSg22TC7QAWOT38OmdUvMEs/rqcnkFoAsqvzdiluDg== +tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + ttf2eot@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ttf2eot/-/ttf2eot-2.0.0.tgz#8e6337a585abd1608a0c84958ab483ce69f6654b" @@ -3455,6 +4541,16 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -3503,6 +4599,20 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +universal-user-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.0.tgz#27da2ec87e32769619f68a14996465ea1cb9df16" + integrity sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA== + dependencies: + os-name "^3.1.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -3526,6 +4636,24 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== +update-notifier@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" + integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== + dependencies: + boxen "^3.0.0" + chalk "^2.0.1" + configstore "^4.0.0" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.1.0" + is-npm "^3.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -3538,6 +4666,18 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-join@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -3556,6 +4696,11 @@ util.promisify@~1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +uuid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -3654,12 +4799,19 @@ vinyl@^2.0.0, vinyl@^2.1.0, vinyl@^2.2.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= -which@1, which@^1.2.14: +which@1, which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -3673,6 +4825,28 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + +window-size@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-1.1.1.tgz#9858586580ada78ab26ecd6978a6e03115c1af20" + integrity sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA== + dependencies: + define-property "^1.0.0" + is-number "^3.0.0" + +windows-release@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" + integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== + dependencies: + execa "^1.0.0" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -3686,6 +4860,20 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + xmldom@~0.1.22: version "0.1.27" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" @@ -3701,11 +4889,24 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yargs-parser@15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" + integrity sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" diff --git a/packages/vant-markdown-loader/src/card-wrapper.js b/packages/vant-markdown-loader/src/card-wrapper.js index f1434f80e..6216cdef9 100644 --- a/packages/vant-markdown-loader/src/card-wrapper.js +++ b/packages/vant-markdown-loader/src/card-wrapper.js @@ -1,5 +1,8 @@ module.exports = function cardWrapper(html) { - const group = html.replace(/

    { diff --git a/packages/vant-markdown-loader/src/index.js b/packages/vant-markdown-loader/src/index.js index d0090f558..d04430519 100644 --- a/packages/vant-markdown-loader/src/index.js +++ b/packages/vant-markdown-loader/src/index.js @@ -47,10 +47,10 @@ export default { const parser = new MarkdownIt({ html: true, - highlight + highlight, }).use(markdownItAnchor, { level: 2, - slugify + slugify, }); module.exports = function(source) { @@ -60,7 +60,7 @@ module.exports = function(source) { options = { wrapper, linkOpen: true, - ...options + ...options, }; let fm; diff --git a/packages/vant-markdown-vetur/package.json b/packages/vant-markdown-vetur/package.json index 86f4af52c..7a531a52d 100644 --- a/packages/vant-markdown-vetur/package.json +++ b/packages/vant-markdown-vetur/package.json @@ -1,6 +1,6 @@ { "name": "@vant/markdown-vetur", - "version": "1.0.0", + "version": "1.1.0", "description": "simple parse markdown to vue component description for vetur auto-completion", "main": "lib/index.js", "license": "MIT", @@ -13,6 +13,7 @@ "lib" ], "scripts": { + "dev": "tsc --watch", "build": "tsc", "release": "npm run build && npm publish" } diff --git a/packages/vant-markdown-vetur/src/codegen.ts b/packages/vant-markdown-vetur/src/codegen.ts index 111ddb9ac..0e09d671a 100644 --- a/packages/vant-markdown-vetur/src/codegen.ts +++ b/packages/vant-markdown-vetur/src/codegen.ts @@ -8,13 +8,13 @@ export type Tag = { description: string; defaults?: Array; subtags?: Array; -} +}; export type Attribute = { description: string; type?: string; options?: Array; -} +}; function camelCaseToKebabCase(input: string): string { return input.replace( @@ -23,6 +23,22 @@ function camelCaseToKebabCase(input: string): string { ); } +function removeVersionTag(str: string) { + return str.replace(/`(\w|\.)+`/g, '').trim(); +} + +function getDescription(td: string[], isProp: boolean) { + const desc = td[1] ? td[1].replace('
    ', '') : ''; + const type = td[2] ? td[2].replace(/\*/g, '') : ''; + const defaultVal = td[3] ? td[3].replace(/`/g, '') : ''; + + if (isProp) { + return `${desc}, 默认值: ${defaultVal}, 类型: ${type}`; + } + + return desc; +} + export function codegen(artical: Artical) { const tags: Record = {}; let tagDescription = ''; @@ -49,7 +65,7 @@ export function codegen(artical: Artical) { const key = camelCaseToKebabCase(match[1] || 'default'); const tag: Tag = tags[key] || { description: tagDescription, - attributes: {} + attributes: {}, }; tags[key] = tag; @@ -57,16 +73,14 @@ export function codegen(artical: Artical) { const isProp = /Props/i.test(match[2]); table.body.forEach(td => { - const attrName = td[0]; + const name = removeVersionTag(td[0]); const attr: Attribute = { - description: `${td[1]}, ${ - isProp ? 'default: ' + td[3].replace(/`/g, '') : 'params: ' + td[2] - }`, - type: isProp ? td[2].replace(/`/g, '').toLowerCase() : 'event' + description: getDescription(td, isProp), + type: isProp ? td[2].replace(/`/g, '').toLowerCase() : 'event', }; - tag.attributes[attrName] = attr; + tag.attributes[name] = attr; }); } } diff --git a/packages/vant-markdown-vetur/src/index.ts b/packages/vant-markdown-vetur/src/index.ts index 8cec37615..7442fea85 100644 --- a/packages/vant-markdown-vetur/src/index.ts +++ b/packages/vant-markdown-vetur/src/index.ts @@ -8,7 +8,7 @@ import { existsSync, readdirSync, readFileSync, - writeFileSync + writeFileSync, } from 'fs'; export function parseText(input: string) { @@ -43,18 +43,18 @@ export type ParseResult = { const defaultOptions = { maxDeep: Infinity, - tagPrefix: '' + tagPrefix: '', }; export function parse(options: Options) { options = { ...defaultOptions, - ...options + ...options, }; const result: ParseResult = { tags: {}, - attributes: {} + attributes: {}, }; function putResult(componentName: string, component: Tag) { @@ -62,7 +62,7 @@ export function parse(options: Options) { const attributes = Object.keys(component.attributes); const tag = { description: component.description, - attributes + attributes, }; result.tags[componentName] = tag; @@ -85,7 +85,7 @@ export function parse(options: Options) { recursiveParse( { ...options, - path: currentPath + path: currentPath, }, deep ); @@ -123,7 +123,10 @@ export function parseAndWrite(options: Options) { mkdirSync(options.outputDir); } - writeFileSync(join(options.outputDir, 'tags.json'), JSON.stringify(tags, null, 2)); + writeFileSync( + join(options.outputDir, 'tags.json'), + JSON.stringify(tags, null, 2) + ); writeFileSync( join(options.outputDir, 'attributes.json'), JSON.stringify(attributes, null, 2) @@ -133,5 +136,5 @@ export function parseAndWrite(options: Options) { export default { parse, parseText, - parseAndWrite + parseAndWrite, }; diff --git a/packages/vant-markdown-vetur/src/md-parser.ts b/packages/vant-markdown-vetur/src/md-parser.ts index 4f6be3ba4..673e1a560 100644 --- a/packages/vant-markdown-vetur/src/md-parser.ts +++ b/packages/vant-markdown-vetur/src/md-parser.ts @@ -24,6 +24,18 @@ function readLine(input: string) { return input.substr(0, end !== -1 ? end : input.length); } +function splitTableLine(line: string) { + line = line.replace('\\|', 'JOIN'); + + const items = line.split('|').map(item => item.trim().replace('JOIN', '|')); + + // remove pipe character on both sides + items.pop(); + items.shift(); + + return items; +} + function tableParse(input: string) { let start = 0; let isHead = true; @@ -31,7 +43,7 @@ function tableParse(input: string) { const end = input.length; const table: TableContent = { head: [], - body: [] + body: [], }; while (start < end) { @@ -44,25 +56,11 @@ function tableParse(input: string) { if (TABLE_SPLIT_LINE_REG.test(target)) { isHead = false; - } else if (isHead) { - // temp do nothing - } else { + } else if (!isHead && line.includes('|')) { const matched = line.trim().match(TD_REG); if (matched) { - table.body.push( - matched.map(i => { - if (i.indexOf('|') !== 0) { - return i - .trim() - .toLowerCase() - .split('|') - .map(s => s.trim()) - .join('|'); - } - return i.trim(); - }) - ); + table.body.push(splitTableLine(line)); } } @@ -71,7 +69,7 @@ function tableParse(input: string) { return { table, - usedLength: start + usedLength: start, }; } @@ -88,7 +86,7 @@ export function mdParser(input: string): Array { artical.push({ type: 'title', content: match[2], - level: match[1].length + level: match[1].length, }); start += match.index + match[0].length; @@ -96,7 +94,7 @@ export function mdParser(input: string): Array { const { table, usedLength } = tableParse(target.substr(match.index)); artical.push({ type: 'table', - table + table, }); start += match.index + usedLength; diff --git a/packages/vant-stylelint-config/index.js b/packages/vant-stylelint-config/index.js index d7955a711..0a8e205a8 100644 --- a/packages/vant-stylelint-config/index.js +++ b/packages/vant-stylelint-config/index.js @@ -6,6 +6,6 @@ module.exports = { 'number-leading-zero': null, 'no-descending-specificity': null, 'declaration-colon-newline-after': null, - 'font-family-no-missing-generic-family-keyword': null - } + 'font-family-no-missing-generic-family-keyword': null, + }, }; diff --git a/packages/vant-touch-emulator/index.js b/packages/vant-touch-emulator/index.js index 92674603c..dfa3607b7 100644 --- a/packages/vant-touch-emulator/index.js +++ b/packages/vant-touch-emulator/index.js @@ -9,16 +9,30 @@ var supportTouch = 'ontouchstart' in window; // polyfills if (!document.createTouch) { - document.createTouch = function(view, target, identifier, pageX, pageY, screenX, screenY) { + document.createTouch = function( + view, + target, + identifier, + pageX, + pageY, + screenX, + screenY + ) { // auto set - return new Touch(target, identifier, { - pageX: pageX, - pageY: pageY, - screenX: screenX, - screenY: screenY, - clientX: pageX - window.pageXOffset, - clientY: pageY - window.pageYOffset - }, 0, 0); + return new Touch( + target, + identifier, + { + pageX: pageX, + pageY: pageY, + screenX: screenX, + screenY: screenY, + clientX: pageX - window.pageXOffset, + clientY: pageY - window.pageYOffset, + }, + 0, + 0 + ); }; } @@ -78,15 +92,12 @@ function TouchList() { return touchList; } - - /** * only trigger touches when the left mousebutton has been pressed * @param touchType * @returns {Function} */ - var initiated = false; function onMouse(touchType) { return function(ev) { @@ -101,13 +112,17 @@ function onMouse(touchType) { } if (ev.type === 'mousemove' && !initiated) { - return + return; } // The EventTarget on which the touch point started when it was first placed on the surface, // even if the touch point has since moved outside the interactive area of that element. // also, when the target doesnt exist anymore, we update it - if (ev.type === 'mousedown' || !eventTarget || eventTarget && !eventTarget.dispatchEvent) { + if ( + ev.type === 'mousedown' || + !eventTarget || + (eventTarget && !eventTarget.dispatchEvent) + ) { eventTarget = ev.target; } diff --git a/packages/vant-waterfall/src/directive.js b/packages/vant-waterfall/src/directive.js index 1666e66f2..2bd668d93 100644 --- a/packages/vant-waterfall/src/directive.js +++ b/packages/vant-waterfall/src/directive.js @@ -3,7 +3,7 @@ import { getScrollTop, getElementTop, getVisibleHeight, - getScrollEventTarget + getScrollEventTarget, } from './scroll'; const CONTEXT = '@@Waterfall'; @@ -27,14 +27,18 @@ function handleScrollEvent() { // 判断是否到了底 let needLoadMoreToLower = false; if (element === scrollEventTarget) { - needLoadMoreToLower = scrollEventTarget.scrollHeight - targetBottom < this.offset; + needLoadMoreToLower = + scrollEventTarget.scrollHeight - targetBottom < this.offset; } else { const elementBottom = - getElementTop(element) - getElementTop(scrollEventTarget) + getVisibleHeight(element); + getElementTop(element) - + getElementTop(scrollEventTarget) + + getVisibleHeight(element); needLoadMoreToLower = elementBottom - targetVisibleHeight < this.offset; } if (needLoadMoreToLower) { - this.cb.lower && this.cb.lower({ target: scrollEventTarget, top: targetScrollTop }); + this.cb.lower && + this.cb.lower({ target: scrollEventTarget, top: targetScrollTop }); } // 判断是否到了顶 @@ -42,11 +46,13 @@ function handleScrollEvent() { if (element === scrollEventTarget) { needLoadMoreToUpper = targetScrollTop < this.offset; } else { - const elementTop = getElementTop(element) - getElementTop(scrollEventTarget); + const elementTop = + getElementTop(element) - getElementTop(scrollEventTarget); needLoadMoreToUpper = elementTop + this.offset > 0; } if (needLoadMoreToUpper) { - this.cb.upper && this.cb.upper({ target: scrollEventTarget, top: targetScrollTop }); + this.cb.upper && + this.cb.upper({ target: scrollEventTarget, top: targetScrollTop }); } } @@ -103,14 +109,14 @@ function doCheckStartBind(el) { } } -export default function (type) { +export default function(type) { return { bind(el, binding, vnode) { if (!el[CONTEXT]) { el[CONTEXT] = { el, vm: vnode.context, - cb: {} + cb: {}, }; } el[CONTEXT].cb[type] = binding.value; @@ -128,6 +134,6 @@ export default function (type) { if (context.scrollEventTarget) { off(context.scrollEventTarget, 'scroll', context.scrollEventListener); } - } + }, }; } diff --git a/packages/vant-waterfall/src/event.js b/packages/vant-waterfall/src/event.js index 0713d59ba..1d3b2ea62 100644 --- a/packages/vant-waterfall/src/event.js +++ b/packages/vant-waterfall/src/event.js @@ -8,10 +8,10 @@ try { get() { /* istanbul ignore next */ supportsPassive = true; - } + }, }); window.addEventListener('test-passive', null, opts); -// eslint-disable-next-line no-empty + // eslint-disable-next-line no-empty } catch (e) {} export function on(target, event, handler, passive = false) { diff --git a/packages/vant-waterfall/src/index.js b/packages/vant-waterfall/src/index.js index 612f87b27..7eaa335fc 100644 --- a/packages/vant-waterfall/src/index.js +++ b/packages/vant-waterfall/src/index.js @@ -1,6 +1,6 @@ import Waterfall from './directive'; -Waterfall.install = function (Vue) { +Waterfall.install = function(Vue) { Vue.directive('WaterfallLower', Waterfall('lower')); Vue.directive('WaterfallUpper', Waterfall('upper')); }; diff --git a/src/action-sheet/README.md b/src/action-sheet/README.md index 6f91abe7d..13e0f19ba 100644 --- a/src/action-sheet/README.md +++ b/src/action-sheet/README.md @@ -2,7 +2,7 @@ ### Install -``` javascript +```js import Vue from 'vue'; import { ActionSheet } from 'vant'; @@ -13,13 +13,15 @@ Vue.use(ActionSheet); ### Basic Usage -Use `actions` prop to set options of action-sheet. +Use `actions` prop to set options of action-sheet. ```html ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -31,38 +33,51 @@ export default { ] }; }, - methods: { onSelect(item) { this.show = false; Toast(item.name); } } -} +}; ``` -### Status +### Show Cancel Button ```html - + ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { - show: false, - actions: [ - { name: 'Option', color: '#07c160' }, - { loading: true }, - { name: 'Disabled Option', disabled: true } - ] + show: false }; + }, + methods: { + onCancel() { + this.show = false; + Toast('cancel'); + } } -} +}; ``` -### ActionSheet with cancel button +### Show Description + +```html + +``` + +### Option Status ```html -``` - -### ActionSheet with title +### Custom Panel ```html -

    Content

    +
    Content
    + + ``` ## API @@ -114,20 +123,31 @@ export default { | Attribute | Description | Type | Default | |------|------|------|------| -| actions | Options | *Action[]* | `[]` | +| actions | Options | *Action[]* | `[]` | | title | Title | *string* | - | | cancel-text | Text of cancel button | *string* | - | | description `v2.2.8` | Description above the options | *string* | - | -| overlay | Whether to show overlay | *boolean* | `true` | -| round `v2.0.9` | Whether to show round corner | *boolean* | `true` | | close-icon `v2.2.13` | Close icon name | *string* | `cross` | +| duration `v2.0.3` | Transition duration, unit second | *number \| string* | `0.3` | +| round `v2.0.9` | Whether to show round corner | *boolean* | `true` | +| overlay | Whether to show overlay | *boolean* | `true` | +| lock-scroll | Whether to lock background scroll | *boolean* | `true` | +| lazy-render | Whether to lazy render util appeared | *boolean* | `true` | | close-on-click-action | Whether to close when click action | *boolean* | `false` | | close-on-click-overlay | Whether to close when click overlay | *boolean* | `true` | -| lazy-render | Whether to lazy render util appeared | *boolean* | `true` | -| lock-scroll | Whether to lock background scroll | *boolean* | `true` | -| duration `v2.0.3` | Transition duration, unit second | *number* | `0.3` | -| get-container | Return the mount node for action-sheet | *string \| () => Element* | - | | safe-area-inset-bottom | Whether to enable bottom safe area adaptation | *boolean* | `true` | +| get-container | Return the mount node for ActionSheet | *string \| () => Element* | - | + +### Data Structure of Action + +| Key | Description | Type | +|------|------|------| +| name | Title | *string* | +| subname | Subtitle | *string* | +| color | Text color | *string* | +| className | className for the option | *any* | +| loading | Whether to be loading status | *boolean* | +| disabled | Whether to be disabled | *boolean* | ### Events @@ -140,14 +160,3 @@ export default { | opened | Triggered when opened ActionSheet | - | | close | Triggered when close ActionSheet | - | | closed | Triggered when closed ActionSheet | - | - -### Data Structure of Action - -| Key | Description | Type | -|------|------|------| -| name | Title | *string* | -| subname | Subtitle | *string* | -| color | Text color | *string* | -| className | className for the option | *any* | -| loading | Whether to be loading status | *boolean* | -| disabled | Whether to be disabled | *boolean* | diff --git a/src/action-sheet/README.zh-CN.md b/src/action-sheet/README.zh-CN.md index faa670a9b..d959eea46 100644 --- a/src/action-sheet/README.zh-CN.md +++ b/src/action-sheet/README.zh-CN.md @@ -2,7 +2,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { ActionSheet } from 'vant'; @@ -19,7 +19,9 @@ Vue.use(ActionSheet); ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -31,11 +33,10 @@ export default { ] }; }, - methods: { onSelect(item) { - // 默认情况下,点击选项时不会自动关闭菜单 - // 可以通过 close-on-click-action 属性开启自动关闭 + // 默认情况下点击选项时不会自动收起 + // 可以通过 close-on-click-action 属性开启自动收起 this.show = false; Toast(item.name); } @@ -43,29 +44,6 @@ export default { } ``` -### 选项状态 - -选项可以设置为加载状态或禁用状态,也可以通过`color`设置选项颜色 - -```html - -``` - -```javascript -export default { - data() { - return { - show: false, - actions: [ - { name: '选项', color: '#07c160' }, - { loading: true }, - { name: '禁用选项', disabled: true } - ] - }; - } -} -``` - ### 展示取消按钮 设置`cancel-text`属性后,会在底部展示取消按钮,点击后关闭当前菜单 @@ -80,13 +58,14 @@ export default { ``` ```js +import { Toast } from 'vant'; + export default { data() { return { show: false }; }, - methods: { onCancel() { this.show = false; @@ -108,14 +87,48 @@ export default { /> ``` -### 展示标题栏 +### 选项状态 -通过设置`title`属性展示标题栏,同时可以使用插槽自定义菜单内容 +可以将选项设置为加载状态或禁用状态,或者通过`color`设置选项颜色 + +```html + +``` + +```js +export default { + data() { + return { + show: false, + actions: [ + { name: '选项', color: '#07c160' }, + { loading: true }, + { name: '禁用选项', disabled: true } + ] + }; + } +} +``` + +### 自定义面板 + +通过插槽可以自定义菜单的展示内容,同时可以使用`title`属性展示标题栏 ```html -

    内容

    +
    内容
    + + ``` ## API @@ -128,28 +141,16 @@ export default { | title | 顶部标题 | *string* | - | | cancel-text | 取消按钮文字 | *string* | - | | description `v2.2.8` | 选项上方的描述信息 | *string* | - | -| overlay | 是否显示遮罩层 | *boolean* | `true` | +| close-icon `v2.2.13` | 关闭 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `cross` | +| duration `v2.0.3` | 动画时长,单位秒 | *number \| string* | `0.3` | | round `v2.0.9` | 是否显示圆角 | *boolean* | `true` | -| close-icon `v2.2.13` | 关闭图标名称或图片链接 | *string* | `cross` | +| overlay | 是否显示遮罩层 | *boolean* | `true` | +| lock-scroll | 是否锁定背景滚动 | *boolean* | `true` | +| lazy-render | 是否在显示弹层时才渲染节点 | *boolean* | `true` | | close-on-click-action | 是否在点击选项后关闭 | *boolean* | `false` | | close-on-click-overlay | 是否在点击遮罩层后关闭 | *boolean* | `true` | -| lazy-render | 是否在显示弹层时才渲染节点 | *boolean* | `true` | -| lock-scroll | 是否锁定背景滚动 | *boolean* | `true` | -| duration `v2.0.3` | 动画时长,单位秒 | *number* | `0.3` | +| safe-area-inset-bottom | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `true` | | get-container | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | -| safe-area-inset-bottom | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `true` | - -### Events - -| 事件名 | 说明 | 回调参数 | -|------|------|------| -| select | 选中选项时触发,禁用或加载状态下不会触发 | item: 选项对应的对象, index: 选择对应的索引 | -| cancel | 取消按钮点击时触发 | - | -| click-overlay | 点击遮罩层时触发 | - | -| open | 打开菜单时触发 | - | -| opened | 打开菜单且动画结束后触发 | - | -| close | 关闭菜单时触发 | - | -| closed | 关闭菜单且动画结束后触发 | - | ### Action 数据结构 @@ -164,6 +165,18 @@ export default { | loading | 是否为加载状态 | *boolean* | | disabled | 是否为禁用状态 | *boolean* | +### Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| select | 选中选项时触发,禁用或加载状态下不会触发 | item: 选项对应的对象, index: 选择对应的索引 | +| cancel | 取消按钮点击时触发 | - | +| click-overlay | 点击遮罩层时触发 | - | +| open | 打开菜单时触发 | - | +| opened | 打开菜单且动画结束后触发 | - | +| close | 关闭菜单时触发 | - | +| closed | 关闭菜单且动画结束后触发 | - | + ## 常见问题 ### 引入时提示 dependencies not found? diff --git a/src/action-sheet/demo/index.vue b/src/action-sheet/demo/index.vue index 0ea774aeb..c48ec118f 100644 --- a/src/action-sheet/demo/index.vue +++ b/src/action-sheet/demo/index.vue @@ -1,42 +1,58 @@ @@ -46,34 +62,36 @@ import { GREEN } from '../../utils/constant'; export default { i18n: { 'zh-CN': { - buttonText: '弹出菜单', - status: '选项状态', subname: '副文本', - disabledOption: '禁用选项', - showTitle: '展示标题栏', showCancel: '展示取消按钮', + buttonText: '弹出菜单', + customPanel: '自定义面板', + description: '这是一段描述信息', + optionStatus: '选项状态', + disabledOption: '禁用选项', showDescription: '展示描述信息', - description: '这是一段描述信息' }, 'en-US': { - buttonText: 'Show ActionSheet', - status: 'Status', subname: 'Subname', + showCancel: 'Show Cancel Button', + buttonText: 'Show ActionSheet', + customPanel: 'Custom Panel', + description: 'Description', + optionStatus: 'Option Status', disabledOption: 'Disabled Option', - showTitle: 'ActionSheet with title', - showCancel: 'ActionSheet with cancel button', - showDescription: 'ActionSheet with description', - description: 'Description' - } + showDescription: 'Show Description', + }, }, data() { return { - show1: false, - show2: false, - show3: false, - show4: false, - show5: false + show: { + basic: false, + cancel: false, + title: false, + status: false, + description: false, + }, }; }, @@ -82,7 +100,7 @@ export default { return [ { name: this.$t('option') }, { name: this.$t('option') }, - { name: this.$t('option'), subname: this.$t('subname') } + { name: this.$t('option'), subname: this.$t('subname') }, ]; }, @@ -90,21 +108,21 @@ export default { return [ { name: this.$t('option'), color: GREEN }, { loading: true }, - { name: this.$t('disabledOption'), disabled: true } + { name: this.$t('disabledOption'), disabled: true }, ]; - } + }, }, methods: { onSelect(item) { - this.show1 = false; + this.show.basic = false; this.$toast(item.name); }, onCancel() { this.$toast('cancel'); - } - } + }, + }, }; @@ -112,13 +130,7 @@ export default { @import '../../style/var'; .demo-action-sheet { - background-color: @white; - - .van-button { - margin-left: @padding-md; - } - - p { + &-content { padding: @padding-md @padding-md @padding-md * 10; } } diff --git a/src/action-sheet/index.tsx b/src/action-sheet/index.tsx index 47e9fa1e5..4e967011d 100644 --- a/src/action-sheet/index.tsx +++ b/src/action-sheet/index.tsx @@ -1,7 +1,12 @@ +// Utils import { createNamespace } from '../utils'; import { emit, inherit } from '../utils/functional'; import { BORDER_TOP } from '../utils/constant'; + +// Mixins import { popupMixinProps } from '../mixins/popup'; + +// Components import Icon from '../icon'; import Popup from '../popup'; import Loading from '../loading'; @@ -25,7 +30,7 @@ export type ActionSheetProps = PopupMixinProps & { round: boolean; title?: string; actions?: ActionSheetItem[]; - duration: number; + duration: number | string; closeIcon: string; cancelText?: string; description?: string; @@ -97,7 +102,7 @@ function ActionSheet( return [ {item.name}, - item.subname && {item.subname} + item.subname && {item.subname}, ]; } @@ -155,31 +160,31 @@ ActionSheet.props = { ...popupMixinProps, title: String, actions: Array, - duration: Number, + duration: [Number, String], cancelText: String, description: String, getContainer: [String, Function], closeOnClickAction: Boolean, round: { type: Boolean, - default: true + default: true, }, closeIcon: { type: String, - default: 'cross' + default: 'cross', }, safeAreaInsetBottom: { type: Boolean, - default: true + default: true, }, overlay: { type: Boolean, - default: true + default: true, }, closeOnClickOverlay: { type: Boolean, - default: true - } + default: true, + }, }; export default createComponent(ActionSheet); diff --git a/src/action-sheet/test/__snapshots__/demo.spec.js.snap b/src/action-sheet/test/__snapshots__/demo.spec.js.snap index cc8ccfe36..0b0f77f33 100644 --- a/src/action-sheet/test/__snapshots__/demo.spec.js.snap +++ b/src/action-sheet/test/__snapshots__/demo.spec.js.snap @@ -2,20 +2,36 @@ exports[`renders demo correctly 1`] = `
    -
    - +
    +
    +
    基础用法
    + +
    +
    +
    展示取消按钮
    + +
    +
    +
    展示描述信息
    + +
    -
    - +
    +
    +
    选项状态
    + +
    -
    - -
    -
    - -
    -
    - +
    +
    +
    自定义面板
    + +
    + + + + +
    `; diff --git a/src/action-sheet/test/index.spec.js b/src/action-sheet/test/index.spec.js index bc9fb4556..e07eeca18 100644 --- a/src/action-sheet/test/index.spec.js +++ b/src/action-sheet/test/index.spec.js @@ -18,15 +18,15 @@ test('callback events', () => { propsData: { value: true, actions, - cancelText: 'Cancel' + cancelText: 'Cancel', }, context: { on: { input: onInput, cancel: onCancel, - select: onSelect - } - } + select: onSelect, + }, + }, }); const options = wrapper.findAll('.van-action-sheet__item'); @@ -58,17 +58,17 @@ test('click overlay and close', async () => {
    `, components: { - ActionSheet + ActionSheet, }, data() { return { - getContainer: () => div + getContainer: () => div, }; }, methods: { onInput, - onClickOverlay - } + onClickOverlay, + }, }); await later(); @@ -82,12 +82,9 @@ test('disable lazy-render', () => { const wrapper = mount(ActionSheet, { propsData: { lazyRender: false, - actions: [ - { name: 'Option' }, - { name: 'Option' } - ], - cancelText: 'Cancel' - } + actions: [{ name: 'Option' }, { name: 'Option' }], + cancelText: 'Cancel', + }, }); expect(wrapper).toMatchSnapshot(); @@ -97,13 +94,13 @@ test('render title and default slot', () => { const wrapper = mount(ActionSheet, { propsData: { value: true, - title: 'Title' + title: 'Title', }, scopedSlots: { default() { return 'Default'; - } - } + }, + }, }); expect(wrapper).toMatchSnapshot(); @@ -113,8 +110,8 @@ test('get container', () => { const wrapper = mount(ActionSheet, { propsData: { value: true, - getContainer: 'body' - } + getContainer: 'body', + }, }); expect(wrapper.vm.$el.parentNode).toEqual(document.body); @@ -126,13 +123,13 @@ test('close-on-click-action prop', () => { propsData: { value: true, actions: [{ name: 'Option' }], - closeOnClickAction: true + closeOnClickAction: true, }, context: { on: { - input: onInput - } - } + input: onInput, + }, + }, }); const option = wrapper.find('.van-action-sheet__item'); @@ -146,8 +143,8 @@ test('round prop', () => { propsData: { value: true, round: true, - actions: [{ name: 'Option' }] - } + actions: [{ name: 'Option' }], + }, }); expect(wrapper).toMatchSnapshot(); @@ -157,8 +154,8 @@ test('color option', () => { const wrapper = mount(ActionSheet, { propsData: { value: true, - actions: [{ name: 'Option', color: 'red' }] - } + actions: [{ name: 'Option', color: 'red' }], + }, }); expect(wrapper).toMatchSnapshot(); @@ -169,8 +166,8 @@ test('description prop', () => { propsData: { value: true, description: 'This is a description', - actions: [{ name: 'Option' }] - } + actions: [{ name: 'Option' }], + }, }); expect(wrapper).toMatchSnapshot(); @@ -181,8 +178,8 @@ test('close-icon prop', () => { propsData: { value: true, title: 'Title', - closeIcon: 'cross' - } + closeIcon: 'cross', + }, }); expect(wrapper).toMatchSnapshot(); diff --git a/src/address-edit/Detail.js b/src/address-edit/Detail.js index 66baaeab3..b35fb89de 100644 --- a/src/address-edit/Detail.js +++ b/src/address-edit/Detail.js @@ -1,5 +1,8 @@ +// Utils import { createNamespace } from '../utils'; import { isAndroid } from '../utils/validate/system'; + +// Components import Cell from '../cell'; import Field from '../field'; @@ -11,16 +14,16 @@ export default createComponent({ value: String, errorMessage: String, focused: Boolean, - detailRows: Number, + detailRows: [Number, String], searchResult: Array, - detailMaxlength: Number, - showSearchResult: Boolean + detailMaxlength: [Number, String], + showSearchResult: Boolean, }, computed: { shouldShowSearchResult() { return this.focused && this.searchResult && this.showSearchResult; - } + }, }, methods: { @@ -71,12 +74,12 @@ export default createComponent({ return
    ; } - } + }, }} /> )); } - } + }, }, render() { @@ -100,5 +103,5 @@ export default createComponent({ {this.genSearchResult()} ); - } + }, }); diff --git a/src/address-edit/README.md b/src/address-edit/README.md index 95d23f88f..fafcf28e2 100644 --- a/src/address-edit/README.md +++ b/src/address-edit/README.md @@ -2,7 +2,7 @@ ### Install -``` javascript +```js import Vue from 'vue'; import { AddressEdit } from 'vant'; @@ -28,7 +28,9 @@ Vue.use(AddressEdit); /> ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -36,7 +38,6 @@ export default { searchResult: [] } }, - methods: { onSave() { Toast('save'); @@ -74,13 +75,13 @@ export default { | show-search-result | Whether to show address search result | *boolean* | `false` | | save-button-text | Save button text | *string* | `Save` | | delete-button-text | Delete button text | *string* | `Delete` | -| detail-rows | Detail input rows | *number* | `1` | -| detail-maxlength `v2.0.4` | Detail maxlength | *number* | `200` | +| detail-rows | Detail input rows | *number \| string* | `1` | +| detail-maxlength `v2.0.4` | Detail maxlength | *number \| string* | `200` | | is-saving | Whether to show save button loading status | *boolean* | `false` | | is-deleting | Whether to show delete button loading status | *boolean* | `false` | | tel-validator | The method to validate tel | *(tel: string) => boolean* | - | | postal-validator `v2.1.2` | The method to validate postal | *(tel: string) => boolean* | - | -| validator | Custom validator | *(key, value) => string* | - | +| validator | Custom validator | *(key, val) => string* | - | ### Events @@ -113,7 +114,7 @@ Use [ref](https://vuejs.org/v2/api/#ref) to get AddressEdit instance and call in | key | Description | Type | |------|------|------| -| id | Address Id | *string \| number* | +| id | Address Id | *number \| string* | | name | Name | *string* | | tel | Phone | *string* | | province | Province | *string* | diff --git a/src/address-edit/README.zh-CN.md b/src/address-edit/README.zh-CN.md index 33aad1913..ac93c6d30 100644 --- a/src/address-edit/README.zh-CN.md +++ b/src/address-edit/README.zh-CN.md @@ -2,7 +2,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { AddressEdit } from 'vant'; @@ -28,7 +28,9 @@ Vue.use(AddressEdit); /> ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -36,7 +38,6 @@ export default { searchResult: [] } }, - methods: { onSave() { Toast('save'); @@ -74,13 +75,13 @@ export default { | show-search-result | 是否显示搜索结果 | *boolean* | `false` | | save-button-text | 保存按钮文字 | *string* | `保存` | | delete-button-text | 删除按钮文字 | *string* | `删除` | -| detail-rows | 详细地址输入框行数 | *number* | `1` | -| detail-maxlength `v2.0.4` | 详细地址最大长度 | *number* | `200` | +| detail-rows | 详细地址输入框行数 | *number \| string* | `1` | +| detail-maxlength `v2.0.4` | 详细地址最大长度 | *number \| string* | `200` | | is-saving | 是否显示保存按钮加载动画 | *boolean* | `false` | | is-deleting | 是否显示删除按钮加载动画 | *boolean* | `false` | | tel-validator | 手机号格式校验函数 | *string => boolean* | - | | postal-validator `v2.1.2` | 邮政编码格式校验函数 | *string => boolean* | - | -| validator | 自定义校验函数 | *(key, value) => string* | - | +| validator | 自定义校验函数 | *(key, val) => string* | - | ### Events @@ -103,7 +104,7 @@ export default { ### 方法 -通过 [ref](https://cn.vuejs.org/v2/api/#ref) 可以获取到 AddressEdit 实例并调用实例方法 +通过 ref 可以获取到 AddressEdit 实例并调用实例方法,详见 [组件实例方法](#/zh-CN/quickstart#zu-jian-shi-li-fang-fa) | 方法名 | 说明 | 参数 | 返回值 | |------|------|------|------| @@ -115,7 +116,7 @@ export default { | key | 说明 | 类型 | |------|------|------| -| id | 每条地址的唯一标识 | *string \| number* | +| id | 每条地址的唯一标识 | *number \| string* | | name | 收货人姓名 | *string* | | tel | 收货人手机号 | *string* | | province | 省份 | *string* | diff --git a/src/address-edit/demo/index.vue b/src/address-edit/demo/index.vue index b681b2ecd..108bca294 100644 --- a/src/address-edit/demo/index.vue +++ b/src/address-edit/demo/index.vue @@ -24,34 +24,42 @@ export default { i18n: { 'zh-CN': { areaColumnsPlaceholder: ['请选择', '请选择', '请选择'], - searchResult: [{ - name: '黄龙万科中心', - address: '杭州市西湖区' - }, { - name: '黄龙万科中心G座' - }, { - name: '黄龙万科中心H座', - address: '杭州市西湖区' - }] + searchResult: [ + { + name: '黄龙万科中心', + address: '杭州市西湖区', + }, + { + name: '黄龙万科中心G座', + }, + { + name: '黄龙万科中心H座', + address: '杭州市西湖区', + }, + ], }, 'en-US': { areaColumnsPlaceholder: ['Choose', 'Choose', 'Choose'], - searchResult: [{ - name: 'Name1', - address: 'Address' - }, { - name: 'Name2' - }, { - name: 'Name3', - address: 'Address' - }] - } + searchResult: [ + { + name: 'Name1', + address: 'Address', + }, + { + name: 'Name2', + }, + { + name: 'Name3', + address: 'Address', + }, + ], + }, }, data() { return { areaList, - searchResult: [] + searchResult: [], }; }, @@ -66,8 +74,8 @@ export default { onChangeDetail(val) { this.searchResult = val ? this.$t('searchResult') : []; - } - } + }, + }, }; diff --git a/src/address-edit/index.js b/src/address-edit/index.js index f9d55b849..e24164db3 100644 --- a/src/address-edit/index.js +++ b/src/address-edit/index.js @@ -1,5 +1,8 @@ -import { createNamespace, isObj } from '../utils'; +// Utils +import { createNamespace, isObject } from '../utils'; import { isMobile } from '../utils/validate/mobile'; + +// Components import Area from '../area'; import Field from '../field'; import Popup from '../popup'; @@ -21,7 +24,7 @@ const defaultData = { areaCode: '', postalCode: '', addressDetail: '', - isDefault: false + isDefault: false, }; function isPostal(value) { @@ -43,36 +46,36 @@ export default createComponent({ deleteButtonText: String, showArea: { type: Boolean, - default: true + default: true, }, showDetail: { type: Boolean, - default: true + default: true, }, detailRows: { - type: Number, - default: 1 + type: [Number, String], + default: 1, }, detailMaxlength: { - type: Number, - default: 200 + type: [Number, String], + default: 200, }, addressInfo: { type: Object, - default: () => ({ ...defaultData }) + default: () => ({ ...defaultData }), }, telValidator: { type: Function, - default: isMobile + default: isMobile, }, postalValidator: { type: Function, - default: isPostal + default: isPostal, }, areaColumnsPlaceholder: { type: Array, - default: () => [] - } + default: () => [], + }, }, data() { @@ -85,14 +88,14 @@ export default createComponent({ name: '', areaCode: '', postalCode: '', - addressDetail: '' - } + addressDetail: '', + }, }; }, computed: { areaListLoaded() { - return isObj(this.areaList) && Object.keys(this.areaList).length; + return isObject(this.areaList) && Object.keys(this.areaList).length; }, areaText() { @@ -105,7 +108,7 @@ export default createComponent({ return arr.filter(text => text).join('/'); } return ''; - } + }, }, watch: { @@ -113,18 +116,18 @@ export default createComponent({ handler(val) { this.data = { ...defaultData, - ...val + ...val, }; this.setAreaCode(val.areaCode); }, deep: true, - immediate: true + immediate: true, }, areaList() { this.setAreaCode(this.data.areaCode); - } + }, }, methods: { @@ -209,7 +212,7 @@ export default createComponent({ onDelete() { Dialog.confirm({ - title: t('confirmDelete') + title: t('confirmDelete'), }) .then(() => { this.$emit('delete', this.data); @@ -243,7 +246,7 @@ export default createComponent({ setTimeout(() => { this.detailFocused = false; }); - } + }, }, render() { @@ -368,5 +371,5 @@ export default createComponent({
    ); - } + }, }); diff --git a/src/address-edit/test/__snapshots__/demo.spec.js.snap b/src/address-edit/test/__snapshots__/demo.spec.js.snap index 100c392e3..8315328ea 100644 --- a/src/address-edit/test/__snapshots__/demo.spec.js.snap +++ b/src/address-edit/test/__snapshots__/demo.spec.js.snap @@ -20,7 +20,7 @@ exports[`renders demo correctly 1`] = `
    地区
    -
    +
    diff --git a/src/address-edit/test/__snapshots__/index.spec.js.snap b/src/address-edit/test/__snapshots__/index.spec.js.snap index 1e0659574..f46360709 100644 --- a/src/address-edit/test/__snapshots__/index.spec.js.snap +++ b/src/address-edit/test/__snapshots__/index.spec.js.snap @@ -18,7 +18,7 @@ exports[`create a AddressEdit 1`] = `
    地区
    -
    +
    @@ -57,7 +57,7 @@ exports[`create a AddressEdit with props 1`] = `
    地区
    -
    +
    @@ -110,7 +110,7 @@ exports[`set-default 1`] = `
    地区
    -
    +
    @@ -163,7 +163,7 @@ exports[`show area component 1`] = `
    地区
    -
    +
    @@ -216,7 +216,7 @@ exports[`show area component 2`] = `
    地区
    -
    +
    @@ -269,7 +269,7 @@ exports[`valid area placeholder confirm 1`] = `
    地区
    -
    +
    diff --git a/src/address-edit/test/index.spec.js b/src/address-edit/test/index.spec.js index 80325de03..ce5e5a3c9 100644 --- a/src/address-edit/test/index.spec.js +++ b/src/address-edit/test/index.spec.js @@ -11,7 +11,7 @@ const addressInfo = { addressDetail: '详细地址', areaCode: '110101', postalCode: '10000', - isDefault: true + isDefault: true, }; const createComponent = () => { @@ -20,8 +20,8 @@ const createComponent = () => { areaList, addressInfo, showPostal: true, - showSetDefault: true - } + showSetDefault: true, + }, }); const button = wrapper.find('.van-button'); @@ -33,7 +33,7 @@ const createComponent = () => { field, button, wrapper, - errorInfo + errorInfo, }; }; @@ -48,8 +48,8 @@ test('create a AddressEdit with props', () => { addressInfo, showPostal: true, showSetDefault: true, - showSearchResult: true - } + showSearchResult: true, + }, }); expect(wrapper).toMatchSnapshot(); @@ -60,7 +60,7 @@ test('valid area placeholder confirm', async () => { propsData: { areaList, areaColumnsPlaceholder: ['请选择', '请选择', '请选择'], - } + }, }); const { data } = wrapper.vm; @@ -100,8 +100,8 @@ test('validator props', async () => { areaList, validator(key, value) { return `${key}${value}`; - } - } + }, + }, }); const { errorInfo, data } = wrapper.vm; @@ -192,13 +192,13 @@ test('watch address info', () => { test('set/get area code', async () => { const wrapper = mount(AddressEdit, { - propsData: { areaList } + propsData: { areaList }, }); expect(wrapper.vm.getArea()).toEqual([ { code: '110000', name: '北京市' }, { code: '110100', name: '北京市' }, - { code: '110101', name: '东城区' } + { code: '110101', name: '东城区' }, ]); wrapper.vm.setAreaCode('110102'); @@ -208,7 +208,7 @@ test('set/get area code', async () => { expect(wrapper.vm.getArea()).toEqual([ { code: '110000', name: '北京市' }, { code: '110100', name: '北京市' }, - { code: '110102', name: '西城区' } + { code: '110102', name: '西城区' }, ]); wrapper.vm.$refs = []; @@ -221,9 +221,9 @@ test('watch area code', async () => { propsData: { areaList: {}, addressInfo: { - areaCode: '110101' - } - } + areaCode: '110101', + }, + }, }); expect(wrapper.vm.data.city).toEqual(''); @@ -240,9 +240,9 @@ test('show search result', async () => { searchResult: [ { name: 'name1', address: 'address1' }, { name: 'name2' }, - { address: 'address2' } - ] - } + { address: 'address2' }, + ], + }, }); const field = wrapper.findAll('.van-field__control').at(3); @@ -266,8 +266,8 @@ test('delete address', async () => { const wrapper = mount(AddressEdit, { attachToDocument: true, propsData: { - showDelete: true - } + showDelete: true, + }, }); const deleteButton = wrapper.findAll('.van-button').at(1); diff --git a/src/address-list/Item.tsx b/src/address-list/Item.tsx index b7ab87c8e..de936a08e 100644 --- a/src/address-list/Item.tsx +++ b/src/address-list/Item.tsx @@ -1,9 +1,12 @@ +// Utils import { createNamespace } from '../utils'; import { emit, inherit } from '../utils/functional'; + +// Components +import Tag from '../tag'; import Icon from '../icon'; import Cell from '../cell'; import Radio from '../radio'; -import Tag from '../tag'; // Types import { CreateElement, RenderContext } from 'vue/types'; @@ -77,7 +80,7 @@ function AddressItem( {`${data.name} ${data.tel}`} {genTag()}
    , -
    {data.address}
    +
    {data.address}
    , ]; if (switchable && !disabled) { @@ -99,7 +102,7 @@ function AddressItem( clickable={switchable && !disabled} scopedSlots={{ default: genContent, - 'right-icon': genRightIcon + 'right-icon': genRightIcon, }} onClick={onClick} {...inherit(ctx)} @@ -111,7 +114,7 @@ AddressItem.props = { data: Object, disabled: Boolean, switchable: Boolean, - defaultTagText: String + defaultTagText: String, }; export default createComponent( diff --git a/src/address-list/README.md b/src/address-list/README.md index 386680fa5..415984d15 100644 --- a/src/address-list/README.md +++ b/src/address-list/README.md @@ -2,7 +2,7 @@ ### Install -``` javascript +```js import Vue from 'vue'; import { AddressList } from 'vant'; @@ -25,7 +25,9 @@ Vue.use(AddressList); /> ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -54,7 +56,6 @@ export default { ] } }, - methods: { onAdd() { Toast('Add'); @@ -95,9 +96,9 @@ export default { | Key | Description | Type | |------|------|------| -| id | Id | *string \| number* | +| id | Id | *number \| string* | | name | Name | *string* | -| tel | Phone | *string \| number* | +| tel | Phone | *number \| string* | | address | Address | *string* | | isDefault | Is default address | *boolean* | diff --git a/src/address-list/README.zh-CN.md b/src/address-list/README.zh-CN.md index 0465d9586..60505d0d6 100644 --- a/src/address-list/README.zh-CN.md +++ b/src/address-list/README.zh-CN.md @@ -2,7 +2,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { AddressList } from 'vant'; @@ -25,7 +25,9 @@ Vue.use(AddressList); /> ``` -```javascript +```js +import { Toast } from 'vant'; + export default { data() { return { @@ -54,12 +56,10 @@ export default { ] } }, - methods: { onAdd() { Toast('新增地址'); }, - onEdit(item, index) { Toast('编辑地址:' + index); } @@ -96,9 +96,9 @@ export default { | 键名 | 说明 | 类型 | |------|------|------| -| id | 每条地址的唯一标识 | *string \| number* | +| id | 每条地址的唯一标识 | *number \| string* | | name | 收货人姓名 | *string* | -| tel | 收货人手机号 | *string \| number* | +| tel | 收货人手机号 | *number \| string* | | address | 收货地址 | *string* | | isDefault | 是否为默认地址 | *boolean* | diff --git a/src/address-list/demo/index.vue b/src/address-list/demo/index.vue index 6982e2772..8a6190849 100644 --- a/src/address-list/demo/index.vue +++ b/src/address-list/demo/index.vue @@ -24,27 +24,27 @@ export default { name: '张三', tel: '13000000000', address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室', - isDefault: true + isDefault: true, }, { id: '2', name: '李四', tel: '1310000000', - address: '浙江省杭州市拱墅区莫干山路 50 号' - } + address: '浙江省杭州市拱墅区莫干山路 50 号', + }, ], disabledList: [ { id: '3', name: '王五', tel: '1320000000', - address: '浙江省杭州市滨江区江南大道 15 号' - } + address: '浙江省杭州市滨江区江南大道 15 号', + }, ], add: '新增地址', edit: '编辑地址', disabledText: '以下地址超出配送范围', - defaultTagText: '默认' + defaultTagText: '默认', }, 'en-US': { list: [ @@ -53,33 +53,33 @@ export default { name: 'John Snow', tel: '13000000000', address: 'Somewhere', - isDefault: true + isDefault: true, }, { id: '2', name: 'Ned Stark', tel: '1310000000', - address: 'Somewhere' - } + address: 'Somewhere', + }, ], disabledList: [ { id: '3', name: 'Tywin', tel: '1320000000', - address: 'Somewhere' - } + address: 'Somewhere', + }, ], add: 'Add', edit: 'Edit', disabledText: 'The following address is out of range', - defaultTagText: 'Default' - } + defaultTagText: 'Default', + }, }, data() { return { - chosenAddressId: '1' + chosenAddressId: '1', }; }, @@ -90,8 +90,8 @@ export default { onEdit(item, index) { this.$toast(`${this.$t('edit')}:${index}`); - } - } + }, + }, }; diff --git a/src/address-list/index.tsx b/src/address-list/index.tsx index 19c58fc90..06bb14b1f 100644 --- a/src/address-list/index.tsx +++ b/src/address-list/index.tsx @@ -1,5 +1,8 @@ +// Utils import { createNamespace } from '../utils'; import { emit, inherit } from '../utils/functional'; + +// Components import Button from '../button'; import RadioGroup from '../radio-group'; import AddressItem, { AddressItemData } from './Item'; @@ -66,7 +69,9 @@ function AddressList(
    {slots.top?.()} {List} - {props.disabledText &&
    {props.disabledText}
    } + {props.disabledText && ( +
    {props.disabledText}
    + )} {DisabledList} {slots.default?.()}
    @@ -94,8 +99,8 @@ AddressList.props = { defaultTagText: String, switchable: { type: Boolean, - default: true - } + default: true, + }, }; export default createComponent(AddressList); diff --git a/src/address-list/test/index.spec.js b/src/address-list/test/index.spec.js index c4ed57d4b..bd651cee6 100644 --- a/src/address-list/test/index.spec.js +++ b/src/address-list/test/index.spec.js @@ -6,22 +6,22 @@ const list = [ id: '1', name: '张三', tel: '13000000000', - address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室' + address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室', }, { id: '2', name: '李四', tel: '1310000000', - address: '浙江省杭州市拱墅区莫干山路 50 号' - } + address: '浙江省杭州市拱墅区莫干山路 50 号', + }, ]; test('unswitchable', () => { const wrapper = mount(AddressList, { propsData: { list, - switchable: false - } + switchable: false, + }, }); expect(wrapper).toMatchSnapshot(); @@ -31,13 +31,13 @@ test('select event', () => { const onSelect = jest.fn(); const wrapper = mount(AddressList, { propsData: { - list + list, }, context: { on: { - select: onSelect - } - } + select: onSelect, + }, + }, }); wrapper.find('.van-radio__icon').trigger('click'); @@ -49,13 +49,13 @@ test('click-item event', () => { const onClickItem = jest.fn(); const wrapper = mount(AddressList, { propsData: { - list + list, }, context: { on: { - 'click-item': onClickItem - } - } + 'click-item': onClickItem, + }, + }, }); wrapper.find('.van-address-item').trigger('click'); diff --git a/src/area/README.md b/src/area/README.md index 0200a354c..132def45e 100644 --- a/src/area/README.md +++ b/src/area/README.md @@ -6,7 +6,7 @@ The Picker component is usually used with [Popup](#/en-US/popup) Component. ### Install -``` javascript +```js import Vue from 'vue'; import { Area } from 'vant'; @@ -60,16 +60,16 @@ Set `columns-num` with 2, you'll have a 2 level picker. |------|------|------|------| | value | the `code` of selected area | *string* | - | | title | Toolbar title | *string* | - | -| area-list | Area data | *object* | - | -| columns-num | level of picker | *string \| number* | `3` | -| columns-placeholder `v2.2.5` | placeholder of columns | *string[]* | `[]` | -| item-height | Option height | *number* | `44` | -| loading | Whether to show loading prompt | *boolean* | `false` | -| visible-item-count | Count of visible columns | *number* | `5` | | confirm-button-text | Text of confirm button | *string* | `Confirm` | | cancel-button-text | Text of cancel button | *string* | `Cancel` | +| area-list | Area list data | *object* | - | +| columns-placeholder `v2.2.5` | Placeholder of columns | *string[]* | `[]` | +| loading | Whether to show loading prompt | *boolean* | `false` | +| item-height | Option height | *number \| string* | `44` | +| columns-num | Level of picker | *number \| string* | `3` | +| visible-item-count | Count of visible columns | *number \| string* | `5` | +| swipe-duration `v2.2.13` | Duration of the momentum animation,unit `ms` | *number \| string* | `1000` | | is-oversea-code `v2.1.4` | The method to validate oversea code | *() => boolean* | - | -| swipe-duration `v2.2.13` | Duration of the momentum animation,unit `ms` | *number* | `1000` | ### Events @@ -94,7 +94,7 @@ Each property is a simple key-value object, key is a 6-bit code of the area of w Example of `AreaList` -```javascript +```js { province_list: { 110000: 'Beijing', @@ -123,7 +123,7 @@ All code of China: [Area.json](https://github.com/youzan/vant/blob/dev/src/area/ An array contains selected area objects. `code` - code of selected area, `name` - name of selected area -```javascript +```js [{ code: '330000', name: 'Zhejiang Province' diff --git a/src/area/README.zh-CN.md b/src/area/README.zh-CN.md index e2ef3e728..32ceeae99 100644 --- a/src/area/README.zh-CN.md +++ b/src/area/README.zh-CN.md @@ -2,11 +2,11 @@ ### 介绍 -省市区选择组件通常与 [弹出层](#/zh-CN/popup) 组件配合使用 +省市区三级联动选择,通常与 [弹出层](#/zh-CN/popup) 组件配合使用 ### 引入 -```javascript +```js import Vue from 'vue'; import { Area } from 'vant'; @@ -59,16 +59,16 @@ Vue.use(Area); |------|------|------|------| | value | 当前选中的省市区`code` | *string* | - | | title | 顶部栏标题 | *string* | - | -| area-list | 省市区数据,格式见下方 | *object* | - | -| columns-num | 显示列数,3-省市区,2-省市,1-省 | *string \| number* | `3` | -| columns-placeholder `v2.2.5` | 列占位提示文字 | *string[]* | `[]` | -| loading | 是否显示加载状态 | *boolean* | `false` | -| item-height | 选项高度 | *number* | `44` | -| visible-item-count | 可见的选项个数 | *number* | `5` | | confirm-button-text | 确认按钮文字 | *string* | `确认` | | cancel-button-text | 取消按钮文字 | *string* | `取消` | +| area-list | 省市区数据,格式见下方 | *object* | - | +| columns-placeholder `v2.2.5` | 列占位提示文字 | *string[]* | `[]` | +| loading | 是否显示加载状态 | *boolean* | `false` | +| item-height | 选项高度 | *number \| string* | `44` | +| columns-num | 显示列数,3-省市区,2-省市,1-省 | *number \| string* | `3` | +| visible-item-count | 可见的选项个数 | *number \| string* | `5` | +| swipe-duration `v2.2.13` | 快速滑动时惯性滚动的时长,单位`ms` | *number \| string* | `1000` | | is-oversea-code `v2.1.4` | 根据`code`校验海外地址,海外地址会划分至单独的分类 | *() => boolean* | - | -| swipe-duration `v2.2.13` | 快速滑动时惯性滚动的时长,单位`ms` | *number* | `1000` | ### Events @@ -80,7 +80,7 @@ Vue.use(Area); ### 方法 -通过 [ref](https://cn.vuejs.org/v2/api/#ref) 可以获取到 Area 实例并调用实例方法 +通过 ref 可以获取到 Area 实例并调用实例方法,详见 [组件实例方法](#/zh-CN/quickstart#zu-jian-shi-li-fang-fa) | 方法名 | 说明 | 参数 | 返回值 | |------|------|------|------| @@ -94,7 +94,7 @@ Vue.use(Area); `AreaList`具体格式如下: -```javascript +```js { province_list: { 110000: '北京市', @@ -129,7 +129,7 @@ Vue.use(Area); `code` 代表被选中的地区编码, `name` 代表被选中的地区名称 -```javascript +```js [ { code: '110000', diff --git a/src/area/demo/area-en.js b/src/area/demo/area-en.js index 5acfdee10..666aa2b35 100644 --- a/src/area/demo/area-en.js +++ b/src/area/demo/area-en.js @@ -2,7 +2,7 @@ export default { province_list: { 110000: 'Beijing', 330000: 'Zhejiang', - 810000: 'Hong Kong' + 810000: 'Hong Kong', }, city_list: { 110100: 'Beijing City', @@ -13,7 +13,7 @@ export default { 331100: 'Lishui', 810100: 'Hong Kong Island', 810200: 'Kowloon', - 810300: 'New Territories' + 810300: 'New Territories', }, county_list: { 110101: 'Dongcheng', @@ -66,6 +66,6 @@ export default { 810305: 'Yuen Long', 810306: 'Tuen Mun', 810307: 'Tsuen Wan', - 810309: 'Lantau Island' - } + 810309: 'Lantau Island', + }, }; diff --git a/src/area/demo/area.js b/src/area/demo/area.js index 8fea7a4ea..c1cf1755d 100644 --- a/src/area/demo/area.js +++ b/src/area/demo/area.js @@ -34,7 +34,7 @@ export default { 710000: '台湾省', 810000: '香港特别行政区', 820000: '澳门特别行政区', - 900000: '海外' + 900000: '海外', }, city_list: { 110100: '北京市', @@ -648,7 +648,7 @@ export default { 987600: '瓦利斯和富图纳', 988200: '萨摩亚', 988700: '也门', - 989400: '赞比亚' + 989400: '赞比亚', }, county_list: { 110101: '东城区', @@ -4035,6 +4035,6 @@ export default { 810308: '葵青区', 810309: '离岛区', 820101: '澳门半岛', - 820201: '离岛' - } + 820201: '离岛', + }, }; diff --git a/src/area/demo/area.simple.js b/src/area/demo/area.simple.js index 8f694ceac..248a9be0e 100644 --- a/src/area/demo/area.simple.js +++ b/src/area/demo/area.simple.js @@ -1,13 +1,13 @@ export default { province_list: { 110000: '北京市', - 120000: '天津市' + 120000: '天津市', }, city_list: { 110100: '北京市', 110200: '县', 120100: '天津市', - 120200: '县' + 120200: '县', }, county_list: { 110101: '东城区', @@ -16,6 +16,6 @@ export default { 110229: '延庆县', 120101: '和平区', 120102: '河东区', - 120225: '蓟县' - } + 120225: '蓟县', + }, }; diff --git a/src/area/demo/index.vue b/src/area/demo/index.vue index 68113206a..5bad071ba 100644 --- a/src/area/demo/index.vue +++ b/src/area/demo/index.vue @@ -5,10 +5,7 @@ - + @@ -48,13 +45,13 @@ export default { title4: 'Columns Placeholder', columnsPlaceholder: ['Choose', 'Choose', 'Choose'], areaList: AreaListEn, - } + }, }, data() { return { - value: '330302' + value: '330302', }; - } + }, }; diff --git a/src/area/index.js b/src/area/index.js index b2d1940dd..446482564 100644 --- a/src/area/index.js +++ b/src/area/index.js @@ -16,26 +16,26 @@ export default createComponent({ value: String, areaList: { type: Object, - default: () => ({}) + default: () => ({}), }, columnsNum: { type: [Number, String], - default: 3 + default: 3, }, isOverseaCode: { type: Function, - default: isOverseaCode + default: isOverseaCode, }, columnsPlaceholder: { type: Array, - default: () => [] - } + default: () => [], + }, }, data() { return { code: this.value, - columns: [{ values: [] }, { values: [] }, { values: [] }] + columns: [{ values: [] }, { values: [] }, { values: [] }], }; }, @@ -60,27 +60,27 @@ export default createComponent({ return { province: this.columnsPlaceholder[0] || '', city: this.columnsPlaceholder[1] || '', - county: this.columnsPlaceholder[2] || '' + county: this.columnsPlaceholder[2] || '', }; - } + }, }, watch: { - value() { - this.code = this.value; + value(val) { + this.code = val; this.setValues(); }, areaList: { deep: true, - handler: 'setValues' + handler: 'setValues', }, columnsNum() { this.$nextTick(() => { this.setValues(); }); - } + }, }, mounted() { @@ -98,7 +98,7 @@ export default createComponent({ const list = this[type]; result = Object.keys(list).map(listCode => ({ code: listCode, - name: list[listCode] + name: list[listCode], })); if (code) { @@ -112,16 +112,16 @@ export default createComponent({ if (this.placeholderMap[type] && result.length) { // set columns placeholder - const codeFill = - type === 'province' - ? '' - : type === 'city' - ? PLACEHOLDER_CODE.slice(2, 4) - : PLACEHOLDER_CODE.slice(4, 6); + let codeFill = ''; + if (type === 'city') { + codeFill = PLACEHOLDER_CODE.slice(2, 4); + } else if (type === 'county') { + codeFill = PLACEHOLDER_CODE.slice(4, 6); + } result.unshift({ code: `${code}${codeFill}`, - name: this.placeholderMap[type] + name: this.placeholderMap[type], }); } @@ -218,7 +218,7 @@ export default createComponent({ picker.setIndexes([ this.getIndex('province', code), this.getIndex('city', code), - this.getIndex('county', code) + this.getIndex('county', code), ]); }, @@ -236,7 +236,7 @@ export default createComponent({ country: '', province: '', city: '', - county: '' + county: '', }; if (!values.length) { @@ -266,14 +266,14 @@ export default createComponent({ reset(code) { this.code = code || ''; this.setValues(); - } + }, }, render() { const on = { ...this.$listeners, change: this.onChange, - confirm: this.onConfirm + confirm: this.onConfirm, }; return ( @@ -293,5 +293,5 @@ export default createComponent({ {...{ on }} /> ); - } + }, }); diff --git a/src/area/test/index.spec.js b/src/area/test/index.spec.js index 90baed817..5a4f3e037 100644 --- a/src/area/test/index.spec.js +++ b/src/area/test/index.spec.js @@ -5,13 +5,13 @@ import { mount, later, triggerDrag } from '../../../test'; const firstOption = [ { code: '110000', name: '北京市' }, { code: '110100', name: '北京市' }, - { code: '110101', name: '东城区' } + { code: '110101', name: '东城区' }, ]; const secondOption = [ { code: '120000', name: '天津市' }, { code: '120100', name: '天津市' }, - { code: '120101', name: '和平区' } + { code: '120101', name: '和平区' }, ]; test('confirm & cancel event', async () => { @@ -19,12 +19,12 @@ test('confirm & cancel event', async () => { const onCancel = jest.fn(); const wrapper = mount(Area, { propsData: { - areaList + areaList, }, listeners: { confirm: onConfirm, - cancel: onCancel - } + cancel: onCancel, + }, }); await later(); @@ -39,8 +39,8 @@ test('confirm & cancel event', async () => { test('watch areaList & code', async () => { const wrapper = mount(Area, { propsData: { - areaList - } + areaList, + }, }); expect(wrapper).toMatchSnapshot(); @@ -50,7 +50,7 @@ test('watch areaList & code', async () => { expect(wrapper).toMatchSnapshot(); wrapper.setProps({ - value: '' + value: '', }); expect(wrapper).toMatchSnapshot(); }); @@ -59,22 +59,28 @@ test('change option', () => { const onChange = jest.fn(); const wrapper = mount(Area, { propsData: { - areaList + areaList, }, listeners: { - change: onChange - } + change: onChange, + }, }); const columns = wrapper.findAll('.van-picker-column'); expect(wrapper).toMatchSnapshot(); triggerDrag(columns.at(0), 0, -100); - columns.at(0).find('ul').trigger('transitionend'); + columns + .at(0) + .find('ul') + .trigger('transitionend'); expect(wrapper).toMatchSnapshot(); triggerDrag(columns.at(2), 0, -100); - columns.at(2).find('ul').trigger('transitionend'); + columns + .at(2) + .find('ul') + .trigger('transitionend'); expect(wrapper).toMatchSnapshot(); expect(onChange.mock.calls[0][1]).toEqual(secondOption); @@ -83,11 +89,11 @@ test('change option', () => { test('getValues method', () => { const wrapper = mount(Area, { propsData: { - areaList + areaList, }, created() { expect(this.getValues()).toEqual([]); - } + }, }); expect(wrapper.vm.getValues()).toEqual(firstOption); @@ -97,8 +103,8 @@ test('reset method', async () => { const wrapper = mount(Area, { propsData: { areaList, - value: '120225' - } + value: '120225', + }, }); await later(); @@ -111,12 +117,12 @@ test('columns-num prop', async () => { const wrapper = mount(Area, { propsData: { areaList, - columnsNum: 3 - } + columnsNum: 3, + }, }); wrapper.setProps({ - columnsNum: 2 + columnsNum: 2, }); await later(); diff --git a/src/button/README.md b/src/button/README.md index 1e1715459..0937207e4 100644 --- a/src/button/README.md +++ b/src/button/README.md @@ -2,7 +2,7 @@ ### Install -``` javascript +```js import Vue from 'vue'; import { Button } from 'vant'; @@ -74,6 +74,12 @@ Vue.use(Button); Mini ``` +### Block Element + +```html +Block Element +``` + ### Route ```html @@ -89,11 +95,6 @@ Vue.use(Button); Gradient ``` -### Block Element -```html -Block Element -``` - ## API ### Props diff --git a/src/button/README.zh-CN.md b/src/button/README.zh-CN.md index ca3c95675..ca167b771 100644 --- a/src/button/README.zh-CN.md +++ b/src/button/README.zh-CN.md @@ -2,7 +2,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { Button } from 'vant'; @@ -90,6 +90,14 @@ Vue.use(Button); 迷你按钮 ``` +### 块级元素 + +按钮在默认情况下为行内块级元素,通过`block`属性可以将按钮的元素类型设置为块级元素 + +```html +块级元素 +``` + ### 页面导航 可以通过`url`属性进行 URL 跳转,或通过`to`属性进行路由跳转 @@ -109,15 +117,6 @@ Vue.use(Button); 渐变色按钮 ``` -### 块级元素 - -通过`block`属性可以将按钮的元素类型设置为块级元素 - -```html -块级元素 -``` - - ## API ### Props @@ -128,7 +127,7 @@ Vue.use(Button); | size | 尺寸,可选值为 `large` `small` `mini` | *string* | `normal` | | text | 按钮文字 | *string* | - | | color `v2.1.8` | 按钮颜色,支持传入`linear-gradient`渐变色 | *string* | - | -| icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | tag | HTML 标签 | *string* | `button` | | native-type | 原生 button 标签 type 属性 | *string* | - | | block | 是否为块级元素 | *boolean* | `false` | @@ -139,7 +138,7 @@ Vue.use(Button); | hairline | 是否使用 0.5px 边框 | *boolean* | `false` | | loading | 是否显示为加载状态 | *boolean* | `false` | | loading-text | 加载状态提示文字 | *string* | - | -| loading-type | 加载图标类型,可选值为`spinner` | *string* | `circular` | +| loading-type | [加载图标类型](#/zh-CN/loading),可选值为`spinner` | *string* | `circular` | | loading-size | 加载图标大小 | *string* | `20px` | | url | 点击后跳转的链接地址 | *string* | - | | to | 点击后跳转的目标路由对象,同 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | *string \| object* | - | diff --git a/src/button/demo/index.vue b/src/button/demo/index.vue index 42988b64d..50e385314 100644 --- a/src/button/demo/index.vue +++ b/src/button/demo/index.vue @@ -54,22 +54,26 @@ {{ $t('mini') }} + + {{ $t('blockElement') }} + + - + - - - - -
    - {{ $t('normal') }} -
    - {{ $t('blockElement') }} +
    @@ -104,7 +108,7 @@ export default { customColor: '自定义颜色', pure: '单色按钮', gradient: '渐变色按钮', - blockElement: '块级元素' + blockElement: '块级元素', }, 'en-US': { type: 'Type', @@ -133,9 +137,9 @@ export default { customColor: 'Custom Color', pure: 'Pure', gradient: 'Gradient', - blockElement: 'Block Element' - } - } + blockElement: 'Block Element', + }, + }, }; diff --git a/src/button/index.less b/src/button/index.less index fb84ce10b..0c668126d 100644 --- a/src/button/index.less +++ b/src/button/index.less @@ -32,7 +32,7 @@ } &:active::before { - opacity: .1; + opacity: 0.1; } &--loading, diff --git a/src/button/index.tsx b/src/button/index.tsx index 322b49961..17032eec4 100644 --- a/src/button/index.tsx +++ b/src/button/index.tsx @@ -1,7 +1,10 @@ +// Utils import { createNamespace } from '../utils'; import { emit, inherit } from '../utils/functional'; import { BORDER_SURROUND, WHITE } from '../utils/constant'; import { routeProps, RouteProps, functionalRoute } from '../utils/router'; + +// Components import Icon from '../icon'; import Loading, { LoadingType } from '../loading'; @@ -54,7 +57,7 @@ function Button( disabled, loading, hairline, - loadingText + loadingText, } = props; const style: Record = {}; @@ -97,10 +100,10 @@ function Button( hairline, block: props.block, round: props.round, - square: props.square - } + square: props.square, + }, ]), - { [BORDER_SURROUND]: hairline } + { [BORDER_SURROUND]: hairline }, ]; function Content() { @@ -165,20 +168,20 @@ Button.props = { loadingType: String, tag: { type: String, - default: 'button' + default: 'button', }, type: { type: String, - default: 'default' + default: 'default', }, size: { type: String, - default: 'normal' + default: 'normal', }, loadingSize: { type: String, - default: '20px' - } + default: '20px', + }, }; export default createComponent(Button); diff --git a/src/button/test/__snapshots__/demo.spec.js.snap b/src/button/test/__snapshots__/demo.spec.js.snap index 649efaf11..eda6ae532 100644 --- a/src/button/test/__snapshots__/demo.spec.js.snap +++ b/src/button/test/__snapshots__/demo.spec.js.snap @@ -21,10 +21,8 @@ exports[`renders demo correctly 1`] = ` 按钮
    +
    -
    -
    -
    `; diff --git a/src/button/test/index.spec.js b/src/button/test/index.spec.js index 0039635b9..36d498735 100644 --- a/src/button/test/index.spec.js +++ b/src/button/test/index.spec.js @@ -5,8 +5,8 @@ test('loading size', () => { const wrapper = mount(Button, { propsData: { loading: true, - loadingSize: '10px' - } + loadingSize: '10px', + }, }); expect(wrapper).toMatchSnapshot(); }); @@ -16,9 +16,9 @@ test('click event', () => { const wrapper = mount(Button, { context: { on: { - click: onClick - } - } + click: onClick, + }, + }, }); wrapper.trigger('click'); @@ -29,13 +29,13 @@ test('not trigger click event when disabled', () => { const onClick = jest.fn(); const wrapper = mount(Button, { propsData: { - disabled: true + disabled: true, }, context: { on: { - click: onClick - } - } + click: onClick, + }, + }, }); wrapper.trigger('click'); @@ -46,13 +46,13 @@ test('not trigger click event when loading', () => { const onClick = jest.fn(); const wrapper = mount(Button, { propsData: { - loading: true + loading: true, }, context: { on: { - click: onClick - } - } + click: onClick, + }, + }, }); wrapper.trigger('click'); @@ -64,9 +64,9 @@ test('touchstart event', () => { const wrapper = mount(Button, { context: { on: { - touchstart: onTouchstart - } - } + touchstart: onTouchstart, + }, + }, }); wrapper.trigger('touchstart'); @@ -76,8 +76,8 @@ test('touchstart event', () => { test('hide border when color is gradient', () => { const wrapper = mount(Button, { propsData: { - color: 'linear-gradient(#000, #fff)' - } + color: 'linear-gradient(#000, #fff)', + }, }); expect(wrapper.element.style.border).toEqual('0px'); diff --git a/src/calendar/README.md b/src/calendar/README.md index 419c10f0b..ab9093ab7 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -6,7 +6,7 @@ Calendar component for selecting dates or date ranges ### Install -``` javascript +```js import Vue from 'vue'; import { Calendar } from 'vant'; @@ -21,7 +21,6 @@ The `confirm` event will be triggered after the date selection is completed ```html - ``` @@ -33,7 +32,6 @@ export default { show: false }; }, - methods: { formatDate(date) { return `${date.getMonth() + 1}/${date.getDate()}`; @@ -52,7 +50,6 @@ You can select a date range after setting `type` to` range`. In range mode, the ```html - ``` @@ -64,7 +61,6 @@ export default { show: false }; }, - methods: { formatDate(date) { return `${date.getMonth() + 1}/${date.getDate()}`; @@ -184,6 +180,18 @@ Use `position` to custom popup position,can be set to `top`、`left`、`right` /> ``` +### Max Range + +When selecting a date range, you can use the `max-range` prop to specify the maximum number of selectable days + +```html + +``` + ### Tiled display Set `poppable` to `false`, the calendar will be displayed directly on the page instead of appearing as a popup @@ -210,17 +218,21 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | min-date | Min date | *Date* | Today | | max-date | Max date | *Date* | Six months after the today | | default-date | Default selected date | *Date \| Date[]* | Today | -| row-height | Row height | *number* | `64` | +| row-height | Row height | *number \| string* | `64` | | formatter | Day formatter | *(day: Day) => Day* | - | | position | Popup position, can be set to `top` `right` `left` | *string* | `bottom` | | poppable | Whether to show the calendar inside a popup | *boolean* | `true` | | round | Whether to show round corner | *boolean* | `true` | | show-mark | Whether to show background month mark | *boolean* | `true` | | show-confirm | Whether to show confirm button | *boolean* | `true` | +| close-on-popstate `v2.4.4` | Whether to close when popstate | *boolean* | `false` | | close-on-click-overlay | Whether to close when click overlay | *boolean* | `true` | | safe-area-inset-bottom | Whether to enable bottom safe area adaptation | *boolean* | `true` | | confirm-text | Confirm button text | *string* | `Confirm` | | confirm-disabled-text | Confirm button text when disabled | *string* | `Confirm` | +| max-range `v2.4.3` | Number of selectable days | *number \| string* | - | +| range-prompt `v2.4.3` | Error message when exceeded max range | *string* | `Choose no more than xx days` | +| get-container `v2.4.4` | Return the mount node for Calendar | _string \| () => Element_ | - | ### Data Structure of Day diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index 04e6acfd5..c3ab4d972 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -6,7 +6,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { Calendar } from 'vant'; @@ -21,7 +21,6 @@ Vue.use(Calendar); ```html - ``` @@ -33,7 +32,6 @@ export default { show: false }; }, - methods: { formatDate(date) { return `${date.getMonth() + 1}/${date.getDate()}`; @@ -52,7 +50,6 @@ export default { ```html - ``` @@ -64,7 +61,6 @@ export default { show: false }; }, - methods: { formatDate(date) { return `${date.getMonth() + 1}/${date.getDate()}`; @@ -184,6 +180,18 @@ export default { /> ``` +### 日期区间最大范围 + +选择日期区间时,可以通过`max-range`属性来指定最多可选天数,选择的范围超过最多可选天数时,会弹出相应的提示文案 + +```html + +``` + ### 平铺展示 将`poppable`设置为`false`,日历会直接展示在页面内,而不是以弹层的形式出现 @@ -210,17 +218,21 @@ export default { | min-date | 最小日期 | *Date* | 当前日期 | | max-date | 最大日期 | *Date* | 当前日期的六个月后 | | default-date | 默认选中的日期 | *Date \| Date[]* | 今天 | -| row-height | 日期行高 | *number* | `64` | +| row-height | 日期行高 | *number \| string* | `64` | | formatter | 日期格式化函数 | *(day: Day) => Day* | - | | position | 弹出位置,可选值为 `top` `right` `left` | *string* | `bottom` | | poppable | 是否以弹层的形式展示日历 | *boolean* | `true` | | round | 是否显示圆角弹窗 | *boolean* | `true` | | show-mark | 是否显示月份背景水印 | *boolean* | `true` | | show-confirm | 是否展示确认按钮 | *boolean* | `true` | +| close-on-popstate `v2.4.4` | 是否在页面回退时自动关闭 | *boolean* | `false` | | close-on-click-overlay | 是否在点击遮罩层后关闭 | *boolean* | `true` | -| safe-area-inset-bottom | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `true` | +| safe-area-inset-bottom | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `true` | | confirm-text | 确认按钮的文字 | *string* | `确定` | | confirm-disabled-text | 确认按钮处于禁用状态时的文字 | *string* | `确定` | +| max-range `v2.4.3` | 日期区间最多可选天数,默认无限制 | *number \| string* | - | +| range-prompt `v2.4.3` | 选择超过区间范围时的提示文案 | *string* | `选择天数不能超过 xx 天` | +| get-container `v2.4.4` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | ### Day 数据结构 @@ -251,7 +263,7 @@ export default { ### 方法 -通过 [ref](https://cn.vuejs.org/v2/api/#ref) 可以获取到 Calendar 实例并调用实例方法 +通过 ref 可以获取到 Calendar 实例并调用实例方法,详见 [组件实例方法](#/zh-CN/quickstart#zu-jian-shi-li-fang-fa) | 方法名 | 说明 | 参数 | 返回值 | |------|------|------|------| diff --git a/src/calendar/components/Header.js b/src/calendar/components/Header.js index f7cc1ccff..8e0ba74dc 100644 --- a/src/calendar/components/Header.js +++ b/src/calendar/components/Header.js @@ -6,7 +6,7 @@ const [createComponent] = createNamespace('calendar-header'); export default createComponent({ props: { title: String, - monthTitle: String + monthTitle: String, }, methods: { @@ -29,7 +29,7 @@ export default createComponent({ ))}
    ); - } + }, }, render() { @@ -40,5 +40,5 @@ export default createComponent({ {this.genWeekDays()}
    ); - } + }, }); diff --git a/src/calendar/components/Month.js b/src/calendar/components/Month.js index 26d25c498..f5252a6c7 100644 --- a/src/calendar/components/Month.js +++ b/src/calendar/components/Month.js @@ -13,14 +13,14 @@ export default createComponent({ maxDate: Date, showMark: Boolean, showTitle: Boolean, - rowHeight: Number, + rowHeight: [Number, String], formatter: Function, - currentDate: [Date, Array] + currentDate: [Date, Array], }, data() { return { - visible: false + visible: false, }; }, @@ -43,7 +43,7 @@ export default createComponent({ Math.ceil((this.totalDay + this.offset) / 7) * this.rowHeight; return { - paddingBottom: `${padding}px` + paddingBottom: `${padding}px`, }; } }, @@ -61,7 +61,7 @@ export default createComponent({ date, type, text: day, - bottomInfo: this.getBottomInfo(type) + bottomInfo: this.getBottomInfo(type), }; if (this.formatter) { @@ -72,7 +72,7 @@ export default createComponent({ } return days; - } + }, }, mounted() { @@ -219,7 +219,7 @@ export default createComponent({ {BottomInfo}
    ); - } + }, }, render() { @@ -229,5 +229,5 @@ export default createComponent({ {this.genDays()}
    ); - } + }, }); diff --git a/src/calendar/demo/index.vue b/src/calendar/demo/index.vue index dc969e9c5..8637f11c0 100644 --- a/src/calendar/demo/index.vue +++ b/src/calendar/demo/index.vue @@ -67,6 +67,13 @@ :value="formatFullDate(date.customPosition)" @click="show('single', 'customPosition')" /> + + @@ -85,9 +92,10 @@ :type="type" :color="color" :round="round" + :position="position" :min-date="minDate" :max-date="maxDate" - :position="position" + :max-range="maxRange" :formatter="formatter" :show-confirm="showConfirm" :confirm-text="confirmText" @@ -109,6 +117,7 @@ export default { laborDay: '劳动节', youthDay: '五四青年节', calendar: '日历', + maxRange: '日期区间最大范围', selectSingle: '选择单个日期', selectRange: '选择日期区间', quickSelect: '快捷选择', @@ -120,7 +129,7 @@ export default { customPosition: '自定义弹出位置', customCalendar: '自定义日历', confirmDisabledText: '请选择结束时间', - tiledDisplay: '平铺展示' + tiledDisplay: '平铺展示', }, 'en-US': { in: 'In', @@ -129,6 +138,7 @@ export default { laborDay: 'Labor day', youthDay: 'Youth Day', calendar: 'Calendar', + maxRange: 'Max Range', selectSingle: 'Select Single Date', selectRange: 'Select Date Range', quickSelect: 'Quick Select', @@ -140,13 +150,14 @@ export default { customPosition: 'Custom Position', customCalendar: 'Custom Calendar', confirmDisabledText: 'Select End Time', - tiledDisplay: 'Tiled display' - } + tiledDisplay: 'Tiled display', + }, }, data() { return { date: { + maxRange: [], selectSingle: null, selectRange: [], quickSelect1: null, @@ -155,13 +166,14 @@ export default { customConfirm: [], customRange: null, customDayText: [], - customPosition: null + customPosition: null, }, type: 'single', round: true, color: undefined, minDate: undefined, maxDate: undefined, + maxRange: undefined, position: undefined, formatter: undefined, showConfirm: false, @@ -179,6 +191,7 @@ export default { this.color = undefined; this.minDate = undefined; this.maxDate = undefined; + this.maxRange = undefined; this.position = undefined; this.formatter = undefined; this.showConfirm = true; @@ -217,6 +230,9 @@ export default { this.round = false; this.position = 'right'; break; + case 'maxRange': + this.maxRange = 3; + break; } }, @@ -265,7 +281,7 @@ export default { onConfirm(date) { this.showCalendar = false; this.date[this.id] = date; - } - } + }, + }, }; diff --git a/src/calendar/index.js b/src/calendar/index.js index efb294581..58760f74c 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -1,3 +1,4 @@ +// Utils import { isDate } from '../utils/validate/date'; import { getScrollTop } from '../utils/dom/scroll'; import { @@ -7,11 +8,14 @@ import { compareDay, compareMonth, createComponent, - ROW_HEIGHT + calcDateNum, + ROW_HEIGHT, } from './utils'; +// Components import Popup from '../popup'; import Button from '../button'; +import Toast from '../toast'; import Month from './components/Month'; import Header from './components/Header'; @@ -21,17 +25,20 @@ export default createComponent({ color: String, value: Boolean, formatter: Function, - defaultDate: [Date, Array], confirmText: String, + rangePrompt: String, + defaultDate: [Date, Array], + getContainer: [String, Function], + closeOnPopstate: Boolean, confirmDisabledText: String, type: { type: String, - default: 'single' + default: 'single', }, minDate: { type: Date, validator: isDate, - default: () => new Date() + default: () => new Date(), }, maxDate: { type: Date, @@ -39,50 +46,58 @@ export default createComponent({ default() { const now = new Date(); return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate()); - } + }, }, position: { type: String, - default: 'bottom' + default: 'bottom', }, rowHeight: { - type: Number, - default: ROW_HEIGHT + type: [Number, String], + default: ROW_HEIGHT, }, round: { type: Boolean, - default: true + default: true, }, poppable: { type: Boolean, - default: true + default: true, }, showMark: { type: Boolean, - default: true + default: true, }, showConfirm: { type: Boolean, - default: true + default: true, }, safeAreaInsetBottom: { type: Boolean, - default: true + default: true, }, closeOnClickOverlay: { type: Boolean, - default: true - } + default: true, + }, + maxRange: { + type: [Number, String], + default: null, + }, }, data() { return { monthTitle: '', - currentDate: this.getInitialDate() + currentDate: this.getInitialDate(), }; }, computed: { + range() { + return this.type === 'range'; + }, + months() { const months = []; const cursor = new Date(this.minDate); @@ -98,21 +113,16 @@ export default createComponent({ }, buttonDisabled() { - if (this.type === 'single') { - return !this.currentDate; - } - - /* istanbul ignore else */ - if (this.type === 'range') { + if (this.range) { return !this.currentDate[0] || !this.currentDate[1]; } - } + + return !this.currentDate; + }, }, watch: { - type() { - this.reset(); - }, + type: 'reset', value(val) { if (val) { @@ -123,7 +133,7 @@ export default createComponent({ defaultDate(val) { this.currentDate = val; - } + }, }, mounted() { @@ -148,8 +158,8 @@ export default createComponent({ // scroll to current month scrollIntoView() { this.$nextTick(() => { - const { type, currentDate } = this; - const targetDate = type === 'range' ? currentDate[0] : currentDate; + const { currentDate } = this; + const targetDate = this.range ? currentDate[0] : currentDate; /* istanbul ignore if */ if (!targetDate) { @@ -170,15 +180,12 @@ export default createComponent({ getInitialDate() { const { type, defaultDate, minDate } = this; - if (type === 'single') { - return defaultDate || minDate; - } - - /* istanbul ignore else */ if (type === 'range') { const [startDay, endDay] = defaultDate || []; return [startDay || minDate, endDay || getNextDay(minDate)]; } + + return defaultDate || minDate; }, // calculate the position of the elements @@ -219,11 +226,7 @@ export default createComponent({ onClickDay(item) { const { date } = item; - if (this.type === 'single') { - this.select(date, true); - } - - if (this.type === 'range') { + if (this.range) { const [startDay, endDay] = this.currentDate; if (startDay && !endDay) { @@ -237,6 +240,8 @@ export default createComponent({ } else { this.select([date, null]); } + } else { + this.select(date, true); } }, @@ -248,13 +253,34 @@ export default createComponent({ this.currentDate = date; this.$emit('select', this.currentDate); + if (complete && this.range) { + const valid = this.checkRange(); + + if (!valid) { + return; + } + } + if (complete && !this.showConfirm) { this.onConfirm(); } }, + checkRange() { + const { maxRange, currentDate, rangePrompt } = this; + + if (maxRange && calcDateNum(currentDate) > maxRange) { + Toast(rangePrompt || t('rangePrompt', maxRange)); + return false; + } + + return true; + }, + onConfirm() { - this.$emit('confirm', this.currentDate); + if (this.checkRange()) { + this.$emit('confirm', this.currentDate); + } }, genMonth(date, index) { @@ -309,7 +335,7 @@ export default createComponent({ return (
    {this.genFooterContent()} @@ -324,7 +350,7 @@ export default createComponent({ title={this.title} monthTitle={this.monthTitle} scopedSlots={{ - title: () => this.slots('title') + title: () => this.slots('title'), }} />
    @@ -333,7 +359,7 @@ export default createComponent({ {this.genFooter()}
    ); - } + }, }, render() { @@ -346,6 +372,8 @@ export default createComponent({ value={this.value} round={this.round} position={this.position} + getContainer={this.getContainer} + closeOnPopstate={this.closeOnPopstate} closeOnClickOverlay={this.closeOnClickOverlay} onInput={this.togglePopup} > @@ -355,5 +383,5 @@ export default createComponent({ } return this.genCalendar(); - } + }, }); diff --git a/src/calendar/test/__snapshots__/demo.spec.js.snap b/src/calendar/test/__snapshots__/demo.spec.js.snap index 91fd51db7..a8e4c121e 100644 --- a/src/calendar/test/__snapshots__/demo.spec.js.snap +++ b/src/calendar/test/__snapshots__/demo.spec.js.snap @@ -43,6 +43,10 @@ exports[`renders demo correctly 1`] = `
    自定义弹出位置
    +
    +
    日期区间最大范围
    + +
    diff --git a/src/calendar/test/index.spec.js b/src/calendar/test/index.spec.js index b95ad7398..e3669fbad 100644 --- a/src/calendar/test/index.spec.js +++ b/src/calendar/test/index.spec.js @@ -23,8 +23,8 @@ test('select event when type is single', async () => { propsData: { minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -43,8 +43,8 @@ test('select event when type is range', async () => { type: 'range', minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -68,8 +68,8 @@ test('should not trigger select event when click disabled day', async () => { propsData: { minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -87,8 +87,8 @@ test('confirm event when type is single', async () => { propsData: { minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -110,8 +110,8 @@ test('confirm event when type is range', async () => { type: 'range', minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -131,8 +131,8 @@ test('confirm event when type is range', async () => { test('default single date', async () => { const wrapper = mount(Calendar, { propsData: { - poppable: false - } + poppable: false, + }, }); await later(); @@ -145,8 +145,8 @@ test('default range date', async () => { const wrapper = mount(Calendar, { propsData: { type: 'range', - poppable: false - } + poppable: false, + }, }); await later(); @@ -163,8 +163,8 @@ test('reset method', async () => { minDate, maxDate, type: 'range', - poppable: false - } + poppable: false, + }, }); await later(); @@ -188,8 +188,8 @@ test('set show-confirm to false', async () => { maxDate, type: 'range', poppable: false, - showConfirm: false - } + showConfirm: false, + }, }); await later(); @@ -209,8 +209,8 @@ test('row-height prop', async () => { minDate, maxDate, poppable: false, - rowHeight: 50 - } + rowHeight: 50, + }, }); await later(); @@ -243,8 +243,8 @@ test('formatter prop', async () => { } return day; - } - } + }, + }, }); await later(); @@ -257,12 +257,12 @@ test('title & footer slot', async () => { propsData: { minDate, maxDate, - poppable: false + poppable: false, }, scopedSlots: { title: () => 'Custom Title', - footer: () => 'Custom Footer' - } + footer: () => 'Custom Footer', + }, }); await later(); @@ -275,8 +275,8 @@ test('should reset when type changed', async () => { propsData: { minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -297,8 +297,8 @@ test('default-date prop in single type', async () => { minDate, maxDate, defaultDate: getNextDay(minDate), - poppable: false - } + poppable: false, + }, }); await later(); @@ -317,8 +317,8 @@ test('default-date prop in range type', async () => { type: 'range', minDate, maxDate, - poppable: false - } + poppable: false, + }, }); await later(); @@ -340,13 +340,13 @@ test('popup wrapper', async () => { const wrapper = mount(Calendar, { propsData: { minDate, - maxDate + maxDate, }, listeners: { input(value) { wrapper.setProps({ value }); - } - } + }, + }, }); await later(); @@ -367,8 +367,8 @@ test('set show-mark prop to false', async () => { minDate, maxDate, showMark: false, - poppable: false - } + poppable: false, + }, }); await later(); @@ -382,8 +382,8 @@ test('color prop when type is single', async () => { minDate, maxDate, color: 'blue', - poppable: false - } + poppable: false, + }, }); await later(); @@ -399,8 +399,8 @@ test('color prop when type is range', async () => { minDate, maxDate, color: 'blue', - poppable: false - } + poppable: false, + }, }); await later(); @@ -414,12 +414,14 @@ test('should scroll to current month when show', async done => { type: 'range', minDate: new Date(2010, 0, 10), maxDate: new Date(2010, 11, 10), - defaultDate: [new Date(2010, 3, 1), new Date(2010, 5, 1)] - } + defaultDate: [new Date(2010, 3, 1), new Date(2010, 5, 1)], + }, }); Element.prototype.scrollIntoView = function() { - expect(this.parentNode).toEqual(wrapper.findAll('.van-calendar__month').at(3).element); + expect(this.parentNode).toEqual( + wrapper.findAll('.van-calendar__month').at(3).element + ); done(); }; @@ -427,3 +429,24 @@ test('should scroll to current month when show', async done => { await later(); }); + +test('max-range prop', async () => { + const wrapper = mount(Calendar, { + propsData: { + type: 'range', + minDate, + maxDate, + maxRange: 1, + poppable: false, + }, + }); + + await later(); + + const days = wrapper.findAll('.van-calendar__day'); + days.at(15).trigger('click'); + days.at(18).trigger('click'); + wrapper.find('.van-calendar__confirm').trigger('click'); + + expect(wrapper.emitted('confirm')).toBeFalsy(); +}); diff --git a/src/calendar/test/utils.spec.js b/src/calendar/test/utils.spec.js index c978a5d96..5e42340cd 100644 --- a/src/calendar/test/utils.spec.js +++ b/src/calendar/test/utils.spec.js @@ -1,4 +1,4 @@ -import { compareDay, compareMonth, getNextDay } from '../utils'; +import { compareDay, compareMonth, getNextDay, calcDateNum } from '../utils'; const date1 = new Date(2010, 0, 1); const date2 = new Date(2010, 0, 2); @@ -24,3 +24,8 @@ test('getNextDay', () => { expect(getNextDay(date1).getDate()).toEqual(2); expect(getNextDay(date2).getDate()).toEqual(3); }); + +test('calcDateNum', () => { + expect(calcDateNum([date1, date2])).toEqual(2); + expect(calcDateNum([date1, date3])).toEqual(32); +}); diff --git a/src/calendar/utils.ts b/src/calendar/utils.ts index a71e5f701..4cd606c25 100644 --- a/src/calendar/utils.ts +++ b/src/calendar/utils.ts @@ -42,3 +42,9 @@ export function getNextDay(date: Date) { return date; } + +export function calcDateNum(date: [Date, Date]) { + const day1 = date[0].getTime(); + const day2 = date[1].getTime(); + return (day2 - day1) / (1000 * 60 * 60 * 24) + 1; +} diff --git a/src/card/README.md b/src/card/README.md index 0c2c2be39..8ab9534a0 100644 --- a/src/card/README.md +++ b/src/card/README.md @@ -2,7 +2,7 @@ ### Install -``` javascript +```js import Vue from 'vue'; import { Card } from 'vant'; @@ -19,7 +19,7 @@ Vue.use(Card); price="2.00" title="Title" desc="Description" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" /> ``` @@ -33,7 +33,7 @@ Vue.use(Card); title="Title" desc="Description" origin-price="10.00" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" /> ``` @@ -47,7 +47,7 @@ Use slot to custom content. title="Title" desc="Description" price="2.00" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" >
    Tag @@ -70,9 +70,9 @@ Use slot to custom content. | title | Title | *string* | - | | desc | Description | *string* | - | | tag | Tag | *string* | - | -| num | number | *string \| number* | - | -| price | Price | *string \| number* | - | -| origin-price | Origin price | *string \| number* | - | +| num | number | *number \| string* | - | +| price | Price | *number \| string* | - | +| origin-price | Origin price | *number \| string* | - | | centered | Whether content vertical centered | *boolean* | `false` | | currency | Currency symbol | *string* | `¥` | | thumb-link | Thumb link URL | *string* | - | diff --git a/src/card/README.zh-CN.md b/src/card/README.zh-CN.md index ec53860d5..2b5948779 100644 --- a/src/card/README.zh-CN.md +++ b/src/card/README.zh-CN.md @@ -2,7 +2,7 @@ ### 引入 -``` javascript +```js import Vue from 'vue'; import { Card } from 'vant'; @@ -19,7 +19,7 @@ Vue.use(Card); price="2.00" desc="描述信息" title="商品标题" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" /> ``` @@ -34,7 +34,7 @@ Vue.use(Card); price="2.00" desc="描述信息" title="商品标题" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" origin-price="10.00" /> ``` @@ -49,7 +49,7 @@ Vue.use(Card); price="2.00" desc="描述信息" title="商品标题" - thumb="https://img.yzcdn.cn/vant/t-thirt.jpg" + thumb="https://img.yzcdn.cn/vant/ipad.jpeg" >
    标签 @@ -72,9 +72,9 @@ Vue.use(Card); | title | 标题 | *string* | - | | desc | 描述 | *string* | - | | tag | 图片角标 | *string* | - | -| num | 商品数量 | *string \| number* | - | -| price | 商品价格 | *string \| number* | - | -| origin-price | 商品划线原价 | *string \| number* | - | +| num | 商品数量 | *number \| string* | - | +| price | 商品价格 | *number \| string* | - | +| origin-price | 商品划线原价 | *number \| string* | - | | centered | 内容是否垂直居中 | *boolean* | `false` | | currency | 货币符号 | *string* | `¥` | | thumb-link | 点击左侧图片后跳转的链接地址 | *string* | - | diff --git a/src/card/demo/index.vue b/src/card/demo/index.vue index 1f0e5ef6a..6c5e5afc4 100644 --- a/src/card/demo/index.vue +++ b/src/card/demo/index.vue @@ -32,17 +32,10 @@ >