From 2a17041223285658b9ab3479d3a8c5146ac4fbf9 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Tue, 30 Jun 2020 08:26:56 +0800 Subject: [PATCH 01/11] first commit --- src/components/HelloWorld.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index c23adb3da..65002ee27 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -8,7 +8,7 @@ - + From f510b8f6bdf8d2594a3b4f7d6b8bcdf51273b24e Mon Sep 17 00:00:00 2001 From: yt0379 Date: Tue, 30 Jun 2020 21:10:51 +0800 Subject: [PATCH 02/11] comp communication --- src/components/HelloWorld.vue | 1 + src/components/communication/Child1.vue | 5 ++++- src/components/communication/Child2.vue | 16 +++++++++++++++- src/components/communication/Parent.vue | 21 +++++++++++++++++++++ src/components/communication/index.vue | 24 +++++++++++++++++++++--- 5 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 src/components/communication/Parent.vue diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index 65002ee27..8a3192187 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -9,6 +9,7 @@ + diff --git a/src/components/communication/Child1.vue b/src/components/communication/Child1.vue index 00cd4087e..9a9b1c925 100644 --- a/src/components/communication/Child1.vue +++ b/src/components/communication/Child1.vue @@ -14,7 +14,10 @@ }, }, mounted () { - this.$bus.$on('event-from-child2', msg => { + // this.$bus.$on('event-from-child2', msg => { + // console.log('Child1:', msg); + // }); + this.$parent.$on('event-from-child2', msg => { console.log('Child1:', msg); }); }, diff --git a/src/components/communication/Child2.vue b/src/components/communication/Child2.vue index bb7b08277..ae173bb1c 100644 --- a/src/components/communication/Child2.vue +++ b/src/components/communication/Child2.vue @@ -1,16 +1,30 @@ + + \ No newline at end of file diff --git a/src/components/communication/index.vue b/src/components/communication/index.vue index 394f448bb..1a0e5343b 100644 --- a/src/components/communication/index.vue +++ b/src/components/communication/index.vue @@ -2,25 +2,43 @@

组件通信

- + - + + +
From 32f8c74eba9bc1073f52381331318c69d1902368 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Tue, 30 Jun 2020 21:31:17 +0800 Subject: [PATCH 03/11] =?UTF-8?q?forminput=E5=92=8Cformitem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/HelloWorld.vue | 4 ++-- src/components/form/KFormItem.vue | 33 +++++++++++++++++++++++++++++++ src/components/form/KInput.vue | 33 +++++++++++++++++++++++++++++++ src/components/form/index.vue | 21 ++++++++++++++++++-- 4 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 src/components/form/KFormItem.vue create mode 100644 src/components/form/KInput.vue diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index 8a3192187..6fd0a7fa2 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -2,9 +2,9 @@

{{ msg }}

- + - + diff --git a/src/components/form/KFormItem.vue b/src/components/form/KFormItem.vue new file mode 100644 index 000000000..007a9c433 --- /dev/null +++ b/src/components/form/KFormItem.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/components/form/KInput.vue b/src/components/form/KInput.vue new file mode 100644 index 000000000..473436f86 --- /dev/null +++ b/src/components/form/KInput.vue @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/src/components/form/index.vue b/src/components/form/index.vue index 2e2634261..92ad6818f 100644 --- a/src/components/form/index.vue +++ b/src/components/form/index.vue @@ -1,15 +1,32 @@ From 31bd188c909db3b773cc4f45fb2cd547b318a177 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Tue, 30 Jun 2020 22:34:31 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 25 ++++++---- package.json | 1 + src/components/Notice.vue | 63 +++++++++++++++++++++++++ src/components/form/KForm.vue | 42 +++++++++++++++++ src/components/form/KFormItem.vue | 56 +++++++++++++++++----- src/components/form/KInput.vue | 3 ++ src/components/form/index.vue | 77 ++++++++++++++++++++++--------- src/utils/create.js | 33 +++++++++++++ 8 files changed, 258 insertions(+), 42 deletions(-) create mode 100644 src/components/Notice.vue create mode 100644 src/components/form/KForm.vue create mode 100644 src/utils/create.js diff --git a/package-lock.json b/package-lock.json index 81b4587ab..cb05a8343 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1943,12 +1943,9 @@ "dev": true }, "async-validator": { - "version": "1.8.5", - "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1575620555389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.8.5.tgz", - "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", - "requires": { - "babel-runtime": "6.x" - } + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-3.3.0.tgz", + "integrity": "sha1-HZIZO75g1tbIskZpLHAF6e0UqO4=" }, "asynckit": { "version": "0.4.0", @@ -2039,7 +2036,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { "core-js": "^2.4.0", @@ -2048,12 +2045,12 @@ "dependencies": { "core-js": { "version": "2.6.11", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1576712142038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz", "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052392667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" } } @@ -4016,6 +4013,16 @@ "normalize-wheel": "^1.0.1", "resize-observer-polyfill": "^1.5.0", "throttle-debounce": "^1.0.1" + }, + "dependencies": { + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz", + "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", + "requires": { + "babel-runtime": "6.x" + } + } } }, "elliptic": { diff --git a/package.json b/package.json index 90f14504d..e5b595ba0 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "async-validator": "^3.3.0", "core-js": "^3.4.3", "element-ui": "^2.4.5", "vue": "^2.6.10" diff --git a/src/components/Notice.vue b/src/components/Notice.vue new file mode 100644 index 000000000..3dd9b800a --- /dev/null +++ b/src/components/Notice.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/components/form/KForm.vue b/src/components/form/KForm.vue new file mode 100644 index 000000000..061903f13 --- /dev/null +++ b/src/components/form/KForm.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/components/form/KFormItem.vue b/src/components/form/KFormItem.vue index 007a9c433..1ef163404 100644 --- a/src/components/form/KFormItem.vue +++ b/src/components/form/KFormItem.vue @@ -6,28 +6,60 @@

{{error}}

+
\ No newline at end of file diff --git a/src/components/form/KInput.vue b/src/components/form/KInput.vue index 473436f86..ea265b7d3 100644 --- a/src/components/form/KInput.vue +++ b/src/components/form/KInput.vue @@ -23,6 +23,9 @@ methods: { onInput(e) { this.$emit('input', e.target.value) + + // 触发校验 + this.$parent.$emit('validate') } }, } diff --git a/src/components/form/index.vue b/src/components/form/index.vue index 92ad6818f..1ebe91829 100644 --- a/src/components/form/index.vue +++ b/src/components/form/index.vue @@ -3,34 +3,69 @@ - - - -

{{model}}

+ + + + + + + + + + + \ No newline at end of file diff --git a/src/utils/create.js b/src/utils/create.js new file mode 100644 index 000000000..2c2a5cdf5 --- /dev/null +++ b/src/utils/create.js @@ -0,0 +1,33 @@ +import Vue from 'vue' + +// 传入一个组件配置 +// 创建它的实例,并且将它挂载到body上 +// 返回组件实例 +export default function create(Component, props) { + // 实例创建 + // 作业:使用extend方式创建组件实例并挂载 + // extend方法返回的组件构造函数 + // const Ctor = Vue.extend(Component) + // const comp = new Ctor() + + // 方式二:借鸡生蛋 + const vm = new Vue({ + render(h) { + return h(Component, { props }) + } + }).$mount() // $mount()本质上将vdom=》dom + + // 通过vm.$el获取生成的dom + document.body.appendChild(vm.$el) + + // 删除函数 + // 获取组件实例 + const comp = vm.$children[0] + + comp.remove = () => { + document.body.removeChild(vm.$el) + vm.$destroy() + } + + return comp +} \ No newline at end of file From c0dde0758412eeea8181645a5d5e7fbd6464daf0 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Thu, 2 Jul 2020 21:27:27 +0800 Subject: [PATCH 05/11] kvue-router --- package-lock.json | 85 +++++++++++++++++++++++++++++++++---- package.json | 4 +- src/App.vue | 34 ++++++++------- src/krouter/index.js | 31 ++++++++++++++ src/krouter/kvue-router.js | 86 ++++++++++++++++++++++++++++++++++++++ src/main.js | 5 ++- src/router/index.js | 31 ++++++++++++++ src/views/About.vue | 5 +++ src/views/Home.vue | 18 ++++++++ 9 files changed, 276 insertions(+), 23 deletions(-) create mode 100644 src/krouter/index.js create mode 100644 src/krouter/kvue-router.js create mode 100644 src/router/index.js create mode 100644 src/views/About.vue create mode 100644 src/views/Home.vue diff --git a/package-lock.json b/package-lock.json index cb05a8343..7073e13f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1169,12 +1169,78 @@ } }, "@vue/cli-plugin-router": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.1.1.tgz?cache=0&sync_timestamp=1574867856622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-router%2Fdownload%2F%40vue%2Fcli-plugin-router-4.1.1.tgz", - "integrity": "sha1-hcfy00+SF61wtJpx2ua/cGcEJ1k=", + "version": "4.4.6", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.4.6.tgz", + "integrity": "sha1-21uxySr9IEY3bk+qkCcNY2PUubg=", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.1.1" + "@vue/cli-shared-utils": "^4.4.6" + }, + "dependencies": { + "@vue/cli-shared-utils": { + "version": "4.4.6", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.4.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.4.6.tgz", + "integrity": "sha1-DsWYgJIHNsbdeQeawLXOrCn6VeE=", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1584645751908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, "@vue/cli-plugin-vuex": { @@ -2036,7 +2102,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { "core-js": "^2.4.0", @@ -2045,12 +2111,12 @@ "dependencies": { "core-js": { "version": "2.6.11", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1576712142038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052392667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" } } @@ -10785,6 +10851,11 @@ "vue-style-loader": "^4.1.0" } }, + "vue-router": { + "version": "3.3.4", + "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.3.4.tgz?cache=0&sync_timestamp=1593610818535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.3.4.tgz", + "integrity": "sha1-Tjirw0oRxBtsPYJERJouNjumJQs=" + }, "vue-style-loader": { "version": "4.1.2", "resolved": "http://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz", diff --git a/package.json b/package.json index e5b595ba0..4846b5f2c 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,13 @@ "async-validator": "^3.3.0", "core-js": "^3.4.3", "element-ui": "^2.4.5", - "vue": "^2.6.10" + "vue": "^2.6.10", + "vue-router": "^3.2.0" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.1.0", "@vue/cli-plugin-eslint": "^4.1.0", + "@vue/cli-plugin-router": "^4.4.6", "@vue/cli-service": "^4.1.0", "babel-eslint": "^10.0.3", "eslint": "^5.16.0", diff --git a/src/App.vue b/src/App.vue index 561ba062c..2b2dadcfd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,21 +1,15 @@ - - diff --git a/src/krouter/index.js b/src/krouter/index.js new file mode 100644 index 000000000..a287be8c8 --- /dev/null +++ b/src/krouter/index.js @@ -0,0 +1,31 @@ +import Vue from 'vue' +import VueRouter from './kvue-router' +import Home from '../views/Home.vue' + +// 1.为什么用use方法?他做了什么? +// VueRouter是插件,使用插件必须使用use方法 +// this.$router可以访问Router实例, 内部Vue.prototype.$router +// 实现并注册两个全局组件 +Vue.use(VueRouter) + +const routes = [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + } +] + +const router = new VueRouter({ + routes +}) + +export default router diff --git a/src/krouter/kvue-router.js b/src/krouter/kvue-router.js new file mode 100644 index 000000000..652724f8d --- /dev/null +++ b/src/krouter/kvue-router.js @@ -0,0 +1,86 @@ +let KVue; + +// 插件 +// 1.实现一个install方法 +class KVueRouter { + constructor(options) { + this.$options = options + + // 响应式数据 + const initial = window.location.hash.slice(1) || '/' + KVue.util.defineReactive(this, 'current', initial) + + // this.current = '/' + + // 监听事件 + window.addEventListener('hashchange', this.onHashChange.bind(this)) + window.addEventListener('load', this.onHashChange.bind(this)) + } + + onHashChange() { + this.current = window.location.hash.slice(1) + console.log(this.current); + + } +} + +// 形参是Vue构造函数 +KVueRouter.install = function (Vue) { + // 保存构造函数 + KVue = Vue + + // 1.挂载$router + Vue.mixin({ + beforeCreate() { + // 全局混入,将来在组件实例化的时候才执行 + // 此时router实例是不是已经存在了 + // this指的是组件实例 + if (this.$options.router) { + // 挂载 + Vue.prototype.$router = this.$options.router + } + } + }) + + // 2.实现两个全局组件 + Vue.component('router-link', { + props: { + to: { + type: String, + required: true + }, + }, + // h是createElement + render(h) { + // abc + + // jsx语法也可以用 + // return {this.$slots.default} + + // h(tag, props, chldren) + return h( + 'a', + { + attrs: { + href: '#' + this.to + } + }, + this.$slots.default + ) + } + }) + // router-view是一个容器 + Vue.component('router-view', { + render(h) { + // 1.获取路由器实例 + const routes = this.$router.$options.routes + const current = this.$router.current + const route = routes.find(route => route.path === current) + const comp = route ? route.component : null + // 获取路由表 '/' + return h(comp) + } + }) +} + +export default KVueRouter \ No newline at end of file diff --git a/src/main.js b/src/main.js index 6e9296766..6da2ed17b 100644 --- a/src/main.js +++ b/src/main.js @@ -1,11 +1,14 @@ import Vue from 'vue' import App from './App.vue' import './plugins/element.js' +import router from './krouter' +// import router from './router' Vue.config.productionTip = false // 事件总线 Vue.prototype.$bus = new Vue() new Vue({ - render: h => h(App), + router, // 设置router,它怎么起作用? + render: h => h(App) }).$mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 000000000..9642e4ab8 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,31 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' +import Home from '../views/Home.vue' + +// 1.为什么用use方法?他做了什么? +// VueRouter是插件,使用插件必须使用use方法 +// this.$router可以访问Router实例, 内部Vue.prototype.$router +// 实现并注册两个全局组件 +Vue.use(VueRouter) + + const routes = [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + } +] + +const router = new VueRouter({ + routes +}) + +export default router diff --git a/src/views/About.vue b/src/views/About.vue new file mode 100644 index 000000000..3fa28070d --- /dev/null +++ b/src/views/About.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 000000000..8bd6c57f3 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,18 @@ + + + From 7338136c1d804408febc9291a53b9b9c7fa3fd52 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Thu, 2 Jul 2020 21:43:20 +0800 Subject: [PATCH 06/11] ff --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 4846b5f2c..9472e7246 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ ], "rules": { "vue/no-unused-components": "off", - "no-console": "off" + "no-console": "off", + "no-unused-vars": "off" }, "parserOptions": { "parser": "babel-eslint" From 0182919dfc529883eadc32e9d5eaab7eb664a730 Mon Sep 17 00:00:00 2001 From: yt0379 Date: Thu, 2 Jul 2020 22:30:34 +0800 Subject: [PATCH 07/11] vuex --- package-lock.json | 11 +++-- package.json | 4 +- src/components/HelloWorld.vue | 19 +++++--- src/krouter/kvue-router.js | 20 ++++++-- src/kstore/index.js | 28 +++++++++++ src/kstore/kvuex.js | 90 +++++++++++++++++++++++++++++++++++ src/main.js | 7 ++- src/store/index.js | 15 ++++++ 8 files changed, 177 insertions(+), 17 deletions(-) create mode 100644 src/kstore/index.js create mode 100644 src/kstore/kvuex.js create mode 100644 src/store/index.js diff --git a/package-lock.json b/package-lock.json index 7073e13f0..41f55dd1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1244,9 +1244,9 @@ } }, "@vue/cli-plugin-vuex": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-vuex%2Fdownload%2F%40vue%2Fcli-plugin-vuex-4.1.1.tgz", - "integrity": "sha1-gZCO5mNw3aFitVF6/IafkdOr4r8=", + "version": "4.4.6", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.4.6.tgz", + "integrity": "sha1-RLWW8NUjbgos4apHV72lIHwjC+A=", "dev": true }, "@vue/cli-service": { @@ -10882,6 +10882,11 @@ "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", "dev": true }, + "vuex": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz", + "integrity": "sha1-8bjc6mSbwlJUz09DWAgdv12hiz0=" + }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz", diff --git a/package.json b/package.json index 9472e7246..e843192f9 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,14 @@ "core-js": "^3.4.3", "element-ui": "^2.4.5", "vue": "^2.6.10", - "vue-router": "^3.2.0" + "vue-router": "^3.2.0", + "vuex": "^3.4.0" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.1.0", "@vue/cli-plugin-eslint": "^4.1.0", "@vue/cli-plugin-router": "^4.4.6", + "@vue/cli-plugin-vuex": "^4.4.6", "@vue/cli-service": "^4.1.0", "babel-eslint": "^10.0.3", "eslint": "^5.16.0", diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index 6fd0a7fa2..c9609a57a 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -1,6 +1,9 @@ diff --git a/src/krouter/kvue-router.js b/src/krouter/kvue-router.js index 652724f8d..45ae54533 100644 --- a/src/krouter/kvue-router.js +++ b/src/krouter/kvue-router.js @@ -9,12 +9,18 @@ class KVueRouter { // 响应式数据 const initial = window.location.hash.slice(1) || '/' KVue.util.defineReactive(this, 'current', initial) - + // this.current = '/' // 监听事件 window.addEventListener('hashchange', this.onHashChange.bind(this)) window.addEventListener('load', this.onHashChange.bind(this)) + + // 缓存路由映射关系 + this.routeMap = {} + this.$options.routes.forEach(route => { + this.routeMap[route.path] = route + }); } onHashChange() { @@ -73,10 +79,14 @@ KVueRouter.install = function (Vue) { Vue.component('router-view', { render(h) { // 1.获取路由器实例 - const routes = this.$router.$options.routes - const current = this.$router.current - const route = routes.find(route => route.path === current) - const comp = route ? route.component : null + // const routes = this.$router.$options.routes + // const current = this.$router.current + // const route = routes.find(route => route.path === current) + // const comp = route ? route.component : null + + const { routeMap, current } = this.$router + const comp = routeMap[current] ? routeMap[current].component : null; + // 获取路由表 '/' return h(comp) } diff --git a/src/kstore/index.js b/src/kstore/index.js new file mode 100644 index 000000000..db23ef345 --- /dev/null +++ b/src/kstore/index.js @@ -0,0 +1,28 @@ +import Vue from 'vue' +import Vuex from './kvuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + counter: 1 + }, + mutations: { + add(state) { + // state哪来的? + state.counter++ + } + }, + actions: { + add({ commit }) { + setTimeout(() => { + commit('add') + }, 1000); + } + }, + getters: { + doubleCounter: state => { + return state.counter * 2; + } + } +}) diff --git a/src/kstore/kvuex.js b/src/kstore/kvuex.js new file mode 100644 index 000000000..9a5c92e4b --- /dev/null +++ b/src/kstore/kvuex.js @@ -0,0 +1,90 @@ +let KVue + +// 实现Store类 +class Store { + constructor(options) { + + + // 保存mutations + this._mutations = options.mutations + + // 保存actions + this._actions = options.actions + + // 绑定this到store实例 + const store = this + const {commit, action} = store + this.commit = function boundCommit(type, payload) { + commit.call(store, type, payload) + } + this.action = function boundAction(type, payload) { + return action.call(store, type, payload) + } + + // getters + // 1.遍历用户传入getters所有key,动态赋值,其值应该是函数执行结果 + // 2.确保它是响应式的, + // Object.defineProperty(this.getters, key, {get(){}}) + // 3.缓存结果,可以利用computed + + + // 响应式的state + this._vm = new KVue({ + data: { + $$state: options.state + } + }) + } + + get state() { + return this._vm._data.$$state + } + set state(v) { + console.error('please use replaceState to reset state'); + + } + + // commit(type, payload): 执行mutation,修改状态 + commit(type, payload) { + // 根据type获取对应的mutation + const entry = this._mutations[type] + + if (!entry) { + console.error('unknown mutation type'); + return + } + + entry(this.state, payload) + + } + + + // dispatch(type, payload) + dispatch(type, payload) { + const entry = this._actions[type] + + if (!entry) { + console.error('unknown action type'); + return + } + + return entry(this, payload) + } +} + +// 实现插件 +function install(Vue) { + KVue = Vue + + // 混入 + Vue.mixin({ + beforeCreate() { + if (this.$options.store) { + Vue.prototype.$store = this.$options.store + } + } + }) +} + +// 此处导出的对象理解为Vuex +export default { Store, install } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 6da2ed17b..b210b379c 100644 --- a/src/main.js +++ b/src/main.js @@ -2,6 +2,8 @@ import Vue from 'vue' import App from './App.vue' import './plugins/element.js' import router from './krouter' +import store from './kstore' +// import store from './store' // import router from './router' Vue.config.productionTip = false @@ -9,6 +11,9 @@ Vue.config.productionTip = false Vue.prototype.$bus = new Vue() new Vue({ - router, // 设置router,它怎么起作用? + // 设置router,它怎么起作用? + router, + + store, render: h => h(App) }).$mount('#app') diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 000000000..332b91692 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,15 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + }, + mutations: { + }, + actions: { + }, + modules: { + } +}) From f65d34b76a4a8f4f810cb96ebad402927bf38acb Mon Sep 17 00:00:00 2001 From: yt0379 Date: Thu, 2 Jul 2020 22:39:32 +0800 Subject: [PATCH 08/11] no error --- src/components/HelloWorld.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index c9609a57a..3a2068eb3 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -3,7 +3,7 @@

{{ msg }}

counter: {{$store.state.counter}}

async counter: {{$store.state.counter}}

-

doubleCounter: {{$store.getters.doubleCounter}}

+ From 5087b573d433f33f56a15d872341605405c28f1c Mon Sep 17 00:00:00 2001 From: yt0379 Date: Fri, 3 Jul 2020 10:16:32 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E8=AE=A2=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/kstore/kvuex.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kstore/kvuex.js b/src/kstore/kvuex.js index 9a5c92e4b..52bcd1936 100644 --- a/src/kstore/kvuex.js +++ b/src/kstore/kvuex.js @@ -13,12 +13,12 @@ class Store { // 绑定this到store实例 const store = this - const {commit, action} = store + const {commit, dispatch} = store this.commit = function boundCommit(type, payload) { commit.call(store, type, payload) } - this.action = function boundAction(type, payload) { - return action.call(store, type, payload) + this.dispatch = function boundDispatch(type, payload) { + return dispatch.call(store, type, payload) } // getters From bf6612945c95c6b6573de1fdfc3f751adb5a349a Mon Sep 17 00:00:00 2001 From: yt0379 Date: Sat, 18 Jul 2020 22:16:08 +0800 Subject: [PATCH 10/11] ff --- .env.dev | 5 + output.json | 1321 ++++++++++++++++++++++++++++++++++++++++++ src/icons/svg/qq.svg | 1 + src/icons/svg/wx.svg | 1 + 4 files changed, 1328 insertions(+) create mode 100644 .env.dev create mode 100644 output.json create mode 100644 src/icons/svg/qq.svg create mode 100644 src/icons/svg/wx.svg diff --git a/.env.dev b/.env.dev new file mode 100644 index 000000000..b3cc996be --- /dev/null +++ b/.env.dev @@ -0,0 +1,5 @@ +# 服务端 +foo = bar + +# 可用于客户端 +VUE_APP_DONG = dong \ No newline at end of file diff --git a/output.json b/output.json new file mode 100644 index 000000000..7af52cf07 --- /dev/null +++ b/output.json @@ -0,0 +1,1321 @@ +{ + mode: 'development', + context: '/Users/yangtao/projects/vue-study', + node: { + setImmediate: false, + process: 'mock', + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty' + }, + output: { + path: '/Users/yangtao/projects/vue-study/dist', + filename: 'js/[name].js', + publicPath: '/best-practice/', + chunkFilename: 'js/[name].js' + }, + resolve: { + alias: { + '@': '/Users/yangtao/projects/vue-study/src', + vue$: 'vue/dist/vue.runtime.esm.js', + comps: '/Users/yangtao/projects/vue-study/src/components' + }, + extensions: [ + '.mjs', + '.js', + '.jsx', + '.vue', + '.json', + '.wasm' + ], + modules: [ + 'node_modules', + '/Users/yangtao/projects/vue-study/node_modules', + '/Users/yangtao/projects/vue-study/node_modules/@vue/cli-service/node_modules' + ] + }, + resolveLoader: { + modules: [ + '/Users/yangtao/projects/vue-study/node_modules/@vue/cli-plugin-babel/node_modules', + 'node_modules', + '/Users/yangtao/projects/vue-study/node_modules', + '/Users/yangtao/projects/vue-study/node_modules/@vue/cli-service/node_modules' + ] + }, + module: { + noParse: /^(vue|vue-router|vuex|vuex-router-sync)$/, + rules: [ + /* config.module.rule('vue') */ + { + test: /\.vue$/, + use: [ + /* config.module.rule('vue').use('cache-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/cache-loader/dist/cjs.js', + options: { + cacheDirectory: '/Users/yangtao/projects/vue-study/node_modules/.cache/vue-loader', + cacheIdentifier: '8246b326' + } + }, + /* config.module.rule('vue').use('vue-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-loader/lib/index.js', + options: { + compilerOptions: { + whitespace: 'condense' + }, + cacheDirectory: '/Users/yangtao/projects/vue-study/node_modules/.cache/vue-loader', + cacheIdentifier: '8246b326' + } + } + ] + }, + /* config.module.rule('images') */ + { + test: /\.(png|jpe?g|gif|webp)(\?.*)?$/, + use: [ + /* config.module.rule('images').use('url-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/url-loader/dist/cjs.js', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'img/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('svg') */ + { + test: /\.(svg)(\?.*)?$/, + use: [ + /* config.module.rule('svg').use('file-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/file-loader/dist/cjs.js', + options: { + name: 'img/[name].[hash:8].[ext]' + } + } + ] + }, + /* config.module.rule('media') */ + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + use: [ + /* config.module.rule('media').use('url-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/url-loader/dist/cjs.js', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'media/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('fonts') */ + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i, + use: [ + /* config.module.rule('fonts').use('url-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/url-loader/dist/cjs.js', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'fonts/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('pug') */ + { + test: /\.pug$/, + oneOf: [ + /* config.module.rule('pug').oneOf('pug-vue') */ + { + resourceQuery: /vue/, + use: [ + /* config.module.rule('pug').oneOf('pug-vue').use('pug-plain-loader') */ + { + loader: 'pug-plain-loader' + } + ] + }, + /* config.module.rule('pug').oneOf('pug-template') */ + { + use: [ + /* config.module.rule('pug').oneOf('pug-template').use('raw') */ + { + loader: 'raw-loader' + }, + /* config.module.rule('pug').oneOf('pug-template').use('pug-plain-loader') */ + { + loader: 'pug-plain-loader' + } + ] + } + ] + }, + /* config.module.rule('css') */ + { + test: /\.css$/, + oneOf: [ + /* config.module.rule('css').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('css').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('css').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('css').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('css').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('css').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('css').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('css').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('css').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('css').oneOf('normal') */ + { + use: [ + /* config.module.rule('css').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('css').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + } + ] + }, + /* config.module.rule('postcss') */ + { + test: /\.p(ost)?css$/, + oneOf: [ + /* config.module.rule('postcss').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('postcss').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('postcss').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('postcss').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('postcss').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('postcss').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('postcss').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('postcss').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('postcss').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + }, + /* config.module.rule('postcss').oneOf('normal') */ + { + use: [ + /* config.module.rule('postcss').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('postcss').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + } + ] + } + ] + }, + /* config.module.rule('scss') */ + { + test: /\.scss$/, + oneOf: [ + /* config.module.rule('scss').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('scss').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('scss').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('scss').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('scss').oneOf('vue').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('scss').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('normal') */ + { + use: [ + /* config.module.rule('scss').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('scss').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('scss').oneOf('normal').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('sass') */ + { + test: /\.sass$/, + oneOf: [ + /* config.module.rule('sass').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('sass').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + sassOptions: { + indentedSyntax: true + } + } + } + ] + }, + /* config.module.rule('sass').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('sass').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('sass').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('sass').oneOf('vue').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + sassOptions: { + indentedSyntax: true + } + } + } + ] + }, + /* config.module.rule('sass').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('sass').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + sassOptions: { + indentedSyntax: true + } + } + } + ] + }, + /* config.module.rule('sass').oneOf('normal') */ + { + use: [ + /* config.module.rule('sass').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('sass').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('sass').oneOf('normal').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + sassOptions: { + indentedSyntax: true + } + } + } + ] + } + ] + }, + /* config.module.rule('less') */ + { + test: /\.less$/, + oneOf: [ + /* config.module.rule('less').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('less').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('less').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('less').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('less').oneOf('vue').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('less').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('normal') */ + { + use: [ + /* config.module.rule('less').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('less').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('less').oneOf('normal').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('stylus') */ + { + test: /\.styl(us)?$/, + oneOf: [ + /* config.module.rule('stylus').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('stylus').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('stylus').oneOf('vue').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('vue').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('stylus').oneOf('vue').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('stylus').oneOf('vue').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('stylus').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2, + modules: { + localIdentName: '[name]_[local]_[hash:base64:5]' + } + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('normal') */ + { + use: [ + /* config.module.rule('stylus').oneOf('normal').use('vue-style-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/vue-style-loader/index.js', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('normal').use('css-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/css-loader/dist/cjs.js', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('stylus').oneOf('normal').use('postcss-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/postcss-loader/src/index.js', + options: { + sourceMap: false, + plugins: [ + function () { /* omitted long function */ } + ] + } + }, + /* config.module.rule('stylus').oneOf('normal').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + } + ] + }, + /* config.module.rule('js') */ + { + test: /\.m?jsx?$/, + exclude: [ + function () { /* omitted long function */ } + ], + use: [ + /* config.module.rule('js').use('cache-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/cache-loader/dist/cjs.js', + options: { + cacheDirectory: '/Users/yangtao/projects/vue-study/node_modules/.cache/babel-loader', + cacheIdentifier: '1afb4edf' + } + }, + /* config.module.rule('js').use('babel-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/babel-loader/lib/index.js' + } + ] + }, + /* config.module.rule('eslint') */ + { + enforce: 'pre', + test: /\.(vue|(j|t)sx?)$/, + exclude: [ + /node_modules/, + '/Users/yangtao/projects/vue-study/node_modules/@vue/cli-service/lib' + ], + use: [ + /* config.module.rule('eslint').use('eslint-loader') */ + { + loader: '/Users/yangtao/projects/vue-study/node_modules/eslint-loader/index.js', + options: { + extensions: [ + '.js', + '.jsx', + '.vue' + ], + cache: true, + cacheIdentifier: '59ad5f82', + emitWarning: false, + emitError: false, + eslintPath: '/Users/yangtao/projects/vue-study/node_modules/eslint', + formatter: function () { /* omitted long function */ } + } + } + ] + } + ] + }, + optimization: { + splitChunks: { + cacheGroups: { + vendors: { + name: 'chunk-vendors', + test: /[\\/]node_modules[\\/]/, + priority: -10, + chunks: 'initial' + }, + common: { + name: 'chunk-common', + minChunks: 2, + priority: -20, + chunks: 'initial', + reuseExistingChunk: true + } + } + }, + minimizer: [ + /* config.optimization.minimizer('terser') */ + new TerserPlugin( + { + terserOptions: { + compress: { + arrows: false, + collapse_vars: false, + comparisons: false, + computed_props: false, + hoist_funs: false, + hoist_props: false, + hoist_vars: false, + inline: false, + loops: false, + negate_iife: false, + properties: false, + reduce_funcs: false, + reduce_vars: false, + switches: false, + toplevel: false, + typeofs: false, + booleans: true, + if_return: true, + sequences: true, + unused: true, + conditionals: true, + dead_code: true, + evaluate: true + }, + mangle: { + safari10: true + } + }, + sourceMap: true, + cache: true, + parallel: true, + extractComments: false + } + ) + ] + }, + plugins: [ + /* config.plugin('vue-loader') */ + new VueLoaderPlugin(), + /* config.plugin('define') */ + new DefinePlugin( + { + 'process.env': { + NODE_ENV: '"development"', + BASE_URL: '"/best-practice/"' + } + } + ), + /* config.plugin('case-sensitive-paths') */ + new CaseSensitivePathsPlugin(), + /* config.plugin('friendly-errors') */ + new FriendlyErrorsWebpackPlugin( + { + additionalTransformers: [ + function () { /* omitted long function */ } + ], + additionalFormatters: [ + function () { /* omitted long function */ } + ] + } + ), + /* config.plugin('html') */ + new HtmlWebpackPlugin( + { + templateParameters: function () { /* omitted long function */ }, + template: '/Users/yangtao/projects/vue-study/public/index.html' + } + ), + /* config.plugin('preload') */ + new PreloadPlugin( + { + rel: 'preload', + include: 'initial', + fileBlacklist: [ + /\.map$/, + /hot-update\.js$/ + ] + } + ), + /* config.plugin('prefetch') */ + new PreloadPlugin( + { + rel: 'prefetch', + include: 'asyncChunks' + } + ), + /* config.plugin('copy') */ + new CopyPlugin( + [ + { + from: '/Users/yangtao/projects/vue-study/public', + to: '/Users/yangtao/projects/vue-study/dist', + toType: 'dir', + ignore: [ + '.DS_Store', + { + glob: 'index.html', + matchBase: false + } + ] + } + ] + ) + ], + entry: { + app: [ + './src/main.js' + ] + }, + name: 'vue best practice' +} diff --git a/src/icons/svg/qq.svg b/src/icons/svg/qq.svg new file mode 100644 index 000000000..6b2d7aaef --- /dev/null +++ b/src/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/wx.svg b/src/icons/svg/wx.svg new file mode 100644 index 000000000..987b3663a --- /dev/null +++ b/src/icons/svg/wx.svg @@ -0,0 +1 @@ + \ No newline at end of file From 034c53092800b9a5e2139435791d73356c7c9b0b Mon Sep 17 00:00:00 2001 From: yt0379 Date: Sat, 18 Jul 2020 22:44:18 +0800 Subject: [PATCH 11/11] test --- .gitignore | 1 + jest.config.js | 5 + package-lock.json | 3376 ++++++++++++++++++++++++++++++++---- package.json | 16 +- src/components/Kaikeba.vue | 25 + tests/unit/example.spec.js | 12 + tests/unit/kaikeba.spec.js | 44 + 7 files changed, 3164 insertions(+), 315 deletions(-) create mode 100644 jest.config.js create mode 100644 src/components/Kaikeba.vue create mode 100644 tests/unit/example.spec.js create mode 100644 tests/unit/kaikeba.spec.js diff --git a/.gitignore b/.gitignore index a0dddc6fb..7983440f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store node_modules /dist +/coverage # local env files .env.local diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 000000000..af2435e15 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: '@vue/cli-plugin-unit-jest', + "collectCoverage": true, + "collectCoverageFrom": ["src/**/*.{js,vue}"] +} diff --git a/package-lock.json b/package-lock.json index a3e393aa2..50cb10212 100644 --- a/package-lock.json +++ b/package-lock.json @@ -251,6 +251,12 @@ "@babel/types": "^7.7.4" } }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593522720715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz", + "integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=", + "dev": true + }, "@babel/helper-wrap-function": { "version": "7.7.4", "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.7.4.tgz?cache=0&sync_timestamp=1574466796638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.7.4.tgz", @@ -870,6 +876,16 @@ "to-fast-properties": "^2.0.0" } }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz", + "integrity": "sha1-+GSuhQBND8q29QvpFBxNo2jRZWo=", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, "@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz", @@ -920,6 +936,215 @@ "postcss": "^7.0.0" } }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz?cache=0&sync_timestamp=1592952946523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-24.9.0.tgz", + "integrity": "sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A=", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/core/download/@jest/core-24.9.0.tgz?cache=0&sync_timestamp=1592925628868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-24.9.0.tgz", + "integrity": "sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ=", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-24.9.0.tgz?cache=0&sync_timestamp=1592952947093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-24.9.0.tgz", + "integrity": "sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg=", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz?cache=0&sync_timestamp=1592925618192&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-24.9.0.tgz", + "integrity": "sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-24.9.0.tgz?cache=0&sync_timestamp=1592952956419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-24.9.0.tgz", + "integrity": "sha1-hmYO/44rlmHQQqjpigKLjWMaW0M=", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz", + "integrity": "sha1-DiY6lEML5LQdpoPMwea//ioZFxQ=", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1592952950673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz", + "integrity": "sha1-EXluiqnb+I6gJXV7MVJZWtBroMo=", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz", + "integrity": "sha1-+PM081tiWk8vNV8v5+YDba0uazE=", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz", + "integrity": "sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY=", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz?cache=0&sync_timestamp=1592925427030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-24.9.0.tgz", + "integrity": "sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk=", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "http://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", @@ -949,19 +1174,19 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -974,7 +1199,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -983,12 +1208,53 @@ }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } }, + "@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.9.tgz?cache=0&sync_timestamp=1592726841198&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.9.tgz", + "integrity": "sha1-d+WdQ4UipvuJj6Q9w0VcbnLzlj0=", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.1.tgz", + "integrity": "sha1-SQF2ezl+hxGuuZ3405bXunt/DgQ=", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.2.tgz?cache=0&sync_timestamp=1588199788958&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.0.2.tgz", + "integrity": "sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc=", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.13", + "resolved": "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.13.tgz?cache=0&sync_timestamp=1594066639438&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.0.13.tgz", + "integrity": "sha1-GHSRS+l0pJLhtMsAWFyrsnTouhg=", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz", @@ -1003,7 +1269,7 @@ }, "@types/glob": { "version": "7.1.1", - "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz", "integrity": "sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=", "dev": true, "requires": { @@ -1012,9 +1278,43 @@ "@types/node": "*" } }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz?cache=0&sync_timestamp=1591718497424&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-lib-coverage%2Fdownload%2F%40types%2Fistanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I=", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY=", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI=", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npm.taobao.org/@types/jest/download/@types/jest-24.9.1.tgz?cache=0&sync_timestamp=1594071754555&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-24.9.1.tgz", + "integrity": "sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ=", + "dev": true, + "requires": { + "jest-diff": "^24.3.0" + } + }, "@types/minimatch": { "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", "dev": true }, @@ -1026,16 +1326,49 @@ }, "@types/normalize-package-data": { "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", + "resolved": "http://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", "dev": true }, "@types/q": { "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz", + "resolved": "http://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz", "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", "dev": true }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz", + "integrity": "sha1-CoUdO9lkmPolwzq3J47TvWXwbD4=", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/@types/strip-bom/download/@types/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npm.taobao.org/@types/strip-json-comments/download/@types/strip-json-comments-0.0.30.tgz", + "integrity": "sha1-mqMMBNshKpoGSdaub9UKzMQHSKE=", + "dev": true + }, + "@types/yargs": { + "version": "13.0.9", + "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.9.tgz?cache=0&sync_timestamp=1589406926425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-13.0.9.tgz", + "integrity": "sha1-RAKOl0NDx6/POWDxorEJnDmnteE=", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1588204007425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz", + "integrity": "sha1-yz+fdBhp4gzOMw/765JxWQSDiC0=", + "dev": true + }, "@vue/babel-helper-vue-jsx-merge-props": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz", @@ -1199,117 +1532,466 @@ }, "semver": { "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1581458146669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } } }, - "@vue/cli-plugin-vuex": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.1.2.tgz", - "integrity": "sha1-XnKLVq2d4vBiqJRPg4r/oCl8y5k=", - "dev": true - }, - "@vue/cli-service": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.1.1.tgz?cache=0&sync_timestamp=1574867856121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-service%2Fdownload%2F%40vue%2Fcli-service-4.1.1.tgz", - "integrity": "sha1-oU6dRVdS8ajk6HrENuveiMrYInY=", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@vue/cli-overlay": "^4.1.1", - "@vue/cli-plugin-router": "^4.1.1", - "@vue/cli-plugin-vuex": "^4.1.1", - "@vue/cli-shared-utils": "^4.1.1", - "@vue/component-compiler-utils": "^3.0.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^6.1.1", - "acorn-walk": "^6.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.7.2", - "browserslist": "^4.7.3", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^2.4.2", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.0.0", - "cliui": "^5.0.0", - "copy-webpack-plugin": "^5.0.5", - "css-loader": "^3.1.0", - "cssnano": "^4.1.10", - "current-script-polyfill": "^1.0.0", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^1.0.2", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.8.0", - "minimist": "^1.2.0", - "ora": "^3.4.0", - "portfinder": "^1.0.25", - "postcss-loader": "^3.0.0", - "read-pkg": "^5.1.1", - "semver": "^6.1.0", - "slash": "^3.0.0", - "source-map-url": "^0.4.0", - "ssri": "^6.0.1", - "string.prototype.padend": "^3.0.0", - "terser-webpack-plugin": "^2.2.1", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.7.2", - "vue-style-loader": "^4.1.0", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.6.0", - "webpack-chain": "^6.0.0", - "webpack-dev-server": "^3.9.0", - "webpack-merge": "^4.2.2" + "@vue/cli-plugin-unit-jest": { + "version": "4.4.6", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-unit-jest/download/@vue/cli-plugin-unit-jest-4.4.6.tgz?cache=0&sync_timestamp=1592976328282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-unit-jest%2Fdownload%2F%40vue%2Fcli-plugin-unit-jest-4.4.6.tgz", + "integrity": "sha1-MaJRVEJDAPGzA/HXa9GajDu2hyE=", + "dev": true, + "requires": { + "@babel/core": "^7.9.6", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@types/jest": "^24.0.19", + "@vue/cli-shared-utils": "^4.4.6", + "babel-core": "^7.0.0-bridge.0", + "babel-jest": "^24.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", + "deepmerge": "^4.2.2", + "jest": "^24.9.0", + "jest-environment-jsdom-fifteen": "^1.0.2", + "jest-serializer-vue": "^2.0.2", + "jest-transform-stub": "^2.0.0", + "jest-watch-typeahead": "^0.4.2", + "ts-jest": "^24.2.0", + "vue-jest": "^3.0.5" }, "dependencies": { - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1569877474907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", - "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=", + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz", + "integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=", "dev": true, "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz?cache=0&sync_timestamp=1571961201744&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-7.1.0.tgz", - "integrity": "sha1-ksJBv23oI2W1x/tL126XVSLhKU0=", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.10.5.tgz?cache=0&sync_timestamp=1594750809694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.10.5.tgz", + "integrity": "sha1-HxXizKitmh14o43bphL158270zA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.10.5.tgz?cache=0&sync_timestamp=1594750806381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.10.5.tgz", + "integrity": "sha1-G5A1VLyMWD7o0l8eiWlzLmuCmmk=", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz", + "integrity": "sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz", + "integrity": "sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.10.5.tgz?cache=0&sync_timestamp=1594750806986&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha1-Fy9W56Y+eBEvOgQFXyQ2WvcC5+4=", + "dev": true, + "requires": { + "@babel/types": "^7.10.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz", + "integrity": "sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.10.5.tgz?cache=0&sync_timestamp=1594750806669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.10.5.tgz", + "integrity": "sha1-EgwnHAszU2c/zf2MBT2zxUSiYNY=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha1-UNyWQT1ZT5lad5BZBbBYk813lnM=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521148758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz", + "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz", + "integrity": "sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz", + "integrity": "sha1-D1zNopRSd6KnotOoIeFTle3PNGE=", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha1-LHBXbqo7VgmyTLmdsoiMw/xCUdE=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz", + "integrity": "sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ=", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593522818552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz", + "integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.10.5.tgz?cache=0&sync_timestamp=1594750803040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.10.5.tgz", + "integrity": "sha1-58a/Wn3v+VfOyfBLVR4nYpCdgms=", + "dev": true + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz?cache=0&sync_timestamp=1593522846595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz", + "integrity": "sha1-MlGZbEIA68cdGo/EBfupQPNrong=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.10.5.tgz?cache=0&sync_timestamp=1594750808293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.10.5.tgz", + "integrity": "sha1-d85GT1sli+Jlr2GNj93wU28gtWQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.10.5.tgz?cache=0&sync_timestamp=1594750805733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.10.5.tgz", + "integrity": "sha1-2Irn4v3oa/v+hR1Nga+nCpl7XRU=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@vue/cli-shared-utils": { + "version": "4.4.6", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.4.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.4.6.tgz", + "integrity": "sha1-DsWYgJIHNsbdeQeawLXOrCn6VeE=", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1587496311403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz", + "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586045666090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz", + "integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226832494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz", + "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks=", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1584645751908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.1.2.tgz", + "integrity": "sha1-XnKLVq2d4vBiqJRPg4r/oCl8y5k=", + "dev": true + }, + "@vue/cli-service": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.1.1.tgz?cache=0&sync_timestamp=1574867856121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-service%2Fdownload%2F%40vue%2Fcli-service-4.1.1.tgz", + "integrity": "sha1-oU6dRVdS8ajk6HrENuveiMrYInY=", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@vue/cli-overlay": "^4.1.1", + "@vue/cli-plugin-router": "^4.1.1", + "@vue/cli-plugin-vuex": "^4.1.1", + "@vue/cli-shared-utils": "^4.1.1", + "@vue/component-compiler-utils": "^3.0.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^6.1.1", + "acorn-walk": "^6.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.7.2", + "browserslist": "^4.7.3", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.0.0", + "cliui": "^5.0.0", + "copy-webpack-plugin": "^5.0.5", + "css-loader": "^3.1.0", + "cssnano": "^4.1.10", + "current-script-polyfill": "^1.0.0", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^1.0.2", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.8.0", + "minimist": "^1.2.0", + "ora": "^3.4.0", + "portfinder": "^1.0.25", + "postcss-loader": "^3.0.0", + "read-pkg": "^5.1.1", + "semver": "^6.1.0", + "slash": "^3.0.0", + "source-map-url": "^0.4.0", + "ssri": "^6.0.1", + "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^2.2.1", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.7.2", + "vue-style-loader": "^4.1.0", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.6.0", + "webpack-chain": "^6.0.0", + "webpack-dev-server": "^3.9.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1569877474907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", + "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz?cache=0&sync_timestamp=1571961201744&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-7.1.0.tgz", + "integrity": "sha1-ksJBv23oI2W1x/tL126XVSLhKU0=", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", "minipass": "^3.1.1" } } @@ -1478,7 +2160,7 @@ }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz?cache=0&sync_timestamp=1569874170379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-2.1.2.tgz", + "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } @@ -1490,6 +2172,17 @@ "integrity": "sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=", "dev": true }, + "@vue/test-utils": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/@vue/test-utils/download/@vue/test-utils-1.0.3.tgz", + "integrity": "sha1-WHxN2bQktmAi8YjBm8YF2izpHG8=", + "dev": true, + "requires": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.15", + "pretty": "^2.0.0" + } + }, "@vue/web-component-wrapper": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz", @@ -1684,6 +2377,18 @@ "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", "dev": true }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz", + "integrity": "sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", @@ -1700,6 +2405,16 @@ "integrity": "sha1-tlnS/7r6JLr12xzbsslKmD7NJ4Q=", "dev": true }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-globals%2Fdownload%2Facorn-globals-4.3.4.tgz", + "integrity": "sha1-n6GSat3BHJcwjE5m163Q1Awycuc=", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, "acorn-jsx": { "version": "5.1.0", "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz?cache=0&sync_timestamp=1570991424796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.1.0.tgz", @@ -1857,9 +2572,15 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, @@ -2053,14 +2774,79 @@ } } }, - "babel-eslint": { - "version": "10.0.3", - "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.3.tgz", - "integrity": "sha1-gaLGab4PIF4ZRi/tJILTPkaHqIo=", + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1591687028262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha1-laSS3dkPm06aSh2hTrM1uHtjTs4=", + "dev": true + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.3.tgz", + "integrity": "sha1-gaLGab4PIF4ZRi/tJILTPkaHqIo=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", "eslint-visitor-keys": "^1.0.0", @@ -2072,6 +2858,21 @@ "resolved": "http://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=" }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1592925625642&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz", + "integrity": "sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ=", + "dev": true, + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, "babel-loader": { "version": "8.0.6", "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.6.tgz", @@ -2084,6 +2885,15 @@ "pify": "^4.0.1" } }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, "babel-plugin-dynamic-import-node": { "version": "2.3.0", "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.0.tgz", @@ -2093,6 +2903,59 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha1-30reg9iXqS3wacTZolzyZxKTyFQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha1-T4NwketAfgFEfIhDy+xUbQAC11Y=", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz", + "integrity": "sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw=", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", @@ -2114,6 +2977,85 @@ } } }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", @@ -2220,6 +3162,15 @@ "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", @@ -2228,7 +3179,7 @@ }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", + "resolved": "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", "dev": true }, @@ -2289,7 +3240,7 @@ "dependencies": { "array-flatten": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz", + "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", "dev": true } @@ -2346,6 +3297,29 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npm.taobao.org/browser-resolve/download/browser-resolve-1.11.3.tgz", + "integrity": "sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY=", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, "browserify-aes": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", @@ -2428,6 +3402,24 @@ "node-releases": "^1.1.42" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npm.taobao.org/bs-logger/download/bs-logger-0.2.6.tgz", + "integrity": "sha1-6302UwenLPl0zGzadraDVK0za9g=", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz", + "integrity": "sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU=", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz", @@ -2632,7 +3624,7 @@ }, "camel-case": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1575601678983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { @@ -2664,6 +3656,15 @@ "integrity": "sha1-Fafd9mq6eGpx2ZYmvI8rkcbw9fA=", "dev": true }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz", + "integrity": "sha1-+5U7+uvreB9iiYI52rtCbQilCaQ=", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, "case-sensitive-paths-webpack-plugin": { "version": "2.2.0", "resolved": "http://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.2.0.tgz", @@ -2895,7 +3896,7 @@ }, "cliui": { "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", "dev": true, "requires": { @@ -2912,7 +3913,7 @@ }, "string-width": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", "dev": true, "requires": { @@ -2949,6 +3950,12 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, "coa": { "version": "2.0.2", "resolved": "http://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", @@ -3103,6 +4110,47 @@ "typedarray": "^0.0.6" } }, + "condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/condense-newlines/download/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", @@ -3208,7 +4256,7 @@ "dependencies": { "globby": { "version": "7.1.1", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "dev": true, "requires": { @@ -3361,6 +4409,26 @@ "randomfill": "^1.0.3" } }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz?cache=0&sync_timestamp=1593663585785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss%2Fdownload%2Fcss-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, "css-color-names": { "version": "0.0.4", "resolved": "http://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", @@ -3551,6 +4619,21 @@ "css-tree": "1.0.0-alpha.37" } }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz?cache=0&sync_timestamp=1588171504463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-1.4.0.tgz", + "integrity": "sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, "current-script-polyfill": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/current-script-polyfill/download/current-script-polyfill-1.0.0.tgz", @@ -3572,12 +4655,46 @@ "assert-plus": "^1.0.0" } }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz", + "integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, "de-indent": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", "dev": true }, + "deasync": { + "version": "0.1.20", + "resolved": "https://registry.npm.taobao.org/deasync/download/deasync-0.1.20.tgz", + "integrity": "sha1-VG/SZgaIoe7tVe3OIwjFz3EE+do=", + "dev": true, + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, "debug": { "version": "4.1.1", "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", @@ -3621,7 +4738,7 @@ }, "deepmerge": { "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279720382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz", "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" }, "default-gateway": { @@ -3815,7 +4932,7 @@ "dependencies": { "globby": { "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { @@ -3870,12 +4987,24 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/detect-newline/download/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, "detect-node": { "version": "2.0.4", "resolved": "http://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", "dev": true }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz?cache=0&sync_timestamp=1588615296719&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-24.9.0.tgz", + "integrity": "sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU=", + "dev": true + }, "diffie-hellman": { "version": "5.0.3", "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", @@ -3889,7 +5018,7 @@ }, "dir-glob": { "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "resolved": "http://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", "dev": true, "requires": { @@ -3939,6 +5068,12 @@ "utila": "~0.4" } }, + "dom-event-types": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dom-event-types/download/dom-event-types-1.0.0.tgz", + "integrity": "sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4=", + "dev": true + }, "dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz", @@ -3965,13 +5100,22 @@ }, "domelementtype": { "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", "dev": true }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz", + "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, "domhandler": { "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", + "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", "dev": true, "requires": { @@ -3986,7 +5130,7 @@ }, "domutils": { "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz", "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", "dev": true, "requires": { @@ -4049,14 +5193,44 @@ "safer-buffer": "^2.1.0" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.7.4", + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.15.3.tgz", + "integrity": "sha1-vvhMTnX7jcsM5c7o79UcFZmb78U=", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "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", "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", "dev": true @@ -4082,7 +5256,7 @@ "dependencies": { "async-validator": { "version": "1.8.5", - "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1575620555389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.8.5.tgz", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz", "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", "requires": { "babel-runtime": "6.x" @@ -4229,6 +5403,28 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz?cache=0&sync_timestamp=1592866188657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescodegen%2Fdownload%2Fescodegen-1.14.3.tgz", + "integrity": "sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true + } + } + }, "eslint": { "version": "5.16.0", "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-5.16.0.tgz", @@ -4443,6 +5639,12 @@ "safe-buffer": "^5.1.1" } }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.4.tgz", + "integrity": "sha1-OgGM61JsxvbfK7UEsr/o46STTsU=", + "dev": true + }, "execa": { "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", @@ -4458,6 +5660,12 @@ "strip-eof": "^1.0.0" } }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, "expand-brackets": { "version": "2.1.4", "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", @@ -4508,6 +5716,20 @@ } } }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/expect/download/expect-24.9.0.tgz?cache=0&sync_timestamp=1592952958174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-24.9.0.tgz", + "integrity": "sha1-t1FltIFwdPpKFXeU9G/p8boVtso=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, "express": { "version": "4.17.1", "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", @@ -4563,7 +5785,7 @@ }, "qs": { "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", "dev": true } @@ -4672,6 +5894,15 @@ } } }, + "extract-from-css": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/extract-from-css/download/extract-from-css-0.4.4.tgz", + "integrity": "sha1-HqffLnx8brmSL6COitrqSG9vj5I=", + "dev": true, + "requires": { + "css": "^2.1.0" + } + }, "extsprintf": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", @@ -4686,7 +5917,7 @@ }, "fast-glob": { "version": "2.2.7", - "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1575197599350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", + "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz", "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", "dev": true, "requires": { @@ -4719,6 +5950,15 @@ "websocket-driver": ">=0.5.1" } }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz?cache=0&sync_timestamp=1575659486042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffb-watchman%2Fdownload%2Ffb-watchman-2.0.1.tgz", + "integrity": "sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU=", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "http://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz", @@ -4753,9 +5993,15 @@ "schema-utils": "^2.5.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true + }, "filesize": { "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1573255872241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", + "resolved": "http://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", "dev": true }, @@ -4814,6 +6060,24 @@ } } }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/find-babel-config/download/find-babel-config-1.2.0.tgz", + "integrity": "sha1-qbezF+tbmGDNqdVHQKjIM3oig6I=", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586045666090&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1573277814677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz", @@ -4986,7 +6250,7 @@ }, "fsevents": { "version": "1.2.9", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.9.tgz?cache=0&sync_timestamp=1573319284429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.9.tgz", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.9.tgz", "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=", "dev": true, "optional": true, @@ -5544,6 +6808,12 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz", + "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", @@ -5590,7 +6860,7 @@ }, "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { @@ -5623,7 +6893,7 @@ }, "globby": { "version": "9.2.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz", "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", "dev": true, "requires": { @@ -5643,6 +6913,12 @@ "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=", "dev": true }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, "gzip-size": { "version": "5.1.1", "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz", @@ -5865,12 +7141,27 @@ "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", "dev": true }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, "html-entities": { "version": "1.2.1", "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz?cache=0&sync_timestamp=1585316700260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, "html-minifier": { "version": "3.5.21", "resolved": "http://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", @@ -5888,7 +7179,7 @@ "dependencies": { "commander": { "version": "2.17.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1573464098030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz", "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", "dev": true }, @@ -5926,7 +7217,7 @@ }, "html-webpack-plugin": { "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "requires": { @@ -5947,7 +7238,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1570050623700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -5967,7 +7258,7 @@ }, "htmlparser2": { "version": "3.10.1", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1564773692945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", + "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", "dev": true, "requires": { @@ -6027,7 +7318,7 @@ }, "http-parser-js": { "version": "0.4.10", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz?cache=0&sync_timestamp=1572714277347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.4.10.tgz", + "resolved": "http://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz", "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, @@ -6044,7 +7335,7 @@ }, "http-proxy-middleware": { "version": "0.19.1", - "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", "dev": true, "requires": { @@ -6115,7 +7406,7 @@ }, "image-size": { "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1569841076205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz", "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", "dev": true }, @@ -6149,7 +7440,7 @@ }, "import-local": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", "dev": true, "requires": { @@ -6197,6 +7488,12 @@ "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", "dev": true }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, "inquirer": { "version": "6.5.2", "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz", @@ -6231,7 +7528,7 @@ }, "internal-ip": { "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1571204665260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", + "resolved": "http://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz", "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", "dev": true, "requires": { @@ -6280,13 +7577,13 @@ }, "ipaddr.js": { "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.0.tgz", + "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.0.tgz", "integrity": "sha1-N9905DCg5HVQ/lSi3v4w2KzZX2U=", "dev": true }, "is-absolute-url": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", "dev": true }, @@ -6435,6 +7732,12 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-2.1.0.tgz", + "integrity": "sha1-fRQK3DiarzARqPKipM+m+q3/sRg=", + "dev": true + }, "is-glob": { "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", @@ -6459,149 +7762,980 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", + "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/is-whitespace/download/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha1-pfY9kfC7wMPkee9MXeAnM17G1jA=", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha1-WoETzXRtQ8SInro2qxDn1QybTzM=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha1-KEmXxIIRdS7EhiU9qX44ed77qMg=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-2.2.7.tgz", + "integrity": "sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE=", + "dev": true, + "requires": { + "html-escaper": "^2.0.0" + } + }, + "javascript-stringify": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz", + "integrity": "sha1-bvNYA1MQ411mfGde1j0+t8GqGeU=", + "dev": true + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest/download/jest-24.9.0.tgz", + "integrity": "sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE=", + "dev": true, + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz", + "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz", + "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-cli/download/jest-cli-24.9.0.tgz", + "integrity": "sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8=", + "dev": true, + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1594420998254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-24.9.0.tgz?cache=0&sync_timestamp=1592927132593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-24.9.0.tgz", + "integrity": "sha1-CNjBXreaf6P8mCabwUtFHugvgDk=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-config/download/jest-config-24.9.0.tgz?cache=0&sync_timestamp=1592925442514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-24.9.0.tgz", + "integrity": "sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU=", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-diff/download/jest-diff-24.9.0.tgz?cache=0&sync_timestamp=1592925436120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-24.9.0.tgz", + "integrity": "sha1-kxt9DVd4obr3RSy4FuMl43JAVdo=", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-24.9.0.tgz?cache=0&sync_timestamp=1588614998936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-docblock%2Fdownload%2Fjest-docblock-24.9.0.tgz", + "integrity": "sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI=", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-each/download/jest-each-24.9.0.tgz?cache=0&sync_timestamp=1592927136230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-each%2Fdownload%2Fjest-each-24.9.0.tgz", + "integrity": "sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha1-SwgGx/yU+V7bNpppzCd47sK3N1s=", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-jsdom-fifteen": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/jest-environment-jsdom-fifteen/download/jest-environment-jsdom-fifteen-1.0.2.tgz", + "integrity": "sha1-SaCvVeDTJzemEUoVdd1xRwKtY7A=", + "dev": true, + "requires": { + "@jest/environment": "^24.3.0", + "@jest/fake-timers": "^24.3.0", + "@jest/types": "^24.3.0", + "jest-mock": "^24.0.0", + "jest-util": "^24.0.0", + "jsdom": "^15.2.1" + }, + "dependencies": { + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz?cache=0&sync_timestamp=1591869466711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.3.1.tgz", + "integrity": "sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0=", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.4.4.tgz", + "integrity": "sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA=", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-2.3.0.tgz?cache=0&sync_timestamp=1588171504463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-2.3.0.tgz", + "integrity": "sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI=", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", + "dev": true + } + } + }, + "jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-15.2.1.tgz?cache=0&sync_timestamp=1594341117172&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-15.2.1.tgz", + "integrity": "sha1-0v6xrvcYP4a+UhuMaDP/UpbQfsU=", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz?cache=0&sync_timestamp=1586991218581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.0.tgz", + "integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-3.0.1.tgz?cache=0&sync_timestamp=1584645751908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-3.0.1.tgz", + "integrity": "sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I=", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-7.3.1.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.3.1.tgz", + "integrity": "sha1-0FR79n985PEqct/jEmLGjX3FUcg=", + "dev": true + } + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-24.9.0.tgz", + "integrity": "sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M=", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-24.9.0.tgz?cache=0&sync_timestamp=1588615294899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-get-type%2Fdownload%2Fjest-get-type-24.9.0.tgz", + "integrity": "sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4=", + "dev": true + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz?cache=0&sync_timestamp=1592925619873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-24.9.0.tgz", + "integrity": "sha1-s4pdZCdJNOIfpBeump++t3zqrH0=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz?cache=0&sync_timestamp=1592925626282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-24.9.0.tgz", + "integrity": "sha1-H3sb0yQsF3TmKsq7NkbZavw75qA=", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + } + }, + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz?cache=0&sync_timestamp=1592952948059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-leak-detector%2Fdownload%2Fjest-leak-detector-24.9.0.tgz", + "integrity": "sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo=", + "dev": true, + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM=", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-24.9.0.tgz?cache=0&sync_timestamp=1592952945867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-24.9.0.tgz", + "integrity": "sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-mock%2Fdownload%2Fjest-mock-24.9.0.tgz", + "integrity": "sha1-wig1VB7jebkIZzrVEIeiGFwT8cY=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz?cache=0&sync_timestamp=1592991657938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-pnp-resolver%2Fdownload%2Fjest-pnp-resolver-1.2.2.tgz", + "integrity": "sha1-twSsCuAoqJEIpNBAs/kZ393I4zw=", + "dev": true + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-24.9.0.tgz?cache=0&sync_timestamp=1588615314194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-regex-util%2Fdownload%2Fjest-regex-util-24.9.0.tgz", + "integrity": "sha1-wT+zOAveIr9ldUMsST6o/jeWVjY=", + "dev": true + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.9.0.tgz", + "integrity": "sha1-3/BMdoevNMTdflJIktnPd+XRcyE=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-runner/download/jest-runner-24.9.0.tgz?cache=0&sync_timestamp=1592925625939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-24.9.0.tgz", + "integrity": "sha1-V0+v29VEVcKzS0vfQ2WiOFf830I=", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-24.9.0.tgz", + "integrity": "sha1-nxRYOvak9zFKap2fAibhp4HI5Kw=", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1594420998254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", - "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz?cache=0&sync_timestamp=1592925617962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-serializer%2Fdownload%2Fjest-serializer-24.9.0.tgz", + "integrity": "sha1-5tfX75bTHouQeacUdUxdXFgojnM=", "dev": true }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "jest-serializer-vue": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/jest-serializer-vue/download/jest-serializer-vue-2.0.2.tgz", + "integrity": "sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=", "dev": true, "requires": { - "is-path-inside": "^2.1.0" + "pretty": "2.0.0" } }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", - "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-24.9.0.tgz?cache=0&sync_timestamp=1592925625704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-24.9.0.tgz", + "integrity": "sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo=", "dev": true, "requires": { - "path-is-inside": "^1.0.2" + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "jest-transform-stub": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/jest-transform-stub/download/jest-transform-stub-2.0.0.tgz", + "integrity": "sha1-GQGLCFH3VolyFHpdYAdLVfAiWn0=", "dev": true }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz?cache=0&sync_timestamp=1592925618233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-24.9.0.tgz", + "integrity": "sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI=", "dev": true, "requires": { - "isobject": "^3.0.1" + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz", + "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz", + "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } } }, - "is-promise": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-validate/download/jest-validate-24.9.0.tgz?cache=0&sync_timestamp=1592927134641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-24.9.0.tgz", + "integrity": "sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks=", "dev": true, "requires": { - "has": "^1.0.1" + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" } }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", - "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", + "jest-watch-typeahead": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/jest-watch-typeahead/download/jest-watch-typeahead-0.4.2.tgz", + "integrity": "sha1-5b6Vlpin+iMCIppQgsSIw8h4Cko=", "dev": true, "requires": { - "html-comment-regex": "^1.1.0" + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.1", + "jest-regex-util": "^24.9.0", + "jest-watcher": "^24.3.0", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz", + "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", + "dev": true + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-length/download/string-length-3.1.0.tgz", + "integrity": "sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1593290708002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz", + "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=", + "dev": true + } } }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-24.9.0.tgz?cache=0&sync_timestamp=1592952955836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-24.9.0.tgz", + "integrity": "sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs=", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1569219566107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "javascript-stringify": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz", - "integrity": "sha1-bvNYA1MQ411mfGde1j0+t8GqGeU=", - "dev": true - }, "jest-worker": { "version": "24.9.0", "resolved": "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz?cache=0&sync_timestamp=1566444249955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-24.9.0.tgz", @@ -6629,6 +8763,27 @@ "integrity": "sha1-Hvo57yxfeYC7F4St5KivLeMpESE=", "dev": true }, + "js-beautify": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/js-beautify/download/js-beautify-1.11.0.tgz", + "integrity": "sha1-r7hz3EfViYY2AJPctplR6LzV3tI=", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~1.0.3", + "nopt": "^4.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + } + } + }, "js-levenshtein": { "version": "1.1.6", "resolved": "http://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz", @@ -6637,7 +8792,7 @@ }, "js-message": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", + "resolved": "http://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", "dev": true }, @@ -6672,6 +8827,63 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-11.12.0.tgz?cache=0&sync_timestamp=1594341117172&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-11.12.0.tgz", + "integrity": "sha1-GoDUDd03ih3lllbp5txaO6hle8g=", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1591869466711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz", + "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", + "dev": true + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz?cache=0&sync_timestamp=1586991218581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-4.0.0.tgz", + "integrity": "sha1-bXhlbj2o14tOwLkG98CO8d/j9gg=", + "dev": true + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-5.2.2.tgz", + "integrity": "sha1-3/7xSGa46NyRM1glFNG++vlumA8=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, "jsesc": { "version": "2.5.2", "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", @@ -6756,6 +8968,12 @@ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/kleur/download/kleur-3.0.3.tgz?cache=0&sync_timestamp=1593039498585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkleur%2Fdownload%2Fkleur-3.0.3.tgz", + "integrity": "sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4=", + "dev": true + }, "launch-editor": { "version": "2.2.1", "resolved": "http://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", @@ -6777,13 +8995,25 @@ }, "lcid": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz?cache=0&sync_timestamp=1570088800527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flcid%2Fdownload%2Flcid-2.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", "dev": true, "requires": { "invert-kv": "^2.0.0" } }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/left-pad/download/left-pad-1.3.0.tgz", + "integrity": "sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4=", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz", + "integrity": "sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", @@ -6800,6 +9030,26 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "loader-fs-cache": { "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.2.tgz", @@ -6812,7 +9062,7 @@ "dependencies": { "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1573277814677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { @@ -6919,6 +9169,12 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "lodash.transform": { "version": "4.6.0", "resolved": "http://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", @@ -6957,7 +9213,7 @@ }, "lower-case": { "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, @@ -6980,6 +9236,21 @@ "semver": "^5.6.0" } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz?cache=0&sync_timestamp=1582105487630&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-error%2Fdownload%2Fmake-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, "mamacro": { "version": "0.0.3", "resolved": "http://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz", @@ -7196,7 +9467,7 @@ }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { @@ -7298,7 +9569,7 @@ }, "mitt": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/mitt/download/mitt-1.1.2.tgz?cache=0&sync_timestamp=1571677004541&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmitt%2Fdownload%2Fmitt-1.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/mitt/download/mitt-1.1.2.tgz?cache=0&sync_timestamp=1594823602623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmitt%2Fdownload%2Fmitt-1.1.2.tgz", "integrity": "sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=", "dev": true }, @@ -7445,19 +9716,49 @@ }, "no-case": { "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", + "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", "dev": true, "requires": { "lower-case": "^1.1.1" } }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/node-addon-api/download/node-addon-api-1.7.2.tgz?cache=0&sync_timestamp=1594654751960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-addon-api%2Fdownload%2Fnode-addon-api-1.7.2.tgz", + "integrity": "sha1-PfMLlXILU8JOWZSLSVMrZiRE9U0=", + "dev": true + }, + "node-cache": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/node-cache/download/node-cache-4.2.1.tgz?cache=0&sync_timestamp=1593618932535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-cache%2Fdownload%2Fnode-cache-4.2.1.tgz", + "integrity": "sha1-79hHTe5O3sQTjN3tWA9VFlAPczQ=", + "dev": true, + "requires": { + "clone": "2.x", + "lodash": "^4.17.15" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + } + } + }, "node-forge": { "version": "0.9.0", "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1569552454213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz", "integrity": "sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk=", "dev": true }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, "node-ipc": { "version": "9.1.1", "resolved": "http://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz", @@ -7508,6 +9809,25 @@ } } }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz", + "integrity": "sha1-y3La+UyTkECY4oucWQ/YZuRkvVA=", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, "node-releases": { "version": "1.1.42", "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.42.tgz", @@ -7525,6 +9845,16 @@ } } }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz", + "integrity": "sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", @@ -7551,7 +9881,7 @@ }, "normalize-url": { "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", + "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", "dev": true }, @@ -7590,6 +9920,12 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz", + "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=", + "dev": true + }, "oauth-sign": { "version": "0.9.0", "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", @@ -7635,7 +9971,7 @@ }, "object-hash": { "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz?cache=0&sync_timestamp=1575157177507&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-hash%2Fdownload%2Fobject-hash-1.3.1.tgz", + "resolved": "http://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", "dev": true }, @@ -7806,7 +10142,7 @@ }, "ora": { "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz", + "resolved": "http://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz", "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", "dev": true, "requires": { @@ -7844,6 +10180,12 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", @@ -7861,12 +10203,31 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz", + "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&sync_timestamp=1559922734651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-each-series/download/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz?cache=0&sync_timestamp=1560955759606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-1.0.0.tgz", @@ -7875,7 +10236,7 @@ }, "p-is-promise": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", "dev": true }, @@ -7906,6 +10267,12 @@ "aggregate-error": "^3.0.0" } }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, "p-retry": { "version": "3.0.1", "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz", @@ -7940,7 +10307,7 @@ }, "param-case": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { @@ -8059,7 +10426,7 @@ }, "path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, @@ -8120,6 +10487,15 @@ "pinkie": "^2.0.0" } }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz", + "integrity": "sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", @@ -8129,6 +10505,12 @@ "find-up": "^3.0.0" } }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz", + "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=", + "dev": true + }, "portfinder": { "version": "1.0.25", "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.25.tgz", @@ -8176,7 +10558,7 @@ }, "supports-color": { "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", "dev": true, "requires": { @@ -8280,7 +10662,7 @@ "dependencies": { "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { @@ -8661,7 +11043,7 @@ }, "posthtml": { "version": "0.9.2", - "resolved": "https://registry.npm.taobao.org/posthtml/download/posthtml-0.9.2.tgz", + "resolved": "https://registry.npm.taobao.org/posthtml/download/posthtml-0.9.2.tgz?cache=0&sync_timestamp=1592805270374&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fposthtml%2Fdownload%2Fposthtml-0.9.2.tgz", "integrity": "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=", "dev": true, "requires": { @@ -8735,6 +11117,28 @@ "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", "dev": true }, + "pretty": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pretty/download/pretty-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty%2Fdownload%2Fpretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "requires": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "pretty-error": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", @@ -8745,6 +11149,18 @@ "utila": "~0.4" } }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-24.9.0.tgz?cache=0&sync_timestamp=1592925428595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-24.9.0.tgz", + "integrity": "sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k=", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + } + }, "private": { "version": "0.1.8", "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz", @@ -8775,6 +11191,22 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "prompts": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/prompts/download/prompts-2.3.2.tgz", + "integrity": "sha1-SAVy2J7POVZtK9P+LJ/Mt8TAsGg=", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, "proxy-addr": { "version": "2.0.5", "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.5.tgz", @@ -8933,6 +11365,12 @@ "unpipe": "1.0.0" } }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1595004855847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz", + "integrity": "sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=", + "dev": true + }, "read-pkg": { "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", @@ -8959,6 +11397,29 @@ } } }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-4.0.0.tgz", + "integrity": "sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg=", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + } + } + }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz", @@ -8985,6 +11446,15 @@ "readable-stream": "^2.0.2" } }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/realpath-native/download/realpath-native-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frealpath-native%2Fdownload%2Frealpath-native-1.1.0.tgz", + "integrity": "sha1-IAMpT+oj+wZy8kduviL89Jii1lw=", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, "regenerate": { "version": "1.4.0", "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", @@ -9104,13 +11574,13 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "css-select": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz?cache=0&sync_timestamp=1573342118933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-1.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -9128,7 +11598,7 @@ }, "domutils": { "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz", + "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { @@ -9138,7 +11608,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -9313,6 +11783,12 @@ "inherits": "^2.0.1" } }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz", + "integrity": "sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ=", + "dev": true + }, "run-async": { "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz", @@ -9361,12 +11837,38 @@ "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", "dev": true }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/sane/download/sane-4.1.0.tgz", + "integrity": "sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0=", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, "sax": { "version": "1.2.4", "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", "dev": true }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz", + "integrity": "sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, "schema-utils": { "version": "2.6.1", "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.6.1.tgz", @@ -9482,7 +11984,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -9506,7 +12008,7 @@ }, "setprototypeof": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz?cache=0&sync_timestamp=1563425484616&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", "dev": true } @@ -9596,6 +12098,18 @@ "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", "dev": true }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz", + "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", @@ -9619,6 +12133,12 @@ } } }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz", + "integrity": "sha1-E01oEpd1ZDfMBcoBNw06elcQde0=", + "dev": true + }, "slash": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", @@ -9979,6 +12499,12 @@ "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", "dev": true }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/stack-utils/download/stack-utils-1.0.2.tgz", + "integrity": "sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g=", + "dev": true + }, "stackframe": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.1.0.tgz", @@ -10063,6 +12589,33 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", @@ -10158,6 +12711,12 @@ } } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "strip-eof": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", @@ -10250,7 +12809,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1591687028262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -10271,13 +12830,13 @@ }, "clone": { "version": "2.1.2", - "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, "define-property": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { @@ -10286,7 +12845,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -10295,13 +12854,13 @@ }, "has-flag": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { @@ -10318,7 +12877,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { @@ -10335,7 +12894,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { @@ -10381,7 +12940,7 @@ }, "postcss": { "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1577751049981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1591101998893&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz", "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", "dev": true, "requires": { @@ -10424,7 +12983,7 @@ "dependencies": { "deepmerge": { "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.3.2.tgz?cache=0&sync_timestamp=1572279720382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.3.2.tgz", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.3.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.3.2.tgz", "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=", "dev": true } @@ -10449,7 +13008,7 @@ "dependencies": { "deepmerge": { "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.3.2.tgz?cache=0&sync_timestamp=1572279720382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.3.2.tgz", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.3.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.3.2.tgz", "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=", "dev": true } @@ -10482,6 +13041,12 @@ "util.promisify": "~1.0.0" } }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz", + "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=", + "dev": true + }, "table": { "version": "5.4.6", "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz", @@ -10566,7 +13131,7 @@ "dependencies": { "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { @@ -10583,6 +13148,18 @@ } } }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npm.taobao.org/test-exclude/download/test-exclude-5.2.3.tgz?cache=0&sync_timestamp=1576874719359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftest-exclude%2Fdownload%2Ftest-exclude-5.2.3.tgz", + "integrity": "sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA=", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + }, "text-table": { "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", @@ -10618,6 +13195,12 @@ "neo-async": "^2.6.0" } }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, "throttle-debounce": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz", @@ -10669,6 +13252,12 @@ "os-tmpdir": "~1.0.2" } }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", @@ -10753,9 +13342,18 @@ } } }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, "traverse": { "version": "0.6.6", - "resolved": "http://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz", + "resolved": "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftraverse%2Fdownload%2Ftraverse-0.6.6.tgz", "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, @@ -10765,6 +13363,53 @@ "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", "dev": true }, + "ts-jest": { + "version": "24.3.0", + "resolved": "https://registry.npm.taobao.org/ts-jest/download/ts-jest-24.3.0.tgz?cache=0&sync_timestamp=1594959518447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-jest%2Fdownload%2Fts-jest-24.3.0.tgz", + "integrity": "sha1-uXgU4+qzWeqEChrBEt6uaKpECGk=", + "dev": true, + "requires": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "0.x", + "resolve": "1.x", + "semver": "^5.5", + "yargs-parser": "10.x" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/tsconfig/download/tsconfig-7.0.0.tgz", + "integrity": "sha1-hFOIdaTcIW5cSlQys6Tew9VOkbc=", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.10.0.tgz", @@ -10985,7 +13630,7 @@ }, "upper-case": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1575601671982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "resolved": "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", "dev": true }, @@ -11192,6 +13837,25 @@ "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", "dev": true }, + "vue-jest": { + "version": "3.0.6", + "resolved": "https://registry.npm.taobao.org/vue-jest/download/vue-jest-3.0.6.tgz", + "integrity": "sha1-J/edddzdvms9gyfKFFChB7nNbzg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", + "chalk": "^2.1.0", + "deasync": "^0.1.15", + "extract-from-css": "^0.4.4", + "find-babel-config": "^1.1.0", + "js-beautify": "^1.6.14", + "node-cache": "^4.1.1", + "object-assign": "^4.1.1", + "source-map": "^0.5.6", + "tsconfig": "^7.0.0", + "vue-template-es2015-compiler": "^1.6.0" + } + }, "vue-loader": { "version": "15.7.2", "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.7.2.tgz", @@ -11241,6 +13905,35 @@ "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.1.2.tgz", "integrity": "sha1-ooY/QAWqc/JYflXD+t8/AfacfU0=" }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz", + "integrity": "sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q=", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz", @@ -11270,6 +13963,12 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", + "dev": true + }, "webpack": { "version": "4.41.2", "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.41.2.tgz?cache=0&sync_timestamp=1575843576848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.41.2.tgz", @@ -11401,13 +14100,13 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", "dev": true, "requires": { @@ -11418,13 +14117,13 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -11462,7 +14161,7 @@ }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { @@ -11479,7 +14178,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -11488,7 +14187,7 @@ }, "supports-color": { "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", "dev": true, "requires": { @@ -11497,7 +14196,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -11507,7 +14206,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -11540,7 +14239,7 @@ }, "yargs-parser": { "version": "11.1.1", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-11.1.1.tgz", "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=", "dev": true, "requires": { @@ -11604,6 +14303,32 @@ "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", "dev": true }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-6.5.0.tgz", + "integrity": "sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag=", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "which": { "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", @@ -11710,6 +14435,17 @@ "mkdirp": "^0.5.1" } }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.1.tgz", + "integrity": "sha1-0LBUY8GIroBDlv1asqNwBir4dSk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, "ws": { "version": "6.2.1", "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz", @@ -11719,6 +14455,18 @@ "async-limiter": "~1.0.0" } }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlchars%2Fdownload%2Fxmlchars-2.2.0.tgz", + "integrity": "sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 48fe4efde..24d301fc5 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", "lint": "vue-cli-service lint" }, "dependencies": { @@ -20,8 +21,10 @@ "@vue/cli-plugin-babel": "^4.1.0", "@vue/cli-plugin-eslint": "^4.1.0", "@vue/cli-plugin-router": "^4.1.2", + "@vue/cli-plugin-unit-jest": "^4.4.6", "@vue/cli-plugin-vuex": "^4.1.2", "@vue/cli-service": "^4.1.0", + "@vue/test-utils": "^1.0.3", "babel-eslint": "^10.0.3", "body-parser": "^1.19.0", "eslint": "^5.16.0", @@ -45,7 +48,18 @@ }, "parserOptions": { "parser": "babel-eslint" - } + }, + "overrides": [ + { + "files": [ + "**/__tests__/*.{j,t}s?(x)", + "**/tests/unit/**/*.spec.{j,t}s?(x)" + ], + "env": { + "jest": true + } + } + ] }, "browserslist": [ "> 1%", diff --git a/src/components/Kaikeba.vue b/src/components/Kaikeba.vue new file mode 100644 index 000000000..e6fd8611b --- /dev/null +++ b/src/components/Kaikeba.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/tests/unit/example.spec.js b/tests/unit/example.spec.js new file mode 100644 index 000000000..f84fb39dc --- /dev/null +++ b/tests/unit/example.spec.js @@ -0,0 +1,12 @@ +import { shallowMount } from '@vue/test-utils' +import HelloWorld from '@/components/HelloWorld.vue' + +describe('HelloWorld.vue', () => { + it('renders props.msg when passed', () => { + const msg = 'new message' + const wrapper = shallowMount(HelloWorld, { + propsData: { msg } + }) + expect(wrapper.text()).toMatch(msg) + }) +}) diff --git a/tests/unit/kaikeba.spec.js b/tests/unit/kaikeba.spec.js new file mode 100644 index 000000000..3a52af748 --- /dev/null +++ b/tests/unit/kaikeba.spec.js @@ -0,0 +1,44 @@ +import Kaikeba from '@/components/Kaikeba.vue' +import {mount} from '@vue/test-utils' + +function add(n1,n2){ + return n1+n2 +} + +// 测试套件 +describe('Kaikeba.vue', () => { + // 测试用例 + test('测试add函数', () => { + // 断言 + // expect(add(1,3)).toBe(3) + expect(add(1,3)).toBe(4) + expect(add(-2,3)).toBe(1) + }) + + test('要求组件必须有created选项', () => { + expect(typeof Kaikeba.created).toBe('function') + + const defData = Kaikeba.data() + expect(defData.message).toBe('vue-text') + }) + + + test('挂载之后data应该是开课吧', () => { + const wrapper = mount(Kaikeba) + const vm = wrapper.vm + expect(vm.message).toBe('开课吧') + }) + + test('按钮点击之后', () => { + const wrapper = mount(Kaikeba) + wrapper.find('button').trigger('click') + // 模仿jq获取内部元素内容 + const html = wrapper.find('span').html() + setTimeout(() => { + expect(html).toBe('按钮点击') + }, 0); + + }) + + +})