From cb3934cdf80e95c5f5c17a3dd9d59271c4360517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 17:22:32 +0800 Subject: [PATCH 001/198] chore: fix swipeTo case may fail --- src/swipe/test/index.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/swipe/test/index.spec.js b/src/swipe/test/index.spec.js index 1333017a6..0f5aceee7 100644 --- a/src/swipe/test/index.spec.js +++ b/src/swipe/test/index.spec.js @@ -48,7 +48,7 @@ test('swipeTo method', async () => { const { swipe } = wrapper.vm.$refs; swipe.swipeTo(2); - await later(50); + await later(100); expect(swipe.active).toEqual(2); }); From 3f680872850d64567545fead3f8acccdea9482ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 17:25:10 +0800 Subject: [PATCH 002/198] chore: release 2.4.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 06c0ddd27..c27646f28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vant", - "version": "2.4.2-beta.2", + "version": "2.4.2", "description": "Mobile UI Components built on Vue", "main": "lib/index.js", "module": "es/index.js", From a20a81ac0676b8863582a7bdd4151ff1dd0a48e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 17:38:06 +0800 Subject: [PATCH 003/198] docs(changelog): 2.4.2 --- docs/markdown/changelog.en-US.md | 57 +++++++++++++------------------- docs/markdown/changelog.zh-CN.md | 57 ++++++++++++-------------------- 2 files changed, 45 insertions(+), 69 deletions(-) diff --git a/docs/markdown/changelog.en-US.md b/docs/markdown/changelog.en-US.md index 845f41b36..51d3ab955 100644 --- a/docs/markdown/changelog.en-US.md +++ b/docs/markdown/changelog.en-US.md @@ -1,52 +1,41 @@ # 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` +### [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) - -**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) - - -### [v2.4.2-beta.1](https://github.com/youzan/vant/compare/v2.4.2-beta.0...v2.4.2-beta.1) -`2020-01-09` - -**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) - -**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) +* GoodsAcitonIcon: add color prop [#5576](https://github.com/youzan/vant/issues/5576) **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) +* 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..1a1d25c3f 100644 --- a/docs/markdown/changelog.zh-CN.md +++ b/docs/markdown/changelog.zh-CN.md @@ -10,54 +10,41 @@ 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) - -**Bug Fixes** - -* Calendar: 修复选中的日期无法展示提示信息的问题 [#5536](https://github.com/youzan/vant/issues/5536) -* PullRefresh:修复 head-height 属性未正确设置高度的问题 [028747](https://github.com/youzan/vant/commit/028747c35471f33e8c2b0baa6fb8915510daac22) - - - -### [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.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) -* Sku: 支持 properties 数据结构 [#5525](https://github.com/youzan/vant/issues/5525) -* Calendar: 弹出时自动滚动到当前选中的日期 [#5526](https://github.com/youzan/vant/issues/5526) +* 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** -* CouponList: 优化样式细节 [#5501](https://github.com/youzan/vant/issues/5501) * AddressList: 优化样式细节 [#5507](https://github.com/youzan/vant/issues/5507) - -**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) - - -### [v2.4.2-beta.0](https://github.com/youzan/vant/compare/v2.4.1...v2.4.2-beta.0) -`2020-01-06` - -**Feature** - -* Image: 新增 error-icon 属性 [#5470](https://github.com/youzan/vant/issues/5470) -* Image: 新增 loading-icon 属性 [#5469](https://github.com/youzan/vant/issues/5469) * 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) From 26f2884fbb594ecd45141075944fd69178b14b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 17:48:40 +0800 Subject: [PATCH 004/198] chore: remove unused registration in test cases --- src/checkbox/test/index.spec.js | 5 ----- src/collapse/test/index.spec.js | 4 ---- src/count-down/test/index.spec.js | 3 --- src/dropdown-menu/test/index.spec.js | 6 ------ src/grid/test/index.spec.js | 6 ------ src/index-bar/test/index.spec.js | 6 ------ src/radio/test/index.spec.js | 6 ------ src/sidebar/test/index.spec.js | 5 ----- src/sticky/test/index.spec.js | 4 ---- src/swipe/test/index.spec.js | 6 ------ src/tab/test/index.spec.js | 5 ----- src/tabbar/test/index.spec.js | 3 --- src/tree-select/test/index.spec.js | 3 --- 13 files changed, 62 deletions(-) diff --git a/src/checkbox/test/index.spec.js b/src/checkbox/test/index.spec.js index 6150064b9..54fa87612 100644 --- a/src/checkbox/test/index.spec.js +++ b/src/checkbox/test/index.spec.js @@ -1,11 +1,6 @@ -import Vue from 'vue'; import Checkbox from '..'; -import CheckboxGroup from '../../checkbox-group'; import { mount, later } from '../../../test'; -Vue.use(Checkbox); -Vue.use(CheckboxGroup); - test('switch checkbox', async () => { const wrapper = mount(Checkbox); diff --git a/src/collapse/test/index.spec.js b/src/collapse/test/index.spec.js index 0e092a9b3..65f329dc2 100644 --- a/src/collapse/test/index.spec.js +++ b/src/collapse/test/index.spec.js @@ -1,11 +1,7 @@ -import Vue from 'vue'; import Collapse from '..'; import CollapseItem from '../../collapse-item'; import { later, mount } from '../../../test'; -Vue.use(Collapse); -Vue.use(CollapseItem); - const component = { template: ` diff --git a/src/count-down/test/index.spec.js b/src/count-down/test/index.spec.js index 2cdefe0da..63b296754 100644 --- a/src/count-down/test/index.spec.js +++ b/src/count-down/test/index.spec.js @@ -1,9 +1,6 @@ -import Vue from 'vue'; import CountDown from '..'; import { mount, later } from '../../../test'; -Vue.use(CountDown); - test('macro task finish event', async () => { const wrapper = mount(CountDown, { propsData: { diff --git a/src/dropdown-menu/test/index.spec.js b/src/dropdown-menu/test/index.spec.js index 9f6a60368..38d43f08d 100644 --- a/src/dropdown-menu/test/index.spec.js +++ b/src/dropdown-menu/test/index.spec.js @@ -1,10 +1,4 @@ import { mount, later } from '../../../test'; -import Vue from 'vue'; -import DropdownMenu from '..'; -import DropdownItem from '../../dropdown-item'; - -Vue.use(DropdownMenu); -Vue.use(DropdownItem); function renderWrapper(options = {}) { return mount({ diff --git a/src/grid/test/index.spec.js b/src/grid/test/index.spec.js index 1fc484ff3..b888db3e7 100644 --- a/src/grid/test/index.spec.js +++ b/src/grid/test/index.spec.js @@ -1,11 +1,5 @@ -import Vue from 'vue'; -import Grid from '..'; -import GridItem from '../../grid-item'; import { mount } from '../../../test'; -Vue.use(Grid); -Vue.use(GridItem); - test('click grid item', () => { const onClick = jest.fn(); const wrapper = mount({ diff --git a/src/index-bar/test/index.spec.js b/src/index-bar/test/index.spec.js index e7036862a..60030718b 100644 --- a/src/index-bar/test/index.spec.js +++ b/src/index-bar/test/index.spec.js @@ -1,11 +1,5 @@ -import Vue from 'vue'; -import IndexBar from '..'; -import IndexAnchor from '../../index-anchor'; import { mount, trigger, triggerDrag } from '../../../test'; -Vue.use(IndexBar); -Vue.use(IndexAnchor); - function mockScrollIntoView() { const fn = jest.fn(); Element.prototype.scrollIntoView = fn; diff --git a/src/radio/test/index.spec.js b/src/radio/test/index.spec.js index adc6147fd..63132930d 100644 --- a/src/radio/test/index.spec.js +++ b/src/radio/test/index.spec.js @@ -1,11 +1,5 @@ -import Vue from 'vue'; -import Radio from '..'; -import RadioGroup from '../../radio-group'; import { mount } from '../../../test'; -Vue.use(Radio); -Vue.use(RadioGroup); - test('radio-group change', () => { const wrapper = mount({ template: ` diff --git a/src/sidebar/test/index.spec.js b/src/sidebar/test/index.spec.js index b65d50a16..d6092cc71 100644 --- a/src/sidebar/test/index.spec.js +++ b/src/sidebar/test/index.spec.js @@ -1,10 +1,5 @@ import { mount } from '../../../test'; -import Vue from 'vue'; import Sidebar from '..'; -import SidebarItem from '../../sidebar-item'; - -Vue.use(Sidebar); -Vue.use(SidebarItem); test('click event & change event', () => { const onClick = jest.fn(); diff --git a/src/sticky/test/index.spec.js b/src/sticky/test/index.spec.js index 870a7f758..20b514a8d 100644 --- a/src/sticky/test/index.spec.js +++ b/src/sticky/test/index.spec.js @@ -1,8 +1,4 @@ import { mount, mockScrollTop } from '../../../test'; -import Vue from 'vue'; -import Sticky from '..'; - -Vue.use(Sticky); test('sticky to top', () => { const wrapper = mount({ diff --git a/src/swipe/test/index.spec.js b/src/swipe/test/index.spec.js index 0f5aceee7..02d2b6b88 100644 --- a/src/swipe/test/index.spec.js +++ b/src/swipe/test/index.spec.js @@ -1,11 +1,5 @@ -import Vue from 'vue'; -import Swipe from '..'; -import SwipeItem from '../../swipe-item'; import { mount, triggerDrag, later } from '../../../test'; -Vue.use(Swipe); -Vue.use(SwipeItem); - const Component = { template: ` diff --git a/src/tab/test/index.spec.js b/src/tab/test/index.spec.js index 52b84a628..c6085ecb6 100644 --- a/src/tab/test/index.spec.js +++ b/src/tab/test/index.spec.js @@ -1,11 +1,6 @@ -import Vue from 'vue'; -import Tab from '..'; import Tabs from '../../tabs'; import { mount, later, triggerDrag, mockScrollTop } from '../../../test'; -Vue.use(Tab); -Vue.use(Tabs); - function createWrapper(options = {}) { return mount({ template: ` diff --git a/src/tabbar/test/index.spec.js b/src/tabbar/test/index.spec.js index b2ca61d0c..8957bd754 100644 --- a/src/tabbar/test/index.spec.js +++ b/src/tabbar/test/index.spec.js @@ -2,10 +2,7 @@ import VueRouter from 'vue-router'; import { mount, later } from '../../../test'; import Vue from 'vue'; import Tabbar from '..'; -import TabbarItem from '../../tabbar-item'; -Vue.use(Tabbar); -Vue.use(TabbarItem); Vue.use(VueRouter); test('route mode', async () => { diff --git a/src/tree-select/test/index.spec.js b/src/tree-select/test/index.spec.js index 09eb0c3a7..1f0dae0ea 100644 --- a/src/tree-select/test/index.spec.js +++ b/src/tree-select/test/index.spec.js @@ -1,9 +1,6 @@ -import Vue from 'vue'; import TreeSelect from '..'; import { mount } from '../../../test'; -Vue.use(TreeSelect); - test('empty list', () => { expect(mount(TreeSelect)).toMatchSnapshot(); }); From 1706c375fafb0b4dff033fe8fb494812ad83d17f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 19:12:17 +0800 Subject: [PATCH 005/198] feat(cli): improve changelog log message --- packages/vant-cli/src/commands/changelog.ts | 4 ++-- packages/vant-cli/src/common/logger.ts | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/vant-cli/src/commands/changelog.ts b/packages/vant-cli/src/commands/changelog.ts index da9a1cb44..7f08590ae 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 { logger, simplifyPath } from '../common/logger'; import { createWriteStream, readFileSync } from 'fs-extra'; // @ts-ignore import conventionalChangelog from 'conventional-changelog'; @@ -66,7 +66,7 @@ export async function changelog() { ) .pipe(createWriteStream(DIST_FILE)) .on('close', () => { - logger.success(`Generated changelog at ${DIST_FILE}`); + logger.success(`Changelog generated successfully at ${simplifyPath(DIST_FILE)}`); resolve(); }); }); diff --git a/packages/vant-cli/src/common/logger.ts b/packages/vant-cli/src/common/logger.ts index d598cabe5..d8a65127e 100644 --- a/packages/vant-cli/src/common/logger.ts +++ b/packages/vant-cli/src/common/logger.ts @@ -1,4 +1,6 @@ +import chalk from 'chalk'; import logger from 'signale'; +import { ROOT } from '../common/constant'; logger.config({ displayTimestamp: true @@ -33,4 +35,8 @@ export function getInteractiveLogger() { return interactive; } +export function simplifyPath(path: string) { + return chalk.yellow(path.replace(ROOT, '.')); +} + export { logger }; From 85cf5df27901648917a170e53731bd141771c659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 14 Jan 2020 20:26:41 +0800 Subject: [PATCH 006/198] feat(cli): improve dev server log --- packages/vant-cli/package.json | 1 + .../vant-cli/src/compiler/compile-site.ts | 33 +++++++++++++++---- packages/vant-cli/yarn.lock | 5 +++ 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 6aa36e95b..a92f386f7 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -63,6 +63,7 @@ "@vue/babel-preset-jsx": "^1.1.2", "@vue/component-compiler-utils": "^3.1.1", "@vue/test-utils": "1.0.0-beta.29", + "address": "^1.1.2", "autoprefixer": "^9.7.3", "babel-jest": "^24.9.0", "babel-loader": "^8.0.6", diff --git a/packages/vant-cli/src/compiler/compile-site.ts b/packages/vant-cli/src/compiler/compile-site.ts index a134ecba5..174428110 100644 --- a/packages/vant-cli/src/compiler/compile-site.ts +++ b/packages/vant-cli/src/compiler/compile-site.ts @@ -1,3 +1,5 @@ +import chalk from 'chalk'; +import address from 'address'; import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; import { get } from 'lodash'; @@ -5,12 +7,33 @@ import { getPort } from 'portfinder'; import { siteDevConfig } from '../config/webpack.site.dev'; import { sitePrdConfig } from '../config/webpack.site.prd'; -function watch() { +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.cyan.bold(local)} `); + console.log(` ${chalk.bold('Network')}: ${chalk.cyan.bold(network)}`); +} + +function runDevServer(port: number) { const server = new WebpackDevServer( webpack(siteDevConfig), siteDevConfig.devServer ); + // this is a hack to disable wds status log + (server as any).showStatus = function() {}; + + const host = get(siteDevConfig.devServer, 'host', 'localhost'); + server.listen(port, host, (err?: Error) => { + if (err) { + console.log(err); + } + }); +} + +function watch() { getPort( { port: siteDevConfig.devServer!.port @@ -21,12 +44,8 @@ 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); } ); } diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index daf3dff22..6bec5b823 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -2016,6 +2016,11 @@ add-stream@^1.0.0: resolved "https://registry.npm.taobao.org/add-stream/download/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= +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= + 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" From 67e2a2759ce9dd038385b22ee3da5647a6e6effb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 10:29:03 +0800 Subject: [PATCH 007/198] feat(cli): improve dev experience --- packages/vant-cli/src/commands/dev.ts | 3 -- packages/vant-cli/src/common/constant.ts | 13 ++++-- .../vant-cli/src/compiler/compile-site.ts | 5 +- .../src/compiler/vant-cli-site-plugin.ts | 46 +++++++++---------- .../vant-cli/src/config/webpack.site.dev.ts | 3 +- 5 files changed, 38 insertions(+), 32 deletions(-) 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/common/constant.ts b/packages/vant-cli/src/common/constant.ts index 9b56725ea..88bed3cd3 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,20 @@ 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 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'); diff --git a/packages/vant-cli/src/compiler/compile-site.ts b/packages/vant-cli/src/compiler/compile-site.ts index 174428110..fae00b53b 100644 --- a/packages/vant-cli/src/compiler/compile-site.ts +++ b/packages/vant-cli/src/compiler/compile-site.ts @@ -4,6 +4,7 @@ import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; import { get } from 'lodash'; import { getPort } from 'portfinder'; +import { GREEN } from '../common/constant'; import { siteDevConfig } from '../config/webpack.site.dev'; import { sitePrdConfig } from '../config/webpack.site.prd'; @@ -12,8 +13,8 @@ function logServerInfo(port: number) { const network = `http://${address.ip()}:${port}/`; console.log('\n Site running at:\n'); - console.log(` ${chalk.bold('Local')}: ${chalk.cyan.bold(local)} `); - console.log(` ${chalk.bold('Network')}: ${chalk.cyan.bold(network)}`); + console.log(` ${chalk.bold('Local')}: ${chalk.hex(GREEN)(local)} `); + console.log(` ${chalk.bold('Network')}: ${chalk.hex(GREEN)(network)}`); } function runDevServer(port: number) { 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..e9073ebed 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/webpack.site.dev.ts b/packages/vant-cli/src/config/webpack.site.dev.ts index 17d12e77d..87f9dd968 100644 --- a/packages/vant-cli/src/config/webpack.site.dev.ts +++ b/packages/vant-cli/src/config/webpack.site.dev.ts @@ -8,6 +8,7 @@ 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 } from '../common/constant'; @@ -75,7 +76,7 @@ export const siteDevBaseConfig = merge(baseConfig as any, { plugins: [ new WebpackBar({ name: 'Vant Cli', - color: '#07c160' + color: GREEN }), new VantCliSitePlugin(), new HtmlWebpackPlugin({ From a98e9b29f95508fc7c555c0c6c0326732139d363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 13:11:20 +0800 Subject: [PATCH 008/198] feat(cli): improve changelog logging --- packages/vant-cli/src/commands/changelog.ts | 6 +++--- packages/vant-cli/src/common/logger.ts | 5 +++-- packages/vant-cli/yarn.lock | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/vant-cli/src/commands/changelog.ts b/packages/vant-cli/src/commands/changelog.ts index 7f08590ae..4c494a683 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, simplifyPath } from '../common/logger'; +import { ora, slimPath } from '../common/logger'; import { createWriteStream, readFileSync } from 'fs-extra'; // @ts-ignore import conventionalChangelog from 'conventional-changelog'; @@ -47,7 +47,7 @@ function transform(item: any) { } export async function changelog() { - logger.start('Generating changelog...'); + const spinner = ora('Generating changelog...').start(); return new Promise(resolve => { conventionalChangelog( @@ -66,7 +66,7 @@ export async function changelog() { ) .pipe(createWriteStream(DIST_FILE)) .on('close', () => { - logger.success(`Changelog generated successfully at ${simplifyPath(DIST_FILE)}`); + spinner.succeed(`Changelog generated at ${slimPath(DIST_FILE)}`); resolve(); }); }); diff --git a/packages/vant-cli/src/common/logger.ts b/packages/vant-cli/src/common/logger.ts index d8a65127e..2b702ff80 100644 --- a/packages/vant-cli/src/common/logger.ts +++ b/packages/vant-cli/src/common/logger.ts @@ -1,3 +1,4 @@ +import ora from 'ora'; import chalk from 'chalk'; import logger from 'signale'; import { ROOT } from '../common/constant'; @@ -35,8 +36,8 @@ export function getInteractiveLogger() { return interactive; } -export function simplifyPath(path: string) { +export function slimPath(path: string) { return chalk.yellow(path.replace(ROOT, '.')); } -export { logger }; +export { ora, logger }; diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index 6bec5b823..f61400e64 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -8279,6 +8279,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" From 12535588ab9dad050aed390e9c4633d9b0982693 Mon Sep 17 00:00:00 2001 From: KyLeo Date: Wed, 15 Jan 2020 13:13:55 +0800 Subject: [PATCH 009/198] types(Toast): incorrect definition of 'setDefaultOptions' method (#5582) --- types/toast.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/toast.d.ts b/types/toast.d.ts index 5bf8b9c0d..24c3761bb 100644 --- a/types/toast.d.ts +++ b/types/toast.d.ts @@ -41,7 +41,7 @@ export interface Toast { fail(options?: ToastOptions | ToastMessage): VanToast; clear(all?: boolean): void; install(): void; - setDefaultOptions(options: string | ToastOptions): void; + setDefaultOptions(type: ToastType | ToastOptions, options?: ToastOptions): void; resetDefaultOptions(options?: string): void; allowMultiple(allow: boolean): void; } From 923dbbb0f234287d12d943271f1c4458c872b228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 13:15:17 +0800 Subject: [PATCH 010/198] feat(cli): improve linter logging --- packages/vant-cli/package.json | 3 +- packages/vant-cli/src/commands/lint.ts | 91 ++++++++++++++------------ packages/vant-cli/yarn.lock | 24 +------ 3 files changed, 53 insertions(+), 65 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index a92f386f7..919f43c7e 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -30,7 +30,6 @@ "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/lodash": "^4.14.149", @@ -39,7 +38,6 @@ "@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-merge": "^4.1.5" @@ -87,6 +85,7 @@ "less-loader": "^5.0.0", "lint-staged": "^9.5.0", "lodash": "^4.17.15", + "ora": "^4.0.3", "portfinder": "^1.0.25", "postcss": "^7.0.26", "postcss-loader": "^3.0.0", diff --git a/packages/vant-cli/src/commands/lint.ts b/packages/vant-cli/src/commands/lint.ts index 47b22136d..a29284bd3 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/yarn.lock b/packages/vant-cli/yarn.lock index f61400e64..4d34b126a 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1291,19 +1291,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" @@ -1403,7 +1390,7 @@ dependencies: jest-diff "^24.3.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= @@ -1498,13 +1485,6 @@ 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" @@ -8956,7 +8936,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= From 6104ecb3528166ae877dc64dba94d71b032b2f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 14:29:49 +0800 Subject: [PATCH 011/198] feat(cli): replace logger with consola --- package.json | 1 - packages/vant-cli/package.json | 3 +- packages/vant-cli/src/commands/build.ts | 60 ++++++++++--------- packages/vant-cli/src/commands/commit-lint.ts | 4 +- packages/vant-cli/src/common/logger.ts | 39 +----------- .../vant-cli/src/compiler/compile-style.ts | 4 +- packages/vant-cli/yarn.lock | 29 ++------- yarn.lock | 8 +-- 8 files changed, 49 insertions(+), 99 deletions(-) diff --git a/package.json b/package.json index c27646f28..259279af9 100644 --- a/package.json +++ b/package.json @@ -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" diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 919f43c7e..e277ea91e 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -36,7 +36,6 @@ "@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/webpack": "^4.41.2", "@types/webpack-dev-server": "^3.9.0", @@ -71,6 +70,7 @@ "clean-css": "^4.2.1", "codecov": "^3.6.1", "commander": "^4.1.0", + "consola": "^2.11.3", "conventional-changelog": "^3.1.18", "cross-env": "^6.0.3", "css-loader": "^3.4.1", @@ -93,7 +93,6 @@ "sass": "^1.24.4", "sass-loader": "^8.0.0", "shelljs": "^0.8.3", - "signale": "^1.4.0", "style-loader": "^1.1.2", "stylelint": "^12.0.1", "typescript": "^3.7.4", diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index b7ee70ca2..de5e18275 100644 --- a/packages/vant-cli/src/commands/build.ts +++ b/packages/vant-cli/src/commands/build.ts @@ -5,7 +5,7 @@ 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 { compileJs } from '../compiler/compile-js'; import { compileSfc } from '../compiler/compile-sfc'; import { compileStyle } from '../compiler/compile-style'; @@ -28,8 +28,6 @@ import { setModuleEnv } from '../common'; -const stepper = getStepper(12); - async function compileFile(filePath: string) { if (isSfc(filePath)) { return compileSfc(filePath); @@ -67,7 +65,8 @@ async function compileDir(dir: string) { } async function installDependencies() { - stepper.start('Install Dependencies'); + consola.info('Install Dependencies'); + console.log(''); try { const manager = hasYarn() ? 'yarn' : 'npm'; @@ -76,71 +75,75 @@ async function installDependencies() { stdio: 'inherit' }); - stepper.success('Install Dependencies'); + console.log(''); } catch (err) { - stepper.error('Install Dependencies', err); + console.log(err); throw err; } } async function buildESModuleOutputs() { - stepper.start('Build ESModule Outputs'); + const spinner = ora('Build ESModule Outputs').start(); try { setModuleEnv('esmodule'); await copy(SRC_DIR, ES_DIR); await compileDir(ES_DIR); - stepper.success('Build ESModule Outputs'); + spinner.succeed('Build ESModule Outputs'); } catch (err) { - stepper.error('Build ESModule Outputs', err); + spinner.fail('Build ESModule Outputs'); + console.log(err); throw err; } } async function buildCommonjsOutputs() { - stepper.start('Build Commonjs Outputs'); + const spinner = ora('Build Commonjs Outputs').start(); try { setModuleEnv('commonjs'); await copy(SRC_DIR, LIB_DIR); await compileDir(LIB_DIR); - stepper.success('Build Commonjs Outputs'); + spinner.succeed('Build Commonjs Outputs'); } catch (err) { - stepper.error('Build Commonjs Outputs', err); + spinner.fail('Build Commonjs Outputs'); + console.log(err); throw err; } } async function buildStyleEntry() { - stepper.start('Build Style Entry'); + const spinner = ora('Build Style Entry').start(); try { await genStyleDepsMap(); genComponentStyle(); - stepper.success('Build Style Entry'); + spinner.succeed('Build Style Entry'); } catch (err) { - stepper.error('Build Style Entry', err); + spinner.fail('Build Style Entry'); + console.log(err); throw err; } } async function buildPackedOutputs() { - stepper.start('Build Packed Outputs'); + const spinner = ora('Build Packed Outputs').start(); try { setModuleEnv('esmodule'); await compilePackage(false); await compilePackage(true); genVeturConfig(); - stepper.success('Build Packed Outputs'); + spinner.succeed('Build Packed Outputs'); } catch (err) { - stepper.error('Build Packed Outputs', err); + spinner.fail('Build Packed Outputs'); + console.log(err); throw err; } } async function buildPackageEntry() { - stepper.start('Build Package Entry'); + const spinner = ora('Build Package Entry').start(); try { const esEntryFile = join(ES_DIR, 'index.js'); @@ -165,27 +168,26 @@ async function buildPackageEntry() { await compileJs(libEntryFile); await compileStyle(styleEntryFile); - stepper.success('Build Package Entry'); + spinner.succeed('Build Package Entry'); } catch (err) { - stepper.error('Build Package Entry', err); + spinner.fail('Build Package Entry'); + console.log(err); throw err; } } 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 +195,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); } }); @@ -213,11 +215,13 @@ export async function build(cmd: { watch?: boolean } = {}) { await buildPackageEntry(); await buildPackedOutputs(); + consola.success('Compile successfully'); + 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/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/common/logger.ts b/packages/vant-cli/src/common/logger.ts index 2b702ff80..8f7f992e9 100644 --- a/packages/vant-cli/src/common/logger.ts +++ b/packages/vant-cli/src/common/logger.ts @@ -1,43 +1,10 @@ import ora from 'ora'; import chalk from 'chalk'; -import logger from 'signale'; +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 getInteractiveLogger() { - const interactive = new logger.Signale({ - interactive: true, - config: { - displayTimestamp: true - } - }); - - return interactive; -} - export function slimPath(path: string) { - return chalk.yellow(path.replace(ROOT, '.')); + return chalk.yellow(path.replace(ROOT, '')); } -export { ora, logger }; +export { ora, consola }; 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/yarn.lock b/packages/vant-cli/yarn.lock index 4d34b126a..1dae0c2e5 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1461,13 +1461,6 @@ "@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" @@ -3325,6 +3318,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" @@ -8693,14 +8691,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" @@ -10045,15 +10035,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" diff --git a/yarn.lock b/yarn.lock index e85c21c57..66377ae04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11665,8 +11665,8 @@ vue-style-loader@^4.1.0: vue-template-compiler@^2.6.11: version "2.6.11" - resolved "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha1-wEcE749JixUxMAGJk+VjCdRpgIA= + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" + integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -11678,8 +11678,8 @@ vue-template-es2015-compiler@^1.9.0: vue@^2.6.11: version "2.6.11" - resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz?cache=0&sync_timestamp=1576274787429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" - integrity sha1-dllNh31LEiNEBuhONSdcbVFBJcU= + resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" + integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ== w3c-hr-time@^1.0.1: version "1.0.1" From ed51b08011d399dac683695b1cbe16359b6a1550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 14:50:04 +0800 Subject: [PATCH 012/198] chore(cli): improve build tasks --- packages/vant-cli/src/commands/build.ts | 185 ++++++++++-------------- packages/vant-cli/src/common/index.ts | 16 -- packages/vant-cli/src/common/manager.ts | 36 +++++ 3 files changed, 114 insertions(+), 123 deletions(-) create mode 100644 packages/vant-cli/src/common/manager.ts diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index de5e18275..d4eacaa75 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 { 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,7 +22,6 @@ import { isScript, isDemoDir, isTestDir, - hasYarn, setNodeEnv, setModuleEnv } from '../common'; @@ -64,116 +62,95 @@ async function compileDir(dir: string) { ); } -async function installDependencies() { - consola.info('Install Dependencies'); - console.log(''); - try { - const manager = hasYarn() ? 'yarn' : 'npm'; - - await execa(manager, ['install', '--prod=false'], { - stdio: 'inherit' - }); - - console.log(''); - } catch (err) { - console.log(err); - throw err; - } +async function buildEs() { + setModuleEnv('esmodule'); + await copy(SRC_DIR, ES_DIR); + await compileDir(ES_DIR); } -async function buildESModuleOutputs() { - const spinner = ora('Build ESModule Outputs').start(); - - try { - setModuleEnv('esmodule'); - await copy(SRC_DIR, ES_DIR); - await compileDir(ES_DIR); - spinner.succeed('Build ESModule Outputs'); - } catch (err) { - spinner.fail('Build ESModule Outputs'); - console.log(err); - throw err; - } -} - -async function buildCommonjsOutputs() { - const spinner = ora('Build Commonjs Outputs').start(); - - try { - setModuleEnv('commonjs'); - await copy(SRC_DIR, LIB_DIR); - await compileDir(LIB_DIR); - spinner.succeed('Build Commonjs Outputs'); - } catch (err) { - spinner.fail('Build Commonjs Outputs'); - console.log(err); - throw err; - } +async function buildLib() { + setModuleEnv('commonjs'); + await copy(SRC_DIR, LIB_DIR); + await compileDir(LIB_DIR); } async function buildStyleEntry() { - const spinner = ora('Build Style Entry').start(); - - try { - await genStyleDepsMap(); - genComponentStyle(); - spinner.succeed('Build Style Entry'); - } catch (err) { - spinner.fail('Build Style Entry'); - console.log(err); - throw err; - } + await genStyleDepsMap(); + genComponentStyle(); } -async function buildPackedOutputs() { - const spinner = ora('Build Packed Outputs').start(); +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(); - spinner.succeed('Build Packed Outputs'); - } catch (err) { - spinner.fail('Build Packed Outputs'); - console.log(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() { - const spinner = ora('Build Package Entry').start(); +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}`); - - 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); - - spinner.succeed('Build Package Entry'); - } catch (err) { - spinner.fail('Build Package Entry'); - console.log(err); - throw err; +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 } +]; + +async function runBuildTasks() { + for (let i = 0; i < tasks.length; i++) { + const { task, text } = tasks[i]; + const spinner = ora(text).start(); + + 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() { @@ -209,13 +186,7 @@ export async function build(cmd: { watch?: boolean } = {}) { try { await clean(); await installDependencies(); - await buildESModuleOutputs(); - await buildCommonjsOutputs(); - await buildStyleEntry(); - await buildPackageEntry(); - await buildPackedOutputs(); - - consola.success('Compile successfully'); + await runBuildTasks(); if (cmd.watch) { watchFileChange(); diff --git a/packages/vant-cli/src/common/index.ts b/packages/vant-cli/src/common/index.ts index 9660d217a..1922de8fb 100644 --- a/packages/vant-cli/src/common/index.ts +++ b/packages/vant-cli/src/common/index.ts @@ -1,5 +1,4 @@ import { join } from 'path'; -import { execSync } from 'child_process'; import { lstatSync, existsSync, @@ -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/manager.ts b/packages/vant-cli/src/common/manager.ts new file mode 100644 index 000000000..320efd7ff --- /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; + } +} From 3dd9d4f752e782fad2252733257ba000ffcf175d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 14:51:51 +0800 Subject: [PATCH 013/198] chore: release @vant/cli@2.1.7 --- packages/vant-cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index e277ea91e..030dee9c5 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.1.7", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", From 17b2f2be71a7869cdb221af29ec8d128a952ccb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 14:54:08 +0800 Subject: [PATCH 014/198] docs(cli): changelog@2.1.7 --- package.json | 2 +- packages/vant-cli/changelog.md | 7 +++++ yarn.lock | 53 ++++++++++++++++++++-------------- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 259279af9..3df700ebf 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "vue": ">= 2.5.22" }, "devDependencies": { - "@vant/cli": "^2.1.6", + "@vant/cli": "^2.1.7", "vue": "^2.6.11", "vue-template-compiler": "^2.6.11" }, diff --git a/packages/vant-cli/changelog.md b/packages/vant-cli/changelog.md index 17f841880..a8b41ea84 100644 --- a/packages/vant-cli/changelog.md +++ b/packages/vant-cli/changelog.md @@ -1,5 +1,12 @@ # 更新日志 +### [v2.1.7] +`2020-01-15` + +- 优化 help 命令 +- 优化控制台输出信息 + + ### [v2.1.6] `2020-01-12` diff --git a/yarn.lock b/yarn.lock index 66377ae04..10acd0a01 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1464,10 +1464,10 @@ semver "^6.3.0" tsutils "^3.17.1" -"@vant/cli@^2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@vant/cli/-/cli-2.1.6.tgz#67d4ab2d7aca2396acf0a44d388dacbe8d6ff9d2" - integrity sha512-45LLDdTXEFIlQvwRvkrGWVWnN8BVi+ESPLn6LBCvNjCd7sNBbGZsdC1fjFrBH6cocvDxyIzXKhX1E2OdqJ7Gpg== +"@vant/cli@^2.1.7": + version "2.1.7" + resolved "https://registry.yarnpkg.com/@vant/cli/-/cli-2.1.7.tgz#a0eb3544976c6c9cf6be138ba1239b22753d1d91" + integrity sha512-UvgyHce4TgHKqE3Y2iaPZ9YX8HR9TNOknCyYZ1Lv3icPk9FYiUA1UshU7Y1xp4CXLbBEPFJr1bAbdALchxdeuQ== dependencies: "@babel/core" "^7.7.7" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" @@ -1487,6 +1487,7 @@ "@vue/babel-preset-jsx" "^1.1.2" "@vue/component-compiler-utils" "^3.1.1" "@vue/test-utils" "1.0.0-beta.29" + address "^1.1.2" autoprefixer "^9.7.3" babel-jest "^24.9.0" babel-loader "^8.0.6" @@ -1496,6 +1497,7 @@ clean-css "^4.2.1" codecov "^3.6.1" commander "^4.1.0" + consola "^2.11.3" conventional-changelog "^3.1.18" cross-env "^6.0.3" css-loader "^3.4.1" @@ -1510,6 +1512,7 @@ less-loader "^5.0.0" lint-staged "^9.5.0" lodash "^4.17.15" + ora "^4.0.3" portfinder "^1.0.25" postcss "^7.0.26" postcss-loader "^3.0.0" @@ -1517,7 +1520,6 @@ sass "^1.24.4" sass-loader "^8.0.0" shelljs "^0.8.3" - signale "^1.4.0" style-loader "^1.1.2" stylelint "^12.0.1" typescript "^3.7.4" @@ -1928,6 +1930,11 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= +address@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + agent-base@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -3326,6 +3333,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 "https://registry.yarnpkg.com/consola/-/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e" + integrity sha512-aoW0YIIAmeftGR8GSpw6CGQluNdkWMWh3yEFjH/hmynTYnMtibXszii3lxCXmk8YxJtI3FAK5aTiquA5VH68Gw== + consola@^2.6.0: version "2.11.0" resolved "https://registry.npm.taobao.org/consola/download/consola-2.11.0.tgz#9bb35d850d8cecde894ce2eb4d792fa6b90d9013" @@ -8342,6 +8354,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.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" + integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg== + 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.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -8767,14 +8793,6 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-conf@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/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.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -10180,15 +10198,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -signale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" - integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== - dependencies: - chalk "^2.3.2" - figures "^2.0.0" - pkg-conf "^2.1.0" - sisteransi@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" From 50252ff553121e32386374a1e684944d92e5e53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 16:05:20 +0800 Subject: [PATCH 015/198] fix(vetur): fix markdown vetur output format --- packages/vant-markdown-vetur/package.json | 1 + packages/vant-markdown-vetur/src/codegen.ts | 28 ++++++++++++----- packages/vant-markdown-vetur/src/md-parser.ts | 30 +++++++++---------- src/switch-cell/README.zh-CN.md | 2 +- 4 files changed, 37 insertions(+), 24 deletions(-) diff --git a/packages/vant-markdown-vetur/package.json b/packages/vant-markdown-vetur/package.json index 86f4af52c..e61ec4f29 100644 --- a/packages/vant-markdown-vetur/package.json +++ b/packages/vant-markdown-vetur/package.json @@ -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..2ec022e3b 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 = ''; @@ -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] - }`, + 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/md-parser.ts b/packages/vant-markdown-vetur/src/md-parser.ts index 4f6be3ba4..dc23c79f0 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; @@ -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)); } } diff --git a/src/switch-cell/README.zh-CN.md b/src/switch-cell/README.zh-CN.md index 8ef1d28fa..859dc9bd8 100644 --- a/src/switch-cell/README.zh-CN.md +++ b/src/switch-cell/README.zh-CN.md @@ -62,7 +62,7 @@ export default { | v-model | 开关状态 | *any* | `false` | | title | 左侧标题 | *string* | `''` | | border | 是否展示单元格内边框 | *boolean* | `true` | -| cell-size | 单元格大小,可选值为 `large` | *string* | +| cell-size | 单元格大小,可选值为 `large` | *string* | - | | loading | 是否为加载状态 | *boolean* | `false` | | disabled | 是否为禁用状态 | *boolean* | `false` | | size | 开关尺寸 | *string \| number* | `24px` | From cfd40f2eaf0c7c5154160aedea961084001f5985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 16:08:10 +0800 Subject: [PATCH 016/198] chore: release @vant/markdown-vetur@1.1.0 --- packages/vant-cli/package.json | 2 +- packages/vant-cli/yarn.lock | 8 ++++---- packages/vant-markdown-vetur/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 030dee9c5..f2e0bc4b3 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -54,7 +54,7 @@ "@types/jest": "^24.0.25", "@vant/eslint-config": "^1.5.1", "@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", diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index 1dae0c2e5..e629877f7 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1628,10 +1628,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" diff --git a/packages/vant-markdown-vetur/package.json b/packages/vant-markdown-vetur/package.json index e61ec4f29..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", From 670b3469633bdf1d4339a589f1714076e25366e8 Mon Sep 17 00:00:00 2001 From: KongYe <40623993+kongyeah@users.noreply.github.com> Date: Wed, 15 Jan 2020 16:34:13 +0800 Subject: [PATCH 017/198] =?UTF-8?q?feat(Calendar):=20add=20max-range?= =?UTF-8?q?=E3=80=81range-prompt=20prop=20(#5583)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/calendar/README.md | 2 ++ src/calendar/README.zh-CN.md | 2 ++ src/calendar/index.js | 18 +++++++++++++++++- src/calendar/test/utils.spec.js | 7 ++++++- src/calendar/utils.ts | 6 ++++++ src/locale/lang/en-US.ts | 3 ++- src/locale/lang/es-ES.ts | 3 ++- src/locale/lang/tr-TR.ts | 3 ++- src/locale/lang/zh-CN.ts | 3 ++- src/locale/lang/zh-HK.ts | 3 ++- src/locale/lang/zh-TW.ts | 3 ++- 11 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/calendar/README.md b/src/calendar/README.md index 419c10f0b..d46785bd7 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -221,6 +221,8 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | 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 | max range of day | *number* | `null` | +| range-prompt | err message when the select range over max range | *string* | `选择天数不能超过 xx 天` | ### Data Structure of Day diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index 04e6acfd5..ee488b5c1 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -221,6 +221,8 @@ export default { | 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 | 日期区间最大范围天数 | *number* | `null` | +| range-prompt | 选择超过区间最大范围天数时错误提示 | *string* | `选择天数不能超过 xx 天` | ### Day 数据结构 diff --git a/src/calendar/index.js b/src/calendar/index.js index efb294581..3082ce04a 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -7,11 +7,13 @@ import { compareDay, compareMonth, createComponent, + calcDateNum, ROW_HEIGHT } from './utils'; import Popup from '../popup'; import Button from '../button'; +import Toast from '../toast'; import Month from './components/Month'; import Header from './components/Header'; @@ -72,6 +74,16 @@ export default createComponent({ closeOnClickOverlay: { type: Boolean, default: true + }, + maxRange: { + type: Number, + default: null + }, + rangePrompt: { + type: String, + default() { + return t('rangePromptText', this.maxRange); + } } }, @@ -254,7 +266,11 @@ export default createComponent({ }, onConfirm() { - this.$emit('confirm', this.currentDate); + if (this.maxRange && calcDateNum(this.currentDate) > this.maxRange) { + Toast(this.rangePrompt); + } else { + this.$emit('confirm', this.currentDate); + } }, genMonth(date, index) { 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/locale/lang/en-US.ts b/src/locale/lang/en-US.ts index df72c17cf..5565032d5 100644 --- a/src/locale/lang/en-US.ts +++ b/src/locale/lang/en-US.ts @@ -17,7 +17,8 @@ export default { start: 'Start', title: 'Calendar', weekdays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - monthTitle: (year: number, month: number) => `${year}/${month}` + monthTitle: (year: number, month: number) => `${year}/${month}`, + rangePromptText: (maxRange: Number) => `Choose no more than ${maxRange} days` }, vanContactCard: { addText: 'Add contact info' diff --git a/src/locale/lang/es-ES.ts b/src/locale/lang/es-ES.ts index 36c5d8e3d..8fa52d011 100644 --- a/src/locale/lang/es-ES.ts +++ b/src/locale/lang/es-ES.ts @@ -17,7 +17,8 @@ export default { start: 'Comienzo', title: 'Calendario', weekdays: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'], - monthTitle: (year: number, month: number) => `${year}/${month}` + monthTitle: (year: number, month: number) => `${year}/${month}`, + rangePromptText: (maxRange: Number) => `Elija no más de ${maxRange} días` }, vanContactCard: { addText: 'Añadir información de contacto' diff --git a/src/locale/lang/tr-TR.ts b/src/locale/lang/tr-TR.ts index ff847409b..9a8e368a9 100644 --- a/src/locale/lang/tr-TR.ts +++ b/src/locale/lang/tr-TR.ts @@ -17,7 +17,8 @@ export default { start: 'Başlat', title: 'Takvim', weekdays: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], - monthTitle: (year: number, month: number) => `${year}/${month}` + monthTitle: (year: number, month: number) => `${year}/${month}`, + rangePromptText: (maxRange: Number) => `En fazla ${maxRange} gün seçin` }, vanContactCard: { addText: 'Kişi bilgisi ekle' diff --git a/src/locale/lang/zh-CN.ts b/src/locale/lang/zh-CN.ts index 2dc75aa53..9a338179c 100644 --- a/src/locale/lang/zh-CN.ts +++ b/src/locale/lang/zh-CN.ts @@ -18,7 +18,8 @@ export default { title: '日期选择', confirm: '确定', weekdays: ['日', '一', '二', '三', '四', '五', '六'], - monthTitle: (year: number, month: number) => `${year}年${month}月` + monthTitle: (year: number, month: number) => `${year}年${month}月`, + rangePromptText: (maxRange: Number) => `选择天数不能超过 ${maxRange} 天` }, vanContactCard: { addText: '添加联系人' diff --git a/src/locale/lang/zh-HK.ts b/src/locale/lang/zh-HK.ts index bbcbec391..28b3f4c8c 100644 --- a/src/locale/lang/zh-HK.ts +++ b/src/locale/lang/zh-HK.ts @@ -18,7 +18,8 @@ export default { title: '日期選擇', confirm: '確定', weekdays: ['日', '壹', '二', '三', '四', '五', '六'], - monthTitle: (year: number, month: number) => `${year}年${month}月` + monthTitle: (year: number, month: number) => `${year}年${month}月`, + rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` }, vanContactCard: { addText: '添加聯系人' diff --git a/src/locale/lang/zh-TW.ts b/src/locale/lang/zh-TW.ts index c2d1919cd..f83f8e472 100644 --- a/src/locale/lang/zh-TW.ts +++ b/src/locale/lang/zh-TW.ts @@ -18,7 +18,8 @@ export default { title: '日期選擇', confirm: '確定', weekdays: ['日', '壹', '二', '三', '四', '五', '六'], - monthTitle: (year: number, month: number) => `${year}年${month}月` + monthTitle: (year: number, month: number) => `${year}年${month}月`, + rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` }, vanContactCard: { addText: '新增聯絡人' From 419726542d0ad44950a693b0e9cde4211275e7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 16:38:00 +0800 Subject: [PATCH 018/198] chore: release 2.4.3-beta.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3df700ebf..ffb0872ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vant", - "version": "2.4.2", + "version": "2.4.3-beta.0", "description": "Mobile UI Components built on Vue", "main": "lib/index.js", "module": "es/index.js", From b41abcde48e4c90074fb08c81241002ca64f4379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 16:41:35 +0800 Subject: [PATCH 019/198] docs(changelog): 2.4.3-beta.0 --- docs/markdown/changelog.en-US.md | 12 ++++++++++++ docs/markdown/changelog.zh-CN.md | 13 +++++++++++++ 2 files changed, 25 insertions(+) diff --git a/docs/markdown/changelog.en-US.md b/docs/markdown/changelog.en-US.md index 51d3ab955..dd7bc3ab9 100644 --- a/docs/markdown/changelog.en-US.md +++ b/docs/markdown/changelog.en-US.md @@ -1,5 +1,17 @@ # Changelog +### [v2.4.3-beta.0](https://github.com/youzan/vant/compare/v2.4.2...v2.4.3-beta.0) +`2020-01-15` + +**Feature** + +* Calendar: add max-range、range-prompt prop [#5583](https://github.com/youzan/vant/issues/5583) + +**Types** + +* 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` diff --git a/docs/markdown/changelog.zh-CN.md b/docs/markdown/changelog.zh-CN.md index 1a1d25c3f..047243a6c 100644 --- a/docs/markdown/changelog.zh-CN.md +++ b/docs/markdown/changelog.zh-CN.md @@ -10,6 +10,19 @@ Vant 遵循 [Semver](https://semver.org/lang/zh-CN/) 语义化版本规范。 - 次版本号:每隔一至二个月发布,包含新特性和较大的功能更新,向下兼容。 - 主版本号:发布时间不定,包含不兼容更新,预计下一个主版本会与 Vue 3.0 同期发布。 + +### [v2.4.3-beta.0](https://github.com/youzan/vant/compare/v2.4.2...v2.4.3-beta.0) +`2020-01-15` + +**Feature** + +* Calendar: 新增 max-range、range-prompt 属性 [#5583](https://github.com/youzan/vant/issues/5583) + +**Types** + +* Toast: 修复 setDefaultOptions 方法参数定义错误 [#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` From ff09011e0ef18ab29dd70b51f412625dd10bb4cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 18:54:01 +0800 Subject: [PATCH 020/198] fix(Calendar): should show range prompt after select --- src/calendar/index.js | 32 ++++++++++++++++++++++---------- src/locale/lang/en-US.ts | 2 +- src/locale/lang/es-ES.ts | 2 +- src/locale/lang/tr-TR.ts | 2 +- src/locale/lang/zh-CN.ts | 2 +- src/locale/lang/zh-HK.ts | 2 +- src/locale/lang/zh-TW.ts | 2 +- 7 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/calendar/index.js b/src/calendar/index.js index 3082ce04a..c9fae3c7e 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -23,8 +23,9 @@ export default createComponent({ color: String, value: Boolean, formatter: Function, - defaultDate: [Date, Array], confirmText: String, + rangePrompt: String, + defaultDate: [Date, Array], confirmDisabledText: String, type: { type: String, @@ -78,12 +79,6 @@ export default createComponent({ maxRange: { type: Number, default: null - }, - rangePrompt: { - type: String, - default() { - return t('rangePromptText', this.maxRange); - } } }, @@ -260,15 +255,32 @@ export default createComponent({ this.currentDate = date; this.$emit('select', this.currentDate); + if (complete && this.type === '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() { - if (this.maxRange && calcDateNum(this.currentDate) > this.maxRange) { - Toast(this.rangePrompt); - } else { + if (this.checkRange()) { this.$emit('confirm', this.currentDate); } }, diff --git a/src/locale/lang/en-US.ts b/src/locale/lang/en-US.ts index 5565032d5..2f2788842 100644 --- a/src/locale/lang/en-US.ts +++ b/src/locale/lang/en-US.ts @@ -18,7 +18,7 @@ export default { title: 'Calendar', weekdays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], monthTitle: (year: number, month: number) => `${year}/${month}`, - rangePromptText: (maxRange: Number) => `Choose no more than ${maxRange} days` + rangePrompt: (maxRange: Number) => `Choose no more than ${maxRange} days` }, vanContactCard: { addText: 'Add contact info' diff --git a/src/locale/lang/es-ES.ts b/src/locale/lang/es-ES.ts index 8fa52d011..90c125c13 100644 --- a/src/locale/lang/es-ES.ts +++ b/src/locale/lang/es-ES.ts @@ -18,7 +18,7 @@ export default { title: 'Calendario', weekdays: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'], monthTitle: (year: number, month: number) => `${year}/${month}`, - rangePromptText: (maxRange: Number) => `Elija no más de ${maxRange} días` + rangePrompt: (maxRange: Number) => `Elija no más de ${maxRange} días` }, vanContactCard: { addText: 'Añadir información de contacto' diff --git a/src/locale/lang/tr-TR.ts b/src/locale/lang/tr-TR.ts index 9a8e368a9..bc9d337d7 100644 --- a/src/locale/lang/tr-TR.ts +++ b/src/locale/lang/tr-TR.ts @@ -18,7 +18,7 @@ export default { title: 'Takvim', weekdays: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], monthTitle: (year: number, month: number) => `${year}/${month}`, - rangePromptText: (maxRange: Number) => `En fazla ${maxRange} gün seçin` + rangePrompt: (maxRange: Number) => `En fazla ${maxRange} gün seçin` }, vanContactCard: { addText: 'Kişi bilgisi ekle' diff --git a/src/locale/lang/zh-CN.ts b/src/locale/lang/zh-CN.ts index 9a338179c..629796907 100644 --- a/src/locale/lang/zh-CN.ts +++ b/src/locale/lang/zh-CN.ts @@ -19,7 +19,7 @@ export default { confirm: '确定', weekdays: ['日', '一', '二', '三', '四', '五', '六'], monthTitle: (year: number, month: number) => `${year}年${month}月`, - rangePromptText: (maxRange: Number) => `选择天数不能超过 ${maxRange} 天` + rangePrompt: (maxRange: Number) => `选择天数不能超过 ${maxRange} 天` }, vanContactCard: { addText: '添加联系人' diff --git a/src/locale/lang/zh-HK.ts b/src/locale/lang/zh-HK.ts index 28b3f4c8c..fbaa9599d 100644 --- a/src/locale/lang/zh-HK.ts +++ b/src/locale/lang/zh-HK.ts @@ -19,7 +19,7 @@ export default { confirm: '確定', weekdays: ['日', '壹', '二', '三', '四', '五', '六'], monthTitle: (year: number, month: number) => `${year}年${month}月`, - rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` + rangePrompt: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` }, vanContactCard: { addText: '添加聯系人' diff --git a/src/locale/lang/zh-TW.ts b/src/locale/lang/zh-TW.ts index f83f8e472..97e89bf4a 100644 --- a/src/locale/lang/zh-TW.ts +++ b/src/locale/lang/zh-TW.ts @@ -19,7 +19,7 @@ export default { confirm: '確定', weekdays: ['日', '壹', '二', '三', '四', '五', '六'], monthTitle: (year: number, month: number) => `${year}年${month}月`, - rangePromptText: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` + rangePrompt: (maxRange: Number) => `選擇天數不能超過 ${maxRange} 天` }, vanContactCard: { addText: '新增聯絡人' From 038b622e9d473b94f77ec3e2a3e47ba5b58a055b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 18:56:31 +0800 Subject: [PATCH 021/198] docs(Calendar): add max-range demo --- src/calendar/README.md | 16 ++++++++++++++-- src/calendar/README.zh-CN.md | 16 ++++++++++++++-- src/calendar/demo/index.vue | 18 +++++++++++++++++- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/calendar/README.md b/src/calendar/README.md index d46785bd7..a2a969266 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -184,6 +184,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 @@ -221,8 +233,8 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | 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 | max range of day | *number* | `null` | -| range-prompt | err message when the select range over max range | *string* | `选择天数不能超过 xx 天` | +| max-range`2.4.3` | Number of selectable days | *number* | - | +| range-prompt`2.4.3` | Error message when exceeded max range | *string* | `Choose no more than xx days` | ### Data Structure of Day diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index ee488b5c1..7baeb9dcc 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -184,6 +184,18 @@ export default { /> ``` +### 日期区间最大范围 + +选择日期区间时,可以通过`max-range`属性来指定最多可选天数,选择的范围超过最多可选天数时,会弹出相应的提示文案 + +```html + +``` + ### 平铺展示 将`poppable`设置为`false`,日历会直接展示在页面内,而不是以弹层的形式出现 @@ -221,8 +233,8 @@ export default { | 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 | 日期区间最大范围天数 | *number* | `null` | -| range-prompt | 选择超过区间最大范围天数时错误提示 | *string* | `选择天数不能超过 xx 天` | +| max-range`2.4.3` | 日期区间最多可选天数,默认无限制 | *number* | - | +| range-prompt`2.4.3` | 选择超过区间范围时的提示文案 | *string* | `选择天数不能超过 xx 天` | ### Day 数据结构 diff --git a/src/calendar/demo/index.vue b/src/calendar/demo/index.vue index dc969e9c5..3235d2a28 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: '快捷选择', @@ -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', @@ -147,6 +157,7 @@ export default { data() { return { date: { + maxRange: [], selectSingle: null, selectRange: [], quickSelect1: null, @@ -162,6 +173,7 @@ export default { 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; } }, From 13bbd731416837d7a1875e5d9569194bb21c1311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 19:16:37 +0800 Subject: [PATCH 022/198] test(Calendar): add max-range test case --- src/calendar/index.js | 2 ++ .../test/__snapshots__/demo.spec.js.snap | 4 ++++ src/calendar/test/index.spec.js | 21 +++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/src/calendar/index.js b/src/calendar/index.js index c9fae3c7e..aa0ec2a66 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -385,3 +385,5 @@ export default createComponent({ return this.genCalendar(); } }); + +// todo 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..8c94182db 100644 --- a/src/calendar/test/index.spec.js +++ b/src/calendar/test/index.spec.js @@ -427,3 +427,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(); +}); From b8a6b67975f8693cf26f0d604f3301f4d6717941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 19:35:46 +0800 Subject: [PATCH 023/198] chore(Calendar): add computed range --- src/calendar/index.js | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/calendar/index.js b/src/calendar/index.js index aa0ec2a66..c0bc0b3cc 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -90,6 +90,10 @@ export default createComponent({ }, computed: { + range() { + return this.type === 'range'; + }, + months() { const months = []; const cursor = new Date(this.minDate); @@ -105,14 +109,11 @@ 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; } }, @@ -155,8 +156,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) { @@ -177,15 +178,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 @@ -226,11 +224,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) { @@ -244,6 +238,8 @@ export default createComponent({ } else { this.select([date, null]); } + } else { + this.select(date, true); } }, @@ -255,7 +251,7 @@ export default createComponent({ this.currentDate = date; this.$emit('select', this.currentDate); - if (complete && this.type === 'range') { + if (complete && this.range) { const valid = this.checkRange(); if (!valid) { @@ -385,5 +381,3 @@ export default createComponent({ return this.genCalendar(); } }); - -// todo From 2f3ec6a3d48a9d56f8127d27d51c3337f6e72cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 19:49:10 +0800 Subject: [PATCH 024/198] feat(Stepper): add long-press prop --- src/stepper/README.md | 1 + src/stepper/README.zh-CN.md | 1 + src/stepper/index.js | 16 ++++++++++-- .../test/__snapshots__/index.spec.js.snap | 2 ++ src/stepper/test/index.spec.js | 25 +++++++++++++++++++ 5 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/stepper/README.md b/src/stepper/README.md index 87816ad2e..5a479b60f 100644 --- a/src/stepper/README.md +++ b/src/stepper/README.md @@ -116,6 +116,7 @@ export default { | button-size `v2.0.5` | Button size | *string \| number* | `28px` | | show-plus `v2.1.2` | Whether to show plus button | *boolean* | `true` | | show-minus `v2.1.2` | Whether to show minus button | *boolean* | `true` | +| long-press `v2.4.3` | Whether to allow long press | *boolean* | `true` | | decimal-length `v2.2.1` | Decimal length | *number* | - | ### Events diff --git a/src/stepper/README.zh-CN.md b/src/stepper/README.zh-CN.md index efd51d136..d6708834c 100644 --- a/src/stepper/README.zh-CN.md +++ b/src/stepper/README.zh-CN.md @@ -138,6 +138,7 @@ export default { | button-size `v2.0.5` | 按钮大小以及输入框高度,默认单位为`px` | *string \| number* | `28px` | | show-plus `v2.1.2` | 是否显示增加按钮 | *boolean* | `true` | | show-minus `v2.1.2` | 是否显示减少按钮 | *boolean* | `true` | +| long-press `v2.4.3` | 是否开启长按手势 | *boolean* | `true` | | decimal-length `v2.2.1` | 固定显示的小数位数 | *number* | - | ### Events diff --git a/src/stepper/index.js b/src/stepper/index.js index 1a14f14c6..b1b2b1908 100644 --- a/src/stepper/index.js +++ b/src/stepper/index.js @@ -56,6 +56,10 @@ export default createComponent({ showMinus: { type: Boolean, default: true + }, + longPress: { + type: Boolean, + default: true } }, @@ -222,12 +226,16 @@ export default createComponent({ longPressStep() { this.longPressTimer = setTimeout(() => { - this.onChange(this.type); + this.onChange(); this.longPressStep(this.type); }, LONG_PRESS_INTERVAL); }, onTouchStart() { + if (!this.longPress) { + return; + } + clearTimeout(this.longPressTimer); this.isLongPress = false; @@ -239,6 +247,10 @@ export default createComponent({ }, onTouchEnd(event) { + if (!this.longPress) { + return; + } + clearTimeout(this.longPressTimer); if (this.isLongPress) { @@ -256,7 +268,7 @@ export default createComponent({ }, touchstart: () => { this.type = type; - this.onTouchStart(type); + this.onTouchStart(); }, touchend: this.onTouchEnd, touchcancel: this.onTouchEnd diff --git a/src/stepper/test/__snapshots__/index.spec.js.snap b/src/stepper/test/__snapshots__/index.spec.js.snap index c9e506e91..bb89c20ac 100644 --- a/src/stepper/test/__snapshots__/index.spec.js.snap +++ b/src/stepper/test/__snapshots__/index.spec.js.snap @@ -1,5 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`button-size prop 1`] = `
`; + exports[`disable stepper input 1`] = `
`; exports[`disabled stepper 1`] = `
`; diff --git a/src/stepper/test/index.spec.js b/src/stepper/test/index.spec.js index 2b423e2c1..aa6c5b4eb 100644 --- a/src/stepper/test/index.spec.js +++ b/src/stepper/test/index.spec.js @@ -89,6 +89,22 @@ test('long press', async () => { expect(wrapper.emitted('input')).toEqual([[2], [3], [4]]); }); +test('disable long press', async () => { + const wrapper = mount(Stepper, { + propsData: { + value: 1, + longPress: false + } + }); + + const plus = wrapper.find('.van-stepper__plus'); + plus.trigger('touchstart'); + await later(800); + plus.trigger('touchend'); + + expect(wrapper.emitted('input')).toBeFalsy(); +}); + test('filter value during user input', () => { const wrapper = mount(Stepper, { propsData: { @@ -178,6 +194,15 @@ test('input-width prop', () => { expect(wrapper).toMatchSnapshot(); }); +test('button-size prop', () => { + const wrapper = mount(Stepper, { + propsData: { + buttonSize: '2rem' + } + }); + expect(wrapper).toMatchSnapshot(); +}); + test('async-change prop', () => { const wrapper = mount(Stepper, { propsData: { From 959eca136c4ca6a39e22d36512db74b93ad100c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 15 Jan 2020 20:00:24 +0800 Subject: [PATCH 025/198] feat(Stepper): improve disable-input behavior --- src/stepper/README.md | 6 ++++++ src/stepper/README.zh-CN.md | 8 ++++++++ src/stepper/demo/index.vue | 9 ++++++++- src/stepper/index.js | 5 +++-- src/stepper/test/__snapshots__/demo.spec.js.snap | 8 +++++++- src/stepper/test/__snapshots__/index.spec.js.snap | 4 ++-- 6 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/stepper/README.md b/src/stepper/README.md index 5a479b60f..265e4d8fe 100644 --- a/src/stepper/README.md +++ b/src/stepper/README.md @@ -51,6 +51,12 @@ export default { ``` +### Disable Input + +```html + +``` + ### Decimal Length ```html diff --git a/src/stepper/README.zh-CN.md b/src/stepper/README.zh-CN.md index d6708834c..2734c47dc 100644 --- a/src/stepper/README.zh-CN.md +++ b/src/stepper/README.zh-CN.md @@ -65,6 +65,14 @@ export default { ``` +### 禁用输入框 + +通过设置`disabled-input`属性来禁用输入框,此时按钮仍然可以点击 + +```html + +``` + ### 固定小数位数 通过设置`decimal-length`属性可以保留固定的小数位数 diff --git a/src/stepper/demo/index.vue b/src/stepper/demo/index.vue index 066c4b2f9..31cf0fa9e 100644 --- a/src/stepper/demo/index.vue +++ b/src/stepper/demo/index.vue @@ -20,6 +20,10 @@ + + + + @@ -43,6 +47,7 @@ export default { integer: '限制输入整数', asyncChange: '异步变更', customSize: '自定义大小', + disableInput: '禁用输入框', decimalLength: '固定小数位数' }, 'en-US': { @@ -51,6 +56,7 @@ export default { integer: 'Integer', asyncChange: 'Async Change', customSize: 'Custom Size', + disableInput: 'Disable Input', decimalLength: 'Decimal Length' } }, @@ -64,7 +70,8 @@ export default { stepper5: 1, stepper6: 1, stepper7: 1, - stepper8: 1 + stepper8: 1, + disabledInput: 1 }; }, diff --git a/src/stepper/index.js b/src/stepper/index.js index b1b2b1908..75de4ecca 100644 --- a/src/stepper/index.js +++ b/src/stepper/index.js @@ -289,11 +289,12 @@ export default createComponent({ role="spinbutton" class={bem('input')} value={this.currentValue} + style={this.inputStyle} + disabled={this.disabled} + readonly={this.disableInput} aria-valuemax={this.max} aria-valuemin={this.min} aria-valuenow={this.currentValue} - disabled={this.disabled || this.disableInput} - style={this.inputStyle} onInput={this.onInput} onFocus={this.onFocus} onBlur={this.onBlur} diff --git a/src/stepper/test/__snapshots__/demo.spec.js.snap b/src/stepper/test/__snapshots__/demo.spec.js.snap index 749c36cf8..24286cbb1 100644 --- a/src/stepper/test/__snapshots__/demo.spec.js.snap +++ b/src/stepper/test/__snapshots__/demo.spec.js.snap @@ -29,7 +29,13 @@ exports[`renders demo correctly 1`] = `
禁用状态
-
+
+
+
+
+
禁用输入框
+
+
diff --git a/src/stepper/test/__snapshots__/index.spec.js.snap b/src/stepper/test/__snapshots__/index.spec.js.snap index bb89c20ac..9426e7d31 100644 --- a/src/stepper/test/__snapshots__/index.spec.js.snap +++ b/src/stepper/test/__snapshots__/index.spec.js.snap @@ -2,9 +2,9 @@ exports[`button-size prop 1`] = `
`; -exports[`disable stepper input 1`] = `
`; +exports[`disable stepper input 1`] = `
`; -exports[`disabled stepper 1`] = `
`; +exports[`disabled stepper 1`] = `
`; exports[`input-width prop 1`] = `
`; From 60173dd6bc004339333c50218d7c6b2f6c1bc07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 10:03:52 +0800 Subject: [PATCH 026/198] feat(Field): imporve readonly cursor --- src/field/index.less | 4 ++++ src/stepper/index.less | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/field/index.less b/src/field/index.less index d41ec4c95..ae73ebf5a 100644 --- a/src/field/index.less +++ b/src/field/index.less @@ -43,6 +43,10 @@ opacity: 1; } + &:read-only { + cursor: default; + } + &--center { text-align: center; } diff --git a/src/stepper/index.less b/src/stepper/index.less index f45844e8b..a261e1625 100644 --- a/src/stepper/index.less +++ b/src/stepper/index.less @@ -89,6 +89,10 @@ -webkit-text-fill-color: @stepper-input-disabled-text-color; // fix disabled color in iOS opacity: 1; } + + &:read-only { + cursor: default; + } } input[type="number"]::-webkit-inner-spin-button, From 11315787ec980767973a3fded50fb5858e51e298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 10:56:45 +0800 Subject: [PATCH 027/198] feat(Swipe): pause autoplay when page hidden --- src/swipe/index.js | 9 +++++++++ src/swipe/test/index.spec.js | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/swipe/index.js b/src/swipe/index.js index dafffcb5d..5318ce141 100644 --- a/src/swipe/index.js +++ b/src/swipe/index.js @@ -12,6 +12,7 @@ export default createComponent({ TouchMixin, BindEventMixin(function(bind, isBind) { bind(window, 'resize', this.resize, true); + bind(window, 'visibilitychange', this.onVisibilityChange); if (isBind) { this.initialize(); @@ -165,6 +166,14 @@ export default createComponent({ this.initialize(this.activeIndicator); }, + onVisibilityChange() { + if (document.hidden) { + this.clear(); + } else { + this.autoPlay(); + } + }, + onTouchStart(event) { if (!this.touchable) return; diff --git a/src/swipe/test/index.spec.js b/src/swipe/test/index.spec.js index 02d2b6b88..6f201b303 100644 --- a/src/swipe/test/index.spec.js +++ b/src/swipe/test/index.spec.js @@ -1,8 +1,19 @@ -import { mount, triggerDrag, later } from '../../../test'; +import { mount, triggerDrag, later, trigger } from '../../../test'; + +function mockPageHidden() { + let hidden = true; + + Object.defineProperty(document, 'hidden', { + get: () => hidden + }); + + trigger(window, 'visibilitychange'); + hidden = false; +} const Component = { template: ` - + 1 2 3 @@ -142,3 +153,21 @@ test('not loop', () => { triggerDrag(track, -100, 0); expect(swipe.active).toEqual(2); }); + +test('should pause auto play when page hidden', async () => { + const change = jest.fn(); + mount(Component, { + propsData: { + loop: true, + autoplay: 1 + }, + listeners: { + change + } + }); + + mockPageHidden(); + await later(50); + + expect(change).toHaveBeenCalledTimes(0); +}); From 29b509835f010260656008b1bde2c2f30d57ccfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 10:59:00 +0800 Subject: [PATCH 028/198] types(Calendar): fix missing type definition (#5588) --- types/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/index.d.ts b/types/index.d.ts index a41203d66..1fd673c8f 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -29,6 +29,7 @@ export function install(vue: typeof Vue): void; export class ActionSheet extends VanComponent {} export class AddressList extends VanComponent {} export class Button extends VanComponent {} +export class Calendar extends VanComponent {} export class Card extends VanComponent {} export class Cell extends VanComponent {} export class CellGroup extends VanComponent {} From dac60c8a37d3b2b3686dc25c1c34b4029a963d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 11:05:28 +0800 Subject: [PATCH 029/198] types(Calendar): add reset method type definition --- types/calendar.d.ts | 5 +++++ types/index.d.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 types/calendar.d.ts diff --git a/types/calendar.d.ts b/types/calendar.d.ts new file mode 100644 index 000000000..264f418f8 --- /dev/null +++ b/types/calendar.d.ts @@ -0,0 +1,5 @@ +import { VanComponent } from './component'; + +export class Calendar extends VanComponent { + reset(): void; +} diff --git a/types/index.d.ts b/types/index.d.ts index 1fd673c8f..d9803647f 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -3,6 +3,7 @@ import Vue from 'vue'; import { VanComponent } from './component'; import { AddressEdit } from './address-edit'; import { Area } from './area'; +import { Calendar } from './calendar'; import { Checkbox } from './checkbox'; import { CheckboxGroup } from './checkbox-group'; import { CountDown } from './count-down'; @@ -29,7 +30,6 @@ export function install(vue: typeof Vue): void; export class ActionSheet extends VanComponent {} export class AddressList extends VanComponent {} export class Button extends VanComponent {} -export class Calendar extends VanComponent {} export class Card extends VanComponent {} export class Cell extends VanComponent {} export class CellGroup extends VanComponent {} @@ -91,6 +91,7 @@ export class TreeSelect extends VanComponent {} export { AddressEdit, Area, + Calendar, Checkbox, CheckboxGroup, CountDown, From 38001e59f0e0dbd05425ea0c2617e48330a47026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 15:58:57 +0800 Subject: [PATCH 030/198] chore(cli): add generator template --- packages/vant-cli/generators/.eslintignore | 4 ++ packages/vant-cli/generators/.gitignore | 17 +++++ packages/vant-cli/generators/babel.config.js | 3 + packages/vant-cli/generators/docs/home.md | 11 +++ .../vant-cli/generators/docs/quickstart.md | 15 ++++ packages/vant-cli/generators/package.json | 68 +++++++++++++++++++ .../generators/src/my-button/README.md | 49 +++++++++++++ .../generators/src/my-button/demo/index.vue | 11 +++ .../generators/src/my-button/index.less | 3 + .../generators/src/my-button/index.vue | 39 +++++++++++ .../test/__snapshots__/index.spec.js.snap | 3 + .../src/my-button/test/index.spec.js | 7 ++ .../generators/src/my-button/utils.ts | 3 + .../vant-cli/generators/src/my-cell/README.md | 49 +++++++++++++ .../generators/src/my-cell/demo/index.vue | 11 +++ .../vant-cli/generators/src/my-cell/index.jsx | 14 ++++ .../generators/src/my-cell/index.less | 8 +++ .../vant-cli/generators/src/my-icon/README.md | 37 ++++++++++ .../generators/src/my-icon/demo/index.vue | 19 ++++++ .../vant-cli/generators/src/my-icon/index.jsx | 14 ++++ .../generators/src/my-icon/index.less | 3 + .../vant-cli/generators/src/style/base.less | 5 ++ .../vant-cli/generators/src/style/var.less | 2 + packages/vant-cli/generators/vant.config.js | 49 +++++++++++++ 24 files changed, 444 insertions(+) create mode 100644 packages/vant-cli/generators/.eslintignore create mode 100644 packages/vant-cli/generators/.gitignore create mode 100644 packages/vant-cli/generators/babel.config.js create mode 100644 packages/vant-cli/generators/docs/home.md create mode 100644 packages/vant-cli/generators/docs/quickstart.md create mode 100644 packages/vant-cli/generators/package.json create mode 100644 packages/vant-cli/generators/src/my-button/README.md create mode 100644 packages/vant-cli/generators/src/my-button/demo/index.vue create mode 100644 packages/vant-cli/generators/src/my-button/index.less create mode 100644 packages/vant-cli/generators/src/my-button/index.vue create mode 100644 packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap create mode 100644 packages/vant-cli/generators/src/my-button/test/index.spec.js create mode 100644 packages/vant-cli/generators/src/my-button/utils.ts create mode 100644 packages/vant-cli/generators/src/my-cell/README.md create mode 100644 packages/vant-cli/generators/src/my-cell/demo/index.vue create mode 100644 packages/vant-cli/generators/src/my-cell/index.jsx create mode 100644 packages/vant-cli/generators/src/my-cell/index.less create mode 100644 packages/vant-cli/generators/src/my-icon/README.md create mode 100644 packages/vant-cli/generators/src/my-icon/demo/index.vue create mode 100644 packages/vant-cli/generators/src/my-icon/index.jsx create mode 100644 packages/vant-cli/generators/src/my-icon/index.less create mode 100644 packages/vant-cli/generators/src/style/base.less create mode 100644 packages/vant-cli/generators/src/style/var.less create mode 100644 packages/vant-cli/generators/vant.config.js diff --git a/packages/vant-cli/generators/.eslintignore b/packages/vant-cli/generators/.eslintignore new file mode 100644 index 000000000..c05831264 --- /dev/null +++ b/packages/vant-cli/generators/.eslintignore @@ -0,0 +1,4 @@ +es +lib +dist +node_modules diff --git a/packages/vant-cli/generators/.gitignore b/packages/vant-cli/generators/.gitignore new file mode 100644 index 000000000..8159d27da --- /dev/null +++ b/packages/vant-cli/generators/.gitignore @@ -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/vant-cli/generators/babel.config.js b/packages/vant-cli/generators/babel.config.js new file mode 100644 index 000000000..27fec6e80 --- /dev/null +++ b/packages/vant-cli/generators/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vant/cli/preset'] +}; diff --git a/packages/vant-cli/generators/docs/home.md b/packages/vant-cli/generators/docs/home.md new file mode 100644 index 000000000..3c7c761b5 --- /dev/null +++ b/packages/vant-cli/generators/docs/home.md @@ -0,0 +1,11 @@ +# 介绍 + +### 关于 + +这是一段组件库的介绍 + +### 特性 + +- 特性一 +- 特性二 +- 特性三 diff --git a/packages/vant-cli/generators/docs/quickstart.md b/packages/vant-cli/generators/docs/quickstart.md new file mode 100644 index 000000000..5c48a838c --- /dev/null +++ b/packages/vant-cli/generators/docs/quickstart.md @@ -0,0 +1,15 @@ +# 快速上手 + +### 安装 + +```bash +# 通过 npm 安装 +npm i vant -S + +# 通过 yarn 安装 +yarn add vant +``` + +### 引入组件 + +这是一段引入组件的介绍 diff --git a/packages/vant-cli/generators/package.json b/packages/vant-cli/generators/package.json new file mode 100644 index 000000000..55f7e1034 --- /dev/null +++ b/packages/vant-cli/generators/package.json @@ -0,0 +1,68 @@ +{ + "name": "@youzan/demo-ui", + "version": "1.0.0", + "description": "", + "main": "lib/demo-ui.js", + "style": "lib/demo-ui.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": { + "vant": "^2.2.16", + "vue": "^2.6.11", + "vue-template-compiler": "^2.6.11" + }, + "devDependencies": { + "@vant/cli": "^2.0.0", + "babel-plugin-import": "^1.13.0", + "vant": "^2.2.16", + "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/vant-cli/generators/src/my-button/README.md b/packages/vant-cli/generators/src/my-button/README.md new file mode 100644 index 000000000..1272d05a6 --- /dev/null +++ b/packages/vant-cli/generators/src/my-button/README.md @@ -0,0 +1,49 @@ +# MyButton 按钮 + +### 介绍 + +MyButton 是一个示例按钮组件 + +### 引入 + +``` javascript +import Vue from 'vue'; +import { MyButton } from 'demo-ui'; + +Vue.use(MyButton); +``` + +## 代码演示 + +### 基础用法 + +```html + +``` + +### 自定义颜色 + +```html + +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +|------|------|------|------|------| +| type | 按钮类型 | *string* | `primary` | - | +| color | 按钮颜色 | *string* | - | 1.0.0 | + +### Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| click | 点击时触发 | event: Event | + +### Slots + +| 名称 | 说明 | +|------|------| +| default | 默认插槽 | diff --git a/packages/vant-cli/generators/src/my-button/demo/index.vue b/packages/vant-cli/generators/src/my-button/demo/index.vue new file mode 100644 index 000000000..6592a3f95 --- /dev/null +++ b/packages/vant-cli/generators/src/my-button/demo/index.vue @@ -0,0 +1,11 @@ + diff --git a/packages/vant-cli/generators/src/my-button/index.less b/packages/vant-cli/generators/src/my-button/index.less new file mode 100644 index 000000000..6446ebfd4 --- /dev/null +++ b/packages/vant-cli/generators/src/my-button/index.less @@ -0,0 +1,3 @@ +.test { + color: red; +} diff --git a/packages/vant-cli/generators/src/my-button/index.vue b/packages/vant-cli/generators/src/my-button/index.vue new file mode 100644 index 000000000..b3857983d --- /dev/null +++ b/packages/vant-cli/generators/src/my-button/index.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap b/packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..15814b52e --- /dev/null +++ b/packages/vant-cli/generators/src/my-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/vant-cli/generators/src/my-button/test/index.spec.js b/packages/vant-cli/generators/src/my-button/test/index.spec.js new file mode 100644 index 000000000..87c961d6c --- /dev/null +++ b/packages/vant-cli/generators/src/my-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/vant-cli/generators/src/my-button/utils.ts b/packages/vant-cli/generators/src/my-button/utils.ts new file mode 100644 index 000000000..e5bd111b4 --- /dev/null +++ b/packages/vant-cli/generators/src/my-button/utils.ts @@ -0,0 +1,3 @@ +export function foo() { + return 'bar'; +} diff --git a/packages/vant-cli/generators/src/my-cell/README.md b/packages/vant-cli/generators/src/my-cell/README.md new file mode 100644 index 000000000..5299a4830 --- /dev/null +++ b/packages/vant-cli/generators/src/my-cell/README.md @@ -0,0 +1,49 @@ +# MyCell 单元格 + +### 介绍 + +MyCell 是一个示例单元格组件 + +### 引入 + +``` javascript +import Vue from 'vue'; +import { MyCell } from 'demo-ui'; + +Vue.use(MyCell); +``` + +## 代码演示 + +### 基础用法 + +```html + +``` + +### 显示箭头 + +```html + +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +|------|------|------|------|------| +| title | 单元格标题 | *string* | `-` | - | +| is-link | 是否为可点击单元格 | *boolean* | `false` | - | + +### Events + +| 事件名 | 说明 | 回调参数 | +|------|------|------| +| click | 点击时触发 | event: Event | + +### Slots + +| 名称 | 说明 | +|------|------| +| default | 默认插槽 | diff --git a/packages/vant-cli/generators/src/my-cell/demo/index.vue b/packages/vant-cli/generators/src/my-cell/demo/index.vue new file mode 100644 index 000000000..3b6d6ab9a --- /dev/null +++ b/packages/vant-cli/generators/src/my-cell/demo/index.vue @@ -0,0 +1,11 @@ + diff --git a/packages/vant-cli/generators/src/my-cell/index.jsx b/packages/vant-cli/generators/src/my-cell/index.jsx new file mode 100644 index 000000000..8ea9d7833 --- /dev/null +++ b/packages/vant-cli/generators/src/my-cell/index.jsx @@ -0,0 +1,14 @@ +import { Cell } from 'vant'; + +export default { + name: 'my-cell', + + props: { + title: String, + isLink: Boolean + }, + + render() { + return ; + } +}; diff --git a/packages/vant-cli/generators/src/my-cell/index.less b/packages/vant-cli/generators/src/my-cell/index.less new file mode 100644 index 000000000..4db6e9469 --- /dev/null +++ b/packages/vant-cli/generators/src/my-cell/index.less @@ -0,0 +1,8 @@ +.my-cell { + padding: 16px; + font-weight: 500; + + .van-cell__value { + color: #333; + } +} diff --git a/packages/vant-cli/generators/src/my-icon/README.md b/packages/vant-cli/generators/src/my-icon/README.md new file mode 100644 index 000000000..7fe23619a --- /dev/null +++ b/packages/vant-cli/generators/src/my-icon/README.md @@ -0,0 +1,37 @@ +# MyIcon 图标 + +### 介绍 + +MyIcon 是一个示例图标组件 + +### 引入 + +``` javascript +import Vue from 'vue'; +import { MyIcon } from 'demo-ui'; + +Vue.use(MyIcon); +``` + +## 代码演示 + +### 基础用法 + +```html + +``` + +### 显示箭头 + +```html + +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +|------|------|------|------|------| +| name | 图标名称 | *string* | `-` | - | +| dot | 是否展示红点 | *boolean* | `false` | - | diff --git a/packages/vant-cli/generators/src/my-icon/demo/index.vue b/packages/vant-cli/generators/src/my-icon/demo/index.vue new file mode 100644 index 000000000..789fca4a5 --- /dev/null +++ b/packages/vant-cli/generators/src/my-icon/demo/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/packages/vant-cli/generators/src/my-icon/index.jsx b/packages/vant-cli/generators/src/my-icon/index.jsx new file mode 100644 index 000000000..d00b0bb8f --- /dev/null +++ b/packages/vant-cli/generators/src/my-icon/index.jsx @@ -0,0 +1,14 @@ +import { Icon } from 'vant'; + +export default { + name: 'my-icon', + + props: { + name: String, + dot: Boolean + }, + + render() { + return ; + } +}; diff --git a/packages/vant-cli/generators/src/my-icon/index.less b/packages/vant-cli/generators/src/my-icon/index.less new file mode 100644 index 000000000..af143f320 --- /dev/null +++ b/packages/vant-cli/generators/src/my-icon/index.less @@ -0,0 +1,3 @@ +.my-icon { + font-size: 32px; +} diff --git a/packages/vant-cli/generators/src/style/base.less b/packages/vant-cli/generators/src/style/base.less new file mode 100644 index 000000000..880da5087 --- /dev/null +++ b/packages/vant-cli/generators/src/style/base.less @@ -0,0 +1,5 @@ +@import "./var.less"; + +body { + color: @text-color; +} diff --git a/packages/vant-cli/generators/src/style/var.less b/packages/vant-cli/generators/src/style/var.less new file mode 100644 index 000000000..f636b24d8 --- /dev/null +++ b/packages/vant-cli/generators/src/style/var.less @@ -0,0 +1,2 @@ +@primary-color: #f44; +@text-color: #4a4a4a; diff --git a/packages/vant-cli/generators/vant.config.js b/packages/vant-cli/generators/vant.config.js new file mode 100644 index 000000000..5214c8a26 --- /dev/null +++ b/packages/vant-cli/generators/vant.config.js @@ -0,0 +1,49 @@ +module.exports = { + name: 'demo-ui', + build: { + site: { + publicPath: '/demo-ui/' + } + }, + site: { + title: 'Demo UI', + logo: 'https://img.yzcdn.cn/vant/logo.png', + nav: [ + { + title: '开发指南', + items: [ + { + path: 'home', + title: '介绍' + }, + { + path: 'quickstart', + title: '快速上手' + } + ] + }, + { + title: '基础组件', + items: [ + { + path: 'my-button', + title: 'MyButton 按钮' + }, + { + path: 'my-icon', + title: 'MyIcon 图标' + } + ] + }, + { + title: '展示组件', + items: [ + { + path: 'my-cell', + title: 'MyCell 单元格' + } + ] + } + ] + } +}; From 62a1b39b2b01ac3f6d2a99fb394336a88a575539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 17:06:22 +0800 Subject: [PATCH 031/198] feat(cli): add create command --- .../generators/src/my-button/index.vue | 39 -- .../test/__snapshots__/index.spec.js.snap | 3 - .../generators/src/my-button/utils.ts | 3 - .../vant-cli/generators/src/my-cell/README.md | 49 -- .../generators/src/my-cell/demo/index.vue | 11 - .../vant-cli/generators/src/my-cell/index.jsx | 14 - .../generators/src/my-cell/index.less | 8 - .../vant-cli/generators/src/my-icon/README.md | 37 -- .../generators/src/my-icon/demo/index.vue | 19 - .../vant-cli/generators/src/my-icon/index.jsx | 14 - .../generators/src/my-icon/index.less | 3 - .../generators/{ => templates}/.eslintignore | 0 .../generators/{ => templates}/.gitignore | 0 .../{ => templates}/babel.config.js | 0 .../generators/{ => templates}/docs/home.md | 0 .../{ => templates}/docs/quickstart.md | 4 - .../generators/{ => templates}/package.json | 8 +- .../src/demo-button}/README.md | 16 +- .../src/demo-button}/demo/index.vue | 4 +- .../src/demo-button}/index.less | 0 .../templates/src/demo-button/index.vue | 26 + .../src/demo-button}/test/index.spec.js | 0 .../{ => templates}/src/style/base.less | 0 .../{ => templates}/src/style/var.less | 0 .../generators/{ => templates}/vant.config.js | 19 +- packages/vant-cli/package.json | 10 +- packages/vant-cli/src/commands/create.ts | 15 + packages/vant-cli/src/common/constant.ts | 1 + .../src/compiler/vant-cli-generator.ts | 72 +++ packages/vant-cli/src/index.ts | 5 + packages/vant-cli/yarn.lock | 555 +++++++++++++++++- 31 files changed, 677 insertions(+), 258 deletions(-) delete mode 100644 packages/vant-cli/generators/src/my-button/index.vue delete mode 100644 packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap delete mode 100644 packages/vant-cli/generators/src/my-button/utils.ts delete mode 100644 packages/vant-cli/generators/src/my-cell/README.md delete mode 100644 packages/vant-cli/generators/src/my-cell/demo/index.vue delete mode 100644 packages/vant-cli/generators/src/my-cell/index.jsx delete mode 100644 packages/vant-cli/generators/src/my-cell/index.less delete mode 100644 packages/vant-cli/generators/src/my-icon/README.md delete mode 100644 packages/vant-cli/generators/src/my-icon/demo/index.vue delete mode 100644 packages/vant-cli/generators/src/my-icon/index.jsx delete mode 100644 packages/vant-cli/generators/src/my-icon/index.less rename packages/vant-cli/generators/{ => templates}/.eslintignore (100%) rename packages/vant-cli/generators/{ => templates}/.gitignore (100%) rename packages/vant-cli/generators/{ => templates}/babel.config.js (100%) rename packages/vant-cli/generators/{ => templates}/docs/home.md (100%) rename packages/vant-cli/generators/{ => templates}/docs/quickstart.md (67%) rename packages/vant-cli/generators/{ => templates}/package.json (90%) rename packages/vant-cli/generators/{src/my-button => templates/src/demo-button}/README.md (61%) rename packages/vant-cli/generators/{src/my-button => templates/src/demo-button}/demo/index.vue (51%) rename packages/vant-cli/generators/{src/my-button => templates/src/demo-button}/index.less (100%) create mode 100644 packages/vant-cli/generators/templates/src/demo-button/index.vue rename packages/vant-cli/generators/{src/my-button => templates/src/demo-button}/test/index.spec.js (100%) rename packages/vant-cli/generators/{ => templates}/src/style/base.less (100%) rename packages/vant-cli/generators/{ => templates}/src/style/var.less (100%) rename packages/vant-cli/generators/{ => templates}/vant.config.js (62%) create mode 100644 packages/vant-cli/src/commands/create.ts create mode 100644 packages/vant-cli/src/compiler/vant-cli-generator.ts diff --git a/packages/vant-cli/generators/src/my-button/index.vue b/packages/vant-cli/generators/src/my-button/index.vue deleted file mode 100644 index b3857983d..000000000 --- a/packages/vant-cli/generators/src/my-button/index.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - diff --git a/packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap b/packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap deleted file mode 100644 index 15814b52e..000000000 --- a/packages/vant-cli/generators/src/my-button/test/__snapshots__/index.spec.js.snap +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`render demo button 1`] = ``; diff --git a/packages/vant-cli/generators/src/my-button/utils.ts b/packages/vant-cli/generators/src/my-button/utils.ts deleted file mode 100644 index e5bd111b4..000000000 --- a/packages/vant-cli/generators/src/my-button/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function foo() { - return 'bar'; -} diff --git a/packages/vant-cli/generators/src/my-cell/README.md b/packages/vant-cli/generators/src/my-cell/README.md deleted file mode 100644 index 5299a4830..000000000 --- a/packages/vant-cli/generators/src/my-cell/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# MyCell 单元格 - -### 介绍 - -MyCell 是一个示例单元格组件 - -### 引入 - -``` javascript -import Vue from 'vue'; -import { MyCell } from 'demo-ui'; - -Vue.use(MyCell); -``` - -## 代码演示 - -### 基础用法 - -```html - -``` - -### 显示箭头 - -```html - -``` - -## API - -### Props - -| 参数 | 说明 | 类型 | 默认值 | 版本 | -|------|------|------|------|------| -| title | 单元格标题 | *string* | `-` | - | -| is-link | 是否为可点击单元格 | *boolean* | `false` | - | - -### Events - -| 事件名 | 说明 | 回调参数 | -|------|------|------| -| click | 点击时触发 | event: Event | - -### Slots - -| 名称 | 说明 | -|------|------| -| default | 默认插槽 | diff --git a/packages/vant-cli/generators/src/my-cell/demo/index.vue b/packages/vant-cli/generators/src/my-cell/demo/index.vue deleted file mode 100644 index 3b6d6ab9a..000000000 --- a/packages/vant-cli/generators/src/my-cell/demo/index.vue +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/packages/vant-cli/generators/src/my-cell/index.jsx b/packages/vant-cli/generators/src/my-cell/index.jsx deleted file mode 100644 index 8ea9d7833..000000000 --- a/packages/vant-cli/generators/src/my-cell/index.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Cell } from 'vant'; - -export default { - name: 'my-cell', - - props: { - title: String, - isLink: Boolean - }, - - render() { - return ; - } -}; diff --git a/packages/vant-cli/generators/src/my-cell/index.less b/packages/vant-cli/generators/src/my-cell/index.less deleted file mode 100644 index 4db6e9469..000000000 --- a/packages/vant-cli/generators/src/my-cell/index.less +++ /dev/null @@ -1,8 +0,0 @@ -.my-cell { - padding: 16px; - font-weight: 500; - - .van-cell__value { - color: #333; - } -} diff --git a/packages/vant-cli/generators/src/my-icon/README.md b/packages/vant-cli/generators/src/my-icon/README.md deleted file mode 100644 index 7fe23619a..000000000 --- a/packages/vant-cli/generators/src/my-icon/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# MyIcon 图标 - -### 介绍 - -MyIcon 是一个示例图标组件 - -### 引入 - -``` javascript -import Vue from 'vue'; -import { MyIcon } from 'demo-ui'; - -Vue.use(MyIcon); -``` - -## 代码演示 - -### 基础用法 - -```html - -``` - -### 显示箭头 - -```html - -``` - -## API - -### Props - -| 参数 | 说明 | 类型 | 默认值 | 版本 | -|------|------|------|------|------| -| name | 图标名称 | *string* | `-` | - | -| dot | 是否展示红点 | *boolean* | `false` | - | diff --git a/packages/vant-cli/generators/src/my-icon/demo/index.vue b/packages/vant-cli/generators/src/my-icon/demo/index.vue deleted file mode 100644 index 789fca4a5..000000000 --- a/packages/vant-cli/generators/src/my-icon/demo/index.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/packages/vant-cli/generators/src/my-icon/index.jsx b/packages/vant-cli/generators/src/my-icon/index.jsx deleted file mode 100644 index d00b0bb8f..000000000 --- a/packages/vant-cli/generators/src/my-icon/index.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Icon } from 'vant'; - -export default { - name: 'my-icon', - - props: { - name: String, - dot: Boolean - }, - - render() { - return ; - } -}; diff --git a/packages/vant-cli/generators/src/my-icon/index.less b/packages/vant-cli/generators/src/my-icon/index.less deleted file mode 100644 index af143f320..000000000 --- a/packages/vant-cli/generators/src/my-icon/index.less +++ /dev/null @@ -1,3 +0,0 @@ -.my-icon { - font-size: 32px; -} diff --git a/packages/vant-cli/generators/.eslintignore b/packages/vant-cli/generators/templates/.eslintignore similarity index 100% rename from packages/vant-cli/generators/.eslintignore rename to packages/vant-cli/generators/templates/.eslintignore diff --git a/packages/vant-cli/generators/.gitignore b/packages/vant-cli/generators/templates/.gitignore similarity index 100% rename from packages/vant-cli/generators/.gitignore rename to packages/vant-cli/generators/templates/.gitignore diff --git a/packages/vant-cli/generators/babel.config.js b/packages/vant-cli/generators/templates/babel.config.js similarity index 100% rename from packages/vant-cli/generators/babel.config.js rename to packages/vant-cli/generators/templates/babel.config.js diff --git a/packages/vant-cli/generators/docs/home.md b/packages/vant-cli/generators/templates/docs/home.md similarity index 100% rename from packages/vant-cli/generators/docs/home.md rename to packages/vant-cli/generators/templates/docs/home.md diff --git a/packages/vant-cli/generators/docs/quickstart.md b/packages/vant-cli/generators/templates/docs/quickstart.md similarity index 67% rename from packages/vant-cli/generators/docs/quickstart.md rename to packages/vant-cli/generators/templates/docs/quickstart.md index 5c48a838c..002d16820 100644 --- a/packages/vant-cli/generators/docs/quickstart.md +++ b/packages/vant-cli/generators/templates/docs/quickstart.md @@ -9,7 +9,3 @@ npm i vant -S # 通过 yarn 安装 yarn add vant ``` - -### 引入组件 - -这是一段引入组件的介绍 diff --git a/packages/vant-cli/generators/package.json b/packages/vant-cli/generators/templates/package.json similarity index 90% rename from packages/vant-cli/generators/package.json rename to packages/vant-cli/generators/templates/package.json index 55f7e1034..33b2cca71 100644 --- a/packages/vant-cli/generators/package.json +++ b/packages/vant-cli/generators/templates/package.json @@ -1,9 +1,9 @@ { - "name": "@youzan/demo-ui", + "name": "<%= name %>", "version": "1.0.0", "description": "", - "main": "lib/demo-ui.js", - "style": "lib/demo-ui.css", + "main": "lib/<%= name %>.js", + "style": "lib/index.css", "files": [ "lib", "es" @@ -36,14 +36,12 @@ ] }, "peerDependencies": { - "vant": "^2.2.16", "vue": "^2.6.11", "vue-template-compiler": "^2.6.11" }, "devDependencies": { "@vant/cli": "^2.0.0", "babel-plugin-import": "^1.13.0", - "vant": "^2.2.16", "vue": "^2.6.11", "vue-template-compiler": "^2.6.11" }, diff --git a/packages/vant-cli/generators/src/my-button/README.md b/packages/vant-cli/generators/templates/src/demo-button/README.md similarity index 61% rename from packages/vant-cli/generators/src/my-button/README.md rename to packages/vant-cli/generators/templates/src/demo-button/README.md index 1272d05a6..e44df254c 100644 --- a/packages/vant-cli/generators/src/my-button/README.md +++ b/packages/vant-cli/generators/templates/src/demo-button/README.md @@ -18,23 +18,17 @@ Vue.use(MyButton); ### 基础用法 ```html - -``` - -### 自定义颜色 - -```html - + ``` ## API ### Props -| 参数 | 说明 | 类型 | 默认值 | 版本 | -|------|------|------|------|------| -| type | 按钮类型 | *string* | `primary` | - | -| color | 按钮颜色 | *string* | - | 1.0.0 | +| 参数 | 说明 | 类型 | 默认值 | +|------|------|------|------| +| type | 按钮类型 | *string* | `primary` | +| color `1.0.0` | 按钮颜色 | *string* | - | ### Events diff --git a/packages/vant-cli/generators/src/my-button/demo/index.vue b/packages/vant-cli/generators/templates/src/demo-button/demo/index.vue similarity index 51% rename from packages/vant-cli/generators/src/my-button/demo/index.vue rename to packages/vant-cli/generators/templates/src/demo-button/demo/index.vue index 6592a3f95..c367d40fd 100644 --- a/packages/vant-cli/generators/src/my-button/demo/index.vue +++ b/packages/vant-cli/generators/templates/src/demo-button/demo/index.vue @@ -1,11 +1,11 @@ diff --git a/packages/vant-cli/generators/src/my-button/index.less b/packages/vant-cli/generators/templates/src/demo-button/index.less similarity index 100% rename from packages/vant-cli/generators/src/my-button/index.less rename to packages/vant-cli/generators/templates/src/demo-button/index.less diff --git a/packages/vant-cli/generators/templates/src/demo-button/index.vue b/packages/vant-cli/generators/templates/src/demo-button/index.vue new file mode 100644 index 000000000..eb6ec41ca --- /dev/null +++ b/packages/vant-cli/generators/templates/src/demo-button/index.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/packages/vant-cli/generators/src/my-button/test/index.spec.js b/packages/vant-cli/generators/templates/src/demo-button/test/index.spec.js similarity index 100% rename from packages/vant-cli/generators/src/my-button/test/index.spec.js rename to packages/vant-cli/generators/templates/src/demo-button/test/index.spec.js diff --git a/packages/vant-cli/generators/src/style/base.less b/packages/vant-cli/generators/templates/src/style/base.less similarity index 100% rename from packages/vant-cli/generators/src/style/base.less rename to packages/vant-cli/generators/templates/src/style/base.less diff --git a/packages/vant-cli/generators/src/style/var.less b/packages/vant-cli/generators/templates/src/style/var.less similarity index 100% rename from packages/vant-cli/generators/src/style/var.less rename to packages/vant-cli/generators/templates/src/style/var.less diff --git a/packages/vant-cli/generators/vant.config.js b/packages/vant-cli/generators/templates/vant.config.js similarity index 62% rename from packages/vant-cli/generators/vant.config.js rename to packages/vant-cli/generators/templates/vant.config.js index 5214c8a26..5242f221e 100644 --- a/packages/vant-cli/generators/vant.config.js +++ b/packages/vant-cli/generators/templates/vant.config.js @@ -1,12 +1,12 @@ module.exports = { - name: 'demo-ui', + name: '<%= name %>', build: { site: { - publicPath: '/demo-ui/' + publicPath: '/<%= name %>/' } }, site: { - title: 'Demo UI', + title: '<%= name %>', logo: 'https://img.yzcdn.cn/vant/logo.png', nav: [ { @@ -28,19 +28,6 @@ module.exports = { { path: 'my-button', title: 'MyButton 按钮' - }, - { - path: 'my-icon', - title: 'MyIcon 图标' - } - ] - }, - { - title: '展示组件', - items: [ - { - path: 'my-cell', - title: 'MyCell 单元格' } ] } diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index f2e0bc4b3..52e45d4c6 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -21,7 +21,8 @@ "lib", "site", "template", - "preset.js" + "preset.js", + "generators" ], "author": "chenjiahan", "license": "MIT", @@ -30,6 +31,8 @@ "vue-template-compiler": "^2.5.22" }, "devDependencies": { + "@types/jest": "^24.0.25", + "@types/yeoman-generator": "^3.1.4", "@types/fs-extra": "^8.0.1", "@types/html-webpack-plugin": "^3.2.1", "@types/lodash": "^4.14.149", @@ -51,7 +54,6 @@ "@babel/preset-env": "^7.7.7", "@babel/preset-typescript": "^7.7.7", "@nuxt/friendly-errors-webpack-plugin": "^2.5.0", - "@types/jest": "^24.0.25", "@vant/eslint-config": "^1.5.1", "@vant/markdown-loader": "^2.3.0", "@vant/markdown-vetur": "^1.1.0", @@ -75,6 +77,7 @@ "cross-env": "^6.0.3", "css-loader": "^3.4.1", "eslint": "^6.8.0", + "fast-glob": "^3.1.1", "gh-pages": "2.0.1", "html-webpack-plugin": "3.2.0", "husky": "^4.0.4", @@ -102,7 +105,8 @@ "webpack": "^4.41.5", "webpack-dev-server": "3.10.1", "webpack-merge": "^4.2.2", - "webpackbar": "^4.0.0" + "webpackbar": "^4.0.0", + "yeoman-generator": "^4.4.0" }, "release-it": { "git": { diff --git a/packages/vant-cli/src/commands/create.ts b/packages/vant-cli/src/commands/create.ts new file mode 100644 index 000000000..2137d50dc --- /dev/null +++ b/packages/vant-cli/src/commands/create.ts @@ -0,0 +1,15 @@ +import { GENERATOR_DIR, CWD } from '../common/constant'; +import { VantCliGenerator } from '../compiler/vant-cli-generator'; + +export async function create() { + const generator = new VantCliGenerator([], { + env: { + cwd: CWD + }, + resolved: GENERATOR_DIR + }); + + return new Promise(resolve => { + generator.run(resolve); + }); +} diff --git a/packages/vant-cli/src/common/constant.ts b/packages/vant-cli/src/common/constant.ts index 88bed3cd3..c0f7ba637 100644 --- a/packages/vant-cli/src/common/constant.ts +++ b/packages/vant-cli/src/common/constant.ts @@ -33,6 +33,7 @@ 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'); +export const GENERATOR_DIR = join(__dirname, '../../generators'); // Dist files export const PACKAGE_ENTRY_FILE = join(DIST_DIR, 'package-entry.js'); diff --git a/packages/vant-cli/src/compiler/vant-cli-generator.ts b/packages/vant-cli/src/compiler/vant-cli-generator.ts new file mode 100644 index 000000000..cf532f4b2 --- /dev/null +++ b/packages/vant-cli/src/compiler/vant-cli-generator.ts @@ -0,0 +1,72 @@ +import chalk from 'chalk'; +import { join } from 'path'; +import { consola, slimPath } from '../common/logger'; +import { CWD, GENERATOR_DIR } from '../common/constant'; +import Generator from 'yeoman-generator'; + +const TEMPLATES = join(GENERATOR_DIR, 'templates'); +const PROMPTS = [ + { + type: 'input', + name: 'name', + message: 'Your package name' + } +]; + +export class VantCliGenerator extends Generator { + inputs = { + name: '' + }; + + async prompting() { + return this.prompt(PROMPTS).then(inputs => { + this.inputs = inputs as any; + }); + } + + writing() { + consola.info(`Creating project in ${slimPath(CWD)}\n`); + + const copy = (from: string, to?: string) => { + this.fs.copy(join(TEMPLATES, from), this.destinationPath(to || from)); + }; + + const copyTpl = (name: string) => { + this.fs.copyTpl( + join(TEMPLATES, name), + this.destinationPath(name), + this.inputs + ); + }; + + copy('.gitignore'); + copy('.eslintignore'); + copy('babel.config.js'); + copy('src/**/*', 'src'); + copy('docs/**/*', 'docs'); + copyTpl('package.json'); + copyTpl('vant.config.js'); + } + + install() { + console.log(); + consola.info('Install dependencies...\n'); + + this.installDependencies({ + npm: false, + bower: false, + yarn: true, + skipMessage: true + }); + } + + end() { + console.log(); + consola.success( + `Successfully created project ${chalk.yellow(this.inputs.name)}.` + ); + consola.success( + `Now you can run ${chalk.yellow('yarn dev')} to start development!` + ); + } +} diff --git a/packages/vant-cli/src/index.ts b/packages/vant-cli/src/index.ts index cf3dd4f7c..876ee51fa 100755 --- a/packages/vant-cli/src/index.ts +++ b/packages/vant-cli/src/index.ts @@ -6,6 +6,7 @@ import { lint } from './commands/lint'; import { test } from './commands/jest'; import { clean } from './commands/clean'; import { build } from './commands/build'; +import { create } from './commands/create'; import { release } from './commands/release'; import { changelog } from './commands/changelog'; import { buildSite } from './commands/build-site'; @@ -40,6 +41,10 @@ command('build') .option('--watch', 'Watch file change') .action(build); +command('create') + .description('Create a new project') + .action(create); + command('release') .description('Compile components and release it') .action(release); diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index e629877f7..e89bceb54 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1363,6 +1363,14 @@ dependencies: "@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/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.1" resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" @@ -1405,7 +1413,7 @@ resolved "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" integrity sha1-3EiIQjEqfwdRSTEpBbXjwLBUx50= -"@types/minimatch@*": +"@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#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= @@ -1415,6 +1423,11 @@ 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?cache=0&sync_timestamp=1572463128542&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/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" @@ -1483,6 +1496,13 @@ resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" integrity sha1-tP/H3Je0mMlps2CkHu4kf4JhY3A= +"@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/uglify-js@*": version "3.0.4" resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082" @@ -1562,6 +1582,14 @@ dependencies: "@types/yargs-parser" "*" +"@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" + "@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" @@ -2041,7 +2069,7 @@ ansi-colors@^3.0.0: resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha1-46PaS/uubIapwoViXeEkojQCb78= -ansi-escapes@^3.0.0: +ansi-escapes@^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= @@ -2159,6 +2187,11 @@ arr-union@^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-equal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -2227,6 +2260,11 @@ arrify@^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= + asap@~2.0.3: version "2.0.6" resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2346,6 +2384,13 @@ aws4@^1.8.0: resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= +axios@^0.19.1: + version "0.19.1" + resolved "https://registry.npm.taobao.org/axios/download/axios-0.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.1.tgz#8a6a04eed23dfe72747e1dd43c604b8f1677b5aa" + integrity sha1-imoE7tI9/nJ0fh3UPGBLjxZ3tao= + dependencies: + follow-redirects "1.5.10" + 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" @@ -2474,6 +2519,11 @@ binary-extensions@^2.0.0: resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w= +binaryextensions@^2.1.2: + version "2.2.0" + resolved "https://registry.npm.taobao.org/binaryextensions/download/binaryextensions-2.2.0.tgz#e7c6ba82d4f5f5758c26078fe8eea28881233311" + integrity sha1-58a6gtT19XWMJgeP6O6iiIEjMxE= + bluebird@^3.1.1, bluebird@^3.5.5: version "3.7.1" resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" @@ -2866,6 +2916,11 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +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= + caseless@~0.12.0: version "0.12.0" resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3059,6 +3114,13 @@ cli-spinners@^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-truncate@^0.2.1: version "0.2.1" resolved "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -3090,6 +3152,11 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +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-deep@^4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -3121,7 +3188,17 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone@^1.0.2: +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= @@ -3131,6 +3208,15 @@ clone@^2.1.1, clone@^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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcloneable-readable%2Fdownload%2Fcloneable-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" + co@^4.6.0: version "4.6.0" resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3194,6 +3280,11 @@ color-name@~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, 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" @@ -3589,6 +3680,13 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.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" + create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -3759,6 +3857,11 @@ dargs@^4.0.1: dependencies: number-is-nan "^1.0.0" +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= + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3780,7 +3883,7 @@ date-fns@^1.27.2: resolved "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= -dateformat@^3.0.0: +dateformat@^3.0.0, 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= @@ -3799,6 +3902,13 @@ debug@4.1.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= + dependencies: + ms "2.0.0" + debug@^3.0.0, debug@^3.1.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" @@ -4005,6 +4115,16 @@ diff-sequences@^24.9.0: resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= +diff@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz?cache=0&sync_timestamp=1578918306878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-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?cache=0&sync_timestamp=1578918306878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -4014,6 +4134,14 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +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" @@ -4165,6 +4293,14 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +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" + editorconfig@^0.15.3: version "0.15.3" resolved "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" @@ -4180,6 +4316,11 @@ ee-first@1.1.1: resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + electron-to-chromium@^1.3.295: version "1.3.306" resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.306.tgz?cache=0&sync_timestamp=1573175063483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.306.tgz#e8265301d053d5f74e36cb876486830261fbe946" @@ -4259,6 +4400,11 @@ entities@^2.0.0, entities@~2.0.0: resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz?cache=0&sync_timestamp=1563403318326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" integrity sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q= +errlop@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/errlop/download/errlop-2.0.0.tgz#52b97d35da1b0795e2647b5d2d3a46d17776f55a" + integrity sha1-Url9NdobB5XiZHtdLTpG0Xd29Vo= + errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -4280,6 +4426,13 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.0" +error@^7.0.2: + version "7.2.1" + resolved "https://registry.npm.taobao.org/error/download/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha1-6rIaRom19oT8g9qEoOOQ3oLZSJQ= + dependencies: + string-template "~0.2.1" + es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.16.0" resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.16.0.tgz?cache=0&sync_timestamp=1571460404163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" @@ -4750,7 +4903,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-glob@^2.2.6: +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#6953857c3afa475fff92ee6015d52da70a4cd39d" integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= @@ -4762,9 +4915,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" @@ -4952,6 +5105,13 @@ find-up@^3.0.0: 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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffirst-chunk-stream%2Fdownload%2Ffirst-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + 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" @@ -4981,6 +5141,13 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio= + dependencies: + debug "=3.1.0" + follow-redirects@^1.0.0: version "1.9.0" resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" @@ -5188,6 +5355,14 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +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" + gh-pages@2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/gh-pages/download/gh-pages-2.0.1.tgz#aefe47a43b8d9d2aa3130576b33fe95641e29a2f" @@ -5251,6 +5426,13 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" +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" @@ -5343,6 +5525,19 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.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.0.0, globby@^9.2.0: version "9.2.0" resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" @@ -5386,11 +5581,35 @@ got@9.6.0, got@^9.6.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.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: 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" + growly@^1.3.0: version "1.3.0" resolved "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -5752,6 +5971,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +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, ignore@^4.0.6: version "4.0.6" resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -5913,6 +6137,25 @@ inquirer@7.0.0, inquirer@^7.0.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=1578357373766&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" + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -6250,6 +6493,11 @@ is-promise@^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-regex@^1.0.4: version "1.0.4" resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -6272,6 +6520,18 @@ is-regular-file@^1.0.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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-retry-allowed%2Fdownload%2Fis-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" @@ -6279,7 +6539,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^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= @@ -6353,6 +6613,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~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" @@ -6425,6 +6690,15 @@ istanbul-reports@^2.2.6: dependencies: handlebars "^4.1.2" +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" + jest-canvas-mock@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.2.0.tgz#45fbc58589c6ce9df50dc90bd8adce747cbdada7" @@ -7273,7 +7547,7 @@ lodash.uniq@^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.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4: +lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4: version "4.17.15" resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= @@ -7493,6 +7767,32 @@ media-typer@0.3.0: resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +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" + mem@^4.0.0: version "4.3.0" resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -7811,6 +8111,22 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +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" @@ -7972,7 +8288,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= @@ -8414,7 +8730,7 @@ p-try@^1.0.0: resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -p-try@^2.0.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= @@ -8958,7 +9274,7 @@ prelude-ls@~1.1.2: resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.0: +prepend-http@^1.0.0, 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= @@ -8978,6 +9294,11 @@ prettier@^1.18.2: resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1573329332710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s= +pretty-bytes@^5.2.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI= + pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -9015,7 +9336,7 @@ private@^0.1.6: resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= -process-nextick-args@~2.0.0: +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= @@ -9223,6 +9544,14 @@ react-is@^16.8.4: resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw= +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@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -9255,6 +9584,14 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" +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#b6a6741cb144ed3610554f40162aa07a6db621b8" + integrity sha1-tqZ0HLFE7TYQVU9AFiqgem22Ibg= + dependencies: + find-up "^3.0.0" + read-pkg "^5.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -9282,6 +9619,16 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.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?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" @@ -9304,6 +9651,19 @@ read-pkg@^3.0.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@^2.3.5: + 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" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1571011688765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -9567,7 +9927,12 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@1.0.0: +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, 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= @@ -9745,7 +10110,7 @@ rsvp@^4.8.4: resolved "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= -run-async@^2.2.0: +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= @@ -9764,6 +10129,13 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rxjs@>=6.4.0: + 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" + rxjs@^6.3.3, rxjs@^6.4.0: version "6.5.3" resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.3.tgz?cache=0&sync_timestamp=1568815682378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" @@ -9856,6 +10228,11 @@ schema-utils@^2.0.1, schema-utils@^2.1.0: ajv "^6.10.2" ajv-keywords "^3.4.1" +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= + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -10040,6 +10417,11 @@ sisteransi@^1.0.3: 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" integrity sha1-OGcT8e9ojHwDBNxMBjKJiUHK0uM= +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" @@ -10357,6 +10739,11 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.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@^1.0.1: version "1.0.2" resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -10366,7 +10753,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, 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?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= @@ -10469,6 +10856,14 @@ strip-ansi@^6.0.0: 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" @@ -10819,6 +11214,11 @@ 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= +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/textextensions/download/textextensions-2.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftextextensions%2Fdownload%2Ftextextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha1-1+SrE/5U4y4IhzvkDVG3QimwD8Q= + throat@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -10832,7 +11232,7 @@ through2@^2.0.0, through2@^2.0.2: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0: +through2@^3.0.0, through2@^3.0.1: version "3.0.1" resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" integrity sha1-OSducTwzAu3544jdnIEt07glvVo= @@ -10849,6 +11249,11 @@ thunky@^1.0.2: resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= +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= + timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -11048,6 +11453,11 @@ type-fest@^0.3.0: 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?cache=0&sync_timestamp=1569431852432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-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" @@ -11250,6 +11660,16 @@ unset-value@^1.0.0: 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= + upath@^1.1.1: version "1.2.0" resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -11295,6 +11715,13 @@ url-join@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" @@ -11427,6 +11854,39 @@ vfile@^3.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvinyl%2Fdownload%2Fvinyl-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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvinyl%2Fdownload%2Fvinyl-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" + vm-browserify@^1.0.1: version "1.1.2" 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" @@ -11745,6 +12205,15 @@ windows-release@^3.1.0: 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" + word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -11973,3 +12442,55 @@ yargs@^14.0.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^15.0.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?cache=0&sync_timestamp=1576431904078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyeoman-environment%2Fdownload%2Fyeoman-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" From 5bb9a31e280c6d5b92187f1da6cb3c87df7e9afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 18:02:34 +0800 Subject: [PATCH 032/198] chore(cli): extract create-vant-cli-app package --- .../generators/templates/.eslintignore | 0 .../generators/templates/.gitignore | 0 .../generators/templates/babel.config.js | 0 .../generators/templates/docs/home.md | 0 .../generators/templates/docs/quickstart.md | 0 .../generators/templates/package.json | 0 .../templates/src/demo-button/README.md | 0 .../templates/src/demo-button/demo/index.vue | 0 .../templates/src/demo-button/index.less | 0 .../templates/src/demo-button/index.vue | 7 +- .../src/demo-button/test/index.spec.js | 0 .../generators/templates/src/style/base.less | 0 .../generators/templates/src/style/var.less | 0 .../generators/templates/vant.config.js | 4 +- packages/create-vant-cli-app/package.json | 40 + packages/create-vant-cli-app/src/constant.ts | 4 + .../src/generator.ts} | 41 +- packages/create-vant-cli-app/src/index.ts | 27 + packages/create-vant-cli-app/tsconfig.json | 13 + packages/create-vant-cli-app/yarn.lock | 2213 +++++++++++++++++ packages/vant-cli/package.json | 9 +- packages/vant-cli/src/commands/create.ts | 15 - packages/vant-cli/src/common/constant.ts | 12 +- .../vant-cli/src/compiler/compile-package.ts | 6 +- .../vant-cli/src/compiler/compile-site.ts | 26 +- .../src/compiler/gen-style-deps-map.ts | 12 +- .../vant-cli/src/config/webpack.package.ts | 2 +- .../vant-cli/src/config/webpack.site.dev.ts | 168 +- .../vant-cli/src/config/webpack.site.prd.ts | 32 +- packages/vant-cli/src/index.ts | 5 - packages/vant-cli/tsconfig.json | 2 +- packages/vant-cli/yarn.lock | 551 +--- 32 files changed, 2492 insertions(+), 697 deletions(-) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/.eslintignore (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/.gitignore (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/babel.config.js (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/docs/home.md (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/docs/quickstart.md (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/package.json (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/demo-button/README.md (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/demo-button/demo/index.vue (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/demo-button/index.less (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/demo-button/index.vue (71%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/demo-button/test/index.spec.js (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/style/base.less (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/src/style/var.less (100%) rename packages/{vant-cli => create-vant-cli-app}/generators/templates/vant.config.js (88%) create mode 100644 packages/create-vant-cli-app/package.json create mode 100644 packages/create-vant-cli-app/src/constant.ts rename packages/{vant-cli/src/compiler/vant-cli-generator.ts => create-vant-cli-app/src/generator.ts} (57%) create mode 100644 packages/create-vant-cli-app/src/index.ts create mode 100644 packages/create-vant-cli-app/tsconfig.json create mode 100644 packages/create-vant-cli-app/yarn.lock delete mode 100644 packages/vant-cli/src/commands/create.ts diff --git a/packages/vant-cli/generators/templates/.eslintignore b/packages/create-vant-cli-app/generators/templates/.eslintignore similarity index 100% rename from packages/vant-cli/generators/templates/.eslintignore rename to packages/create-vant-cli-app/generators/templates/.eslintignore diff --git a/packages/vant-cli/generators/templates/.gitignore b/packages/create-vant-cli-app/generators/templates/.gitignore similarity index 100% rename from packages/vant-cli/generators/templates/.gitignore rename to packages/create-vant-cli-app/generators/templates/.gitignore diff --git a/packages/vant-cli/generators/templates/babel.config.js b/packages/create-vant-cli-app/generators/templates/babel.config.js similarity index 100% rename from packages/vant-cli/generators/templates/babel.config.js rename to packages/create-vant-cli-app/generators/templates/babel.config.js diff --git a/packages/vant-cli/generators/templates/docs/home.md b/packages/create-vant-cli-app/generators/templates/docs/home.md similarity index 100% rename from packages/vant-cli/generators/templates/docs/home.md rename to packages/create-vant-cli-app/generators/templates/docs/home.md diff --git a/packages/vant-cli/generators/templates/docs/quickstart.md b/packages/create-vant-cli-app/generators/templates/docs/quickstart.md similarity index 100% rename from packages/vant-cli/generators/templates/docs/quickstart.md rename to packages/create-vant-cli-app/generators/templates/docs/quickstart.md diff --git a/packages/vant-cli/generators/templates/package.json b/packages/create-vant-cli-app/generators/templates/package.json similarity index 100% rename from packages/vant-cli/generators/templates/package.json rename to packages/create-vant-cli-app/generators/templates/package.json diff --git a/packages/vant-cli/generators/templates/src/demo-button/README.md b/packages/create-vant-cli-app/generators/templates/src/demo-button/README.md similarity index 100% rename from packages/vant-cli/generators/templates/src/demo-button/README.md rename to packages/create-vant-cli-app/generators/templates/src/demo-button/README.md diff --git a/packages/vant-cli/generators/templates/src/demo-button/demo/index.vue b/packages/create-vant-cli-app/generators/templates/src/demo-button/demo/index.vue similarity index 100% rename from packages/vant-cli/generators/templates/src/demo-button/demo/index.vue rename to packages/create-vant-cli-app/generators/templates/src/demo-button/demo/index.vue diff --git a/packages/vant-cli/generators/templates/src/demo-button/index.less b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.less similarity index 100% rename from packages/vant-cli/generators/templates/src/demo-button/index.less rename to packages/create-vant-cli-app/generators/templates/src/demo-button/index.less diff --git a/packages/vant-cli/generators/templates/src/demo-button/index.vue b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue similarity index 71% rename from packages/vant-cli/generators/templates/src/demo-button/index.vue rename to packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue index eb6ec41ca..5ea80a62b 100644 --- a/packages/vant-cli/generators/templates/src/demo-button/index.vue +++ b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.vue @@ -21,6 +21,11 @@ export default { diff --git a/packages/vant-cli/generators/templates/src/demo-button/test/index.spec.js b/packages/create-vant-cli-app/generators/templates/src/demo-button/test/index.spec.js similarity index 100% rename from packages/vant-cli/generators/templates/src/demo-button/test/index.spec.js rename to packages/create-vant-cli-app/generators/templates/src/demo-button/test/index.spec.js diff --git a/packages/vant-cli/generators/templates/src/style/base.less b/packages/create-vant-cli-app/generators/templates/src/style/base.less similarity index 100% rename from packages/vant-cli/generators/templates/src/style/base.less rename to packages/create-vant-cli-app/generators/templates/src/style/base.less diff --git a/packages/vant-cli/generators/templates/src/style/var.less b/packages/create-vant-cli-app/generators/templates/src/style/var.less similarity index 100% rename from packages/vant-cli/generators/templates/src/style/var.less rename to packages/create-vant-cli-app/generators/templates/src/style/var.less diff --git a/packages/vant-cli/generators/templates/vant.config.js b/packages/create-vant-cli-app/generators/templates/vant.config.js similarity index 88% rename from packages/vant-cli/generators/templates/vant.config.js rename to packages/create-vant-cli-app/generators/templates/vant.config.js index 5242f221e..aa6acd131 100644 --- a/packages/vant-cli/generators/templates/vant.config.js +++ b/packages/create-vant-cli-app/generators/templates/vant.config.js @@ -26,8 +26,8 @@ module.exports = { title: '基础组件', items: [ { - path: 'my-button', - title: 'MyButton 按钮' + 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..a6a196ca3 --- /dev/null +++ b/packages/create-vant-cli-app/package.json @@ -0,0 +1,40 @@ +{ + "name": "create-vant-cli-app", + "version": "1.0.0", + "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" + }, + "keywords": [ + "vant" + ], + "author": "chenjiahan", + "license": "MIT", + "devDependencies": { + "@types/fs-extra": "^8.0.1", + "@types/yeoman-generator": "^3.1.4", + "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/vant-cli/src/compiler/vant-cli-generator.ts b/packages/create-vant-cli-app/src/generator.ts similarity index 57% rename from packages/vant-cli/src/compiler/vant-cli-generator.ts rename to packages/create-vant-cli-app/src/generator.ts index cf532f4b2..839f7e09d 100644 --- a/packages/vant-cli/src/compiler/vant-cli-generator.ts +++ b/packages/create-vant-cli-app/src/generator.ts @@ -1,31 +1,44 @@ import chalk from 'chalk'; +import consola from 'consola'; import { join } from 'path'; -import { consola, slimPath } from '../common/logger'; -import { CWD, GENERATOR_DIR } from '../common/constant'; +import { CWD, GENERATOR_DIR } from './constant'; import Generator from 'yeoman-generator'; const TEMPLATES = join(GENERATOR_DIR, 'templates'); const PROMPTS = [ { - type: 'input', - name: 'name', - message: 'Your package name' + name: 'preprocessor', + message: 'Select css preprocessor', + type: 'list', + choices: ['Less', 'Sass'] } ]; -export class VantCliGenerator extends Generator { +export class VanGenerator extends Generator { inputs = { - name: '' + name: '', + 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 => { - this.inputs = inputs as any; + this.inputs.preprocessor = inputs.preprocessor as string; }); } writing() { - consola.info(`Creating project in ${slimPath(CWD)}\n`); + 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)); @@ -52,6 +65,8 @@ export class VantCliGenerator extends Generator { console.log(); consola.info('Install dependencies...\n'); + process.chdir(this.inputs.name); + this.installDependencies({ npm: false, bower: false, @@ -61,12 +76,12 @@ export class VantCliGenerator extends Generator { } end() { + const { name } = this.inputs; + console.log(); + consola.success(`Successfully created ${chalk.yellow(name)}.`); consola.success( - `Successfully created project ${chalk.yellow(this.inputs.name)}.` - ); - consola.success( - `Now you can run ${chalk.yellow('yarn dev')} to start development!` + `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..3d33b5c01 --- /dev/null +++ b/packages/create-vant-cli-app/src/index.ts @@ -0,0 +1,27 @@ +import inquirer from 'inquirer'; +import { mkdirSync, existsSync } 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); + + if (!existsSync(name)) { + mkdirSync(name); + } + + const generator = new VanGenerator(name); + + return new Promise(resolve => { + generator.run(resolve); + }); +} + +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..a6a3032f3 --- /dev/null +++ b/packages/create-vant-cli-app/yarn.lock @@ -0,0 +1,2213 @@ +# 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" + +"@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.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= + +"@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@*": + 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-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" + +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@^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" + +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" + +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= + +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" + +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" + +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= + +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.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" + +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= + +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-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-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-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: + 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= + +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= + +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= + +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@^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" + +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@^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" + +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" + +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= + +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= + +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" + +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" + +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@^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= + +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= + +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= + +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" + +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" + +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" + +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= + +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-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" + +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-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" + +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@^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.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" + +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= + +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= + +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= + +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-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-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: + 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-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-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-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-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-stream@^1.0.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= + +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= + +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= + +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" + +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= + +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" + +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" + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= + +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: + 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" + +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= + +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= + +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" + +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" + +once@^1.3.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" + +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-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: + 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-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= + +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" + +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-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-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" + +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= + +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= + +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" + +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-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" + +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= + +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" + +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@2 || 3 || 4 || 5", 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.0.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: + 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.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= + +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" + +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: + 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@^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: + 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" + +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" + +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" + +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-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@^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.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" + +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= + +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-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" + +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= + +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" + +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" + +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= + +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= + +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/package.json b/packages/vant-cli/package.json index 52e45d4c6..25ba98f78 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -24,6 +24,9 @@ "preset.js", "generators" ], + "keywords": [ + "vant" + ], "author": "chenjiahan", "license": "MIT", "peerDependencies": { @@ -31,10 +34,9 @@ "vue-template-compiler": "^2.5.22" }, "devDependencies": { - "@types/jest": "^24.0.25", - "@types/yeoman-generator": "^3.1.4", "@types/fs-extra": "^8.0.1", "@types/html-webpack-plugin": "^3.2.1", + "@types/jest": "^24.0.25", "@types/lodash": "^4.14.149", "@types/postcss-load-config": "^2.0.1", "@types/sass": "^1.16.0", @@ -105,8 +107,7 @@ "webpack": "^4.41.5", "webpack-dev-server": "3.10.1", "webpack-merge": "^4.2.2", - "webpackbar": "^4.0.0", - "yeoman-generator": "^4.4.0" + "webpackbar": "^4.0.0" }, "release-it": { "git": { diff --git a/packages/vant-cli/src/commands/create.ts b/packages/vant-cli/src/commands/create.ts deleted file mode 100644 index 2137d50dc..000000000 --- a/packages/vant-cli/src/commands/create.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { GENERATOR_DIR, CWD } from '../common/constant'; -import { VantCliGenerator } from '../compiler/vant-cli-generator'; - -export async function create() { - const generator = new VantCliGenerator([], { - env: { - cwd: CWD - }, - resolved: GENERATOR_DIR - }); - - return new Promise(resolve => { - generator.run(resolve); - }); -} diff --git a/packages/vant-cli/src/common/constant.ts b/packages/vant-cli/src/common/constant.ts index c0f7ba637..9cdc8d149 100644 --- a/packages/vant-cli/src/common/constant.ts +++ b/packages/vant-cli/src/common/constant.ts @@ -33,13 +33,15 @@ 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'); -export const GENERATOR_DIR = join(__dirname, '../../generators'); // 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 @@ -63,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/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-site.ts b/packages/vant-cli/src/compiler/compile-site.ts index fae00b53b..c1e834979 100644 --- a/packages/vant-cli/src/compiler/compile-site.ts +++ b/packages/vant-cli/src/compiler/compile-site.ts @@ -5,8 +5,8 @@ import WebpackDevServer from 'webpack-dev-server'; import { get } from 'lodash'; import { getPort } from 'portfinder'; import { GREEN } from '../common/constant'; -import { siteDevConfig } from '../config/webpack.site.dev'; -import { sitePrdConfig } from '../config/webpack.site.prd'; +import { getSiteDevConfig } from '../config/webpack.site.dev'; +import { getSitePrdConfig } from '../config/webpack.site.prd'; function logServerInfo(port: number) { const local = `http://localhost:${port}/`; @@ -17,16 +17,16 @@ function logServerInfo(port: number) { console.log(` ${chalk.bold('Network')}: ${chalk.hex(GREEN)(network)}`); } -function runDevServer(port: number) { - const server = new WebpackDevServer( - webpack(siteDevConfig), - siteDevConfig.devServer - ); +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(siteDevConfig.devServer, 'host', 'localhost'); + const host = get(config.devServer, 'host', 'localhost'); server.listen(port, host, (err?: Error) => { if (err) { console.log(err); @@ -35,9 +35,11 @@ function runDevServer(port: number) { } function watch() { + const config = getSiteDevConfig(); + getPort( { - port: siteDevConfig.devServer!.port + port: config.devServer!.port }, (err, port) => { if (err) { @@ -46,14 +48,16 @@ function watch() { } logServerInfo(port); - runDevServer(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/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/config/webpack.package.ts b/packages/vant-cli/src/config/webpack.package.ts index 636d99569..ceaf94af8 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'); diff --git a/packages/vant-cli/src/config/webpack.site.dev.ts b/packages/vant-cli/src/config/webpack.site.dev.ts index 87f9dd968..1c3c10041 100644 --- a/packages/vant-cli/src/config/webpack.site.dev.ts +++ b/packages/vant-cli/src/config/webpack.site.dev.ts @@ -13,91 +13,95 @@ import { 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']; - } - - return siteConfig; -} - -function getTitle(config: { title: string, description?: string }) { - let { title } = config; - - if (config.description) { - title += ` - ${config.description}`; - } - - return title; -} - -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 + if (siteConfig.locales) { + return siteConfig.locales[siteConfig.defaultLang || 'en-US']; } - }, - output: { - chunkFilename: '[name].js' - }, - optimization: { - splitChunks: { - cacheGroups: { - chunks: { - chunks: 'all', - minChunks: 2, - minSize: 0, - name: 'chunks' + + return siteConfig; + } + + function getTitle(config: { title: string; description?: string }) { + let { title } = config; + + if (config.description) { + title += ` - ${config.description}`; + } + + 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 - }) - ] -}); + }, + 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 + }) + ] + }); +} -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..1a68b0aa1 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 876ee51fa..cf3dd4f7c 100755 --- a/packages/vant-cli/src/index.ts +++ b/packages/vant-cli/src/index.ts @@ -6,7 +6,6 @@ import { lint } from './commands/lint'; import { test } from './commands/jest'; import { clean } from './commands/clean'; import { build } from './commands/build'; -import { create } from './commands/create'; import { release } from './commands/release'; import { changelog } from './commands/changelog'; import { buildSite } from './commands/build-site'; @@ -41,10 +40,6 @@ command('build') .option('--watch', 'Watch file change') .action(build); -command('create') - .description('Create a new project') - .action(create); - command('release') .description('Compile components and release it') .action(release); 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 e89bceb54..f80fbd335 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1363,14 +1363,6 @@ dependencies: "@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/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.1" resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" @@ -1413,7 +1405,7 @@ resolved "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" integrity sha1-3EiIQjEqfwdRSTEpBbXjwLBUx50= -"@types/minimatch@*", "@types/minimatch@^3.0.3": +"@types/minimatch@*": version "3.0.3" resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= @@ -1423,11 +1415,6 @@ 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?cache=0&sync_timestamp=1572463128542&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/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" @@ -1496,13 +1483,6 @@ resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" integrity sha1-tP/H3Je0mMlps2CkHu4kf4JhY3A= -"@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/uglify-js@*": version "3.0.4" resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082" @@ -1582,14 +1562,6 @@ dependencies: "@types/yargs-parser" "*" -"@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" - "@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" @@ -2069,7 +2041,7 @@ ansi-colors@^3.0.0: resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha1-46PaS/uubIapwoViXeEkojQCb78= -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.0.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= @@ -2187,11 +2159,6 @@ arr-union@^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-equal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -2260,11 +2227,6 @@ arrify@^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= - asap@~2.0.3: version "2.0.6" resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2384,13 +2346,6 @@ aws4@^1.8.0: resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= -axios@^0.19.1: - version "0.19.1" - resolved "https://registry.npm.taobao.org/axios/download/axios-0.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.19.1.tgz#8a6a04eed23dfe72747e1dd43c604b8f1677b5aa" - integrity sha1-imoE7tI9/nJ0fh3UPGBLjxZ3tao= - dependencies: - follow-redirects "1.5.10" - 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" @@ -2519,11 +2474,6 @@ binary-extensions@^2.0.0: resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w= -binaryextensions@^2.1.2: - version "2.2.0" - resolved "https://registry.npm.taobao.org/binaryextensions/download/binaryextensions-2.2.0.tgz#e7c6ba82d4f5f5758c26078fe8eea28881233311" - integrity sha1-58a6gtT19XWMJgeP6O6iiIEjMxE= - bluebird@^3.1.1, bluebird@^3.5.5: version "3.7.1" resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" @@ -2916,11 +2866,6 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" -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= - caseless@~0.12.0: version "0.12.0" resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3114,13 +3059,6 @@ cli-spinners@^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-truncate@^0.2.1: version "0.2.1" resolved "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -3152,11 +3090,6 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -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-deep@^4.0.1: version "4.0.1" resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -3188,17 +3121,7 @@ clone-response@^1.0.2: 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: +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= @@ -3208,15 +3131,6 @@ clone@^2.1.1, clone@^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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcloneable-readable%2Fdownload%2Fcloneable-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" - co@^4.6.0: version "4.6.0" resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3280,11 +3194,6 @@ color-name@~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, 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" @@ -3680,13 +3589,6 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.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" - create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -3857,11 +3759,6 @@ dargs@^4.0.1: dependencies: number-is-nan "^1.0.0" -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= - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3883,7 +3780,7 @@ date-fns@^1.27.2: resolved "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= -dateformat@^3.0.0, dateformat@^3.0.3: +dateformat@^3.0.0: version "3.0.3" resolved "https://registry.npm.taobao.org/dateformat/download/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha1-puN0maTZqc+F71hyBE1ikByYia4= @@ -3902,13 +3799,6 @@ debug@4.1.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= - dependencies: - ms "2.0.0" - debug@^3.0.0, debug@^3.1.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" @@ -4115,16 +4005,6 @@ diff-sequences@^24.9.0: resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz?cache=0&sync_timestamp=1578918306878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-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?cache=0&sync_timestamp=1578918306878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -4134,14 +4014,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -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" @@ -4293,14 +4165,6 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -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" - editorconfig@^0.15.3: version "0.15.3" resolved "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" @@ -4316,11 +4180,6 @@ ee-first@1.1.1: resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= - electron-to-chromium@^1.3.295: version "1.3.306" resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.306.tgz?cache=0&sync_timestamp=1573175063483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.306.tgz#e8265301d053d5f74e36cb876486830261fbe946" @@ -4400,11 +4259,6 @@ entities@^2.0.0, entities@~2.0.0: resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz?cache=0&sync_timestamp=1563403318326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" integrity sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q= -errlop@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/errlop/download/errlop-2.0.0.tgz#52b97d35da1b0795e2647b5d2d3a46d17776f55a" - integrity sha1-Url9NdobB5XiZHtdLTpG0Xd29Vo= - errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -4426,13 +4280,6 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.0" -error@^7.0.2: - version "7.2.1" - resolved "https://registry.npm.taobao.org/error/download/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha1-6rIaRom19oT8g9qEoOOQ3oLZSJQ= - dependencies: - string-template "~0.2.1" - es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.16.0" resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.16.0.tgz?cache=0&sync_timestamp=1571460404163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" @@ -4903,7 +4750,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-glob@^2.0.2, fast-glob@^2.2.6: +fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= @@ -5105,13 +4952,6 @@ find-up@^3.0.0: 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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffirst-chunk-stream%2Fdownload%2Ffirst-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= - dependencies: - readable-stream "^2.0.2" - 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" @@ -5141,13 +4981,6 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio= - dependencies: - debug "=3.1.0" - follow-redirects@^1.0.0: version "1.9.0" resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" @@ -5355,14 +5188,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -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" - gh-pages@2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/gh-pages/download/gh-pages-2.0.1.tgz#aefe47a43b8d9d2aa3130576b33fe95641e29a2f" @@ -5426,13 +5251,6 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -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" @@ -5525,19 +5343,6 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.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.0.0, globby@^9.2.0: version "9.2.0" resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" @@ -5581,35 +5386,11 @@ got@9.6.0, got@^9.6.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.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: 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" - growly@^1.3.0: version "1.3.0" resolved "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -5971,11 +5752,6 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -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, ignore@^4.0.6: version "4.0.6" resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -6137,25 +5913,6 @@ inquirer@7.0.0, inquirer@^7.0.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=1578357373766&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" - internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -6493,11 +6250,6 @@ is-promise@^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-regex@^1.0.4: version "1.0.4" resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -6520,18 +6272,6 @@ is-regular-file@^1.0.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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-retry-allowed%2Fdownload%2Fis-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" @@ -6539,7 +6279,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.0.0, is-stream@^1.1.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= @@ -6613,11 +6353,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~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" @@ -6690,15 +6425,6 @@ istanbul-reports@^2.2.6: dependencies: handlebars "^4.1.2" -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" - jest-canvas-mock@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.2.0.tgz#45fbc58589c6ce9df50dc90bd8adce747cbdada7" @@ -7547,7 +7273,7 @@ lodash.uniq@^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.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4: +lodash@4.17.15, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4: version "4.17.15" resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= @@ -7767,32 +7493,6 @@ media-typer@0.3.0: resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -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" - mem@^4.0.0: version "4.3.0" resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -8111,22 +7811,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -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" @@ -8288,7 +7972,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.5.0: +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: 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= @@ -8730,7 +8414,7 @@ p-try@^1.0.0: resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -p-try@^2.0.0, p-try@^2.1.0: +p-try@^2.0.0: version "2.2.0" resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= @@ -9274,7 +8958,7 @@ prelude-ls@~1.1.2: resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.0, prepend-http@^1.0.1: +prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= @@ -9294,11 +8978,6 @@ prettier@^1.18.2: resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1573329332710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s= -pretty-bytes@^5.2.0: - version "5.3.0" - resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI= - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -9336,7 +9015,7 @@ private@^0.1.6: resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8= -process-nextick-args@^2.0.0, 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= @@ -9544,14 +9223,6 @@ react-is@^16.8.4: resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw= -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@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -9584,14 +9255,6 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" -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#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha1-tqZ0HLFE7TYQVU9AFiqgem22Ibg= - dependencies: - find-up "^3.0.0" - read-pkg "^5.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -9619,16 +9282,6 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.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?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" @@ -9651,19 +9304,6 @@ read-pkg@^5.0.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.3.5: - 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" - readdirp@^2.2.1: version "2.2.1" resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1571011688765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -9927,12 +9567,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -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, replace-ext@^1.0.0: +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= @@ -10110,7 +9745,7 @@ rsvp@^4.8.4: resolved "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= -run-async@^2.0.0, run-async@^2.2.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= @@ -10129,13 +9764,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@>=6.4.0: - 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" - rxjs@^6.3.3, rxjs@^6.4.0: version "6.5.3" resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.3.tgz?cache=0&sync_timestamp=1568815682378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" @@ -10228,11 +9856,6 @@ schema-utils@^2.0.1, schema-utils@^2.1.0: ajv "^6.10.2" ajv-keywords "^3.4.1" -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= - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -10417,11 +10040,6 @@ sisteransi@^1.0.3: 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" integrity sha1-OGcT8e9ojHwDBNxMBjKJiUHK0uM= -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" @@ -10739,11 +10357,6 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.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@^1.0.1: version "1.0.2" resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -10753,7 +10366,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.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?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= @@ -10856,14 +10469,6 @@ strip-ansi@^6.0.0: 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" @@ -11214,11 +10819,6 @@ 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= -textextensions@^2.5.0: - version "2.6.0" - resolved "https://registry.npm.taobao.org/textextensions/download/textextensions-2.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftextextensions%2Fdownload%2Ftextextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" - integrity sha1-1+SrE/5U4y4IhzvkDVG3QimwD8Q= - throat@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -11232,7 +10832,7 @@ through2@^2.0.0, through2@^2.0.2: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0, through2@^3.0.1: +through2@^3.0.0: version "3.0.1" resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" integrity sha1-OSducTwzAu3544jdnIEt07glvVo= @@ -11249,11 +10849,6 @@ thunky@^1.0.2: resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= -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= - timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -11453,11 +11048,6 @@ type-fest@^0.3.0: 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?cache=0&sync_timestamp=1569431852432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-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" @@ -11660,16 +11250,6 @@ unset-value@^1.0.0: 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= - upath@^1.1.1: version "1.2.0" resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -11715,13 +11295,6 @@ url-join@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" @@ -11854,39 +11427,6 @@ vfile@^3.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvinyl%2Fdownload%2Fvinyl-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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvinyl%2Fdownload%2Fvinyl-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" - vm-browserify@^1.0.1: version "1.1.2" 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" @@ -12205,15 +11745,6 @@ windows-release@^3.1.0: 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" - word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -12442,55 +11973,3 @@ yargs@^14.0.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^15.0.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?cache=0&sync_timestamp=1576431904078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyeoman-environment%2Fdownload%2Fyeoman-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" From df6edc4864d3bad5e00f84095824ae826109c97b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 19:28:26 +0800 Subject: [PATCH 033/198] fix(cli): fix some bugs of create-vant-cli-app --- .../templates/{.eslintignore => eslintignore.tpl} | 0 .../templates/{.gitignore => gitignore.tpl} | 0 .../templates/{package.json => package.json.tpl} | 0 packages/create-vant-cli-app/package.json | 6 +++++- packages/create-vant-cli-app/src/generator.ts | 12 ++++++------ packages/create-vant-cli-app/src/index.ts | 13 +++++-------- packages/vant-cli/package.json | 12 +----------- 7 files changed, 17 insertions(+), 26 deletions(-) rename packages/create-vant-cli-app/generators/templates/{.eslintignore => eslintignore.tpl} (100%) rename packages/create-vant-cli-app/generators/templates/{.gitignore => gitignore.tpl} (100%) rename packages/create-vant-cli-app/generators/templates/{package.json => package.json.tpl} (100%) diff --git a/packages/create-vant-cli-app/generators/templates/.eslintignore b/packages/create-vant-cli-app/generators/templates/eslintignore.tpl similarity index 100% rename from packages/create-vant-cli-app/generators/templates/.eslintignore rename to packages/create-vant-cli-app/generators/templates/eslintignore.tpl diff --git a/packages/create-vant-cli-app/generators/templates/.gitignore b/packages/create-vant-cli-app/generators/templates/gitignore.tpl similarity index 100% rename from packages/create-vant-cli-app/generators/templates/.gitignore rename to packages/create-vant-cli-app/generators/templates/gitignore.tpl diff --git a/packages/create-vant-cli-app/generators/templates/package.json b/packages/create-vant-cli-app/generators/templates/package.json.tpl similarity index 100% rename from packages/create-vant-cli-app/generators/templates/package.json rename to packages/create-vant-cli-app/generators/templates/package.json.tpl diff --git a/packages/create-vant-cli-app/package.json b/packages/create-vant-cli-app/package.json index a6a196ca3..150c82981 100644 --- a/packages/create-vant-cli-app/package.json +++ b/packages/create-vant-cli-app/package.json @@ -1,6 +1,6 @@ { "name": "create-vant-cli-app", - "version": "1.0.0", + "version": "0.0.1", "description": "Create Vant Cli App", "main": "lib/index.js", "bin": { @@ -14,6 +14,10 @@ "type": "git", "url": "https://github.com/youzan/vant/tree/dev/packages/create-vant-cli-app" }, + "files": [ + "lib", + "generators" + ], "keywords": [ "vant" ], diff --git a/packages/create-vant-cli-app/src/generator.ts b/packages/create-vant-cli-app/src/generator.ts index 839f7e09d..571b4c4df 100644 --- a/packages/create-vant-cli-app/src/generator.ts +++ b/packages/create-vant-cli-app/src/generator.ts @@ -44,21 +44,21 @@ export class VanGenerator extends Generator { this.fs.copy(join(TEMPLATES, from), this.destinationPath(to || from)); }; - const copyTpl = (name: string) => { + const copyTpl = (name: string, target?: string) => { this.fs.copyTpl( join(TEMPLATES, name), - this.destinationPath(name), + this.destinationPath(target || name), this.inputs ); }; - copy('.gitignore'); - copy('.eslintignore'); + copyTpl('package.json.tpl', 'package.json'); + copyTpl('vant.config.js'); copy('babel.config.js'); + copy('gitignore.tpl', '.gitignore'); + copy('eslintignore.tpl', '.eslintignore'); copy('src/**/*', 'src'); copy('docs/**/*', 'docs'); - copyTpl('package.json'); - copyTpl('vant.config.js'); } install() { diff --git a/packages/create-vant-cli-app/src/index.ts b/packages/create-vant-cli-app/src/index.ts index 3d33b5c01..560c9be5c 100644 --- a/packages/create-vant-cli-app/src/index.ts +++ b/packages/create-vant-cli-app/src/index.ts @@ -1,5 +1,7 @@ +#!/usr/bin/env node + import inquirer from 'inquirer'; -import { mkdirSync, existsSync } from 'fs-extra'; +import { ensureDir } from 'fs-extra'; import { VanGenerator } from './generator'; const PROMPTS = [ @@ -13,15 +15,10 @@ const PROMPTS = [ export default async function run() { const { name } = await inquirer.prompt(PROMPTS); - if (!existsSync(name)) { - mkdirSync(name); - } + ensureDir(name); const generator = new VanGenerator(name); - - return new Promise(resolve => { - generator.run(resolve); - }); + generator.run(); } run(); diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 25ba98f78..9a9f70945 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -21,8 +21,7 @@ "lib", "site", "template", - "preset.js", - "generators" + "preset.js" ], "keywords": [ "vant" @@ -41,7 +40,6 @@ "@types/postcss-load-config": "^2.0.1", "@types/sass": "^1.16.0", "@types/shelljs": "^0.8.6", - "@types/source-map": "^0.5.7", "@types/webpack": "^4.41.2", "@types/webpack-dev-server": "^3.9.0", "@types/webpack-merge": "^4.1.5" @@ -124,13 +122,5 @@ "global-require": 0, "import/no-dynamic-require": 0 } - }, - "stylelint": { - "extends": [ - "@vant/stylelint-config" - ] - }, - "prettier": { - "singleQuote": true } } From 16597562f01e92f385232d0e638ae2512e67b411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 19:51:04 +0800 Subject: [PATCH 034/198] fix(GoodsAction): should set wrapper height (#5593) --- packages/create-vant-cli-app/package.json | 1 + packages/create-vant-cli-app/yarn.lock | 1226 ++++++++++++++++++++- src/goods-action/index.less | 1 + src/style/var.less | 3 +- 4 files changed, 1200 insertions(+), 31 deletions(-) diff --git a/packages/create-vant-cli-app/package.json b/packages/create-vant-cli-app/package.json index 150c82981..af02cfa97 100644 --- a/packages/create-vant-cli-app/package.json +++ b/packages/create-vant-cli-app/package.json @@ -26,6 +26,7 @@ "devDependencies": { "@types/fs-extra": "^8.0.1", "@types/yeoman-generator": "^3.1.4", + "release-it": "^12.4.3", "typescript": "^3.7.4" }, "dependencies": { diff --git a/packages/create-vant-cli-app/yarn.lock b/packages/create-vant-cli-app/yarn.lock index a6a3032f3..c59cd56f9 100644 --- a/packages/create-vant-cli-app/yarn.lock +++ b/packages/create-vant-cli-app/yarn.lock @@ -18,6 +18,11 @@ 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" @@ -26,11 +31,101 @@ 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" @@ -70,7 +165,7 @@ 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@*", "@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= @@ -95,6 +190,13 @@ "@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" @@ -137,6 +239,13 @@ ansi-styles@^4.1.0: "@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" @@ -194,6 +303,13 @@ assign-symbols@^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" @@ -201,6 +317,16 @@ async@^2.6.2: 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" @@ -224,11 +350,30 @@ base@^0.11.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" @@ -253,6 +398,18 @@ braces@^2.3.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" @@ -268,17 +425,54 @@ 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.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.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: +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= @@ -295,11 +489,21 @@ chalk@^3.0.0: 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" @@ -310,6 +514,11 @@ 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.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" @@ -324,6 +533,11 @@ cli-cursor@^3.1.0: 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" @@ -341,6 +555,13 @@ clone-buffer@^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" @@ -351,7 +572,7 @@ clone-stats@^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.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= @@ -407,6 +628,13 @@ colors@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" @@ -422,6 +650,18 @@ concat-map@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" @@ -437,6 +677,16 @@ 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: + 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" @@ -444,7 +694,16 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -cross-spawn@^6.0.5: +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= @@ -455,6 +714,11 @@ cross-spawn@^6.0.5: 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" @@ -465,6 +729,13 @@ dateformat@^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" @@ -479,23 +750,40 @@ debug@^3.1.0: dependencies: ms "^2.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" +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" @@ -518,6 +806,34 @@ define-property@^2.0.2: 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" @@ -543,6 +859,20 @@ dir-glob@^2.2.2: 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" @@ -561,11 +891,23 @@ ejs@^2.6.1: 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" @@ -590,11 +932,42 @@ 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= +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" @@ -658,6 +1031,24 @@ fast-glob@^2.0.2, fast-glob@^2.2.6: 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" @@ -682,6 +1073,21 @@ fill-range@^4.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" @@ -696,11 +1102,27 @@ first-chunk-stream@^2.0.0: 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" @@ -727,6 +1149,20 @@ get-stream@^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" @@ -740,6 +1176,21 @@ gh-got@^5.0.0: 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" @@ -755,6 +1206,13 @@ glob-parent@^3.1.0: 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" @@ -772,6 +1230,27 @@ glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.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" @@ -799,6 +1278,23 @@ globby@^9.2.0: 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" @@ -816,7 +1312,7 @@ got@^6.2.0: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.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= @@ -869,11 +1365,21 @@ 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.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" @@ -891,6 +1397,43 @@ ignore@^4.0.3: 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" @@ -904,6 +1447,30 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: 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" @@ -971,6 +1538,18 @@ is-buffer@^1.1.5: 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" @@ -1003,6 +1582,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.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" @@ -1037,13 +1621,31 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.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" @@ -1051,6 +1653,23 @@ is-number@^3.0.0: 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" @@ -1063,6 +1682,13 @@ 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.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" @@ -1073,6 +1699,11 @@ is-redirect@^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" @@ -1085,7 +1716,14 @@ is-scoped@^1.0.0: dependencies: scoped-regex "^1.0.0" -is-stream@^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= @@ -1100,6 +1738,11 @@ is-windows@^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" @@ -1127,6 +1770,11 @@ isobject@^3.0.0, isobject@^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" @@ -1141,6 +1789,19 @@ js-tokens@^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" @@ -1153,6 +1814,13 @@ jsonfile@^4.0.0: 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" @@ -1177,6 +1845,13 @@ kind-of@^6.0.0, kind-of@^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" @@ -1190,7 +1865,34 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2: +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= @@ -1202,11 +1904,43 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -lowercase-keys@^1.0.0: +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" @@ -1252,7 +1986,7 @@ mem-fs@^1.1.0: vinyl "^1.1.0" vinyl-file "^2.0.0" -merge2@^1.2.3: +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= @@ -1276,6 +2010,38 @@ micromatch@^3.1.10: 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" @@ -1286,6 +2052,11 @@ mimic-fn@^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" @@ -1371,6 +2142,11 @@ nice-try@^1.0.4: 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" @@ -1381,6 +2157,23 @@ normalize-package-data@^2.5.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" @@ -1404,7 +2197,12 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -once@^1.3.0: +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= @@ -1425,17 +2223,43 @@ onetime@^5.1.0: 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.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= @@ -1449,11 +2273,36 @@ p-locate@^3.0.0: 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" @@ -1464,6 +2313,24 @@ parse-json@^5.0.0: 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" @@ -1479,12 +2346,22 @@ path-exists@^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-key@^2.0.1: +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= @@ -1501,6 +2378,16 @@ path-type@^3.0.0: 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" @@ -1538,6 +2425,11 @@ prepend-http@^1.0.1: 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" @@ -1548,6 +2440,34 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: 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" @@ -1611,6 +2531,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.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" @@ -1636,6 +2605,16 @@ replace-ext@^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" @@ -1648,6 +2627,13 @@ resolve@^1.1.6, resolve@^1.10.0: 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" @@ -1669,6 +2655,16 @@ ret@~0.1.10: 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" @@ -1683,6 +2679,11 @@ run-async@^2.0.0, run-async@^2.2.0: 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" @@ -1717,12 +2718,19 @@ scoped-regex@^1.0.0: resolved "https://registry.npm.taobao.org/scoped-regex/download/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= -"semver@2 || 3 || 4 || 5", semver@^5.5.0: +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.0.0, semver@^6.3.0: +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= @@ -1749,7 +2757,7 @@ shebang-regex@^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, 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= @@ -1758,7 +2766,7 @@ shelljs@^0.8.3: interpret "^1.0.0" rechoir "^0.6.2" -signal-exit@^3.0.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= @@ -1773,6 +2781,11 @@ slash@^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" @@ -1857,6 +2870,11 @@ split-string@^3.0.1, split-string@^3.0.2: 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" @@ -1870,7 +2888,7 @@ string-template@~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.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= @@ -1878,6 +2896,15 @@ string-width@^2.1.0: 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" @@ -1908,7 +2935,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.1.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= @@ -1937,6 +2964,23 @@ strip-bom@^2.0.0: 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" @@ -1944,12 +2988,12 @@ supports-color@^5.3.0: dependencies: has-flag "^3.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= +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: - has-flag "^4.0.0" + execa "^0.7.0" text-table@^0.2.0: version "0.2.0" @@ -2000,6 +3044,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.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" @@ -2008,6 +3057,13 @@ to-regex-range@^2.1.0: 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" @@ -2023,6 +3079,11 @@ tslib@^1.9.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" @@ -2048,6 +3109,20 @@ union-value@^1.0.0: 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" @@ -2071,11 +3146,34 @@ unzip-response@^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" @@ -2083,6 +3181,13 @@ url-parse-lax@^1.0.0: 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" @@ -2093,6 +3198,11 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: 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" @@ -2134,6 +3244,13 @@ 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.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" @@ -2141,6 +3258,28 @@ which@^1.2.9: 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" @@ -2155,11 +3294,38 @@ wrappy@1: 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" diff --git a/src/goods-action/index.less b/src/goods-action/index.less index 460b52c15..a8931039a 100644 --- a/src/goods-action/index.less +++ b/src/goods-action/index.less @@ -7,6 +7,7 @@ left: 0; display: flex; align-items: center; + height: @goods-action-height; background-color: @goods-action-background-color; &--safe-area-inset-bottom { diff --git a/src/style/var.less b/src/style/var.less index 61eb9f95d..6d3577ac0 100644 --- a/src/style/var.less +++ b/src/style/var.less @@ -354,8 +354,9 @@ // GoodsAction @goods-action-background-color: @white; +@goods-action-height: 50px; @goods-action-icon-width: 48px; -@goods-action-icon-height: 50px; +@goods-action-icon-height: 100%; @goods-action-icon-color: @text-color; @goods-action-icon-size: 18px; @goods-action-icon-font-size: @font-size-xs; From 64451eaaeee66cbd4a2cda49f44a845cb4f1d558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 19:56:12 +0800 Subject: [PATCH 035/198] chore(Field): move disabled from attrs to props (#5590) --- src/field/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/field/index.js b/src/field/index.js index 4d75bf100..ecf0997b2 100644 --- a/src/field/index.js +++ b/src/field/index.js @@ -15,6 +15,7 @@ export default createComponent({ props: { ...cellProps, error: Boolean, + disabled: Boolean, readonly: Boolean, autosize: [Boolean, Object], leftIcon: String, @@ -232,6 +233,7 @@ export default createComponent({ }, attrs: { ...this.$attrs, + disabled: this.disabled, readonly: this.readonly }, on: this.listeners, From 98584ef7b7306e48453a6433633d9f063cb46c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 20:10:28 +0800 Subject: [PATCH 036/198] docs(cli): add intro of create-vant-cli-app --- packages/vant-cli/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/vant-cli/README.md b/packages/vant-cli/README.md index cfb72bf54..a099549e3 100644 --- a/packages/vant-cli/README.md +++ b/packages/vant-cli/README.md @@ -9,6 +9,14 @@ Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭 - 内置 ESlint、Stylelint 校验规则,提交代码时自动执行校验 - 构建后的组件库默认支持按需引入、主题定制、Tree Shaking +### 快速上手 + +执行以下命令可以快速创建一个基于 Vant Cli 的项目: + +```bash +npx create-vant-cli-app +``` + ### 安装 ```shell From a5a24a348d08c408c2b4a4babcf689d70f0d77fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 20:17:34 +0800 Subject: [PATCH 037/198] chore: release create-vant-cli-app@0.1.0 --- packages/create-vant-cli-app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-vant-cli-app/package.json b/packages/create-vant-cli-app/package.json index af02cfa97..6695665c6 100644 --- a/packages/create-vant-cli-app/package.json +++ b/packages/create-vant-cli-app/package.json @@ -1,6 +1,6 @@ { "name": "create-vant-cli-app", - "version": "0.0.1", + "version": "0.1.0", "description": "Create Vant Cli App", "main": "lib/index.js", "bin": { From d57705c67e2762b0ce8195ab0ed1d86abe564e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 20:52:42 +0800 Subject: [PATCH 038/198] chore(Tag): add close icon cursor --- src/tag/index.less | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tag/index.less b/src/tag/index.less index d745b518e..6d3dbaf42 100644 --- a/src/tag/index.less +++ b/src/tag/index.less @@ -85,5 +85,6 @@ &__close { min-width: 1em; margin-left: 2px; + cursor: pointer; } } From 80568816e3e56ccebf201c080042ee6ebae71ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 16 Jan 2020 20:58:32 +0800 Subject: [PATCH 039/198] docs: update install guide --- packages/vant-cli/README.md | 2 +- src/cell/README.md | 3 ++- src/cell/README.zh-CN.md | 3 ++- src/checkbox/README.md | 3 ++- src/checkbox/README.zh-CN.md | 3 ++- src/col/README.md | 5 +++-- src/col/README.zh-CN.md | 5 +++-- src/collapse/README.md | 3 ++- src/collapse/README.zh-CN.md | 3 ++- src/contact-card/README.md | 7 +++---- src/contact-card/README.zh-CN.md | 7 +++---- src/coupon-list/README.md | 3 ++- src/coupon-list/README.zh-CN.md | 3 ++- src/dropdown-menu/README.md | 3 ++- src/dropdown-menu/README.zh-CN.md | 3 ++- src/goods-action/README.md | 13 ++++--------- src/goods-action/README.zh-CN.md | 13 ++++--------- src/grid/README.md | 3 ++- src/grid/README.zh-CN.md | 3 ++- src/index-bar/README.md | 1 + src/index-bar/README.zh-CN.md | 3 ++- src/lazyload/README.md | 7 ++++++- src/lazyload/README.zh-CN.md | 8 ++++++-- src/password-input/README.md | 3 ++- src/password-input/README.zh-CN.md | 3 ++- src/radio/README.md | 2 +- src/radio/README.zh-CN.md | 2 +- src/steps/README.md | 3 ++- src/steps/README.zh-CN.md | 3 ++- src/swipe/README.md | 3 ++- src/swipe/README.zh-CN.md | 3 ++- src/tab/README.md | 3 ++- src/tab/README.zh-CN.md | 3 ++- src/tabbar/README.md | 3 ++- src/tabbar/README.zh-CN.md | 3 ++- 35 files changed, 82 insertions(+), 59 deletions(-) diff --git a/packages/vant-cli/README.md b/packages/vant-cli/README.md index a099549e3..ffa75564a 100644 --- a/packages/vant-cli/README.md +++ b/packages/vant-cli/README.md @@ -17,7 +17,7 @@ Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭 npx create-vant-cli-app ``` -### 安装 +### 手动安装 ```shell # 通过 npm 安装 diff --git a/src/cell/README.md b/src/cell/README.md index 15b7d9772..b2eaa574a 100644 --- a/src/cell/README.md +++ b/src/cell/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Cell, CellGroup } from 'vant'; -Vue.use(Cell).use(CellGroup); +Vue.use(Cell); +Vue.use(CellGroup); ``` ## Usage diff --git a/src/cell/README.zh-CN.md b/src/cell/README.zh-CN.md index c2b27b3fa..9d8dcda46 100644 --- a/src/cell/README.zh-CN.md +++ b/src/cell/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Cell, CellGroup } from 'vant'; -Vue.use(Cell).use(CellGroup); +Vue.use(Cell); +Vue.use(CellGroup); ``` ## 代码演示 diff --git a/src/checkbox/README.md b/src/checkbox/README.md index c7137bfd7..62251d816 100644 --- a/src/checkbox/README.md +++ b/src/checkbox/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Checkbox, CheckboxGroup } from 'vant'; -Vue.use(Checkbox).use(CheckboxGroup); +Vue.use(Checkbox); +Vue.use(CheckboxGroup); ``` ## Usage diff --git a/src/checkbox/README.zh-CN.md b/src/checkbox/README.zh-CN.md index 9a6940911..807aa1c51 100644 --- a/src/checkbox/README.zh-CN.md +++ b/src/checkbox/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Checkbox, CheckboxGroup } from 'vant'; -Vue.use(Checkbox).use(CheckboxGroup); +Vue.use(Checkbox); +Vue.use(CheckboxGroup); ``` ## 代码演示 diff --git a/src/col/README.md b/src/col/README.md index de0ba9a19..52c4bad32 100644 --- a/src/col/README.md +++ b/src/col/README.md @@ -8,9 +8,10 @@ Quickly and easily create layouts with `van-row` and `van-col` ``` javascript import Vue from 'vue'; -import { Row, Col } from 'vant'; +import { Col, Row } from 'vant'; -Vue.use(Row).use(Col); +Vue.use(Col); +Vue.use(Row); ``` ## Usage diff --git a/src/col/README.zh-CN.md b/src/col/README.zh-CN.md index 6456de8bc..c236a65cd 100644 --- a/src/col/README.zh-CN.md +++ b/src/col/README.zh-CN.md @@ -8,9 +8,10 @@ Layout 提供了`van-row`和`van-col`两个组件来进行行列布局 ``` javascript import Vue from 'vue'; -import { Row, Col } from 'vant'; +import { Col, Row } from 'vant'; -Vue.use(Row).use(Col); +Vue.use(Col); +Vue.use(Row); ``` ## 代码演示 diff --git a/src/collapse/README.md b/src/collapse/README.md index 303baf615..a8abec06c 100644 --- a/src/collapse/README.md +++ b/src/collapse/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Collapse, CollapseItem } from 'vant'; -Vue.use(Collapse).use(CollapseItem); +Vue.use(Collapse); +Vue.use(CollapseItem); ``` ## Usage diff --git a/src/collapse/README.zh-CN.md b/src/collapse/README.zh-CN.md index 7686f8731..1ca73336a 100644 --- a/src/collapse/README.zh-CN.md +++ b/src/collapse/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Collapse, CollapseItem } from 'vant'; -Vue.use(Collapse).use(CollapseItem); +Vue.use(Collapse); +Vue.use(CollapseItem); ``` ## 代码演示 diff --git a/src/contact-card/README.md b/src/contact-card/README.md index c1164f1d8..dc4404b47 100644 --- a/src/contact-card/README.md +++ b/src/contact-card/README.md @@ -6,10 +6,9 @@ import Vue from 'vue'; import { ContactCard, ContactList, ContactEdit } from 'vant'; -Vue - .use(ContactCard) - .use(ContactList) - .use(ContactEdit); +Vue.use(ContactCard); +Vue.use(ContactList); +Vue.use(ContactEdit); ``` ## Usage diff --git a/src/contact-card/README.zh-CN.md b/src/contact-card/README.zh-CN.md index 14187d9cb..02f8e2728 100644 --- a/src/contact-card/README.zh-CN.md +++ b/src/contact-card/README.zh-CN.md @@ -10,10 +10,9 @@ import Vue from 'vue'; import { ContactCard, ContactList, ContactEdit } from 'vant'; -Vue - .use(ContactCard) - .use(ContactList) - .use(ContactEdit); +Vue.use(ContactCard); +Vue.use(ContactList); +Vue.use(ContactEdit); ``` ## 代码演示 diff --git a/src/coupon-list/README.md b/src/coupon-list/README.md index 6b3ca8bc7..6822bd92f 100644 --- a/src/coupon-list/README.md +++ b/src/coupon-list/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { CouponCell, CouponList } from 'vant'; -Vue.use(CouponCell).use(CouponList); +Vue.use(CouponCell); +Vue.use(CouponList); ``` ## Usage diff --git a/src/coupon-list/README.zh-CN.md b/src/coupon-list/README.zh-CN.md index 3bd39f990..22712883b 100644 --- a/src/coupon-list/README.zh-CN.md +++ b/src/coupon-list/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { CouponCell, CouponList } from 'vant'; -Vue.use(CouponCell).use(CouponList); +Vue.use(CouponCell); +Vue.use(CouponList); ``` ## 代码演示 diff --git a/src/dropdown-menu/README.md b/src/dropdown-menu/README.md index 98d487ba1..cee3b9ef4 100644 --- a/src/dropdown-menu/README.md +++ b/src/dropdown-menu/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { DropdownMenu, DropdownItem } from 'vant'; -Vue.use(DropdownMenu).use(DropdownItem); +Vue.use(DropdownMenu); +Vue.use(DropdownItem); ``` ## Usage diff --git a/src/dropdown-menu/README.zh-CN.md b/src/dropdown-menu/README.zh-CN.md index 778c469e9..78320a889 100644 --- a/src/dropdown-menu/README.zh-CN.md +++ b/src/dropdown-menu/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { DropdownMenu, DropdownItem } from 'vant'; -Vue.use(DropdownMenu).use(DropdownItem); +Vue.use(DropdownMenu); +Vue.use(DropdownItem); ``` ## 代码演示 diff --git a/src/goods-action/README.md b/src/goods-action/README.md index b723ad885..23af6e739 100644 --- a/src/goods-action/README.md +++ b/src/goods-action/README.md @@ -4,16 +4,11 @@ ``` javascript import Vue from 'vue'; -import { - GoodsAction, - GoodsActionButton, - GoodsActionIcon -} from 'vant'; +import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'; -Vue - .use(GoodsAction) - .use(GoodsActionButton) - .use(GoodsActionIcon); +Vue.use(GoodsAction); +Vue.use(GoodsActionButton); +Vue.use(GoodsActionIcon); ``` ## Usage diff --git a/src/goods-action/README.zh-CN.md b/src/goods-action/README.zh-CN.md index a9121dfe5..bc09d2af9 100644 --- a/src/goods-action/README.zh-CN.md +++ b/src/goods-action/README.zh-CN.md @@ -4,16 +4,11 @@ ``` javascript import Vue from 'vue'; -import { - GoodsAction, - GoodsActionIcon, - GoodsActionButton -} from 'vant'; +import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'; -Vue - .use(GoodsAction) - .use(GoodsActionIcon) - .use(GoodsActionButton); +Vue.use(GoodsAction); +Vue.use(GoodsActionButton); +Vue.use(GoodsActionIcon); ``` ## 代码演示 diff --git a/src/grid/README.md b/src/grid/README.md index 7b9cacaa4..d99e8c169 100644 --- a/src/grid/README.md +++ b/src/grid/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Grid, GridItem } from 'vant'; -Vue.use(Grid).use(GridItem); +Vue.use(Grid); +Vue.use(GridItem); ``` ## Usage diff --git a/src/grid/README.zh-CN.md b/src/grid/README.zh-CN.md index 526294d47..b8c41dcc9 100644 --- a/src/grid/README.zh-CN.md +++ b/src/grid/README.zh-CN.md @@ -10,7 +10,8 @@ import Vue from 'vue'; import { Grid, GridItem } from 'vant'; -Vue.use(Grid).use(GridItem); +Vue.use(Grid); +Vue.use(GridItem); ``` ## 代码演示 diff --git a/src/index-bar/README.md b/src/index-bar/README.md index 88a5836d2..b036ca38f 100644 --- a/src/index-bar/README.md +++ b/src/index-bar/README.md @@ -7,6 +7,7 @@ import Vue from 'vue'; import { IndexBar } from 'vant'; Vue.use(IndexBar); +Vue.use(IndexAnchor); ``` ## Usage diff --git a/src/index-bar/README.zh-CN.md b/src/index-bar/README.zh-CN.md index 693dc4e09..56a9c8a37 100644 --- a/src/index-bar/README.zh-CN.md +++ b/src/index-bar/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { IndexBar, IndexAnchor } from 'vant'; -Vue.use(IndexBar).use(IndexAnchor); +Vue.use(IndexBar); +Vue.use(IndexAnchor); ``` ## 代码演示 diff --git a/src/lazyload/README.md b/src/lazyload/README.md index 5d9ab1319..0388cef0b 100644 --- a/src/lazyload/README.md +++ b/src/lazyload/README.md @@ -6,7 +6,12 @@ import Vue from 'vue'; import { Lazyload } from 'vant'; -Vue.use(Lazyload, options); +Vue.use(Lazyload); + +// with options +Vue.use(Lazyload, { + lazyComponent: true +}); ``` ## Usage diff --git a/src/lazyload/README.zh-CN.md b/src/lazyload/README.zh-CN.md index c0482a73c..31af8b1dc 100644 --- a/src/lazyload/README.zh-CN.md +++ b/src/lazyload/README.zh-CN.md @@ -8,8 +8,12 @@ import Vue from 'vue'; import { Lazyload } from 'vant'; -// options 为可选参数,无则不传 -Vue.use(Lazyload, options); +Vue.use(Lazyload); + +// 注册时可以配置额外的选项 +Vue.use(Lazyload, { + lazyComponent: true +}); ``` ## 代码演示 diff --git a/src/password-input/README.md b/src/password-input/README.md index cb56735d7..f393a5485 100644 --- a/src/password-input/README.md +++ b/src/password-input/README.md @@ -10,7 +10,8 @@ The PasswordInput component is usually used with [NumberKeyboard](#/en-US/number import Vue from 'vue'; import { PasswordInput, NumberKeyboard } from 'vant'; -Vue.use(PasswordInput).use(NumberKeyboard); +Vue.use(PasswordInput); +Vue.use(NumberKeyboard); ``` ## Usage diff --git a/src/password-input/README.zh-CN.md b/src/password-input/README.zh-CN.md index bc721f8c5..0bdaac347 100644 --- a/src/password-input/README.zh-CN.md +++ b/src/password-input/README.zh-CN.md @@ -10,7 +10,8 @@ import Vue from 'vue'; import { PasswordInput, NumberKeyboard } from 'vant'; -Vue.use(PasswordInput).use(NumberKeyboard); +Vue.use(PasswordInput); +Vue.use(NumberKeyboard); ``` ## 代码演示 diff --git a/src/radio/README.md b/src/radio/README.md index 839d4759f..2bb296a54 100644 --- a/src/radio/README.md +++ b/src/radio/README.md @@ -6,8 +6,8 @@ import Vue from 'vue'; import { RadioGroup, Radio } from 'vant'; -Vue.use(RadioGroup); Vue.use(Radio); +Vue.use(RadioGroup); ``` ## Usage diff --git a/src/radio/README.zh-CN.md b/src/radio/README.zh-CN.md index 0eca5a5b0..04f77530a 100644 --- a/src/radio/README.zh-CN.md +++ b/src/radio/README.zh-CN.md @@ -6,8 +6,8 @@ import Vue from 'vue'; import { RadioGroup, Radio } from 'vant'; -Vue.use(RadioGroup); Vue.use(Radio); +Vue.use(RadioGroup); ``` ## 代码演示 diff --git a/src/steps/README.md b/src/steps/README.md index 350dd394b..00a5c6e98 100644 --- a/src/steps/README.md +++ b/src/steps/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Step, Steps } from 'vant'; -Vue.use(Step).use(Steps); +Vue.use(Step); +Vue.use(Steps); ``` ## Usage diff --git a/src/steps/README.zh-CN.md b/src/steps/README.zh-CN.md index 9fdfc3262..76c320ad7 100644 --- a/src/steps/README.zh-CN.md +++ b/src/steps/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Step, Steps } from 'vant'; -Vue.use(Step).use(Steps); +Vue.use(Step); +Vue.use(Steps); ``` ## 代码演示 diff --git a/src/swipe/README.md b/src/swipe/README.md index b2e141860..a8b1fe810 100644 --- a/src/swipe/README.md +++ b/src/swipe/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Swipe, SwipeItem } from 'vant'; -Vue.use(Swipe).use(SwipeItem); +Vue.use(Swipe); +Vue.use(SwipeItem); ``` ## Usage diff --git a/src/swipe/README.zh-CN.md b/src/swipe/README.zh-CN.md index 061263fcc..fba9695c9 100644 --- a/src/swipe/README.zh-CN.md +++ b/src/swipe/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Swipe, SwipeItem } from 'vant'; -Vue.use(Swipe).use(SwipeItem); +Vue.use(Swipe); +Vue.use(SwipeItem); ``` ## 代码演示 diff --git a/src/tab/README.md b/src/tab/README.md index 5ab3fe832..2b5478b07 100644 --- a/src/tab/README.md +++ b/src/tab/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Tab, Tabs } from 'vant'; -Vue.use(Tab).use(Tabs); +Vue.use(Tab); +Vue.use(Tabs); ``` ## Usage diff --git a/src/tab/README.zh-CN.md b/src/tab/README.zh-CN.md index 200c1ed8d..9057f0e04 100644 --- a/src/tab/README.zh-CN.md +++ b/src/tab/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Tab, Tabs } from 'vant'; -Vue.use(Tab).use(Tabs); +Vue.use(Tab); +Vue.use(Tabs); ``` ## 代码演示 diff --git a/src/tabbar/README.md b/src/tabbar/README.md index 74c4add07..599cbd003 100644 --- a/src/tabbar/README.md +++ b/src/tabbar/README.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Tabbar, TabbarItem } from 'vant'; -Vue.use(Tabbar).use(TabbarItem); +Vue.use(Tabbar); +Vue.use(TabbarItem); ``` ## Usage diff --git a/src/tabbar/README.zh-CN.md b/src/tabbar/README.zh-CN.md index dee732a37..56ec14302 100644 --- a/src/tabbar/README.zh-CN.md +++ b/src/tabbar/README.zh-CN.md @@ -6,7 +6,8 @@ import Vue from 'vue'; import { Tabbar, TabbarItem } from 'vant'; -Vue.use(Tabbar).use(TabbarItem); +Vue.use(Tabbar); +Vue.use(TabbarItem); ``` ## 代码演示 From 90354e34c47a14cfa6a0dcf839785d364aabb492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Fri, 17 Jan 2020 08:35:47 +0800 Subject: [PATCH 040/198] docs: add ecosystem --- README.md | 11 +++++++++-- README.zh-CN.md | 10 ++++++++-- docs/markdown/home.en-US.md | 10 ++++++++-- docs/markdown/home.zh-CN.md | 11 +++++++++-- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index eea60a266..e9d0ae3f2 100644 --- a/README.md +++ b/README.md @@ -65,12 +65,19 @@ 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 | + + ## 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..d90b61e3b 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -80,13 +80,19 @@ 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) | 开箱即用的组件库搭建工具 | + ## 链接 * [详细文档](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/docs/markdown/home.en-US.md b/docs/markdown/home.en-US.md index 1badc2b06..41cbec645 100644 --- a/docs/markdown/home.en-US.md +++ b/docs/markdown/home.en-US.md @@ -29,12 +29,18 @@ 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 | + ### 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..e4bba8ee9 100644 --- a/docs/markdown/home.zh-CN.md +++ b/docs/markdown/home.zh-CN.md @@ -45,13 +45,20 @@ - 团队博客 - 开源项目 + +### 生态 + +| 项目 | 描述 | +|-----|------| +| [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) | 开箱即用的组件库搭建工具 | + ### 链接 * [意见反馈](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) ### 开源协议 From ef1916c320da964b73bf27410d7b5fcc699a8738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Fri, 17 Jan 2020 09:50:50 +0800 Subject: [PATCH 041/198] docs: update ecosystem --- README.md | 3 ++- README.zh-CN.md | 2 ++ docs/markdown/home.en-US.md | 2 ++ docs/markdown/home.zh-CN.md | 3 ++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e9d0ae3f2..0939dcd5a 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,8 @@ Modern browsers and Android 4.0+, iOS 8.0+. | [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 diff --git a/README.zh-CN.md b/README.zh-CN.md index d90b61e3b..5fc9cfc24 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -87,6 +87,8 @@ 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 的辅助库 | ## 链接 diff --git a/docs/markdown/home.en-US.md b/docs/markdown/home.en-US.md index 41cbec645..0fd88be4e 100644 --- a/docs/markdown/home.en-US.md +++ b/docs/markdown/home.en-US.md @@ -36,6 +36,8 @@ Modern browsers and Android 4.0+, iOS 8.0+. | [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 diff --git a/docs/markdown/home.zh-CN.md b/docs/markdown/home.zh-CN.md index e4bba8ee9..6d6b9d9b6 100644 --- a/docs/markdown/home.zh-CN.md +++ b/docs/markdown/home.zh-CN.md @@ -45,7 +45,6 @@ - 团队博客 - 开源项目 - ### 生态 | 项目 | 描述 | @@ -53,6 +52,8 @@ | [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 的辅助库 | ### 链接 From fa9a64b480f5b29ebb5d868b0327bed3501e1b34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Sat, 18 Jan 2020 07:52:12 +0800 Subject: [PATCH 042/198] feat(cli): add --version option --- packages/vant-cli/src/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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); From 3baca257253abf2e105047c8466b9a8d7ebaed5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Sat, 18 Jan 2020 08:07:38 +0800 Subject: [PATCH 043/198] fix(create-app): should set css preprocessor --- .../templates/src/demo-button/index.less | 3 --- .../templates/src/demo-button/index.vue | 2 +- .../generators/templates/src/style/base.less | 5 ----- .../generators/templates/src/style/var.less | 2 -- .../generators/templates/vant.config.js | 3 +++ packages/create-vant-cli-app/src/generator.ts | 19 ++++++++++++------- 6 files changed, 16 insertions(+), 18 deletions(-) delete mode 100644 packages/create-vant-cli-app/generators/templates/src/demo-button/index.less delete mode 100644 packages/create-vant-cli-app/generators/templates/src/style/base.less delete mode 100644 packages/create-vant-cli-app/generators/templates/src/style/var.less diff --git a/packages/create-vant-cli-app/generators/templates/src/demo-button/index.less b/packages/create-vant-cli-app/generators/templates/src/demo-button/index.less deleted file mode 100644 index 6446ebfd4..000000000 --- a/packages/create-vant-cli-app/generators/templates/src/demo-button/index.less +++ /dev/null @@ -1,3 +0,0 @@ -.test { - color: red; -} 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 index 5ea80a62b..e5e9e8947 100644 --- 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 @@ -18,7 +18,7 @@ export default { }; - ``` ### Vertical diff --git a/src/slider/README.zh-CN.md b/src/slider/README.zh-CN.md index c4b6b726a..9b118ec31 100644 --- a/src/slider/README.zh-CN.md +++ b/src/slider/README.zh-CN.md @@ -65,17 +65,23 @@ export default { ### 自定义按钮 ```html - -
+ +
{{ value }}
+ + ``` ### 垂直方向 diff --git a/src/switch/README.md b/src/switch/README.md index 3213b7d3e..2ef0d2edd 100644 --- a/src/switch/README.md +++ b/src/switch/README.md @@ -64,7 +64,6 @@ export default { checked: true }; }, - methods: { onInput(checked) { Dialog.confirm({ diff --git a/src/switch/README.zh-CN.md b/src/switch/README.zh-CN.md index 4399ed10f..42b0c7097 100644 --- a/src/switch/README.zh-CN.md +++ b/src/switch/README.zh-CN.md @@ -76,7 +76,6 @@ export default { checked: true }; }, - methods: { onInput(checked) { Dialog.confirm({ diff --git a/src/tabbar/README.md b/src/tabbar/README.md index 468bd448d..7e30318d8 100644 --- a/src/tabbar/README.md +++ b/src/tabbar/README.md @@ -143,18 +143,10 @@ export default { - + Tab - + Tab diff --git a/src/tabbar/README.zh-CN.md b/src/tabbar/README.zh-CN.md index d1c63a54d..eb26a2dac 100644 --- a/src/tabbar/README.zh-CN.md +++ b/src/tabbar/README.zh-CN.md @@ -150,18 +150,10 @@ export default { - + 标签 - + 标签 diff --git a/src/tree-select/README.md b/src/tree-select/README.md index 4b13a756d..77951cd24 100644 --- a/src/tree-select/README.md +++ b/src/tree-select/README.md @@ -61,11 +61,11 @@ export default { ``` @@ -74,7 +74,7 @@ export default { export default { data() { return { - activeIndex: 0, + active: 0, items: [{ text: 'Group 1' }, { text: 'Group 2' }] } } diff --git a/src/tree-select/README.zh-CN.md b/src/tree-select/README.zh-CN.md index 8cd1f27b3..8ec318466 100644 --- a/src/tree-select/README.zh-CN.md +++ b/src/tree-select/README.zh-CN.md @@ -67,11 +67,11 @@ export default { ``` @@ -80,7 +80,7 @@ export default { export default { data() { return { - activeIndex: 0, + active: 0, items: [{ text: '分组 1' }, { text: '分组 2' }] } } diff --git a/src/uploader/README.md b/src/uploader/README.md index 1bbd0bafa..d7393655a 100644 --- a/src/uploader/README.md +++ b/src/uploader/README.md @@ -89,7 +89,6 @@ export default { Toast('Please upload an image in jpg format'); return false; } - return true; }, asyncBeforeRead(file) { diff --git a/src/uploader/README.zh-CN.md b/src/uploader/README.zh-CN.md index 64d968c31..967bf70d9 100644 --- a/src/uploader/README.zh-CN.md +++ b/src/uploader/README.zh-CN.md @@ -104,7 +104,6 @@ export default { Toast('请上传 jpg 格式图片'); return false; } - return true; }, // 返回 Promise From 4b54ec6a185aa612b13a21826adc98155529b541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Sun, 19 Jan 2020 20:13:50 +0800 Subject: [PATCH 091/198] chore: add isFunction utils and improve isObject --- src/address-edit/index.js | 4 ++-- src/circle/index.js | 4 ++-- src/field/index.js | 4 ++-- src/notify/index.ts | 4 ++-- src/picker/PickerColumn.js | 11 ++++++----- src/tabbar-item/index.js | 4 ++-- src/toast/index.js | 4 ++-- src/utils/create/component.ts | 3 ++- src/utils/create/i18n.ts | 4 ++-- src/utils/deep-assign.ts | 8 ++------ src/utils/index.ts | 13 ++++++++----- 11 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/address-edit/index.js b/src/address-edit/index.js index d0be37062..8151f7252 100644 --- a/src/address-edit/index.js +++ b/src/address-edit/index.js @@ -1,5 +1,5 @@ // Utils -import { createNamespace, isObj } from '../utils'; +import { createNamespace, isObject } from '../utils'; import { isMobile } from '../utils/validate/mobile'; // Components @@ -95,7 +95,7 @@ export default createComponent({ computed: { areaListLoaded() { - return isObj(this.areaList) && Object.keys(this.areaList).length; + return isObject(this.areaList) && Object.keys(this.areaList).length; }, areaText() { diff --git a/src/circle/index.js b/src/circle/index.js index dbc17151e..2e70ef031 100644 --- a/src/circle/index.js +++ b/src/circle/index.js @@ -1,4 +1,4 @@ -import { createNamespace, isObj, addUnit } from '../utils'; +import { createNamespace, isObject, addUnit } from '../utils'; import { raf, cancelRaf } from '../utils/dom/raf'; import { BLUE, WHITE } from '../utils/constant'; @@ -101,7 +101,7 @@ export default createComponent({ }, gradient() { - return isObj(this.color); + return isObject(this.color); }, LinearGradient() { diff --git a/src/field/index.js b/src/field/index.js index 57bcf1704..e45666d08 100644 --- a/src/field/index.js +++ b/src/field/index.js @@ -3,7 +3,7 @@ import { formatNumber } from './utils'; import { isIOS } from '../utils/validate/system'; import { preventDefault } from '../utils/dom/event'; import { resetScroll } from '../utils/dom/reset-scroll'; -import { createNamespace, isObj, isDef, addUnit } from '../utils'; +import { createNamespace, isObject, isDef, addUnit } from '../utils'; // Components import Icon from '../icon'; @@ -206,7 +206,7 @@ export default createComponent({ input.style.height = 'auto'; let height = input.scrollHeight; - if (isObj(this.autosize)) { + if (isObject(this.autosize)) { const { maxHeight, minHeight } = this.autosize; if (maxHeight) { height = Math.min(height, maxHeight); diff --git a/src/notify/index.ts b/src/notify/index.ts index dfd1d7491..8e33dc360 100644 --- a/src/notify/index.ts +++ b/src/notify/index.ts @@ -1,7 +1,7 @@ import Vue from 'vue'; import VanNotify from './Notify'; import { WHITE } from '../utils/constant'; -import { isObj, isServer } from '../utils'; +import { isObject, isServer } from '../utils'; import { mount } from '../utils/functional'; import { NotifyOptions } from 'types/notify'; @@ -9,7 +9,7 @@ let timer: number | NodeJS.Timeout; let instance: any; function parseOptions(message: NotifyOptions): NotifyOptions { - return isObj(message) ? message : ({ message } as NotifyOptions); + return isObject(message) ? message : { message }; } function Notify(options: NotifyOptions) { diff --git a/src/picker/PickerColumn.js b/src/picker/PickerColumn.js index 1e9c4af02..b2de06b74 100644 --- a/src/picker/PickerColumn.js +++ b/src/picker/PickerColumn.js @@ -1,5 +1,5 @@ import { deepClone } from '../utils/deep-clone'; -import { createNamespace, isObj } from '../utils'; +import { createNamespace, isObject } from '../utils'; import { range } from '../utils/format/number'; import { preventDefault } from '../utils/dom/event'; import { TouchMixin } from '../mixins/touch'; @@ -23,7 +23,7 @@ function getElementTranslateY(element) { } function isOptionDisabled(option) { - return isObj(option) && option.disabled; + return isObject(option) && option.disabled; } export default createComponent({ @@ -176,9 +176,10 @@ export default createComponent({ }, getOptionText(option) { - return isObj(option) && this.valueKey in option - ? option[this.valueKey] - : option; + if (isObject(option) && this.valueKey in option) { + return option[this.valueKey]; + } + return option; }, setIndex(index, userAction) { diff --git a/src/tabbar-item/index.js b/src/tabbar-item/index.js index f5bf826a2..cbafc9a25 100644 --- a/src/tabbar-item/index.js +++ b/src/tabbar-item/index.js @@ -1,5 +1,5 @@ // Utils -import { createNamespace, isObj, isDef } from '../utils'; +import { createNamespace, isObject, isDef } from '../utils'; import { route, routeProps } from '../utils/router'; // Mixins @@ -32,7 +32,7 @@ export default createComponent({ routeActive() { const { to, $route } = this; if (to && $route) { - const config = isObj(to) ? to : { path: to }; + const config = isObject(to) ? to : { path: to }; const pathMatched = config.path === $route.path; const nameMatched = isDef(config.name) && config.name === $route.name; diff --git a/src/toast/index.js b/src/toast/index.js index 420c6d0bd..87ff23f38 100644 --- a/src/toast/index.js +++ b/src/toast/index.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import VueToast from './Toast'; -import { isObj, isServer } from '../utils'; +import { isObject, isServer } from '../utils'; const defaultOptions = { icon: '', @@ -35,7 +35,7 @@ let currentOptions = { }; function parseOptions(message) { - if (isObj(message)) { + if (isObject(message)) { return message; } diff --git a/src/utils/create/component.ts b/src/utils/create/component.ts index 46f338a29..5754ca181 100644 --- a/src/utils/create/component.ts +++ b/src/utils/create/component.ts @@ -2,6 +2,7 @@ * Create a basic component with common options */ import '../../locale'; +import { isFunction } from '..'; import { camelize } from '../format/string'; import { SlotsMixin } from '../../mixins/slots'; import Vue, { @@ -68,7 +69,7 @@ export function createComponent(name: string) { return function( sfc: VantComponentOptions | FunctionComponent ): TsxComponent { - if (typeof sfc === 'function') { + if (isFunction(sfc)) { sfc = transformFunctionComponent(sfc); } diff --git a/src/utils/create/i18n.ts b/src/utils/create/i18n.ts index a1bf18ddb..2045901a2 100644 --- a/src/utils/create/i18n.ts +++ b/src/utils/create/i18n.ts @@ -1,4 +1,4 @@ -import { get } from '..'; +import { get, isFunction } from '..'; import { camelize } from '../format/string'; import locale from '../../locale'; @@ -9,7 +9,7 @@ export function createI18N(name: string) { const messages = locale.messages(); const message = get(messages, prefix + path) || get(messages, path); - return typeof message === 'function' ? message(...args) : message; + return isFunction(message) ? message(...args) : message; }; } diff --git a/src/utils/deep-assign.ts b/src/utils/deep-assign.ts index 6ce75ac8d..0cb51d0d6 100644 --- a/src/utils/deep-assign.ts +++ b/src/utils/deep-assign.ts @@ -1,4 +1,4 @@ -import { isDef, isObj } from '.'; +import { isDef, isObject } from '.'; import { ObjectIndex } from './types'; const { hasOwnProperty } = Object.prototype; @@ -10,11 +10,7 @@ function assignKey(to: ObjectIndex, from: ObjectIndex, key: string) { return; } - if ( - !hasOwnProperty.call(to, key) || - !isObj(val) || - typeof val === 'function' - ) { + if (!hasOwnProperty.call(to, key) || !isObject(val)) { to[key] = val; } else { // eslint-disable-next-line no-use-before-define diff --git a/src/utils/index.ts b/src/utils/index.ts index 07f0a361b..c78525d6a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -7,13 +7,16 @@ export const isServer: boolean = Vue.prototype.$isServer; export function noop() {} -export function isDef(value: any): boolean { - return value !== undefined && value !== null; +export function isDef(val: any): boolean { + return val !== undefined && val !== null; } -export function isObj(x: any): boolean { - const type = typeof x; - return x !== null && (type === 'object' || type === 'function'); +export function isFunction(val: unknown): val is Function { + return typeof val === 'function'; +} + +export function isObject(val: any): val is Record { + return val !== null && typeof val === 'object'; } export function get(object: any, path: string): any { From 6418e97fc813e515bc69cb3ffde4e04c0fe85b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Sun, 19 Jan 2020 20:44:36 +0800 Subject: [PATCH 092/198] docs(ActionSheet): update demo and documents --- src/action-sheet/README.md | 131 +++++++++-------- src/action-sheet/README.zh-CN.md | 103 ++++++++------ src/action-sheet/demo/index.vue | 132 +++++++++--------- .../test/__snapshots__/demo.spec.js.snap | 50 ++++--- 4 files changed, 219 insertions(+), 197 deletions(-) diff --git a/src/action-sheet/README.md b/src/action-sheet/README.md index 18b98925a..b3cc6d55f 100644 --- a/src/action-sheet/README.md +++ b/src/action-sheet/README.md @@ -42,28 +42,7 @@ export default { }; ``` -### Status - -```html - -``` - -```js -export default { - data() { - return { - show: false, - actions: [ - { name: 'Option', color: '#07c160' }, - { loading: true }, - { name: 'Disabled Option', disabled: true } - ] - }; - } -}; -``` - -### ActionSheet with cancel button +### Show Cancel Button ```html ``` -### ActionSheet with title +### Option Status + +```html + +``` + +```js +export default { + data() { + return { + show: false, + actions: [ + { name: 'Option', color: '#07c160' }, + { loading: true }, + { name: 'Disabled Option', disabled: true } + ] + }; + } +}; +``` + +### Custom Panel ```html -

Content

+
Content
+ + ``` ## API ### Props -| Attribute | Description | Type | Default | -| ---------------------- | --------------------------------------------- | ------------------------- | ------- | -| 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` | -| 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` | - -### Events - -| Event | Description | Arguments | -| ------------- | --------------------------------- | ----------- | -| select | Triggered when click option | item, index | -| cancel | Triggered when cancel click | - | -| click-overlay | Triggered when click overlay | - | -| open | Triggered when open ActionSheet | - | -| opened | Triggered when opened ActionSheet | - | -| close | Triggered when close ActionSheet | - | -| closed | Triggered when closed ActionSheet | - | +| Attribute | Description | Type | Default | +|------|------|------|------| +| actions | Options | _Action[]_ | `[]` | +| title | Title | _string_ | - | +| cancel-text | Text of cancel button | _string_ | - | +| description `v2.2.8` | Description above the options | _string_ | - | +| close-icon `v2.2.13` | Close icon name | _string_ | `cross` | +| duration `v2.0.3` | Transition duration, unit second | _number_ | `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` | +| safe-area-inset-bottom | Whether to enable bottom safe area adaptation | _boolean_ | `true` | +| get-container | Return the mount node for action-sheet | _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_ | +| 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 + +| Event | Description | Arguments | +|------|------|------| +| select | Triggered when click option | item, index | +| cancel | Triggered when cancel click | - | +| click-overlay | Triggered when click overlay | - | +| open | Triggered when open ActionSheet | - | +| opened | Triggered when opened ActionSheet | - | +| close | Triggered when close ActionSheet | - | +| closed | Triggered when closed ActionSheet | - | diff --git a/src/action-sheet/README.zh-CN.md b/src/action-sheet/README.zh-CN.md index 8553200cb..e0bdf6f1d 100644 --- a/src/action-sheet/README.zh-CN.md +++ b/src/action-sheet/README.zh-CN.md @@ -35,8 +35,8 @@ export default { }, methods: { onSelect(item) { - // 默认情况下,点击选项时不会自动关闭菜单 - // 可以通过 close-on-click-action 属性开启自动关闭 + // 默认情况下点击选项时不会自动收起 + // 可以通过 close-on-click-action 属性开启自动收起 this.show = false; Toast(item.name); } @@ -44,29 +44,6 @@ export default { } ``` -### 选项状态 - -选项可以设置为加载状态或禁用状态,也可以通过`color`设置选项颜色 - -```html - -``` - -```js -export default { - data() { - return { - show: false, - actions: [ - { name: '选项', color: '#07c160' }, - { loading: true }, - { name: '禁用选项', disabled: true } - ] - }; - } -} -``` - ### 展示取消按钮 设置`cancel-text`属性后,会在底部展示取消按钮,点击后关闭当前菜单 @@ -110,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 @@ -130,28 +141,16 @@ export default { | title | 顶部标题 | *string* | - | | cancel-text | 取消按钮文字 | *string* | - | | description `v2.2.8` | 选项上方的描述信息 | *string* | - | -| overlay | 是否显示遮罩层 | *boolean* | `true` | +| close-icon `v2.2.13` | 关闭图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `cross` | +| duration `v2.0.3` | 动画时长,单位秒 | *number* | `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` | -| 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 | 关闭菜单且动画结束后触发 | - | +| get-container | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | ### Action 数据结构 @@ -166,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 1b3ac980c..c48ec118f 100644 --- a/src/action-sheet/demo/index.vue +++ b/src/action-sheet/demo/index.vue @@ -1,60 +1,58 @@ @@ -64,34 +62,36 @@ import { GREEN } from '../../utils/constant'; export default { i18n: { 'zh-CN': { - buttonText: '弹出菜单', - status: '选项状态', subname: '副文本', - disabledOption: '禁用选项', - showTitle: '展示标题栏', showCancel: '展示取消按钮', - showDescription: '展示描述信息', + buttonText: '弹出菜单', + customPanel: '自定义面板', description: '这是一段描述信息', + optionStatus: '选项状态', + disabledOption: '禁用选项', + showDescription: '展示描述信息', }, 'en-US': { - buttonText: 'Show ActionSheet', - status: 'Status', subname: 'Subname', - disabledOption: 'Disabled Option', - showTitle: 'ActionSheet with title', - showCancel: 'ActionSheet with cancel button', - showDescription: 'ActionSheet with description', + showCancel: 'Show Cancel Button', + buttonText: 'Show ActionSheet', + customPanel: 'Custom Panel', description: 'Description', + optionStatus: 'Option Status', + disabledOption: 'Disabled Option', + 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, + }, }; }, @@ -115,7 +115,7 @@ export default { methods: { onSelect(item) { - this.show1 = false; + this.show.basic = false; this.$toast(item.name); }, @@ -130,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/test/__snapshots__/demo.spec.js.snap b/src/action-sheet/test/__snapshots__/demo.spec.js.snap index 22427b83d..0b0f77f33 100644 --- a/src/action-sheet/test/__snapshots__/demo.spec.js.snap +++ b/src/action-sheet/test/__snapshots__/demo.spec.js.snap @@ -2,30 +2,36 @@ exports[`renders demo correctly 1`] = `
-
- +
+
+
基础用法
+ +
+
+
展示取消按钮
+ +
+
+
展示描述信息
+ +
-
- +
+
+
选项状态
+ +
-
- -
-
- -
-
- +
+
+
自定义面板
+ +
+ + + + +
`; From 025811412ba180542fe64d23bd105743680652c1 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 20 Jan 2020 16:33:31 +0800 Subject: [PATCH 093/198] fix(Sku): get-container can be string type (#5608) --- src/sku/Sku.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sku/Sku.js b/src/sku/Sku.js index fdcc93a9d..e8d0257c7 100644 --- a/src/sku/Sku.js +++ b/src/sku/Sku.js @@ -36,7 +36,7 @@ export default createComponent({ hideStock: Boolean, addCartText: String, stepperTitle: String, - getContainer: Function, + getContainer: [String, Function], hideQuotaText: Boolean, hideSelectedText: Boolean, resetStepperOnHide: Boolean, From 803727e2f9e6b6a95f7a105433e374707c974818 Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 20 Jan 2020 16:43:47 +0800 Subject: [PATCH 094/198] feat(Calendar): add get-contaienr prop (#5609) --- src/action-sheet/README.md | 2 +- src/calendar/README.md | 1 + src/calendar/README.zh-CN.md | 1 + src/calendar/index.js | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/action-sheet/README.md b/src/action-sheet/README.md index b3cc6d55f..ccff8bdc3 100644 --- a/src/action-sheet/README.md +++ b/src/action-sheet/README.md @@ -136,7 +136,7 @@ export default { | close-on-click-action | Whether to close when click action | _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` | -| get-container | Return the mount node for action-sheet | _string \| () => Element_ | - | +| get-container | Return the mount node for ActionSheet | _string \| () => Element_ | - | ### Data Structure of Action diff --git a/src/calendar/README.md b/src/calendar/README.md index 0a7798f22..432fde0be 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -231,6 +231,7 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | confirm-disabled-text | Confirm button text when disabled | *string* | `Confirm` | | max-range`2.4.3` | Number of selectable days | *number* | - | | range-prompt`2.4.3` | Error message when exceeded max range | *string* | `Choose no more than xx days` | +| get-container`2.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 95ca2913f..521831c26 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -231,6 +231,7 @@ export default { | confirm-disabled-text | 确认按钮处于禁用状态时的文字 | *string* | `确定` | | max-range`2.4.3` | 日期区间最多可选天数,默认无限制 | *number* | - | | range-prompt`2.4.3` | 选择超过区间范围时的提示文案 | *string* | `选择天数不能超过 xx 天` | +| get-container`2.4.4` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | ### Day 数据结构 diff --git a/src/calendar/index.js b/src/calendar/index.js index e6b96dc4a..819bedfee 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -28,6 +28,7 @@ export default createComponent({ confirmText: String, rangePrompt: String, defaultDate: [Date, Array], + getContainer: [String, Function], confirmDisabledText: String, type: { type: String, @@ -370,6 +371,7 @@ export default createComponent({ value={this.value} round={this.round} position={this.position} + getContainer={this.getContainer} closeOnClickOverlay={this.closeOnClickOverlay} onInput={this.togglePopup} > From 57d88bd586a310a0a7f288579002f412a256da4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Mon, 20 Jan 2020 19:43:38 +0800 Subject: [PATCH 095/198] docs(Swipe): improve document --- src/swipe/README.md | 17 ++++++++++++++++- src/swipe/README.zh-CN.md | 25 ++++++++++++++++++++++--- webpack.config.js | 4 ++-- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/swipe/README.md b/src/swipe/README.md index 7fa825ee9..15821f435 100644 --- a/src/swipe/README.md +++ b/src/swipe/README.md @@ -17,12 +17,22 @@ Vue.use(SwipeItem); Use `autoplay` prop to set autoplay interval ```html - + 1 2 3 4 + + ``` ### Image Lazyload @@ -38,6 +48,11 @@ Use [Lazyload](#/en-US/lazyload) component to lazyload image ``` ```js +import Vue from 'vue'; +import { Lazyload } from 'vant'; + +Vue.use(Lazyload); + export default { data() { return { diff --git a/src/swipe/README.zh-CN.md b/src/swipe/README.zh-CN.md index 71d2ec916..940a614e0 100644 --- a/src/swipe/README.zh-CN.md +++ b/src/swipe/README.zh-CN.md @@ -14,20 +14,30 @@ Vue.use(SwipeItem); ### 基础用法 -通过`autoplay`属性设置自动轮播间隔 +每个 SwipeItem 代表一张轮播卡片,可以通过`autoplay`属性设置自动轮播的间隔 ```html - + 1 2 3 4 + + ``` ### 图片懒加载 -配合 [Lazyload](#/zh-CN/lazyload) 组件实现图片懒加载 +当 Swipe 中含有图片时,可以配合 [Lazyload](#/zh-CN/lazyload) 组件实现图片懒加载 ```html @@ -38,6 +48,11 @@ Vue.use(SwipeItem); ``` ```js +import Vue from 'vue'; +import { Lazyload } from 'vant'; + +Vue.use(Lazyload); + export default { data() { return { @@ -194,3 +209,7 @@ export default { 这种情况通常是由于项目中引入了`fastclick`库导致的。`fastclick`的原理是通过 Touch 事件模拟出 click 事件,而 Swipe 内部默认会阻止 touchmove 事件冒泡,干扰了 fastclick 的判断,导致出现这个问题。 将 Swipe 组件的 stop-propagation 属性设置为 false 即可避免该问题。 + +### 在桌面端无法操作组件? + +参见[在桌面端使用](#/zh-CN/quickstart#zai-zhuo-mian-duan-shi-yong)。 diff --git a/webpack.config.js b/webpack.config.js index 217cdda0a..80501ebbc 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,7 +5,7 @@ module.exports = function() { return { entry: { - 'site-mobile': ['./docs/site/mobile'] - } + 'site-mobile': ['./docs/site/mobile'], + }, }; }; From 2b82dcc3dd2dba678aba5e0533e0ff6af7c55b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Tue, 21 Jan 2020 22:52:00 +0800 Subject: [PATCH 096/198] feat(Calendar): add close-on-popstate prop --- src/calendar/README.md | 1 + src/calendar/README.zh-CN.md | 1 + src/calendar/index.js | 2 ++ 3 files changed, 4 insertions(+) diff --git a/src/calendar/README.md b/src/calendar/README.md index 432fde0be..94a852697 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -225,6 +225,7 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | 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` | diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index 521831c26..28f1fba4f 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -225,6 +225,7 @@ export default { | 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` | | confirm-text | 确认按钮的文字 | *string* | `确定` | diff --git a/src/calendar/index.js b/src/calendar/index.js index 819bedfee..6dd74efd9 100644 --- a/src/calendar/index.js +++ b/src/calendar/index.js @@ -29,6 +29,7 @@ export default createComponent({ rangePrompt: String, defaultDate: [Date, Array], getContainer: [String, Function], + closeOnPopstate: Boolean, confirmDisabledText: String, type: { type: String, @@ -372,6 +373,7 @@ export default createComponent({ round={this.round} position={this.position} getContainer={this.getContainer} + closeOnPopstate={this.closeOnPopstate} closeOnClickOverlay={this.closeOnClickOverlay} onInput={this.togglePopup} > From b83bed3b6c41d0896386b3c4b6380c9568bd3ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 22 Jan 2020 21:59:32 +0800 Subject: [PATCH 097/198] feat(GoodsActionButton): add icon prop --- src/goods-action-button/index.js | 2 ++ src/goods-action-button/index.less | 2 +- src/goods-action/README.md | 1 + src/goods-action/README.zh-CN.md | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/goods-action-button/index.js b/src/goods-action-button/index.js index 88d769785..764cbeee7 100644 --- a/src/goods-action-button/index.js +++ b/src/goods-action-button/index.js @@ -12,6 +12,7 @@ export default createComponent({ ...routeProps, type: String, text: String, + icon: String, color: String, loading: Boolean, disabled: Boolean, @@ -49,6 +50,7 @@ export default createComponent({ square size="large" type={this.type} + icon={this.icon} color={this.color} loading={this.loading} disabled={this.disabled} diff --git a/src/goods-action-button/index.less b/src/goods-action-button/index.less index dee599830..1bcc97fa3 100644 --- a/src/goods-action-button/index.less +++ b/src/goods-action-button/index.less @@ -5,7 +5,7 @@ height: @goods-action-button-height; font-weight: @font-weight-bold; font-size: @font-size-md; - line-height: normal; + line-height: @goods-action-button-height; border: none; &--first { diff --git a/src/goods-action/README.md b/src/goods-action/README.md index bc017f0ff..56ae772b6 100644 --- a/src/goods-action/README.md +++ b/src/goods-action/README.md @@ -104,6 +104,7 @@ Use `info` prop to show badge in icon | text | Button text | *string* | - | | type | Button type, Can be set to `primary` `info` `warning` `danger` | *string* | `default` | | color `v2.1.8` | Button color, support linear-gradient | *string* | - | +| icon `2.4.4` | Left Icon | *string* | - | | primary | Is primary button (red color) | *boolean* | `false` | | disabled | Whether to disable button | *boolean* | `false` | | loading | Whether show loading status | *boolean* | `false` | diff --git a/src/goods-action/README.zh-CN.md b/src/goods-action/README.zh-CN.md index 9362eeb8a..ab08c8f72 100644 --- a/src/goods-action/README.zh-CN.md +++ b/src/goods-action/README.zh-CN.md @@ -108,6 +108,7 @@ export default { | text | 按钮文字 | *string* | - | | type | 按钮类型,可选值为 `primary` `info` `warning` `danger` | *string* | `default` | | color `v2.1.8` | 按钮颜色,支持传入`linear-gradient`渐变色 | *string* | - | +| icon `2.4.4` | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | | disabled | 是否禁用按钮 | *boolean* | `false` | - | | loading | 是否显示为加载状态 | *boolean* | `false` | - | | url | 点击后跳转的链接地址 | *string* | - | From 1404c82dba84a022275a7d479ad6feaa17e1d909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:22:15 +0800 Subject: [PATCH 098/198] feat(CountDown): add change event (#5599) --- src/count-down/README.md | 1 + src/count-down/README.zh-CN.md | 1 + src/count-down/index.js | 1 + src/count-down/test/index.spec.js | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+) diff --git a/src/count-down/README.md b/src/count-down/README.md index be01b2d78..cf290f05b 100644 --- a/src/count-down/README.md +++ b/src/count-down/README.md @@ -130,6 +130,7 @@ export default { | Event | Description | Arguments | |------|------|------| | finish | Triggered when count down finished | - | +| change `2.4.4` | Triggered when count down changed | timeData | ### Slots diff --git a/src/count-down/README.zh-CN.md b/src/count-down/README.zh-CN.md index f89d24cc9..1246fef76 100644 --- a/src/count-down/README.zh-CN.md +++ b/src/count-down/README.zh-CN.md @@ -140,6 +140,7 @@ export default { | 事件名 | 说明 | 回调参数 | |------|------|------| | finish | 倒计时结束时触发 | - | +| change `2.4.4` | 倒计时变化时触发 | timeData | ### Slots diff --git a/src/count-down/index.js b/src/count-down/index.js index 3996c01ad..609952674 100644 --- a/src/count-down/index.js +++ b/src/count-down/index.js @@ -141,6 +141,7 @@ export default createComponent({ setRemain(remain) { this.remain = remain; + this.$emit('change', this.timeData); if (remain === 0) { this.pause(); diff --git a/src/count-down/test/index.spec.js b/src/count-down/test/index.spec.js index a2256bda6..1f0376509 100644 --- a/src/count-down/test/index.spec.js +++ b/src/count-down/test/index.spec.js @@ -213,3 +213,21 @@ test('pause when deactivated', async () => { wrapper.setData({ render: true }); expect(countDown.counting).toBeFalsy(); }); + +test('change event', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 1, + }, + }); + + expect(wrapper.emitted('change')).toBeFalsy(); + await later(50); + expect(wrapper.emitted('change')[0][0]).toEqual({ + days: 0, + hours: 0, + milliseconds: 0, + minutes: 0, + seconds: 0, + }); +}); From 24ec81812103e333d2ae26cbd8d18b14199a2e8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:32:02 +0800 Subject: [PATCH 099/198] docs: optimize icon link --- src/action-sheet/README.zh-CN.md | 2 +- src/button/README.zh-CN.md | 2 +- src/cell/README.zh-CN.md | 2 +- src/collapse/README.zh-CN.md | 2 +- src/dropdown-menu/README.zh-CN.md | 2 +- src/field/README.zh-CN.md | 4 ++-- src/goods-action/README.zh-CN.md | 2 +- src/grid/README.zh-CN.md | 2 +- src/image/README.zh-CN.md | 4 ++-- src/notice-bar/README.zh-CN.md | 2 +- src/panel/README.zh-CN.md | 2 +- src/rate/README.zh-CN.md | 4 ++-- src/search/README.zh-CN.md | 4 ++-- src/submit-bar/README.zh-CN.md | 2 +- src/tabbar/README.zh-CN.md | 2 +- src/toast/README.md | 2 +- src/toast/README.zh-CN.md | 4 ++-- 17 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/action-sheet/README.zh-CN.md b/src/action-sheet/README.zh-CN.md index e0bdf6f1d..0c133dbe7 100644 --- a/src/action-sheet/README.zh-CN.md +++ b/src/action-sheet/README.zh-CN.md @@ -141,7 +141,7 @@ export default { | title | 顶部标题 | *string* | - | | cancel-text | 取消按钮文字 | *string* | - | | description `v2.2.8` | 选项上方的描述信息 | *string* | - | -| close-icon `v2.2.13` | 关闭图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `cross` | +| close-icon `v2.2.13` | 关闭[图标名称](#/zh-CN/icon)或图片链接 | *string* | `cross` | | duration `v2.0.3` | 动画时长,单位秒 | *number* | `0.3` | | round `v2.0.9` | 是否显示圆角 | *boolean* | `true` | | overlay | 是否显示遮罩层 | *boolean* | `true` | diff --git a/src/button/README.zh-CN.md b/src/button/README.zh-CN.md index 9b1465839..aa3563819 100644 --- a/src/button/README.zh-CN.md +++ b/src/button/README.zh-CN.md @@ -127,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` | diff --git a/src/cell/README.zh-CN.md b/src/cell/README.zh-CN.md index 7ed10b5f8..253e51e2b 100644 --- a/src/cell/README.zh-CN.md +++ b/src/cell/README.zh-CN.md @@ -125,7 +125,7 @@ Vue.use(CellGroup); | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| -| icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | title | 左侧标题 | *string \| number* | - | | value | 右侧内容 | *string \| number* | - | | label | 标题下方的描述信息 | *string* | - | diff --git a/src/collapse/README.zh-CN.md b/src/collapse/README.zh-CN.md index 545509cff..a5b392e4a 100644 --- a/src/collapse/README.zh-CN.md +++ b/src/collapse/README.zh-CN.md @@ -101,7 +101,7 @@ export default { | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | name | 唯一标识符,默认为索引值 | *string \| number* | `index` | -| icon | 标题栏左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon | 标题栏左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | size | 标题栏大小,可选值为 `large` | *string* | - | | title | 标题栏左侧内容 | *string \| number* | - | | value | 标题栏右侧内容 | *string \| number* | - | diff --git a/src/dropdown-menu/README.zh-CN.md b/src/dropdown-menu/README.zh-CN.md index e6d8e2f10..3ece4b94c 100644 --- a/src/dropdown-menu/README.zh-CN.md +++ b/src/dropdown-menu/README.zh-CN.md @@ -166,4 +166,4 @@ export default { |------|------|------| | text | 文字 | *string* | | value | 标识符 | *string \| number* | -| icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | +| icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | diff --git a/src/field/README.zh-CN.md b/src/field/README.zh-CN.md index 732bfec50..79cad06ad 100644 --- a/src/field/README.zh-CN.md +++ b/src/field/README.zh-CN.md @@ -258,8 +258,8 @@ export default { | input-align | 输入框内容对齐方式,可选值为 `center` `right` | *string* | `left` | | error-message-align | 错误提示文案对齐方式,可选值为 `center` `right` | *string* | `left` | | autosize | 是否自适应内容高度,只对 textarea 有效,
可传入对象,如 { maxHeight: 100, minHeight: 50 },
单位为`px` | *boolean \| object* | `false` | -| left-icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | -| right-icon | 右侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| left-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| right-icon | 右侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | ### Events diff --git a/src/goods-action/README.zh-CN.md b/src/goods-action/README.zh-CN.md index ab08c8f72..bc4e4d94b 100644 --- a/src/goods-action/README.zh-CN.md +++ b/src/goods-action/README.zh-CN.md @@ -108,7 +108,7 @@ export default { | text | 按钮文字 | *string* | - | | type | 按钮类型,可选值为 `primary` `info` `warning` `danger` | *string* | `default` | | color `v2.1.8` | 按钮颜色,支持传入`linear-gradient`渐变色 | *string* | - | -| icon `2.4.4` | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon `2.4.4` | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | disabled | 是否禁用按钮 | *boolean* | `false` | - | | loading | 是否显示为加载状态 | *boolean* | `false` | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/grid/README.zh-CN.md b/src/grid/README.zh-CN.md index a748e2721..2d164f106 100644 --- a/src/grid/README.zh-CN.md +++ b/src/grid/README.zh-CN.md @@ -133,7 +133,7 @@ Vue.use(GridItem); | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | text | 文字 | *string* | - | -| icon | 图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon | [图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | dot `v2.2.1` | 是否显示图标右上角小红点 | *boolean* | `false` | | info `v2.2.1` | 图标右上角徽标的内容 | *string \| number* | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/image/README.zh-CN.md b/src/image/README.zh-CN.md index 4bc52a119..166650c37 100644 --- a/src/image/README.zh-CN.md +++ b/src/image/README.zh-CN.md @@ -111,8 +111,8 @@ Vue.use(Lazyload); | lazy-load | 是否开启图片懒加载,须配合 [Lazyload](#/zh-CN/lazyload) 组件使用 | *boolean* | `false` | | show-error `v2.0.9` | 是否展示图片加载失败提示 | *boolean* | `true` | | show-loading `v2.0.9` | 是否展示图片加载中提示 | *boolean* | `true` | -| error-icon `v2.4.2` | 失败时提示的图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `warning-o` | -| loading-icon `v2.4.2` | 加载时提示的图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `photo-o` | +| error-icon `v2.4.2` | 失败时提示的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `warning-o` | +| loading-icon `v2.4.2` | 加载时提示的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `photo-o` | ### 图片填充模式 diff --git a/src/notice-bar/README.zh-CN.md b/src/notice-bar/README.zh-CN.md index 067f6aab2..78bbc82cb 100644 --- a/src/notice-bar/README.zh-CN.md +++ b/src/notice-bar/README.zh-CN.md @@ -77,7 +77,7 @@ Vue.use(NoticeBar); | speed | 滚动速率 (px/s) | *number* | `50` | | scrollable | 是否在长度溢出时滚动播放 | *boolean* | `true` | | wrapable | 是否开启文本换行,只在禁用滚动时生效 | *boolean* | `false` | -| left-icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| left-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | color | 文本颜色 | *string* | `#f60` | | background | 滚动条背景 | *string* | `#fff7cc` | diff --git a/src/panel/README.zh-CN.md b/src/panel/README.zh-CN.md index c897ab696..6ffa2d525 100644 --- a/src/panel/README.zh-CN.md +++ b/src/panel/README.zh-CN.md @@ -44,7 +44,7 @@ Vue.use(Panel); | title | 标题 | *string* | - | | desc | 描述 | *string* | - | | status | 状态 | *string* | - | -| icon | 标题左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon | 标题左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | ### Slots diff --git a/src/rate/README.zh-CN.md b/src/rate/README.zh-CN.md index d2c590594..9d16d4d4b 100644 --- a/src/rate/README.zh-CN.md +++ b/src/rate/README.zh-CN.md @@ -117,8 +117,8 @@ export default { | color | 选中时的颜色 | *string* | `#ffd21e` | | void-color | 未选中时的颜色 | *string* | `#c7c7c7` | | disabled-color | 禁用时的颜色 | *string* | `#bdbdbd` | -| icon | 选中时的图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `star` | -| void-icon | 未选中时的图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `star-o` | +| icon | 选中时的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `star` | +| void-icon | 未选中时的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `star-o` | | allow-half | 是否允许半选 | *boolean* | `false` | | readonly | 是否为只读状态 | *boolean* | `false` | | disabled | 是否禁用评分 | *boolean* | `false` | diff --git a/src/search/README.zh-CN.md b/src/search/README.zh-CN.md index 14ab0a94f..241386ad4 100644 --- a/src/search/README.zh-CN.md +++ b/src/search/README.zh-CN.md @@ -91,8 +91,8 @@ Search 组件提供了`search`和`cancel`事件,`search`事件在点击键盘 | readonly | 是否将输入框设为只读 | *boolean* | `false` | | error | 是否将输入内容标红 | *boolean* | `false` | | input-align | 输入框内容对齐方式,可选值为 `center` `right` | *string* | `left` | -| left-icon | 输入框左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | `search` | -| right-icon | 输入框右侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| left-icon | 输入框左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | `search` | +| right-icon | 输入框右侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | ### Events diff --git a/src/submit-bar/README.zh-CN.md b/src/submit-bar/README.zh-CN.md index d0f3fa718..72620bc9b 100644 --- a/src/submit-bar/README.zh-CN.md +++ b/src/submit-bar/README.zh-CN.md @@ -79,7 +79,7 @@ Vue.use(SubmitBar); | button-text | 按钮文字 | *string* | - | | button-type | 按钮类型 | *string* | `danger` | | tip | 提示文案 | *string* | - | -| tip-icon | 左侧图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| tip-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | disabled | 是否禁用按钮 | *boolean* | `false` | | loading | 是否显示加载中的按钮 | *boolean* | `false` | | currency | 货币符号 | *string* | `¥` | diff --git a/src/tabbar/README.zh-CN.md b/src/tabbar/README.zh-CN.md index eb26a2dac..ceb18da68 100644 --- a/src/tabbar/README.zh-CN.md +++ b/src/tabbar/README.zh-CN.md @@ -185,7 +185,7 @@ export default { | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | name | 标签名称,作为匹配的标识符 | *string \| number* | 当前标签的索引值 | -| icon | 图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon)| *string* | - | +| icon | [图标名称](#/zh-CN/icon)或图片链接| *string* | - | | dot | 是否显示图标右上角小红点 | *boolean* | `false` | | info | 图标右上角徽标的内容 | *string \| number* | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/toast/README.md b/src/toast/README.md index 644ca39de..10470f1c5 100644 --- a/src/toast/README.md +++ b/src/toast/README.md @@ -152,5 +152,5 @@ Toast.resetDefaultOptions('loading'); | className | Custom className | *any* | - | | onOpened | Callback function after opened | *Function* | - | | onClose | Callback function after close | *Function* | - | -| transition `v2.2.6` | Transition, equivalent to `name` prop of [transtion](https://vuejs.org/v2/api/#transition) | *string* | - | +| transition `v2.2.6` | Transition, equivalent to `name` prop of [transtion](https://vuejs.org/v2/api/#transition) | *string* | `van-fade` | | getContainer | Return the mount node for Toast | *string \| () => Element* | `body` | diff --git a/src/toast/README.zh-CN.md b/src/toast/README.zh-CN.md index e27b5af61..98297f0d8 100644 --- a/src/toast/README.zh-CN.md +++ b/src/toast/README.zh-CN.md @@ -144,7 +144,7 @@ Toast.resetDefaultOptions('loading'); | type | 提示类型,可选值为 `loading` `success`
`fail` `html` | *string* | `text` | | position | 位置,可选值为 `top` `bottom` | *string* | `middle` | | message | 文本内容,支持通过`\n`换行 | *string* | `''` | - | -| icon `v2.0.1` | 自定义图标,支持传入图标名称或图片链接,可选值见 [Icon 组件](#/zh-CN/icon) | *string* | - | +| icon `v2.0.1` | 自定义图标,支持传入[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | | iconPrefix `v2.0.9` | 图标类名前缀 | *string* | `van-icon` | | overlay `v2.2.13` | 是否显示背景遮罩层 | *boolean* | `false` | | forbidClick | 是否禁止背景点击 | *boolean* | `false` | @@ -155,5 +155,5 @@ Toast.resetDefaultOptions('loading'); | className | 自定义类名 | *any* | - | | onOpened | 完全展示后的回调函数 | *Function* | - | | onClose | 关闭时的回调函数 | *Function* | - | -| transition `v2.2.6` | 动画类名,等价于 [transtion](https://cn.vuejs.org/v2/api/index.html#transition) 的`name`属性 | *string* | - | +| transition `v2.2.6` | 动画类名,等价于 [transtion](https://cn.vuejs.org/v2/api/index.html#transition) 的`name`属性 | *string* | `van-fade` | | getContainer | 指定挂载的节点,可以传入选择器,
或一个返回节点的函数 | *string \| () => Element* | `body` | From e04fb6cd7b4ccb4b9bcff1bc2565221720cbb973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:36:43 +0800 Subject: [PATCH 100/198] docs: fix arrow-direction default value --- src/action-sheet/README.zh-CN.md | 2 +- src/button/README.zh-CN.md | 2 +- src/cell/README.md | 2 +- src/cell/README.zh-CN.md | 4 ++-- src/collapse/README.zh-CN.md | 2 +- src/dropdown-menu/README.zh-CN.md | 2 +- src/field/README.md | 2 +- src/field/README.zh-CN.md | 6 +++--- src/goods-action/README.zh-CN.md | 2 +- src/grid/README.zh-CN.md | 2 +- src/image/README.zh-CN.md | 4 ++-- src/notice-bar/README.zh-CN.md | 2 +- src/panel/README.zh-CN.md | 2 +- src/rate/README.zh-CN.md | 4 ++-- src/search/README.zh-CN.md | 4 ++-- src/submit-bar/README.zh-CN.md | 2 +- src/tabbar/README.zh-CN.md | 2 +- src/toast/README.zh-CN.md | 4 ++-- 18 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/action-sheet/README.zh-CN.md b/src/action-sheet/README.zh-CN.md index 0c133dbe7..5811b73d4 100644 --- a/src/action-sheet/README.zh-CN.md +++ b/src/action-sheet/README.zh-CN.md @@ -141,7 +141,7 @@ export default { | title | 顶部标题 | *string* | - | | cancel-text | 取消按钮文字 | *string* | - | | description `v2.2.8` | 选项上方的描述信息 | *string* | - | -| close-icon `v2.2.13` | 关闭[图标名称](#/zh-CN/icon)或图片链接 | *string* | `cross` | +| close-icon `v2.2.13` | 关闭 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `cross` | | duration `v2.0.3` | 动画时长,单位秒 | *number* | `0.3` | | round `v2.0.9` | 是否显示圆角 | *boolean* | `true` | | overlay | 是否显示遮罩层 | *boolean* | `true` | diff --git a/src/button/README.zh-CN.md b/src/button/README.zh-CN.md index aa3563819..8d373e08a 100644 --- a/src/button/README.zh-CN.md +++ b/src/button/README.zh-CN.md @@ -127,7 +127,7 @@ Vue.use(Button); | size | 尺寸,可选值为 `large` `small` `mini` | *string* | `normal` | | text | 按钮文字 | *string* | - | | color `v2.1.8` | 按钮颜色,支持传入`linear-gradient`渐变色 | *string* | - | -| icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | tag | HTML 标签 | *string* | `button` | | native-type | 原生 button 标签 type 属性 | *string* | - | | block | 是否为块级元素 | *boolean* | `false` | diff --git a/src/cell/README.md b/src/cell/README.md index 5625f7490..8e0f680c0 100644 --- a/src/cell/README.md +++ b/src/cell/README.md @@ -127,7 +127,7 @@ Vue.use(CellGroup); | clickable | Whether to show click feedback when clicked | *boolean* | `false` | | is-link | Whether to show link icon | *boolean* | `false` | | required | Whether to show required mark | *boolean* | `false` | -| arrow-direction | Can be set to `left` `up` `down` | *string* | - | +| arrow-direction | Can be set to `left` `up` `down` | *string* | `right` | | title-style | Title style | *any* | - | | title-class | Title className | *any* | - | | value-class | Value className | *any* | - | diff --git a/src/cell/README.zh-CN.md b/src/cell/README.zh-CN.md index 253e51e2b..dbcb84cfc 100644 --- a/src/cell/README.zh-CN.md +++ b/src/cell/README.zh-CN.md @@ -125,7 +125,7 @@ Vue.use(CellGroup); | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| -| icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | title | 左侧标题 | *string \| number* | - | | value | 右侧内容 | *string \| number* | - | | label | 标题下方的描述信息 | *string* | - | @@ -138,7 +138,7 @@ Vue.use(CellGroup); | is-link | 是否展示右侧箭头并开启点击反馈 | *boolean* | `false` | | required | 是否显示表单必填星号 | *boolean* | `false` | | center | 是否使内容垂直居中 | *boolean* | `false` | -| arrow-direction | 箭头方向,可选值为 `left` `up` `down` | *string* | - | +| arrow-direction | 箭头方向,可选值为 `left` `up` `down` | *string* | `right` | | title-style | 左侧标题额外样式 | *any* | - | | title-class | 左侧标题额外类名 | *any* | - | | value-class | 右侧内容额外类名 | *any* | - | diff --git a/src/collapse/README.zh-CN.md b/src/collapse/README.zh-CN.md index a5b392e4a..8334cf53b 100644 --- a/src/collapse/README.zh-CN.md +++ b/src/collapse/README.zh-CN.md @@ -101,7 +101,7 @@ export default { | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | name | 唯一标识符,默认为索引值 | *string \| number* | `index` | -| icon | 标题栏左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon | 标题栏左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | size | 标题栏大小,可选值为 `large` | *string* | - | | title | 标题栏左侧内容 | *string \| number* | - | | value | 标题栏右侧内容 | *string \| number* | - | diff --git a/src/dropdown-menu/README.zh-CN.md b/src/dropdown-menu/README.zh-CN.md index 3ece4b94c..bf8ac7e09 100644 --- a/src/dropdown-menu/README.zh-CN.md +++ b/src/dropdown-menu/README.zh-CN.md @@ -166,4 +166,4 @@ export default { |------|------|------| | text | 文字 | *string* | | value | 标识符 | *string \| number* | -| icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | +| icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | diff --git a/src/field/README.md b/src/field/README.md index 41f38ef60..4fe32c589 100644 --- a/src/field/README.md +++ b/src/field/README.md @@ -231,7 +231,7 @@ Use `input-align` prop to align the input value | show-word-limit `v2.2.8` | Whether to show word limit, need to set the `maxlength` prop | *boolean* | `false` | | error | Whether to show error info | *boolean* | `false` | | formatter `v2.4.2` | Input value formatter | *Function* | - | -| arrow-direction `v2.0.4` | Can be set to `left` `up` `down` | *string* | - | +| arrow-direction `v2.0.4` | Can be set to `left` `up` `down` | *string* | `right` | | error-message | Error message | *string* | `''` | | label-class | Label className | *any* | - | | label-width | Label width | *string \| number* | `90px` | diff --git a/src/field/README.zh-CN.md b/src/field/README.zh-CN.md index 79cad06ad..34a9e5df7 100644 --- a/src/field/README.zh-CN.md +++ b/src/field/README.zh-CN.md @@ -250,7 +250,7 @@ export default { | show-word-limit `v2.2.8` | 是否显示字数统计,需要设置`maxlength`属性 | *boolean* | `false` | | error | 是否将输入内容标红 | *boolean* | `false` | | formatter `v2.4.2` | 输入内容格式化函数 | *Function* | - | -| arrow-direction `v2.0.4` | 箭头方向,可选值为 `left` `up` `down` | *string* | - | +| arrow-direction `v2.0.4` | 箭头方向,可选值为 `left` `up` `down` | *string* | `right` | | error-message | 底部错误提示文案,为空时不展示 | *string* | `''` | | label-class | 左侧文本额外类名 | *any* | - | | label-width | 左侧文本宽度,默认单位为`px` | *string \| number* | `90px` | @@ -258,8 +258,8 @@ export default { | input-align | 输入框内容对齐方式,可选值为 `center` `right` | *string* | `left` | | error-message-align | 错误提示文案对齐方式,可选值为 `center` `right` | *string* | `left` | | autosize | 是否自适应内容高度,只对 textarea 有效,
可传入对象,如 { maxHeight: 100, minHeight: 50 },
单位为`px` | *boolean \| object* | `false` | -| left-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | -| right-icon | 右侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| left-icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | +| right-icon | 右侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | ### Events diff --git a/src/goods-action/README.zh-CN.md b/src/goods-action/README.zh-CN.md index bc4e4d94b..e67cd40b4 100644 --- a/src/goods-action/README.zh-CN.md +++ b/src/goods-action/README.zh-CN.md @@ -108,7 +108,7 @@ export default { | text | 按钮文字 | *string* | - | | type | 按钮类型,可选值为 `primary` `info` `warning` `danger` | *string* | `default` | | color `v2.1.8` | 按钮颜色,支持传入`linear-gradient`渐变色 | *string* | - | -| icon `2.4.4` | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon `2.4.4` | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | disabled | 是否禁用按钮 | *boolean* | `false` | - | | loading | 是否显示为加载状态 | *boolean* | `false` | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/grid/README.zh-CN.md b/src/grid/README.zh-CN.md index 2d164f106..d248c2098 100644 --- a/src/grid/README.zh-CN.md +++ b/src/grid/README.zh-CN.md @@ -133,7 +133,7 @@ Vue.use(GridItem); | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | text | 文字 | *string* | - | -| icon | [图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon | [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | dot `v2.2.1` | 是否显示图标右上角小红点 | *boolean* | `false` | | info `v2.2.1` | 图标右上角徽标的内容 | *string \| number* | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/image/README.zh-CN.md b/src/image/README.zh-CN.md index 166650c37..0cba2a9e7 100644 --- a/src/image/README.zh-CN.md +++ b/src/image/README.zh-CN.md @@ -111,8 +111,8 @@ Vue.use(Lazyload); | lazy-load | 是否开启图片懒加载,须配合 [Lazyload](#/zh-CN/lazyload) 组件使用 | *boolean* | `false` | | show-error `v2.0.9` | 是否展示图片加载失败提示 | *boolean* | `true` | | show-loading `v2.0.9` | 是否展示图片加载中提示 | *boolean* | `true` | -| error-icon `v2.4.2` | 失败时提示的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `warning-o` | -| loading-icon `v2.4.2` | 加载时提示的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `photo-o` | +| error-icon `v2.4.2` | 失败时提示的 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `warning-o` | +| loading-icon `v2.4.2` | 加载时提示的 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `photo-o` | ### 图片填充模式 diff --git a/src/notice-bar/README.zh-CN.md b/src/notice-bar/README.zh-CN.md index 78bbc82cb..6e39a27fe 100644 --- a/src/notice-bar/README.zh-CN.md +++ b/src/notice-bar/README.zh-CN.md @@ -77,7 +77,7 @@ Vue.use(NoticeBar); | speed | 滚动速率 (px/s) | *number* | `50` | | scrollable | 是否在长度溢出时滚动播放 | *boolean* | `true` | | wrapable | 是否开启文本换行,只在禁用滚动时生效 | *boolean* | `false` | -| left-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| left-icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | color | 文本颜色 | *string* | `#f60` | | background | 滚动条背景 | *string* | `#fff7cc` | diff --git a/src/panel/README.zh-CN.md b/src/panel/README.zh-CN.md index 6ffa2d525..1081fbb4c 100644 --- a/src/panel/README.zh-CN.md +++ b/src/panel/README.zh-CN.md @@ -44,7 +44,7 @@ Vue.use(Panel); | title | 标题 | *string* | - | | desc | 描述 | *string* | - | | status | 状态 | *string* | - | -| icon | 标题左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon | 标题左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | ### Slots diff --git a/src/rate/README.zh-CN.md b/src/rate/README.zh-CN.md index 9d16d4d4b..aeacc6e95 100644 --- a/src/rate/README.zh-CN.md +++ b/src/rate/README.zh-CN.md @@ -117,8 +117,8 @@ export default { | color | 选中时的颜色 | *string* | `#ffd21e` | | void-color | 未选中时的颜色 | *string* | `#c7c7c7` | | disabled-color | 禁用时的颜色 | *string* | `#bdbdbd` | -| icon | 选中时的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `star` | -| void-icon | 未选中时的[图标名称](#/zh-CN/icon)或图片链接 | *string* | `star-o` | +| icon | 选中时的 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `star` | +| void-icon | 未选中时的 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `star-o` | | allow-half | 是否允许半选 | *boolean* | `false` | | readonly | 是否为只读状态 | *boolean* | `false` | | disabled | 是否禁用评分 | *boolean* | `false` | diff --git a/src/search/README.zh-CN.md b/src/search/README.zh-CN.md index 241386ad4..6bd286c16 100644 --- a/src/search/README.zh-CN.md +++ b/src/search/README.zh-CN.md @@ -91,8 +91,8 @@ Search 组件提供了`search`和`cancel`事件,`search`事件在点击键盘 | readonly | 是否将输入框设为只读 | *boolean* | `false` | | error | 是否将输入内容标红 | *boolean* | `false` | | input-align | 输入框内容对齐方式,可选值为 `center` `right` | *string* | `left` | -| left-icon | 输入框左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | `search` | -| right-icon | 输入框右侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| left-icon | 输入框左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | `search` | +| right-icon | 输入框右侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | ### Events diff --git a/src/submit-bar/README.zh-CN.md b/src/submit-bar/README.zh-CN.md index 72620bc9b..b4aac1866 100644 --- a/src/submit-bar/README.zh-CN.md +++ b/src/submit-bar/README.zh-CN.md @@ -79,7 +79,7 @@ Vue.use(SubmitBar); | button-text | 按钮文字 | *string* | - | | button-type | 按钮类型 | *string* | `danger` | | tip | 提示文案 | *string* | - | -| tip-icon | 左侧[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| tip-icon | 左侧 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | disabled | 是否禁用按钮 | *boolean* | `false` | | loading | 是否显示加载中的按钮 | *boolean* | `false` | | currency | 货币符号 | *string* | `¥` | diff --git a/src/tabbar/README.zh-CN.md b/src/tabbar/README.zh-CN.md index ceb18da68..5be799f4e 100644 --- a/src/tabbar/README.zh-CN.md +++ b/src/tabbar/README.zh-CN.md @@ -185,7 +185,7 @@ export default { | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| | name | 标签名称,作为匹配的标识符 | *string \| number* | 当前标签的索引值 | -| icon | [图标名称](#/zh-CN/icon)或图片链接| *string* | - | +| icon | [图标名称](#/zh-CN/icon) 或图片链接| *string* | - | | dot | 是否显示图标右上角小红点 | *boolean* | `false` | | info | 图标右上角徽标的内容 | *string \| number* | - | | url | 点击后跳转的链接地址 | *string* | - | diff --git a/src/toast/README.zh-CN.md b/src/toast/README.zh-CN.md index 98297f0d8..840c4beb3 100644 --- a/src/toast/README.zh-CN.md +++ b/src/toast/README.zh-CN.md @@ -144,7 +144,7 @@ Toast.resetDefaultOptions('loading'); | type | 提示类型,可选值为 `loading` `success`
`fail` `html` | *string* | `text` | | position | 位置,可选值为 `top` `bottom` | *string* | `middle` | | message | 文本内容,支持通过`\n`换行 | *string* | `''` | - | -| icon `v2.0.1` | 自定义图标,支持传入[图标名称](#/zh-CN/icon)或图片链接 | *string* | - | +| icon `v2.0.1` | 自定义图标,支持传入 [图标名称](#/zh-CN/icon) 或图片链接 | *string* | - | | iconPrefix `v2.0.9` | 图标类名前缀 | *string* | `van-icon` | | overlay `v2.2.13` | 是否显示背景遮罩层 | *boolean* | `false` | | forbidClick | 是否禁止背景点击 | *boolean* | `false` | @@ -156,4 +156,4 @@ Toast.resetDefaultOptions('loading'); | onOpened | 完全展示后的回调函数 | *Function* | - | | onClose | 关闭时的回调函数 | *Function* | - | | transition `v2.2.6` | 动画类名,等价于 [transtion](https://cn.vuejs.org/v2/api/index.html#transition) 的`name`属性 | *string* | `van-fade` | -| getContainer | 指定挂载的节点,可以传入选择器,
或一个返回节点的函数 | *string \| () => Element* | `body` | +| getContainer | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | `body` | From 1b576f02b23849e36f589123672d06779beec48c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:40:37 +0800 Subject: [PATCH 101/198] docs: optimize safe area link --- src/action-sheet/README.zh-CN.md | 2 +- src/calendar/README.zh-CN.md | 2 +- src/goods-action/README.zh-CN.md | 2 +- src/number-keyboard/README.zh-CN.md | 2 +- src/popup/README.zh-CN.md | 2 +- src/sku/README.zh-CN.md | 2 +- src/submit-bar/README.zh-CN.md | 2 +- src/tabbar/README.zh-CN.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/action-sheet/README.zh-CN.md b/src/action-sheet/README.zh-CN.md index 5811b73d4..945eaa7f6 100644 --- a/src/action-sheet/README.zh-CN.md +++ b/src/action-sheet/README.zh-CN.md @@ -149,7 +149,7 @@ export default { | lazy-render | 是否在显示弹层时才渲染节点 | *boolean* | `true` | | close-on-click-action | 是否在点击选项后关闭 | *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` | | get-container | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | ### Action 数据结构 diff --git a/src/calendar/README.zh-CN.md b/src/calendar/README.zh-CN.md index 28f1fba4f..cea246639 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -227,7 +227,7 @@ export default { | 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`2.4.3` | 日期区间最多可选天数,默认无限制 | *number* | - | diff --git a/src/goods-action/README.zh-CN.md b/src/goods-action/README.zh-CN.md index e67cd40b4..dc651ad47 100644 --- a/src/goods-action/README.zh-CN.md +++ b/src/goods-action/README.zh-CN.md @@ -86,7 +86,7 @@ export default { | 参数 | 说明 | 类型 | 默认值 | |------|------|------|------| -| safe-area-inset-bottom | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | +| safe-area-inset-bottom | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | ### GoodsActionIcon Props diff --git a/src/number-keyboard/README.zh-CN.md b/src/number-keyboard/README.zh-CN.md index 450463b71..4ee5c286c 100644 --- a/src/number-keyboard/README.zh-CN.md +++ b/src/number-keyboard/README.zh-CN.md @@ -153,7 +153,7 @@ export default { | delete-button-text | 删除按钮文字 | *string* | `删除` | | show-delete-key | 是否展示删除按钮 | *boolean* | `true` | | hide-on-click-outside | 点击外部时是否收起键盘 | *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` | ### Events diff --git a/src/popup/README.zh-CN.md b/src/popup/README.zh-CN.md index 0292bf20c..f9897a813 100644 --- a/src/popup/README.zh-CN.md +++ b/src/popup/README.zh-CN.md @@ -144,7 +144,7 @@ export default { | close-icon-position `v2.2.2` | 关闭图标位置,可选值为`top-left`
`bottom-left` `bottom-right` | *string* | `top-right` | | transition | 动画类名,等价于 [transtion](https://cn.vuejs.org/v2/api/index.html#transition) 的`name`属性 | *string* | - | | get-container | 指定挂载的节点 | *string \| () => Element* | - | -| safe-area-inset-bottom `v2.2.1` | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | +| safe-area-inset-bottom `v2.2.1` | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | ### Events diff --git a/src/sku/README.zh-CN.md b/src/sku/README.zh-CN.md index 7372a4182..9938d082e 100644 --- a/src/sku/README.zh-CN.md +++ b/src/sku/README.zh-CN.md @@ -144,7 +144,7 @@ export default { | get-container | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | | initial-sku | 默认选中的 sku,具体参考高级用法 | *object* | `{}` | | show-soldout-sku | 是否展示售罄的 sku,默认展示并置灰 | *boolean* | `true` | -| safe-area-inset-bottom `v2.2.1` | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | +| safe-area-inset-bottom `v2.2.1` | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | | start-sale-num `v2.3.0` | 起售数量 | *number* | `1` | | properties `2.4.0` | 商品属性 | *array* | - | diff --git a/src/submit-bar/README.zh-CN.md b/src/submit-bar/README.zh-CN.md index b4aac1866..7df52d6a7 100644 --- a/src/submit-bar/README.zh-CN.md +++ b/src/submit-bar/README.zh-CN.md @@ -84,7 +84,7 @@ Vue.use(SubmitBar); | loading | 是否显示加载中的按钮 | *boolean* | `false` | | currency | 货币符号 | *string* | `¥` | | decimal-length | 价格小数点后位数 | *number* | `2` | -| safe-area-inset-bottom | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | +| safe-area-inset-bottom | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | ### Events diff --git a/src/tabbar/README.zh-CN.md b/src/tabbar/README.zh-CN.md index 5be799f4e..d77f37d75 100644 --- a/src/tabbar/README.zh-CN.md +++ b/src/tabbar/README.zh-CN.md @@ -172,7 +172,7 @@ export default { | active-color | 选中标签的颜色 | *string* | `#1989fa` | | inactive-color | 未选中标签的颜色 | *string* | `#7d7e80` | | route | 是否开启路由模式 | *boolean* | `false` | -| safe-area-inset-bottom | 是否开启底部安全区适配,[详细说明](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | +| safe-area-inset-bottom | 是否开启 [底部安全区适配](#/zh-CN/quickstart#di-bu-an-quan-qu-gua-pei) | *boolean* | `false` | ### Tabbar Events From 7cf026f045b513a8de179e68a4d92b5885a614d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 10:49:00 +0800 Subject: [PATCH 102/198] chore(ActionSheet): adjust max-height --- src/calendar/README.md | 6 +++--- src/calendar/README.zh-CN.md | 6 +++--- src/style/var.less | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/calendar/README.md b/src/calendar/README.md index 94a852697..f0c4b498a 100644 --- a/src/calendar/README.md +++ b/src/calendar/README.md @@ -230,9 +230,9 @@ Set `poppable` to `false`, the calendar will be displayed directly on the page i | 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`2.4.3` | Number of selectable days | *number* | - | -| range-prompt`2.4.3` | Error message when exceeded max range | *string* | `Choose no more than xx days` | -| get-container`2.4.4` | Return the mount node for Calendar | _string \| () => Element_ | - | +| max-range `2.4.3` | Number of selectable days | *number* | - | +| range-prompt `2.4.3` | Error message when exceeded max range | *string* | `Choose no more than xx days` | +| get-container `2.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 cea246639..6b81e2fff 100644 --- a/src/calendar/README.zh-CN.md +++ b/src/calendar/README.zh-CN.md @@ -230,9 +230,9 @@ export default { | 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`2.4.3` | 日期区间最多可选天数,默认无限制 | *number* | - | -| range-prompt`2.4.3` | 选择超过区间范围时的提示文案 | *string* | `选择天数不能超过 xx 天` | -| get-container`2.4.4` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | +| max-range `2.4.3` | 日期区间最多可选天数,默认无限制 | *number* | - | +| range-prompt `2.4.3` | 选择超过区间范围时的提示文案 | *string* | `选择天数不能超过 xx 天` | +| get-container `2.4.4` | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | *string \| () => Element* | - | ### Day 数据结构 diff --git a/src/style/var.less b/src/style/var.less index 4de7b59e9..e8e9aa3ac 100644 --- a/src/style/var.less +++ b/src/style/var.less @@ -58,7 +58,7 @@ @border-radius-max: 999px; // ActionSheet -@action-sheet-max-height: 90%; +@action-sheet-max-height: 80%; @action-sheet-header-height: 44px; @action-sheet-header-font-size: @font-size-lg; @action-sheet-description-color: @gray-7; From fde1ed11d431c56cc23d5960a19223afdc9e5b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 23 Jan 2020 11:17:34 +0800 Subject: [PATCH 103/198] docs(List): add PullRefresh demo (#5579) --- src/list/README.md | 56 +++++++++++++- src/list/README.zh-CN.md | 64 +++++++++++++++- src/list/demo/index.vue | 75 ++++++++++++------- src/list/test/__snapshots__/demo.spec.js.snap | 17 ++--- 4 files changed, 168 insertions(+), 44 deletions(-) diff --git a/src/list/README.md b/src/list/README.md index 7236c79fb..9c0d32d14 100644 --- a/src/list/README.md +++ b/src/list/README.md @@ -37,7 +37,6 @@ export default { finished: false }; }, - methods: { onLoad() { setTimeout(() => { @@ -49,7 +48,7 @@ export default { if (this.list.length >= 40) { this.finished = true; } - }, 500); + }, 1000); } } } @@ -77,7 +76,6 @@ export default { loading: false }; }, - methods: { onLoad() { fetchSomeThing().catch(() => { @@ -88,6 +86,58 @@ export default { } ``` +### PullRefresh + +```html + + + + + +``` + +```js +export default { + data() { + return { + list: [], + loading: false, + finished: false, + refreshing: false + }; + }, + methods: { + onLoad() { + setTimeout(() => { + if (this.refreshing) { + this.list = []; + this.refreshing = false; + } + + for (let i = 0; i < 10; i++) { + this.list.push(this.list.length + 1); + } + this.loading = false; + + if (this.list.length >= 40) { + this.finished = true; + } + }, 1000); + }, + onRefresh() { + this.finished = false; + this.loading = true; + this.onLoad(); + } + } +} +``` + ## API ### Props diff --git a/src/list/README.zh-CN.md b/src/list/README.zh-CN.md index 4ed61b674..3d741d24f 100644 --- a/src/list/README.zh-CN.md +++ b/src/list/README.zh-CN.md @@ -39,14 +39,15 @@ export default { finished: false }; }, - methods: { onLoad() { // 异步更新数据 + // setTimeout 仅做示例,真实场景中一般为 ajax 请求 setTimeout(() => { for (let i = 0; i < 10; i++) { this.list.push(this.list.length + 1); } + // 加载状态结束 this.loading = false; @@ -54,7 +55,7 @@ export default { if (this.list.length >= 40) { this.finished = true; } - }, 500); + }, 1000); } } } @@ -84,7 +85,6 @@ export default { loading: false }; }, - methods: { onLoad() { fetchSomeThing().catch(() => { @@ -95,6 +95,64 @@ export default { } ``` +### 下拉刷新 + +List 组件可以与 [PullRefresh](#/zh-CN/pull-refresh) 组件结合使用,实现下拉刷新的效果 + +```html + + + + + +``` + +```js +export default { + data() { + return { + list: [], + loading: false, + finished: false, + refreshing: false + }; + }, + methods: { + onLoad() { + setTimeout(() => { + if (this.refreshing) { + this.list = []; + this.refreshing = false; + } + + for (let i = 0; i < 10; i++) { + this.list.push(this.list.length + 1); + } + this.loading = false; + + if (this.list.length >= 40) { + this.finished = true; + } + }, 1000); + }, + onRefresh() { + // 清空列表数据 + this.finished = false; + + // 重新加载数据 + // 将 loading 设置为 true,表示处于加载状态 + this.loading = true; + this.onLoad(); + } + } +} +``` + ## API ### Props diff --git a/src/list/demo/index.vue b/src/list/demo/index.vue index 99beb8e25..0a25c2005 100644 --- a/src/list/demo/index.vue +++ b/src/list/demo/index.vue @@ -2,28 +2,37 @@ - - - - - + + + - + + + + + + + - + @@ -36,13 +45,15 @@ export default { i18n: { 'zh-CN': { errorInfo: '错误提示', - finishedText: '没有更多了', errorText: '请求失败,点击重新加载', + pullRefresh: '下拉刷新', + finishedText: '没有更多了', }, 'en-US': { errorInfo: 'Error Info', - finishedText: 'Finished', errorText: 'Request failed. Click to reload', + pullRefresh: 'PullRefresh', + finishedText: 'Finished', }, }, @@ -63,24 +74,35 @@ export default { error: false, finished: false, }, + { + items: [], + refreshing: false, + loading: false, + error: false, + finished: false, + }, ], }; }, methods: { - onLoad(index, isRefresh) { + onLoad(index) { const list = this.list[index]; list.loading = true; + setTimeout(() => { - if (isRefresh) { + if (list.refreshing) { list.items = []; + list.refreshing = false; } for (let i = 0; i < 10; i++) { const text = list.items.length + 1; list.items.push(text < 10 ? '0' + text : text); } + list.loading = false; + list.refreshing = false; // show error info in second demo if (index === 1 && list.items.length === 10 && !list.error) { @@ -92,17 +114,12 @@ export default { if (list.items.length >= 40) { list.finished = true; } - }, 500); + }, 1000); }, onRefresh(index) { - const list = this.list[index]; - setTimeout(() => { - list.error = false; - list.finished = false; - list.refreshing = false; - this.onLoad(index, true); - }, 1000); + this.list[index].finished = false; + this.onLoad(index); }, }, }; diff --git a/src/list/test/__snapshots__/demo.spec.js.snap b/src/list/test/__snapshots__/demo.spec.js.snap index 41e123a54..6faa69720 100644 --- a/src/list/test/__snapshots__/demo.spec.js.snap +++ b/src/list/test/__snapshots__/demo.spec.js.snap @@ -7,26 +7,25 @@ exports[`renders demo correctly 1`] = `
+
-
-
-
-
-
-
加载中...
-
-
-
+
+
+
加载中...
+
+
From e8f528877f59fd00ddf57132eddcf84e0ba4f016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Fri, 24 Jan 2020 10:12:19 +0800 Subject: [PATCH 104/198] docs(Loading): add size prop demo --- src/button/README.zh-CN.md | 2 +- src/loading/README.md | 7 +++++++ src/loading/README.zh-CN.md | 17 +++++++++++++++++ src/loading/demo/index.vue | 11 +++++++++-- .../test/__snapshots__/demo.spec.js.snap | 4 ++++ src/toast/README.zh-CN.md | 2 +- 6 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/button/README.zh-CN.md b/src/button/README.zh-CN.md index 8d373e08a..ca167b771 100644 --- a/src/button/README.zh-CN.md +++ b/src/button/README.zh-CN.md @@ -138,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/loading/README.md b/src/loading/README.md index 4df5c6880..3badd15bf 100644 --- a/src/loading/README.md +++ b/src/loading/README.md @@ -25,6 +25,13 @@ Vue.use(Loading); ``` +### Size + +```html + + +``` + ### Text ```html diff --git a/src/loading/README.zh-CN.md b/src/loading/README.zh-CN.md index 7b8373816..8cb4b102c 100644 --- a/src/loading/README.zh-CN.md +++ b/src/loading/README.zh-CN.md @@ -13,6 +13,8 @@ Vue.use(Loading); ### 加载类型 +通过`type`属性可以设置加载图标的类型,默认为`circular`,可选值为`spinner` + ```html @@ -20,19 +22,34 @@ Vue.use(Loading); ### 自定义颜色 +通过`color`属性设置加载图标的颜色 + ```html ``` +### 自定义大小 + +通过`size`属性设置加载图标的大小,默认单位为`px` + +```html + + +``` + ### 加载文案 +可以使用默认插槽在图标的右侧插入加载文案 + ```html 加载中... ``` ### 垂直排列 +设置`vertical`属性后,图标和文案会垂直排列 + ```html 加载中... ``` diff --git a/src/loading/demo/index.vue b/src/loading/demo/index.vue index a151b0739..1362e5f7f 100644 --- a/src/loading/demo/index.vue +++ b/src/loading/demo/index.vue @@ -10,6 +10,11 @@ + + + + + {{ $t('loading') }} @@ -29,14 +34,16 @@ export default { i18n: { 'zh-CN': { type: '加载类型', - color: '自定义颜色', text: '加载文案', + size: '自定义大小', + color: '自定义颜色', vertical: '垂直排列', }, 'en-US': { type: 'Type', - color: 'Color', text: 'Text', + size: 'Size', + color: 'Color', vertical: 'Vertical', }, }, diff --git a/src/loading/test/__snapshots__/demo.spec.js.snap b/src/loading/test/__snapshots__/demo.spec.js.snap index 48dc67138..424aa506c 100644 --- a/src/loading/test/__snapshots__/demo.spec.js.snap +++ b/src/loading/test/__snapshots__/demo.spec.js.snap @@ -10,6 +10,10 @@ exports[`renders demo correctly 1`] = `
+
+
+
+
加载中... diff --git a/src/toast/README.zh-CN.md b/src/toast/README.zh-CN.md index 840c4beb3..57316fffa 100644 --- a/src/toast/README.zh-CN.md +++ b/src/toast/README.zh-CN.md @@ -150,7 +150,7 @@ Toast.resetDefaultOptions('loading'); | forbidClick | 是否禁止背景点击 | *boolean* | `false` | | closeOnClick `v2.1.5` | 是否在点击后关闭 | *boolean* | `false` | | closeOnClickOverlay `v2.2.13` | 是否在点击遮罩层后关闭 | *boolean* | `false` | -| loadingType | 加载图标类型, 可选值为 `spinner` | *string* | `circular` | +| loadingType | [加载图标类型](#/zh-CN/loading), 可选值为 `spinner` | *string* | `circular` | | duration | 展示时长(ms),值为 0 时,toast 不会消失 | *number* | `2000` | | className | 自定义类名 | *any* | - | | onOpened | 完全展示后的回调函数 | *Function* | - | From 1dfbc69aef21dcfebd33625eb94fc91c6beb4932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Fri, 24 Jan 2020 10:28:08 +0800 Subject: [PATCH 105/198] docs(Search): update demo --- src/search/README.md | 72 +++++++++++---- src/search/README.zh-CN.md | 87 +++++++++++++------ src/search/demo/index.vue | 65 ++++++++------ .../test/__snapshots__/demo.spec.js.snap | 80 ++++++++--------- 4 files changed, 194 insertions(+), 110 deletions(-) diff --git a/src/search/README.md b/src/search/README.md index acc7e92b7..d594ea8a2 100644 --- a/src/search/README.md +++ b/src/search/README.md @@ -14,7 +14,7 @@ Vue.use(Search); ### Basic Usage ```html - + ``` ```js @@ -24,23 +24,6 @@ export default { } } ``` -### Custom Background Color - -```html - -``` - -### Disable Search Bar - -```html - -``` - -### Search Bar Content Alignment - -```html - -``` ### Listen to Events @@ -50,16 +33,67 @@ export default {
``` +```js +import { Toast } from 'vant'; + +export default { + data() { + return { + value: '' + }; + }, + methods: { + onSearch(val) { + Toast(val); + }, + onCancel() { + Toast('Cancel'); + } + } +} +``` + > Tips: There will be a search button on the keyboard when Search is inside a form in iOS. +### Input Align + +```html + +``` + +### Disabled + +```html + +``` + +### Custom Background Color + +```html + +``` + ### Custom Action Button Use `action` slot to custom right button, `cancel` event will no longer be triggered when use this slot diff --git a/src/search/README.zh-CN.md b/src/search/README.zh-CN.md index 6bd286c16..dda46d3cb 100644 --- a/src/search/README.zh-CN.md +++ b/src/search/README.zh-CN.md @@ -16,26 +16,7 @@ Vue.use(Search); v-model 用于控制搜索框中的文字,background 可以自定义搜索框外部背景色 ```html - -``` - -### 自定义背景色 - -```html - -``` - -### 禁用搜索框 - -```html - -``` - -### 搜索框内容对齐 -通过 `input-align` 属性可以设置搜索框内容的对齐方式 - -```html - + ``` ### 事件监听 @@ -46,26 +27,82 @@ Search 组件提供了`search`和`cancel`事件,`search`事件在点击键盘
``` +```js +import { Toast } from 'vant'; + +export default { + data() { + return { + value: '' + }; + }, + methods: { + onSearch(val) { + Toast(val); + }, + onCancel() { + Toast('取消'); + } + } +} +``` + > Tips: 在 van-search 外层增加 form 标签,且 action 不为空,即可在 iOS 输入法中显示搜索按钮 -### 自定义按钮 +### 搜索框内容对齐 -使用`action`插槽可以自定义右侧按钮的内容。使用插槽后,cancel 事件将不再触发 +通过 `input-align` 属性设置搜索框内容的对齐方式,可选值为`center`、`right` ```html +``` + +### 禁用搜索框 + +通过`disabled`属性禁用搜索框 + +```html + +``` + +### 自定义背景色 + +通过`background`属性可以设置搜索框外部的背景色,通过`shape`属性设置搜索框的形状,可选值为`round` + +```html + +``` + +### 自定义按钮 + +使用`action`插槽可以自定义右侧按钮的内容。使用插槽后,`cancel`事件将不再触发 + +```html +
搜索
@@ -80,7 +117,7 @@ Search 组件提供了`search`和`cancel`事件,`search`事件在点击键盘 |------|------|------|------| | label | 搜索框左侧文本 | *string* | - | | shape | 搜索框形状,可选值为 `round` | *string* | `square` | -| background | 搜索框背景色 | *string* | `#f2f2f2` | +| background | 搜索框外部背景色 | *string* | `#f2f2f2` | | maxlength | 输入的最大字符数 | *string \| number* | - | | placeholder | 占位提示文字 | *string* | - | | clearable | 是否启用清除控件 | *boolean* | `true` | diff --git a/src/search/demo/index.vue b/src/search/demo/index.vue index d034ef12d..e24eb95fc 100644 --- a/src/search/demo/index.vue +++ b/src/search/demo/index.vue @@ -1,25 +1,13 @@ - -