diff --git a/.autod.conf.js b/.autod.conf.js
index 11f21cc..245029f 100644
--- a/.autod.conf.js
+++ b/.autod.conf.js
@@ -1,25 +1,25 @@
-'use strict';
-
-module.exports = {
- write: true,
- prefix: '^',
- plugin: 'autod-egg',
- test: [
- 'test',
- 'benchmark',
- ],
- devdep: [
- 'egg',
- 'egg-ci',
- 'egg-bin',
- 'autod',
- 'autod-egg',
- 'eslint',
- 'eslint-config-egg',
- ],
- exclude: [
- './test/fixtures',
- './docs',
- './coverage',
- ],
-};
+'use strict';
+
+module.exports = {
+ write: true,
+ prefix: '^',
+ plugin: 'autod-egg',
+ test: [
+ 'test',
+ 'benchmark',
+ ],
+ devdep: [
+ 'egg',
+ 'egg-ci',
+ 'egg-bin',
+ 'autod',
+ 'autod-egg',
+ 'eslint',
+ 'eslint-config-egg',
+ ],
+ exclude: [
+ './test/fixtures',
+ './docs',
+ './coverage',
+ ],
+};
diff --git a/.eslintignore b/.eslintignore
index 4ebc8ae..f8a648f 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1 +1 @@
-coverage
+coverage
diff --git a/.eslintrc b/.eslintrc
index c799fe5..ffbb4a6 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,3 +1,3 @@
-{
- "extends": "eslint-config-egg"
-}
+{
+ "extends": "eslint-config-egg"
+}
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 48f9944..3ac1212 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,24 +1,24 @@
-
-
-##### Checklist
-
-
-- [ ] `npm test` passes
-- [ ] tests and/or benchmarks are included
-- [ ] documentation is changed or added
-- [ ] commit message follows commit guidelines
-
-##### Affected core subsystem(s)
-
-
-
-##### Description of change
-
+
+
+##### Checklist
+
+
+- [ ] `npm test` passes
+- [ ] tests and/or benchmarks are included
+- [ ] documentation is changed or added
+- [ ] commit message follows commit guidelines
+
+##### Affected core subsystem(s)
+
+
+
+##### Description of change
+
diff --git a/.gitignore b/.gitignore
index bcb8fe4..6e3cd48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,10 @@
-logs/
-npm-debug.log
-node_modules/
-coverage/
-.idea/
-run/
-store/
-.DS_Store
-*.swp
-
+logs/
+npm-debug.log
+node_modules/
+coverage/
+.idea/
+run/
+store/
+.DS_Store
+*.swp
+
diff --git a/.travis.yml b/.travis.yml
index 320fe63..84b4342 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,13 +1,13 @@
-sudo: false
-language: node_js
-node_js:
- - '8'
- - '10'
-before_install:
- - npm i npminstall -g
-install:
- - npminstall
-script:
- - npm run ci
-after_script:
- - npminstall codecov && codecov
+sudo: false
+language: node_js
+node_js:
+ - '8'
+ - '10'
+before_install:
+ - npm i npminstall -g
+install:
+ - npminstall
+script:
+ - npm run ci
+after_script:
+ - npminstall codecov && codecov
diff --git a/LICENSE b/LICENSE
index e71fc90..3152846 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,21 +1,21 @@
-The MIT License (MIT)
-
-Copyright (c) 2019-present Alibaba Group Holding Limited and other contributors.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+The MIT License (MIT)
+
+Copyright (c) 2019-present Alibaba Group Holding Limited and other contributors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index cbae11b..4469628 100644
--- a/README.md
+++ b/README.md
@@ -1,46 +1,46 @@
-# egg-echat
-
-
-
-## Doc
-
-[中文文档](https://blog.sharef.top/egg-echat)
-
-## Install
-
-```bash
-$ npm i egg-echat --save
-```
-
-## Usage
-
-```js
-// {app_root}/config/plugin.js
-exports.echat = {
- enable: true,
- package: 'egg-echat'
-};
-```
-
-## Configuration
-
-```js
-// {app_root}/config/config.default.js
-exports.echat = {};
-```
-
-see [config/config.default.js](config/config.default.js) for more detail.
-
-## Example
-
-
-
-## Questions & Suggestions
-
-Please open an issue [here](https://github.com/Shijf/egg/issues).
-
-## License
-
-[MIT](LICENSE)
+# egg-echat
+
+
+
+## Doc
+
+[中文文档](https://blog.sharef.top/egg-echat)
+
+## Install
+
+```bash
+$ npm i egg-echat --save
+```
+
+## Usage
+
+```js
+// {app_root}/config/plugin.js
+exports.echat = {
+ enable: true,
+ package: 'egg-echat'
+};
+```
+
+## Configuration
+
+```js
+// {app_root}/config/config.default.js
+exports.echat = {};
+```
+
+see [config/config.default.js](config/config.default.js) for more detail.
+
+## Example
+
+
+
+## Questions & Suggestions
+
+Please open an issue [here](https://github.com/Shijf/egg/issues).
+
+## License
+
+[MIT](LICENSE)
diff --git a/README.zh_CN.md b/README.zh_CN.md
index e09396d..7e2a120 100644
--- a/README.zh_CN.md
+++ b/README.zh_CN.md
@@ -1,76 +1,76 @@
-# egg-echat
-
-[![NPM version][npm-image]][npm-url]
-[![build status][travis-image]][travis-url]
-[![Test coverage][codecov-image]][codecov-url]
-[![David deps][david-image]][david-url]
-[![Known Vulnerabilities][snyk-image]][snyk-url]
-[![npm download][download-image]][download-url]
-
-[npm-image]: https://img.shields.io/npm/v/egg-echat.svg?style=flat-square
-[npm-url]: https://npmjs.org/package/egg-echat
-[travis-image]: https://img.shields.io/travis/eggjs/egg-echat.svg?style=flat-square
-[travis-url]: https://travis-ci.org/eggjs/egg-echat
-[codecov-image]: https://img.shields.io/codecov/c/github/eggjs/egg-echat.svg?style=flat-square
-[codecov-url]: https://codecov.io/github/eggjs/egg-echat?branch=master
-[david-image]: https://img.shields.io/david/eggjs/egg-echat.svg?style=flat-square
-[david-url]: https://david-dm.org/eggjs/egg-echat
-[snyk-image]: https://snyk.io/test/npm/egg-echat/badge.svg?style=flat-square
-[snyk-url]: https://snyk.io/test/npm/egg-echat
-[download-image]: https://img.shields.io/npm/dm/egg-echat.svg?style=flat-square
-[download-url]: https://npmjs.org/package/egg-echat
-
-
-
-## 依赖说明
-
-### 依赖的 egg 版本
-
-egg-echat 版本 | egg 1.x
---- | ---
-1.x | 😁
-0.x | ❌
-
-### 依赖的插件
-
-
-## 开启插件
-
-```js
-// config/plugin.js
-exports.echat = {
- enable: true,
- package: 'egg-echat',
-};
-```
-
-## 使用场景
-
-- Why and What: 描述为什么会有这个插件,它主要在完成一件什么事情。
-尽可能描述详细。
-- How: 描述这个插件是怎样使用的,具体的示例代码,甚至提供一个完整的示例,并给出链接。
-
-## 详细配置
-
-请到 [config/config.default.js](config/config.default.js) 查看详细配置项说明。
-
-## 单元测试
-
-
-
-## 提问交流
-
-请到 [egg issues](https://github.com/eggjs/egg/issues) 异步交流。
-
-## License
-
-[MIT](LICENSE)
+# egg-echat
+
+[![NPM version][npm-image]][npm-url]
+[![build status][travis-image]][travis-url]
+[![Test coverage][codecov-image]][codecov-url]
+[![David deps][david-image]][david-url]
+[![Known Vulnerabilities][snyk-image]][snyk-url]
+[![npm download][download-image]][download-url]
+
+[npm-image]: https://img.shields.io/npm/v/egg-echat.svg?style=flat-square
+[npm-url]: https://npmjs.org/package/egg-echat
+[travis-image]: https://img.shields.io/travis/eggjs/egg-echat.svg?style=flat-square
+[travis-url]: https://travis-ci.org/eggjs/egg-echat
+[codecov-image]: https://img.shields.io/codecov/c/github/eggjs/egg-echat.svg?style=flat-square
+[codecov-url]: https://codecov.io/github/eggjs/egg-echat?branch=master
+[david-image]: https://img.shields.io/david/eggjs/egg-echat.svg?style=flat-square
+[david-url]: https://david-dm.org/eggjs/egg-echat
+[snyk-image]: https://snyk.io/test/npm/egg-echat/badge.svg?style=flat-square
+[snyk-url]: https://snyk.io/test/npm/egg-echat
+[download-image]: https://img.shields.io/npm/dm/egg-echat.svg?style=flat-square
+[download-url]: https://npmjs.org/package/egg-echat
+
+
+
+## 依赖说明
+
+### 依赖的 egg 版本
+
+egg-echat 版本 | egg 1.x
+--- | ---
+1.x | 😁
+0.x | ❌
+
+### 依赖的插件
+
+
+## 开启插件
+
+```js
+// config/plugin.js
+exports.echat = {
+ enable: true,
+ package: 'egg-echat',
+};
+```
+
+## 使用场景
+
+- Why and What: 描述为什么会有这个插件,它主要在完成一件什么事情。
+尽可能描述详细。
+- How: 描述这个插件是怎样使用的,具体的示例代码,甚至提供一个完整的示例,并给出链接。
+
+## 详细配置
+
+请到 [config/config.default.js](config/config.default.js) 查看详细配置项说明。
+
+## 单元测试
+
+
+
+## 提问交流
+
+请到 [egg issues](https://github.com/eggjs/egg/issues) 异步交流。
+
+## License
+
+[MIT](LICENSE)
diff --git a/app.js b/app.js
index 3ff42dc..2b00e5a 100644
--- a/app.js
+++ b/app.js
@@ -1,6 +1,6 @@
-module.exports = app => {
- // 将 static 中间件放到 bodyParser 之前
-
- // app.config.coreMiddleware.unshift('echatOauth2');
- // console.log(app.config);
+module.exports = app => {
+ // 将 static 中间件放到 bodyParser 之前
+
+ // app.config.coreMiddleware.unshift('echatOauth2');
+ // console.log(app.config);
};
\ No newline at end of file
diff --git a/app/extend/context.js b/app/extend/context.js
index 11cdc00..6f4183a 100644
--- a/app/extend/context.js
+++ b/app/extend/context.js
@@ -1,23 +1,23 @@
-'use strict';
-
-const Echat = require('../../lib/echat');
-
-module.exports = {
- echat(config) {
-
- config = config || this.app.config.echat;
-
- config = Object.assign(config, this.app.config.echat); //合并配置
-
- config.ctx = this;
-
- const S_echat = Symbol(`Context${config}`);
-
- if (!this[S_echat]) {
- // 例如,从 header 中获取,实际情况肯定更复杂
- this[S_echat] = new Echat(config);
- }
-
- return this[S_echat];
- }
+'use strict';
+
+const Echat = require('../../lib/echat');
+
+module.exports = {
+ echat(config) {
+
+ config = config || this.app.config.echat;
+
+ config = Object.assign(config, this.app.config.echat); //合并配置
+
+ config.ctx = this;
+
+ const S_echat = Symbol(`Context${config}`);
+
+ if (!this[S_echat]) {
+ // 例如,从 header 中获取,实际情况肯定更复杂
+ this[S_echat] = new Echat(config);
+ }
+
+ return this[S_echat];
+ }
};
\ No newline at end of file
diff --git a/app/middleware/echatOauth2.js b/app/middleware/echatOauth2.js
index 303fafc..426821a 100644
--- a/app/middleware/echatOauth2.js
+++ b/app/middleware/echatOauth2.js
@@ -1,46 +1,46 @@
-'use strict';
-
-
-module.exports = (options, app) => {
- console.log('感谢您使用echat插件,本插件主要用于eggjs接入私有化部署的企业微信,详细使用文档:http://www.baidu.com');
-
- return async function (ctx, next) {
- // //判断是否已经登录
- const isEchatAuth = await ctx.service.echatAuth.check();
-
- if (!isEchatAuth) {
- const oauth2 = await ctx.echat().oauth2();
- const code = ctx.query.code;
- if (!code) {
- ctx.unsafeRedirect(await oauth2.redirectUrl());
- return;
- }
-
- function isDetail() {
- let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null) ;
- return scope === 'snsapi_base' ? false : true;
- }
-
- let userInfo = await oauth2.getUserInfo(code, isDetail());
- //删除干扰信息
- delete userInfo.errcode;
- delete userInfo.errmsg;
- delete userInfo.user_ticket;
- delete userInfo.expires_in;
- //存入session
- ctx.session.echat = {
- userid: userInfo.userid,
- name: userInfo.name,
- deviceId: userInfo.DeviceId,
- usertype: userInfo.usertype,
- test: userInfo.test,
- gender: userInfo.gender,
- avatar: userInfo.avatar,
- original: userInfo
- }
-
-
- }
- await next();
- };
+'use strict';
+
+
+module.exports = (options, app) => {
+ console.log('感谢您使用echat插件,本插件主要用于eggjs接入私有化部署的企业微信,详细使用文档:http://www.baidu.com');
+
+ return async function (ctx, next) {
+ // //判断是否已经登录
+ const isEchatAuth = await ctx.service.echatAuth.check();
+
+ if (!isEchatAuth) {
+ const oauth2 = await ctx.echat().oauth2();
+ const code = ctx.query.code;
+ if (!code) {
+ ctx.unsafeRedirect(await oauth2.redirectUrl());
+ return;
+ }
+
+ function isDetail() {
+ let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null) ;
+ return scope === 'snsapi_base' ? false : true;
+ }
+
+ let userInfo = await oauth2.getUserInfo(code, isDetail());
+ //删除干扰信息
+ delete userInfo.errcode;
+ delete userInfo.errmsg;
+ delete userInfo.user_ticket;
+ delete userInfo.expires_in;
+ //存入session
+ ctx.session.echat = {
+ userid: userInfo.userid,
+ name: userInfo.name,
+ deviceId: userInfo.DeviceId,
+ usertype: userInfo.usertype,
+ test: userInfo.test,
+ gender: userInfo.gender,
+ avatar: userInfo.avatar,
+ original: userInfo
+ }
+
+
+ }
+ await next();
+ };
}
\ No newline at end of file
diff --git a/app/service/echatAuth.js b/app/service/echatAuth.js
index 9f9f96c..3729401 100644
--- a/app/service/echatAuth.js
+++ b/app/service/echatAuth.js
@@ -1,19 +1,19 @@
-
-const Service = require('egg').Service;
-
-class EchatAuthService extends Service {
-
- //用户是否已用echat登陆
- async check() {
- const result = await this.ctx.session.echat;
- if (result) {
- return true;
- } else {
- return false;
- }
- }
-
-}
-
-module.exports = EchatAuthService;
-
+
+const Service = require('egg').Service;
+
+class EchatAuthService extends Service {
+
+ //用户是否已用echat登陆
+ async check() {
+ const result = await this.ctx.session.echat;
+ if (result) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+}
+
+module.exports = EchatAuthService;
+
diff --git a/appveyor.yml b/appveyor.yml
index 981e82b..a1f95c9 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,15 +1,15 @@
-environment:
- matrix:
- - nodejs_version: '8'
- - nodejs_version: '10'
-
-install:
- - ps: Install-Product node $env:nodejs_version
- - npm i npminstall && node_modules\.bin\npminstall
-
-test_script:
- - node --version
- - npm --version
- - npm run test
-
-build: off
+environment:
+ matrix:
+ - nodejs_version: '8'
+ - nodejs_version: '10'
+
+install:
+ - ps: Install-Product node $env:nodejs_version
+ - npm i npminstall && node_modules\.bin\npminstall
+
+test_script:
+ - node --version
+ - npm --version
+ - npm run test
+
+build: off
diff --git a/config/config.default.js b/config/config.default.js
index edbdfe8..78b5698 100644
--- a/config/config.default.js
+++ b/config/config.default.js
@@ -1,34 +1,34 @@
-'use strict';
-
-/**
- * egg-echat default config
- * @member Config#echat
- * @property {String} SOME_KEY - some description
- */
-exports.echat = {
- cache: {
- flag: 'echat',
- // driver: 'redis'
- },
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8081', //请勿带 " / "
- CorpID: 'hshagdjhsa454',
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize',
- // UserApiSecret: ' ',
- // AgentApiSecret: ' ',
- // DeviceApiSecret: ' ',
- // LogApiSecret: ' ',
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面
- }
- // redirect_domain: '', //可信域名、不写http(https)协议
- // home_url: '', //主页链接,若没有则不写 写http(https)协议
- },
+'use strict';
+
+/**
+ * egg-echat default config
+ * @member Config#echat
+ * @property {String} SOME_KEY - some description
+ */
+exports.echat = {
+ cache: {
+ flag: 'echat',
+ // driver: 'redis'
+ },
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8081', //请勿带 " / "
+ CorpID: 'hshagdjhsa454',
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize',
+ // UserApiSecret: ' ',
+ // AgentApiSecret: ' ',
+ // DeviceApiSecret: ' ',
+ // LogApiSecret: ' ',
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面
+ }
+ // redirect_domain: '', //可信域名、不写http(https)协议
+ // home_url: '', //主页链接,若没有则不写 写http(https)协议
+ },
};
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index f0e0b07..91b5674 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,23 +1,25 @@
-`egg-echat` 是一个基于 `eggjs `框架的 私有化部署版-企业微信 **非官方** SDK。
-
-`egg-echat` 的安装非常简单,由于它是一个标准的 `egg-plugin` 包,这意味着,可以很方便的在 `eggjs` 中应用。当然在其他框架也可以用,`echat` 标准的 `npm` 包正在开发中...。
-
-> 当前版本: 1.0.8
-
-#### 更新日志
-
-- v 1.0.8 (2020年6月3日)
- - 修复文档 jssdk 错误
- - 优化 oAuth2 使用说明
- - 优化 配置文件 apiUrl 强制要求,后边加不加 / 都可以了,哈P
-
-- v 1.0.7
- - 修复发送消息卡片推送格式问题
-
-#### 环境要求
-> - [Node.js](https://nodejs.org/zh-cn/): >= 8.0.0
-> - [egg-js](http://php.net/manual/en/book.curl.php): >= 2.x
-
-#### 联系我
-
+`egg-echat` 是一个基于 `eggjs `框架的 私有化部署版-企业微信 **非官方** SDK。
+
+`egg-echat` 的安装非常简单,由于它是一个标准的 `egg-plugin` 包,这意味着,可以很方便的在 `eggjs` 中应用。当然在其他框架也可以用,`echat` 标准的 `npm` 包正在开发中...。
+
+> 当前版本: 1.0.8
+
+#### 更新日志
+
+- v 1.0.9 (2020年6月5日)
+ - 仅仅更新了文档
+- v 1.0.8 (2020年6月3日)
+ - 修复文档 jssdk 错误
+ - 优化 oAuth2 使用说明
+ - 优化 配置文件 apiUrl 强制要求,后边加不加 / 都可以了,哈P
+
+- v 1.0.7
+ - 修复发送消息卡片推送格式问题
+
+#### 环境要求
+> - [Node.js](https://nodejs.org/zh-cn/): >= 8.0.0
+> - [egg-js](http://php.net/manual/en/book.curl.php): >= 2.x
+
+#### 联系我
+
shijf_private@163.com
\ No newline at end of file
diff --git a/docs/_coverpage.md b/docs/_coverpage.md
index bba6f19..e4f8259 100644
--- a/docs/_coverpage.md
+++ b/docs/_coverpage.md
@@ -1,12 +1,12 @@
-
-
-# docsify
-
-> A magical documentation site generator.
-
-* Simple and lightweight (~12kb gzipped)
-* Multiple themes
-* Not build static html files
-
-[GitHub](https://github.com/docsifyjs/docsify/)
+
+
+# docsify
+
+> A magical documentation site generator.
+
+* Simple and lightweight (~12kb gzipped)
+* Multiple themes
+* Not build static html files
+
+[GitHub](https://github.com/docsifyjs/docsify/)
[Get Started](#quick-start)
\ No newline at end of file
diff --git a/docs/_navbar.md b/docs/_navbar.md
index 32898f8..c7772e0 100644
--- a/docs/_navbar.md
+++ b/docs/_navbar.md
@@ -1,6 +1,6 @@
-* 指南
- * [快速入门](echat/index.md)
-* 配置
- - [单应用配置](/echat/sig_config.md)
- - [多应用配置](/echat/mult_config.md)
+* 指南
+ * [快速入门](echat/index.md)
+* 配置
+ - [单应用配置](/echat/sig_config.md)
+ - [多应用配置](/echat/mult_config.md)
* Blog
\ No newline at end of file
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 7d6b1d5..d8e8d64 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -1,35 +1,35 @@
-- 开始使用
- - [概述](/)
- - [安装](echat/install.md)
- - [快速入门](echat/index.md)
- - [常见问题汇总](echat/issue.md)
-- 配置
- - [单应用配置](/echat/sig_config.md)
- - [多应用配置](/echat/mult_config.md)
-- 常用的接口开发
- - [服务器消息配置](echat/server.md)
- - [网页授权](echat/oAuth2.md)
- - [消息发送](echat/message.md)
- - [jssdk](echat/jssdk.md)
-
-- 通讯录
- - [概述](echat/contacts/index.md)
- - [成员管理](echat/contacts/user/user.md)
- - [部门管理](echat/contacts/department/department.md)
- - [标签管理](echat/contacts/tags/tag.md)
-- 应用管理
- - [概述](echat/agents/index.md)
- - [应用管理](echat/agents/manger/manger.md)
- - [底部菜单设置](echat/agents/menu/menu.md)
- - [分组管理](echat/agents/group/group.md)
-- 消息推送
- - [主动发送消息](echat/message.md)
- - [接收消息服务器配置](echat/server.md)
- - [服务器推送的消息接收](echat/serverMsg.md)
- - [服务器推送的事件接收](echat/serverEvent.md)
-- 网页开发
- - [JS-SDK](echat/jssdk.md)
-- 后续内容
- - [公众号](expect.md)
- - [小程序](expect.md)
- - [微信支付](expect.md)
+- 开始使用
+ - [概述](/)
+ - [安装](echat/install.md)
+ - [快速入门](echat/index.md)
+ - [常见问题汇总](echat/issue.md)
+- 配置
+ - [单应用配置](/echat/sig_config.md)
+ - [多应用配置](/echat/mult_config.md)
+- 常用的接口开发
+ - [服务器消息配置](echat/server.md)
+ - [网页授权](echat/oAuth2.md)
+ - [消息发送](echat/message.md)
+ - [jssdk](echat/jssdk.md)
+
+- 通讯录
+ - [概述](echat/contacts/index.md)
+ - [成员管理](echat/contacts/user/user.md)
+ - [部门管理](echat/contacts/department/department.md)
+ - [标签管理](echat/contacts/tags/tag.md)
+- 应用管理
+ - [概述](echat/agents/index.md)
+ - [应用管理](echat/agents/manger/manger.md)
+ - [底部菜单设置](echat/agents/menu/menu.md)
+ - [分组管理](echat/agents/group/group.md)
+- 消息推送
+ - [主动发送消息](echat/message.md)
+ - [接收消息服务器配置](echat/server.md)
+ - [服务器推送的消息接收](echat/serverMsg.md)
+ - [服务器推送的事件接收](echat/serverEvent.md)
+- 网页开发
+ - [JS-SDK](echat/jssdk.md)
+- 后续内容
+ - [公众号](expect.md)
+ - [小程序](expect.md)
+ - [微信支付](expect.md)
diff --git a/docs/echat/agents/group/group.md b/docs/echat/agents/group/group.md
index b979263..b4002b7 100644
--- a/docs/echat/agents/group/group.md
+++ b/docs/echat/agents/group/group.md
@@ -1,63 +1,63 @@
-## 应用分组管理 {docsify-ignore}
-
-#### 设置工作台展示方式
-
-> - show_type 1:九宫格格式; 0:列表格式
-
-```js
-await echat.agents().group.setWorkBench(show_type);
-```
-
-#### 创建应用分组
-
-> - groupName 要增加的分组名称
-
-```js
-await echat.agents().group.create(groupName);
-```
-#### 更新组名称
-
-> - obj 对象
- - groupid 应用分组的id [必填参数]
- - name 应用分组的名字, 1-16个字符
- - order 应用分组的排序,有效的值范围是(0, 2^32)
-
-```js
-let dataInfo = {
- groupid: 456,
- name: '测试组',
- order: 5
-}
-
-await echat.agents().group.update(dataInfo);
-```
-
-#### 删除分组名称
-
-```js
-await echat.agents().group.delete(groupid);
-```
-
-#### 增加分组应用
-```js
-await echat.agents().group.addApps(groupid, [
- 12, 35 // 需要添加的应用id 列表
-]);
-```
-
-#### 从组中移除应用
-> tip:分组中移除的应用被添加到默认分组
-
-```js
-await echat.agents().group.removeApp(groupid, agentid);
-```
-#### 获取分组列表
-```js
-await echat.agents().group.groupList();
-```
-
-#### 获取指定分组的应用列表
-
-```js
-await echat.agents().group.appList(groupid);
+## 应用分组管理 {docsify-ignore}
+
+#### 设置工作台展示方式
+
+> - show_type 1:九宫格格式; 0:列表格式
+
+```js
+await echat.agents().group.setWorkBench(show_type);
+```
+
+#### 创建应用分组
+
+> - groupName 要增加的分组名称
+
+```js
+await echat.agents().group.create(groupName);
+```
+#### 更新组名称
+
+> - obj 对象
+ - groupid 应用分组的id [必填参数]
+ - name 应用分组的名字, 1-16个字符
+ - order 应用分组的排序,有效的值范围是(0, 2^32)
+
+```js
+let dataInfo = {
+ groupid: 456,
+ name: '测试组',
+ order: 5
+}
+
+await echat.agents().group.update(dataInfo);
+```
+
+#### 删除分组名称
+
+```js
+await echat.agents().group.delete(groupid);
+```
+
+#### 增加分组应用
+```js
+await echat.agents().group.addApps(groupid, [
+ 12, 35 // 需要添加的应用id 列表
+]);
+```
+
+#### 从组中移除应用
+> tip:分组中移除的应用被添加到默认分组
+
+```js
+await echat.agents().group.removeApp(groupid, agentid);
+```
+#### 获取分组列表
+```js
+await echat.agents().group.groupList();
+```
+
+#### 获取指定分组的应用列表
+
+```js
+await echat.agents().group.appList(groupid);
```
\ No newline at end of file
diff --git a/docs/echat/agents/index.md b/docs/echat/agents/index.md
index 548a5c9..b11cf07 100644
--- a/docs/echat/agents/index.md
+++ b/docs/echat/agents/index.md
@@ -1,29 +1,29 @@
-## 概述 {docsify-ignore}
-
-应用具备以下能力:
-
-### 收发消息
-
-以普通会话的形式存在,可推送消息、接收消息,也可以设置自定义菜单。
-
-- 通过“消息推送”API,推送应用消息给企业成员
-- 开启“接收消息”,员工进入应用、发送消息、操作菜单等动作会以事件的方式转发给企业的应用后台
-- 自定义7种个性化菜单
-
-### 应用主页
-
-应用主页是一个H5网页,配置以后就会出现在工作台,点击以后直接进入H5网页。
-- Oauth2用户身份识别。
-- JS-SDK调用原生客户端Native的能力。
-### 授权登录
-
-企业已有的Web网页、移动APP,可以使用企业微信的帐号登录。
-
-- 扫一扫授权登录Web网页
-- 嵌入登录SDK,一键登录移动APP
-
-### 开始开发
-
-- 1. 需要管理员提前创建好应用之后,便可拿到agentid和secret,针对应用管理上,能有效调用 非绿色字样 的6接口。对其他应用管理接口无操作能力。
-- 2. 设置应用logo、名称、描述、可见范围等。一种方式可以同管理员在后台操作,还有一种就是通过api去设置,不过要想操作奇特非绿色字样的api,需要管理员在后台开启应用管理助手(进入企业微信管理后台,在“管理工具” — “应用管理助手”开启“应用管理助手”),便可拿到AgentSecret,并写到配置文件里去。应用管理助手的凭证拥有应用管理所有接口的调用权限。
-
+## 概述 {docsify-ignore}
+
+应用具备以下能力:
+
+### 收发消息
+
+以普通会话的形式存在,可推送消息、接收消息,也可以设置自定义菜单。
+
+- 通过“消息推送”API,推送应用消息给企业成员
+- 开启“接收消息”,员工进入应用、发送消息、操作菜单等动作会以事件的方式转发给企业的应用后台
+- 自定义7种个性化菜单
+
+### 应用主页
+
+应用主页是一个H5网页,配置以后就会出现在工作台,点击以后直接进入H5网页。
+- Oauth2用户身份识别。
+- JS-SDK调用原生客户端Native的能力。
+### 授权登录
+
+企业已有的Web网页、移动APP,可以使用企业微信的帐号登录。
+
+- 扫一扫授权登录Web网页
+- 嵌入登录SDK,一键登录移动APP
+
+### 开始开发
+
+- 1. 需要管理员提前创建好应用之后,便可拿到agentid和secret,针对应用管理上,能有效调用 非绿色字样 的6接口。对其他应用管理接口无操作能力。
+- 2. 设置应用logo、名称、描述、可见范围等。一种方式可以同管理员在后台操作,还有一种就是通过api去设置,不过要想操作奇特非绿色字样的api,需要管理员在后台开启应用管理助手(进入企业微信管理后台,在“管理工具” — “应用管理助手”开启“应用管理助手”),便可拿到AgentSecret,并写到配置文件里去。应用管理助手的凭证拥有应用管理所有接口的调用权限。
+
diff --git a/docs/echat/agents/manger/manger.md b/docs/echat/agents/manger/manger.md
index e1f0a9e..9ad48d7 100644
--- a/docs/echat/agents/manger/manger.md
+++ b/docs/echat/agents/manger/manger.md
@@ -1,174 +1,174 @@
-## 应用管理 {docsify-ignore}
-
-#### 创建应用
-
-> - *report_location_flag* 企业应用是否打开地理位置上报 0:不上报;1:进入会话上报;
-> - *logo_mediaid* 企业应用头像的mediaid,通过多媒体接口上传图片获得mediaid,上传后会自动裁剪成方形和圆形两个头像 必须参数
-> - *name* 企业应用名称,1~32个字符 必须参数
-> - *description* 企业应用详情,4~120个字符
-> - *redirect_domain* 企业应用可信域名 ,多个用 ‘|’隔开,原企业微信没有写,但是从获取的应用信息来看,是这样的 :)
-> - *isreportenter* 是否上报用户进入应用事件。0:不接收;1:接收。
-> - *home_url* 主页连接
-> - *isforbidden* 应用是否关闭,0:开启,1关闭
-> - *allow_userinfos* 允许的用户列表
- - user 数组对象
-
-示例:
-```js
-user: [
- {
- "userid": "userid1"
- },{
- "userid": "userid2"
- },
- ...
-]
-```
-> - *allow_partys* 允许的部门列表
- - partyid 数组
-
-示例:
-
-```js
-partyid: [
- 1,34
-]
-```
-
-> - *allow_tags* 允许的标签列表
- - tagid 标签id列表
-
-```js
-tagid : [
- 33,35
-]
-```
-
-完整示例:
-
-```js
-let data = {
- report_location_flag: 0,
- logo_mediaid: "xxxxx",
- name: "NAME",
- description: "DESC",
- redirect_domain: "xxxxxx",
- isreportenter:0,
- home_url:"http://www.qq.com",
- isforbidden:0 ,
- allow_userinfos: {
- user: [
- {
- userid: "userid1"
- },
- {
- userid: "userid2"
- }
- ]
- },
- allow_partys: {
- partyid: [
- 1,34
- ]
- },
- allow_tags: {
- tagid: [
- 33
- ]
- }
-}
-//新增应用
-await echat.agents().manger.create(data);
-```
-
-#### 获取应用信息
-
-> - agentid 需要获取的应用id 在非应用管理密钥的情况下,可不填写 agentid,则会默认为当前的应用的 agentid,下文中有涉及agentid的也同样适用
-
-```js
-await echat.agents().manger.get(agentid);
-
-
-```
-
-#### 获取应用列表
-
-```js
-await echat.agents().manger.list();
-```
-
-#### 设置(更新)应用信息
-此处仅演示设置主页链接,其他的字段参考[创建应用](/echat/agents/manger/manger?id=创建应用)的字段。
-```js
-//
-
-let data = {
- agentid: 1800454, //必填,若没有则默认为当期的应用id
- home_url: 'https://www.ebchina.com' //设置(更新)主页连接
-};
-
-await echat.agents().manger.set(data);
-```
-
-#### 删除应用
-> - *agentid* 应用id
-```js
-await echat.agents().manger.delete(agentid);
-```
-
-#### 启用/停用应用
-> - *agentid* 应用id
-
-```js
-//启用
-await echat.agents().manger.open(agentid);
-//停用
-await echat.agents().manger.close(agentid);
-```
-返回结果
-
-```js
-{
- "errcode": 0,
- "errmsg": "ok",
- //启用/停用应用的应用密钥
- "secret": "9hjZ-dlI3wKjDeuyVv_5AjUGwE7TP0w8BB-tjsQIceA"
-}
-```
-
-#### 重置应用secret
-
-```js
-await echat.agents().manger.resetSecret(agentid);
-```
-
-#### 开启/更新应用回调
-
-> - token 可任意填写,用于生成签名(长度为3~32之间的英文或数字)
-> - aeskey 用于消息体的加密,是AES密钥的Base64编码(43位的英文或数字)
-
-```js
-let callData = {
- callback_url: 'http://xxx.xxx.xxx',
- token: 'hJqcu3uJ9Tn2gXPmxx2w9kkCkCE2EPYo',
- aeskey: '6qkdMrq68nTKduznJYO1A37W2oEgpkMUvkttRToqhUt',
- agentid: 1854575
-}
-//开启
-await echat.agents().manger.openCallback(callData);
-//更新
-await echat.agents().manger.updateCallback(callData);
-```
-
-#### 停用应用回调
-
-```js
-await echat.agents().manger.closecallback(agentid);
-```
-
-
-
-
-
-
-
+## 应用管理 {docsify-ignore}
+
+#### 创建应用
+
+> - *report_location_flag* 企业应用是否打开地理位置上报 0:不上报;1:进入会话上报;
+> - *logo_mediaid* 企业应用头像的mediaid,通过多媒体接口上传图片获得mediaid,上传后会自动裁剪成方形和圆形两个头像 必须参数
+> - *name* 企业应用名称,1~32个字符 必须参数
+> - *description* 企业应用详情,4~120个字符
+> - *redirect_domain* 企业应用可信域名 ,多个用 ‘|’隔开,原企业微信没有写,但是从获取的应用信息来看,是这样的 :)
+> - *isreportenter* 是否上报用户进入应用事件。0:不接收;1:接收。
+> - *home_url* 主页连接
+> - *isforbidden* 应用是否关闭,0:开启,1关闭
+> - *allow_userinfos* 允许的用户列表
+ - user 数组对象
+
+示例:
+```js
+user: [
+ {
+ "userid": "userid1"
+ },{
+ "userid": "userid2"
+ },
+ ...
+]
+```
+> - *allow_partys* 允许的部门列表
+ - partyid 数组
+
+示例:
+
+```js
+partyid: [
+ 1,34
+]
+```
+
+> - *allow_tags* 允许的标签列表
+ - tagid 标签id列表
+
+```js
+tagid : [
+ 33,35
+]
+```
+
+完整示例:
+
+```js
+let data = {
+ report_location_flag: 0,
+ logo_mediaid: "xxxxx",
+ name: "NAME",
+ description: "DESC",
+ redirect_domain: "xxxxxx",
+ isreportenter:0,
+ home_url:"http://www.qq.com",
+ isforbidden:0 ,
+ allow_userinfos: {
+ user: [
+ {
+ userid: "userid1"
+ },
+ {
+ userid: "userid2"
+ }
+ ]
+ },
+ allow_partys: {
+ partyid: [
+ 1,34
+ ]
+ },
+ allow_tags: {
+ tagid: [
+ 33
+ ]
+ }
+}
+//新增应用
+await echat.agents().manger.create(data);
+```
+
+#### 获取应用信息
+
+> - agentid 需要获取的应用id 在非应用管理密钥的情况下,可不填写 agentid,则会默认为当前的应用的 agentid,下文中有涉及agentid的也同样适用
+
+```js
+await echat.agents().manger.get(agentid);
+
+
+```
+
+#### 获取应用列表
+
+```js
+await echat.agents().manger.list();
+```
+
+#### 设置(更新)应用信息
+此处仅演示设置主页链接,其他的字段参考[创建应用](/echat/agents/manger/manger?id=创建应用)的字段。
+```js
+//
+
+let data = {
+ agentid: 1800454, //必填,若没有则默认为当期的应用id
+ home_url: 'https://www.ebchina.com' //设置(更新)主页连接
+};
+
+await echat.agents().manger.set(data);
+```
+
+#### 删除应用
+> - *agentid* 应用id
+```js
+await echat.agents().manger.delete(agentid);
+```
+
+#### 启用/停用应用
+> - *agentid* 应用id
+
+```js
+//启用
+await echat.agents().manger.open(agentid);
+//停用
+await echat.agents().manger.close(agentid);
+```
+返回结果
+
+```js
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ //启用/停用应用的应用密钥
+ "secret": "9hjZ-dlI3wKjDeuyVv_5AjUGwE7TP0w8BB-tjsQIceA"
+}
+```
+
+#### 重置应用secret
+
+```js
+await echat.agents().manger.resetSecret(agentid);
+```
+
+#### 开启/更新应用回调
+
+> - token 可任意填写,用于生成签名(长度为3~32之间的英文或数字)
+> - aeskey 用于消息体的加密,是AES密钥的Base64编码(43位的英文或数字)
+
+```js
+let callData = {
+ callback_url: 'http://xxx.xxx.xxx',
+ token: 'hJqcu3uJ9Tn2gXPmxx2w9kkCkCE2EPYo',
+ aeskey: '6qkdMrq68nTKduznJYO1A37W2oEgpkMUvkttRToqhUt',
+ agentid: 1854575
+}
+//开启
+await echat.agents().manger.openCallback(callData);
+//更新
+await echat.agents().manger.updateCallback(callData);
+```
+
+#### 停用应用回调
+
+```js
+await echat.agents().manger.closecallback(agentid);
+```
+
+
+
+
+
+
+
diff --git a/docs/echat/agents/menu/menu.md b/docs/echat/agents/menu/menu.md
index e031dc6..a7411af 100644
--- a/docs/echat/agents/menu/menu.md
+++ b/docs/echat/agents/menu/menu.md
@@ -1,103 +1,103 @@
-## 应用底部菜单 {docsify-ignore}
-
-#### 获取当前/某个应用的菜单配置
-
-```js
-await echat.agents().menu.get(agentid); //agentid , 不填则为当期的应用
-```
-
-#### 设置应用菜单
-
-示例:构造click和view类型的请求包如下
-
-```json
-{
- "button":[
- {
- "type":"click",
- "name":"今日歌曲",
- "key":"V1001_TODAY_MUSIC"
- },
- {
- "name":"菜单",
- "sub_button":[
- {
- "type":"view",
- "name":"搜索",
- "url":"http://www.soso.com/"
- },
- {
- "type":"click",
- "name":"赞一下我们",
- "key":"V1001_GOOD"
- }
- ]
- }
- ]
-}
-```
-
-示例:其他新增按钮类型的请求
-
-```json
-{
- "button": [
- {
- "name": "扫码",
- "sub_button": [
- {
- "type": "scancode_waitmsg",
- "name": "扫码带提示",
- "key": "rselfmenu_0_0",
- "sub_button": [ ]
- },
- {
- "type": "scancode_push",
- "name": "扫码推事件",
- "key": "rselfmenu_0_1",
- "sub_button": [ ]
- }
- ]
- },
- {
- "name": "发图",
- "sub_button": [
- {
- "type": "pic_sysphoto",
- "name": "系统拍照发图",
- "key": "rselfmenu_1_0",
- "sub_button": [ ]
- },
- {
- "type": "pic_photo_or_album",
- "name": "拍照或者相册发图",
- "key": "rselfmenu_1_1",
- "sub_button": [ ]
- },
- {
- "type": "pic_weixin",
- "name": "微信相册发图",
- "key": "rselfmenu_1_2",
- "sub_button": [ ]
- }
- ]
- },
- {
- "name": "发送位置",
- "type": "location_select",
- "key": "rselfmenu_2_0"
- }
- ]
-}
-```
-> - menuData 菜单配置项,具体参考为上述的示例json,只需将转换为js对象即可
-```js
-await echat.agents().menu.create(menuData);
-```
-
-##### 删除应用菜单
-
-```js
-await echat.agents().menu.delete(agentid);
-```
-
+## 应用底部菜单 {docsify-ignore}
+
+#### 获取当前/某个应用的菜单配置
+
+```js
+await echat.agents().menu.get(agentid); //agentid , 不填则为当期的应用
+```
+
+#### 设置应用菜单
+
+示例:构造click和view类型的请求包如下
+
+```json
+{
+ "button":[
+ {
+ "type":"click",
+ "name":"今日歌曲",
+ "key":"V1001_TODAY_MUSIC"
+ },
+ {
+ "name":"菜单",
+ "sub_button":[
+ {
+ "type":"view",
+ "name":"搜索",
+ "url":"http://www.soso.com/"
+ },
+ {
+ "type":"click",
+ "name":"赞一下我们",
+ "key":"V1001_GOOD"
+ }
+ ]
+ }
+ ]
+}
+```
+
+示例:其他新增按钮类型的请求
+
+```json
+{
+ "button": [
+ {
+ "name": "扫码",
+ "sub_button": [
+ {
+ "type": "scancode_waitmsg",
+ "name": "扫码带提示",
+ "key": "rselfmenu_0_0",
+ "sub_button": [ ]
+ },
+ {
+ "type": "scancode_push",
+ "name": "扫码推事件",
+ "key": "rselfmenu_0_1",
+ "sub_button": [ ]
+ }
+ ]
+ },
+ {
+ "name": "发图",
+ "sub_button": [
+ {
+ "type": "pic_sysphoto",
+ "name": "系统拍照发图",
+ "key": "rselfmenu_1_0",
+ "sub_button": [ ]
+ },
+ {
+ "type": "pic_photo_or_album",
+ "name": "拍照或者相册发图",
+ "key": "rselfmenu_1_1",
+ "sub_button": [ ]
+ },
+ {
+ "type": "pic_weixin",
+ "name": "微信相册发图",
+ "key": "rselfmenu_1_2",
+ "sub_button": [ ]
+ }
+ ]
+ },
+ {
+ "name": "发送位置",
+ "type": "location_select",
+ "key": "rselfmenu_2_0"
+ }
+ ]
+}
+```
+> - menuData 菜单配置项,具体参考为上述的示例json,只需将转换为js对象即可
+```js
+await echat.agents().menu.create(menuData);
+```
+
+##### 删除应用菜单
+
+```js
+await echat.agents().menu.delete(agentid);
+```
+
diff --git a/docs/echat/contacts/department/department.md b/docs/echat/contacts/department/department.md
index 7829636..ffdda1c 100644
--- a/docs/echat/contacts/department/department.md
+++ b/docs/echat/contacts/department/department.md
@@ -1,49 +1,49 @@
-## 部门管理 {docsify-ignore}
-
-#### 创建部门
-
-> - *name* 部门名称。长度限制为1~128个字符,字符不能包括\:?”<>|
-> - *parentid* 父部门id,32位整型
-> - *order* 在父部门中的次序值。order值大的排序靠前。有效的值范围是[0, 2^32)
-> - *id* 部门id,32位整型,指定时必须大于1。若不填该参数,将自动生成id
-
-
-```js
-let data = {
- name "广州研发中心",
- parentid: 1,
- order: 1,
- id: 2
-}
-
-await echat.contacts().department.create(data);
-```
-#### 更新部门
-
-```js
-let data = {
- "id": 2,
- "name": "广州研发中心",
- "parentid": 1,
- "order": 1
-}
-
-
-await echat.contacts().department.update(data);
-```
-#### 删除部门
-
-> - *departmentId* 部门id
-
-```js
-await echat.contacts().department.delete(departmentId);
-```
-
-#### 获取部门列表
-
-
-> - *departmentId* 部门id, 获取指定部门及其下的子部门。 如果不填,默认获取全量组织架构 (注:不能删除根部门;不能删除含有子部门、成员的部门)
-
-```js
-await echat.contacts().department.list(departmentId);
-```
+## 部门管理 {docsify-ignore}
+
+#### 创建部门
+
+> - *name* 部门名称。长度限制为1~128个字符,字符不能包括\:?”<>|
+> - *parentid* 父部门id,32位整型
+> - *order* 在父部门中的次序值。order值大的排序靠前。有效的值范围是[0, 2^32)
+> - *id* 部门id,32位整型,指定时必须大于1。若不填该参数,将自动生成id
+
+
+```js
+let data = {
+ name "广州研发中心",
+ parentid: 1,
+ order: 1,
+ id: 2
+}
+
+await echat.contacts().department.create(data);
+```
+#### 更新部门
+
+```js
+let data = {
+ "id": 2,
+ "name": "广州研发中心",
+ "parentid": 1,
+ "order": 1
+}
+
+
+await echat.contacts().department.update(data);
+```
+#### 删除部门
+
+> - *departmentId* 部门id
+
+```js
+await echat.contacts().department.delete(departmentId);
+```
+
+#### 获取部门列表
+
+
+> - *departmentId* 部门id, 获取指定部门及其下的子部门。 如果不填,默认获取全量组织架构 (注:不能删除根部门;不能删除含有子部门、成员的部门)
+
+```js
+await echat.contacts().department.list(departmentId);
+```
diff --git a/docs/echat/contacts/index.md b/docs/echat/contacts/index.md
index 7977359..b09cb14 100644
--- a/docs/echat/contacts/index.md
+++ b/docs/echat/contacts/index.md
@@ -1,12 +1,12 @@
-使用通讯录管理接口,原则上需要使用通讯录管理 secret,不过也可以使用应用 secret。
-但是其它应用 secret 只能进行 “查询” 非写操作( 绿色字样 ),而且只能操作应用可见范围内的通讯录。
-
-在需要用到 “写操作” 时,需要到服务器管理后台获得通讯录的 secret。
-
-- 1、进入本地版管理后台,在“管理工具” — “通讯录同步助手”开启“API接口同步”
-
- 
-
-- 2、开启后,可设置通讯录API的权限:读取或者编辑通讯录
-
+使用通讯录管理接口,原则上需要使用通讯录管理 secret,不过也可以使用应用 secret。
+但是其它应用 secret 只能进行 “查询” 非写操作( 绿色字样 ),而且只能操作应用可见范围内的通讯录。
+
+在需要用到 “写操作” 时,需要到服务器管理后台获得通讯录的 secret。
+
+- 1、进入本地版管理后台,在“管理工具” — “通讯录同步助手”开启“API接口同步”
+
+ 
+
+- 2、开启后,可设置通讯录API的权限:读取或者编辑通讯录
+

\ No newline at end of file
diff --git a/docs/echat/contacts/tags/tag.md b/docs/echat/contacts/tags/tag.md
index c85a80a..16d7185 100644
--- a/docs/echat/contacts/tags/tag.md
+++ b/docs/echat/contacts/tags/tag.md
@@ -1,81 +1,81 @@
-## 标签管理 {docsify-ignore}
-
-#### 获取标签列表
-
-```js
-await echat.contacts().tag.list();
-```
-
-#### 创建标签
-
-> - tagName 标签名称,长度限制为32个字(汉字或英文字母),标签名不可与其他标签重名。
-> - tagId 标签id,非负整型,指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
-
-```js
-await echat.contacts().tag.create();
-```
-返回结果:
-```json
-{ errcode: 0, errmsg: 'created', tagid: 30 } //返回 创建的标签id
-```
-
-#### 更新标签名字
-
-> - tagId 标签ID,必填
-> - tagName 要更新的标签名称,必填
-
-```js
-await echat.contacts().tag.update(tagId, tagName);
-```
-#### 删除标签
-
-> - tagId 标签ID,必填
-
-```js
-await echat.contacts().tag.delete(tagId);
-```
-
-#### 获取标签成员(标签详情)
-> - tagId 标签ID,必填
-
-```js
-await echat.contacts().tag.get(tagId);
-```
-#### 增加标签成员
-> - tagId 标签 id ,必填
-> - userid00* 用户id
-> - departmentid00* 部门id
-
-第一个参数是标签id, 后边的参数为成员或部门列表,示例如下:
-```js
-await echat.contacts().tag.tagAddUsers(tagId, userid001, userid002, ...);
-//or
-await echat.contacts().tag.tagAddUsers(tagId, ['userid001', 'userid002', ...]);
-
-//指定部门
-await echat.contacts().tag.tagAddDepartments(tagId, departmentid001, departmentid002, ...);
-//or
-await echat.contacts().tag.tagAddDepartments(tagId, ['departmentid001', 'departmentid002', ...]);
-```
-
-#### 删除标签成员
-
-> - tagId 标签 id ,必填
-> - userid00* 用户id
-> - departmentid00* 部门id
-
-第一个参数是标签id, 后边的参数为成员或部门列表,示例如下:
-```js
-await echat.contacts().tag.tagDeleteUsers(tagId, userid001, userid002, ...);
-//or
-await echat.contacts().tag.tagDeleteUsers(tagId, ['userid001', 'userid002', ...]);
-
-//指定部门
-await echat.contacts().tag.tagDeleteDepartments(tagId, departmentid001, departmentid002, ...);
-//or
-await echat.contacts().tag.tagDeleteDepartments(tagId, ['departmentid001', 'departmentid002', ...]);
-```
-
-
-
-
+## 标签管理 {docsify-ignore}
+
+#### 获取标签列表
+
+```js
+await echat.contacts().tag.list();
+```
+
+#### 创建标签
+
+> - tagName 标签名称,长度限制为32个字(汉字或英文字母),标签名不可与其他标签重名。
+> - tagId 标签id,非负整型,指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
+
+```js
+await echat.contacts().tag.create();
+```
+返回结果:
+```json
+{ errcode: 0, errmsg: 'created', tagid: 30 } //返回 创建的标签id
+```
+
+#### 更新标签名字
+
+> - tagId 标签ID,必填
+> - tagName 要更新的标签名称,必填
+
+```js
+await echat.contacts().tag.update(tagId, tagName);
+```
+#### 删除标签
+
+> - tagId 标签ID,必填
+
+```js
+await echat.contacts().tag.delete(tagId);
+```
+
+#### 获取标签成员(标签详情)
+> - tagId 标签ID,必填
+
+```js
+await echat.contacts().tag.get(tagId);
+```
+#### 增加标签成员
+> - tagId 标签 id ,必填
+> - userid00* 用户id
+> - departmentid00* 部门id
+
+第一个参数是标签id, 后边的参数为成员或部门列表,示例如下:
+```js
+await echat.contacts().tag.tagAddUsers(tagId, userid001, userid002, ...);
+//or
+await echat.contacts().tag.tagAddUsers(tagId, ['userid001', 'userid002', ...]);
+
+//指定部门
+await echat.contacts().tag.tagAddDepartments(tagId, departmentid001, departmentid002, ...);
+//or
+await echat.contacts().tag.tagAddDepartments(tagId, ['departmentid001', 'departmentid002', ...]);
+```
+
+#### 删除标签成员
+
+> - tagId 标签 id ,必填
+> - userid00* 用户id
+> - departmentid00* 部门id
+
+第一个参数是标签id, 后边的参数为成员或部门列表,示例如下:
+```js
+await echat.contacts().tag.tagDeleteUsers(tagId, userid001, userid002, ...);
+//or
+await echat.contacts().tag.tagDeleteUsers(tagId, ['userid001', 'userid002', ...]);
+
+//指定部门
+await echat.contacts().tag.tagDeleteDepartments(tagId, departmentid001, departmentid002, ...);
+//or
+await echat.contacts().tag.tagDeleteDepartments(tagId, ['departmentid001', 'departmentid002', ...]);
+```
+
+
+
+
diff --git a/docs/echat/contacts/user/user.md b/docs/echat/contacts/user/user.md
index f82eb39..4c7529d 100644
--- a/docs/echat/contacts/user/user.md
+++ b/docs/echat/contacts/user/user.md
@@ -1,114 +1,114 @@
-## 成员管理 {docsify-ignore}
-
-
-#### 读取成员
-
-> - userId 用户id
-> - avatar_addr 用户头像 1.外网链接 2.内网链接 默认为内网,一般如果只是在企业微信内部打开H5页面,则不用填写此参数,企业微信会自动匹配连接,并获取到头像信息。
-
-```js
-const user = await echat.contacts().user.get(userId, avatar_addr);
-```
-#### 更新成员
-> - userId 用户id
-> - data 修改的用户数据
- data的数据格式:
-
- ```json
- //最好根据当前的企业的数据格式,可先通过get(userId)获取当前的企业数据格式,后进行更新。
- {
- "name": "李四",
- "department": [1],
- "order": [10],
- "position": "后台工程师",
- "mobile": "15913215421",
- "gender": "1",
- "email": "zhangsan@gzdev.com",
- "isleader": 0,
- "enable": 1,
- "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
- "telephone": "020-123456",
- "english_name": "jackzhang",
- "initpwd": "1234abcdE",
- "isnotify":1,
- "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
- }
-
- ```
-
-```js
-await echat.contacts().user.update(userId, data);
-```
-#### 删除成员(支持批量)
-
-> - userId 用户id (可传入字符串即一条数据, 也可以传入数组,批量删除)
-```js
-await echat.contacts().user.delete(userId);
-
-//或者删除多个
-
-await echat.contacts().user.delete(['userId01', 'userId02', ...]);
-
-```
-#### 创建成员
-
-```javascript
- let data = {
- "userid": "zhangsan",
- "name": "张三",
- "english_name": "jackzhang"
- "mobile": "15913215421",
- "department": [1, 2],
- "order":[10,40],
- "position": "产品经理",
- "gender": "1",
- "email": "zhangsan@gzdev.com",
- "isleader": 1,
- "enable":1,
- "initpwd":"1234abcdE",
- "isnotify":1,
- "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
- "telephone": "020-123456",
- "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
-};
-const user = await echat.contacts().user.create(data);
-```
-
-#### 获取部门成员
-
-> - departmentId 部门ID
-
-```js
-const users = await echat.contacts().user.getDepartmentUsers(departmentId);
-
-// 递归获取子部门下面的成员
-const userFeach = await echat.contacts().user.getDepartmentUsers(departmentId, true);
-```
-#### 获取部门成员详情
-> - departmentId 部门ID
-
-```js
-const users = await echat.contacts().user.getDepartmentUsers(departmentId);
-
-// 递归获取子部门下面的成员
-const userFeach = await echat.contacts().user.getDetailedDepartmentUsers(departmentId, true);
-```
-#### 重置密码
-
-> - userId 用户id
-> - pwd 设置的用户密码 8-16字节,必须包含数字、字母大小写。如没有该字段,后台随机生成密码
-> - isnotify 是否在修改密码后,发送邮件后短信通知用户密码。默认通知,不通知可设置为 false
-
-```js
-await echat.contacts().user.resetpwd(userId, pwd, isnotify = true);
-```
-#### 用户踢下线
-
-> - *userid* 用户id,若为单个用户,请将 *userid* 改为 *string* 类型
-
-```js
-await echat.contacts().user.offline('180*****');
-
-//批量下线
-await echat.contacts().user.offline(['180*****', '181*****']);
-```
+## 成员管理 {docsify-ignore}
+
+
+#### 读取成员
+
+> - userId 用户id
+> - avatar_addr 用户头像 1.外网链接 2.内网链接 默认为内网,一般如果只是在企业微信内部打开H5页面,则不用填写此参数,企业微信会自动匹配连接,并获取到头像信息。
+
+```js
+const user = await echat.contacts().user.get(userId, avatar_addr);
+```
+#### 更新成员
+> - userId 用户id
+> - data 修改的用户数据
+ data的数据格式:
+
+ ```json
+ //最好根据当前的企业的数据格式,可先通过get(userId)获取当前的企业数据格式,后进行更新。
+ {
+ "name": "李四",
+ "department": [1],
+ "order": [10],
+ "position": "后台工程师",
+ "mobile": "15913215421",
+ "gender": "1",
+ "email": "zhangsan@gzdev.com",
+ "isleader": 0,
+ "enable": 1,
+ "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
+ "telephone": "020-123456",
+ "english_name": "jackzhang",
+ "initpwd": "1234abcdE",
+ "isnotify":1,
+ "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
+ }
+
+ ```
+
+```js
+await echat.contacts().user.update(userId, data);
+```
+#### 删除成员(支持批量)
+
+> - userId 用户id (可传入字符串即一条数据, 也可以传入数组,批量删除)
+```js
+await echat.contacts().user.delete(userId);
+
+//或者删除多个
+
+await echat.contacts().user.delete(['userId01', 'userId02', ...]);
+
+```
+#### 创建成员
+
+```javascript
+ let data = {
+ "userid": "zhangsan",
+ "name": "张三",
+ "english_name": "jackzhang"
+ "mobile": "15913215421",
+ "department": [1, 2],
+ "order":[10,40],
+ "position": "产品经理",
+ "gender": "1",
+ "email": "zhangsan@gzdev.com",
+ "isleader": 1,
+ "enable":1,
+ "initpwd":"1234abcdE",
+ "isnotify":1,
+ "avatar_mediaid": "2-G6nrLmr5EC3MNb_-zL1dDdzkd0p7cNliYu9V5w7o8K0",
+ "telephone": "020-123456",
+ "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
+};
+const user = await echat.contacts().user.create(data);
+```
+
+#### 获取部门成员
+
+> - departmentId 部门ID
+
+```js
+const users = await echat.contacts().user.getDepartmentUsers(departmentId);
+
+// 递归获取子部门下面的成员
+const userFeach = await echat.contacts().user.getDepartmentUsers(departmentId, true);
+```
+#### 获取部门成员详情
+> - departmentId 部门ID
+
+```js
+const users = await echat.contacts().user.getDepartmentUsers(departmentId);
+
+// 递归获取子部门下面的成员
+const userFeach = await echat.contacts().user.getDetailedDepartmentUsers(departmentId, true);
+```
+#### 重置密码
+
+> - userId 用户id
+> - pwd 设置的用户密码 8-16字节,必须包含数字、字母大小写。如没有该字段,后台随机生成密码
+> - isnotify 是否在修改密码后,发送邮件后短信通知用户密码。默认通知,不通知可设置为 false
+
+```js
+await echat.contacts().user.resetpwd(userId, pwd, isnotify = true);
+```
+#### 用户踢下线
+
+> - *userid* 用户id,若为单个用户,请将 *userid* 改为 *string* 类型
+
+```js
+await echat.contacts().user.offline('180*****');
+
+//批量下线
+await echat.contacts().user.offline(['180*****', '181*****']);
+```
diff --git a/docs/echat/index.md b/docs/echat/index.md
index bf50f4c..134717d 100644
--- a/docs/echat/index.md
+++ b/docs/echat/index.md
@@ -1,170 +1,170 @@
-## 入门 {docsify-ignore}
-
-接下来的讲解将通过一个eggjs应用来对应文档中的内容讲解
-
-## 初始化一个示例项目
-
-详细的可参考eggjs官方文档:
-
-```bash
-$ mkdir egg-example && cd egg-example
-$ npm init egg --type=simple
-$ npm i
-```
-## 引入egg-echat插件
-
-```bash
-$ npm i egg-echat --save
-```
-
-## 配置
-
-
-### 在框架中启用配置
-`{app_root}/config/plugin.js`
-```js
-exports.echat = {
- enable: true,
- package: 'egg-echat',
-};
-```
-
-### 在框架中配置
-`{app_root}/config/config.default.js`
-```js
-exports.echat = {
- cache: {
- flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
- // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
- },
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / ,此处请填写私有化部署的入口ip"
- CorpID: 'wl47sadasw3w', //找到对应的企业ID
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
- }
- },
-};
-```
-
-### 服务器验证
-
-我们在企业微信应用开启接收消息的功能,将设置页面的 token 与 aes key 配置到 agents 下对应的应用内:
-对应上边配置的: token 和 EncodingAESKey 参数;
-
-参考截图:
-
-
-
-
-### 以下是在egg框架内的代码演示
-
-#### 在控制器中,添加对应的server方法
-`{app_root}/app/controller/home.js`
-```js
-//服务端验证
- async server() {
- const echat = await this.ctx.echat();
- const server = echat.server();
-
- //如果只是验证url
- //let result = await server.server().send();
-
-
- //验证url并且返回一些内容
- let result = await server.server().push(async($message) => { //回调中使用
- switch ($message['MsgType']) {
- default:
- return '您好,感谢您的参与,请关注活动规则!';
- break;
- }
- });
- //返回企业微信的消息,包括加密的字符串和验证URL的明文字符串,这块不明白也没有关系
- this.ctx.body = result;
- }
-
-```
-
-#### 添加路由
-`{app_root}/app/router.js`
-```js
-···
- router.get('/server', controller.home.server); //这一条是用来,接收企业微信用来验证url的; GET
- router.post('/server', controller.home.server); //这一条是用来验证url成功后,接收来自客户端消息的路由,POST
-···
-//一般只用一条即可,上述只是为了说明原理
- router.all('/server', controller.home.server);
-```
-此时我们发现,虽然验证URL验证成功了,但是在客户端给服务段发送消息时, 还会报错,是因为:
-- `eggjs` 框架本身不接收 `XML`;
-- 需要给 `/server` 添加 `CSRF` 白名单,添加设置如下:
-
-`{app_root}/config/config.default.js`
-```js
- // 覆盖egg自带的配置 使支持接收xml参数
- config.bodyParser = {
- enable: true,
- encoding: 'utf8',
- formLimit: '100kb',
- jsonLimit: '100kb',
- strict: true,
- // @see https://github.com/hapijs/qs/blob/master/lib/parse.js#L8 for more options
- queryString: {
- arrayLimit: 100,
- depth: 5,
- parameterLimit: 1000,
- },
- enableTypes: ['json', 'form', 'text'],
- extendTypes: {
- text: ['text/xml', 'application/xml'],
- },
- };
- //在微信网页授权的时候,省去csrf验证
- config.security = {
- csrf: {
- // 判断是否需要 ignore 的方法,请求上下文 context 作为第一个参数
- ignore: ctx => {
- if((ctx.request.url).indexOf("/server") != -1){ //此处的server需要根据实际需要来设置,也可用正则表达式
- return true;
- }
- return false;
- },
- }
-
- };
-```
-此时,重启应用一切正常。
-
-good luck!
-
-#### 总结
-
-使用步骤:
-
-- 安装
-```js
-$ npm i egg-echat --save
-```
-- 添加控制器方法
-- 实例化echat实例
-```js
-const echat = await this.ctx.echat(); //文档其他地方,echat实例不单做说明
-```
-- 添加路由
-
-- 更多详细使用方式,请查看文档;
-
-
-
-
-
-
-
+## 入门 {docsify-ignore}
+
+接下来的讲解将通过一个eggjs应用来对应文档中的内容讲解
+
+## 初始化一个示例项目
+
+详细的可参考eggjs官方文档:
+
+```bash
+$ mkdir egg-example && cd egg-example
+$ npm init egg --type=simple
+$ npm i
+```
+## 引入egg-echat插件
+
+```bash
+$ npm i egg-echat --save
+```
+
+## 配置
+
+
+### 在框架中启用配置
+`{app_root}/config/plugin.js`
+```js
+exports.echat = {
+ enable: true,
+ package: 'egg-echat',
+};
+```
+
+### 在框架中配置
+`{app_root}/config/config.default.js`
+```js
+exports.echat = {
+ cache: {
+ flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
+ // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
+ },
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / ,此处请填写私有化部署的入口ip"
+ CorpID: 'wl47sadasw3w', //找到对应的企业ID
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
+ }
+ },
+};
+```
+
+### 服务器验证
+
+我们在企业微信应用开启接收消息的功能,将设置页面的 token 与 aes key 配置到 agents 下对应的应用内:
+对应上边配置的: token 和 EncodingAESKey 参数;
+
+参考截图:
+
+
+
+
+### 以下是在egg框架内的代码演示
+
+#### 在控制器中,添加对应的server方法
+`{app_root}/app/controller/home.js`
+```js
+//服务端验证
+ async server() {
+ const echat = await this.ctx.echat();
+ const server = echat.server();
+
+ //如果只是验证url
+ //let result = await server.server().send();
+
+
+ //验证url并且返回一些内容
+ let result = await server.server().push(async($message) => { //回调中使用
+ switch ($message['MsgType']) {
+ default:
+ return '您好,感谢您的参与,请关注活动规则!';
+ break;
+ }
+ });
+ //返回企业微信的消息,包括加密的字符串和验证URL的明文字符串,这块不明白也没有关系
+ this.ctx.body = result;
+ }
+
+```
+
+#### 添加路由
+`{app_root}/app/router.js`
+```js
+···
+ router.get('/server', controller.home.server); //这一条是用来,接收企业微信用来验证url的; GET
+ router.post('/server', controller.home.server); //这一条是用来验证url成功后,接收来自客户端消息的路由,POST
+···
+//一般只用一条即可,上述只是为了说明原理
+ router.all('/server', controller.home.server);
+```
+此时我们发现,虽然验证URL验证成功了,但是在客户端给服务段发送消息时, 还会报错,是因为:
+- `eggjs` 框架本身不接收 `XML`;
+- 需要给 `/server` 添加 `CSRF` 白名单,添加设置如下:
+
+`{app_root}/config/config.default.js`
+```js
+ // 覆盖egg自带的配置 使支持接收xml参数
+ config.bodyParser = {
+ enable: true,
+ encoding: 'utf8',
+ formLimit: '100kb',
+ jsonLimit: '100kb',
+ strict: true,
+ // @see https://github.com/hapijs/qs/blob/master/lib/parse.js#L8 for more options
+ queryString: {
+ arrayLimit: 100,
+ depth: 5,
+ parameterLimit: 1000,
+ },
+ enableTypes: ['json', 'form', 'text'],
+ extendTypes: {
+ text: ['text/xml', 'application/xml'],
+ },
+ };
+ //在微信网页授权的时候,省去csrf验证
+ config.security = {
+ csrf: {
+ // 判断是否需要 ignore 的方法,请求上下文 context 作为第一个参数
+ ignore: ctx => {
+ if((ctx.request.url).indexOf("/server") != -1){ //此处的server需要根据实际需要来设置,也可用正则表达式
+ return true;
+ }
+ return false;
+ },
+ }
+
+ };
+```
+此时,重启应用一切正常。
+
+good luck!
+
+#### 总结
+
+使用步骤:
+
+- 安装
+```js
+$ npm i egg-echat --save
+```
+- 添加控制器方法
+- 实例化echat实例
+```js
+const echat = await this.ctx.echat(); //文档其他地方,echat实例不单做说明
+```
+- 添加路由
+
+- 更多详细使用方式,请查看文档;
+
+
+
+
+
+
+
diff --git a/docs/echat/install.md b/docs/echat/install.md
index fda193f..3a5e7bd 100644
--- a/docs/echat/install.md
+++ b/docs/echat/install.md
@@ -1,58 +1,58 @@
-# 安装
-
-#### 环境要求
-
-> - [Node.js](https://nodejs.org/zh-cn/): >= 8.0.0
-> - [egg-js](http://php.net/manual/en/book.curl.php): >= 2.x
-
-#### 使用 [npm](https://www.npmjs.com/package/npm):
-
-```bash
-$ npm i egg-echat --save
-```
-
-## 在框架中启用配置
-
-`{app_root}/config/plugin.js`
-
-```js
-exports.echat = {
- enable: true,
- package: 'egg-echat'
-};
-```
-
-## 配置
-
-`{app_root}/config/config.default.js`
-
-```js
-config.echat = {
- cache: {
- flag: 'echat' //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
- // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
- },
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
- CorpID: 'wl47sadasw3w', //找到对应的企业ID
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
- UserApiSecret: 'Hms1tvGDN6zHHyTEDFasTZ9h6P6T32mO1SDI_K0vg2g', //通讯录操作密钥 【可选】
- AgentApiSecret: 'B5-wRTi_sOtHL8qEtMPadrfxgYHRsN12w8r770MR1Jo', //应用操作密钥 【可选】
- DeviceApiSecret: 'tm2poySc0NliMkZ-mrVO85EHg5g9fJG4YAVt3PWbyqQ', //设备操作密钥 【可选】
- //日志功能还在进一步开发中
- LogApiSecret: 'CjPRcGAK2rpw3LFSYkPjtaderilfYDZ9AFOGkyge6CM' //日志操作密钥 【可选】
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
- }
- // redirect_domain: '', //可信域名、不写http(https)协议
- // home_url: '', //主页链接,若没有则不写 写http(https)协议
- }
-};
-```
+# 安装
+
+#### 环境要求
+
+> - [Node.js](https://nodejs.org/zh-cn/): >= 8.0.0
+> - [egg-js](http://php.net/manual/en/book.curl.php): >= 2.x
+
+#### 使用 [npm](https://www.npmjs.com/package/npm):
+
+```bash
+$ npm i egg-echat --save
+```
+
+## 在框架中启用配置
+
+`{app_root}/config/plugin.js`
+
+```js
+exports.echat = {
+ enable: true,
+ package: 'egg-echat'
+};
+```
+
+## 配置
+
+`{app_root}/config/config.default.js`
+
+```js
+config.echat = {
+ cache: {
+ flag: 'echat' //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
+ // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
+ },
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
+ CorpID: 'wl47sadasw3w', //找到对应的企业ID
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
+ UserApiSecret: 'Hms1tvGDN6zHHyTEDFasTZ9h6P6T32mO1SDI_K0vg2g', //通讯录操作密钥 【可选】
+ AgentApiSecret: 'B5-wRTi_sOtHL8qEtMPadrfxgYHRsN12w8r770MR1Jo', //应用操作密钥 【可选】
+ DeviceApiSecret: 'tm2poySc0NliMkZ-mrVO85EHg5g9fJG4YAVt3PWbyqQ', //设备操作密钥 【可选】
+ //日志功能还在进一步开发中
+ LogApiSecret: 'CjPRcGAK2rpw3LFSYkPjtaderilfYDZ9AFOGkyge6CM' //日志操作密钥 【可选】
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
+ }
+ // redirect_domain: '', //可信域名、不写http(https)协议
+ // home_url: '', //主页链接,若没有则不写 写http(https)协议
+ }
+};
+```
diff --git a/docs/echat/issue.md b/docs/echat/issue.md
index 57dcf4b..de1cfe7 100644
--- a/docs/echat/issue.md
+++ b/docs/echat/issue.md
@@ -1,5 +1,5 @@
-在开发微信相关生态的道路上布满荆棘,有着大大小小的坑,一波掉进去,一波爬出来,一波又掉进去,...... 。
-
-所以,这是我们不愿看到的!
-
+在开发微信相关生态的道路上布满荆棘,有着大大小小的坑,一波掉进去,一波爬出来,一波又掉进去,...... 。
+
+所以,这是我们不愿看到的!
+
在此我会陆陆续续收集平时一些坑点和解决方案,并进行汇总。
\ No newline at end of file
diff --git a/docs/echat/jssdk.md b/docs/echat/jssdk.md
index 850d913..2d695ec 100644
--- a/docs/echat/jssdk.md
+++ b/docs/echat/jssdk.md
@@ -1,83 +1,83 @@
-# 构建配置
-
-### 获取 jssdk 实例
-```js
-const echat = await this.ctx.echat(); //获取echat实例
-
-const jssdk = echat.jssdk(); //获取jssdk的实例
-```
-
-#### 接口配置说明
-
-jssdk 一般分为两种,即 config 和 agentConfig;
-config注入的是企业的身份与权限,而agentConfig注入的是应用的身份与权限。尤其是当调用者为第三方服务商时,通过config无法准确区分出调用者是哪个第三方应用,而在部分场景下,又必须严谨区分出第三方应用的身份,此时即需要通过agentConfig来注入应用的身份信息。
-
-> 需要agentConfig的接口列表
-- getStepCount
-- addCalendarEvent
-- openUserProfile
-- getAllPhoneContacts
-- selectExternalContact
-- selectEnterpriseContact
-- openEnterpriseChat
-
-除以上的七个接口以外,其他接口只需要config即可。
-
-#### 生成配置
-
-> - jsApiList 接口列表,请以数组的形式传入 如: ['scanQRCode', 'chooseVideo']
-> - beat 是否生成 agentConfig配置, true、false
-> - debug 是否开始调试模式,默认关闭,一般在开发阶段,最好为true
-```js
-const build = await jssdk.buildConfig(jsApiList, beat, debug);
-```
-
-示例:
-
-```js
- const build = await jssdk.buildConfig(['scanQRCode'], true, true);
-
- console.log(build);
-```
-
-返回的配置:
-
-```json
-{
- js_config: {
- appId: 'wl3584b9fc00',
- nonceStr: 'Xk5JFQji3e',
- timestamp: 1575253339,
- url: 'http://127.0.0.1:7001/jssdk',
- signature: 'bb5463c3f929b614e77a973e26ca4487fde3275d',
- debug: true,
- beta: true,
- jsApiList: [ 'scanQRCode' ]
- },
- js_agent_config: {
- agentid: 1000177,
- corpid: 'wl3584b9fc00',
- nonceStr: 'D8b2W3Gy4i',
- timestamp: 1575253339,
- url: 'http://127.0.0.1:7001/jssdk',
- signature: 'eb3d7485149039be6405d1e57bbb67fe419dfd72'
- }
-}
-```
-
-在前端页面直接转换成响应的配直接即可;
-
-#### 查看全部js列表接口
-
-```js
-let jsApilist = jssdk.jsApiList();
-```
-
-#### 自定义设置当前的url
-
-> - url 可以传入自定义的 url
-```js
-//只需在实例化时候将 url传入即可
-const jssdk = echat.jssdk(url);
-```
-如果不想用默认读取的URL,可以使用此方法手动设置,通常不需要。
+# 构建配置
+
+### 获取 jssdk 实例
+```js
+const echat = await this.ctx.echat(); //获取echat实例
+
+const jssdk = echat.jssdk(); //获取jssdk的实例
+```
+
+#### 接口配置说明
+
+jssdk 一般分为两种,即 config 和 agentConfig;
+config注入的是企业的身份与权限,而agentConfig注入的是应用的身份与权限。尤其是当调用者为第三方服务商时,通过config无法准确区分出调用者是哪个第三方应用,而在部分场景下,又必须严谨区分出第三方应用的身份,此时即需要通过agentConfig来注入应用的身份信息。
+
+> 需要agentConfig的接口列表
+- getStepCount
+- addCalendarEvent
+- openUserProfile
+- getAllPhoneContacts
+- selectExternalContact
+- selectEnterpriseContact
+- openEnterpriseChat
+
+除以上的七个接口以外,其他接口只需要config即可。
+
+#### 生成配置
+
+> - jsApiList 接口列表,请以数组的形式传入 如: ['scanQRCode', 'chooseVideo']
+> - beat 是否生成 agentConfig配置, true、false
+> - debug 是否开始调试模式,默认关闭,一般在开发阶段,最好为true
+```js
+const build = await jssdk.buildConfig(jsApiList, beat, debug);
+```
+
+示例:
+
+```js
+ const build = await jssdk.buildConfig(['scanQRCode'], true, true);
+
+ console.log(build);
+```
+
+返回的配置:
+
+```json
+{
+ js_config: {
+ appId: 'wl3584b9fc00',
+ nonceStr: 'Xk5JFQji3e',
+ timestamp: 1575253339,
+ url: 'http://127.0.0.1:7001/jssdk',
+ signature: 'bb5463c3f929b614e77a973e26ca4487fde3275d',
+ debug: true,
+ beta: true,
+ jsApiList: [ 'scanQRCode' ]
+ },
+ js_agent_config: {
+ agentid: 1000177,
+ corpid: 'wl3584b9fc00',
+ nonceStr: 'D8b2W3Gy4i',
+ timestamp: 1575253339,
+ url: 'http://127.0.0.1:7001/jssdk',
+ signature: 'eb3d7485149039be6405d1e57bbb67fe419dfd72'
+ }
+}
+```
+
+在前端页面直接转换成响应的配直接即可;
+
+#### 查看全部js列表接口
+
+```js
+let jsApilist = jssdk.jsApiList();
+```
+
+#### 自定义设置当前的url
+
+> - url 可以传入自定义的 url
+```js
+//只需在实例化时候将 url传入即可
+const jssdk = echat.jssdk(url);
+```
+如果不想用默认读取的URL,可以使用此方法手动设置,通常不需要。
diff --git a/docs/echat/message.md b/docs/echat/message.md
index 8d2193a..8cd4c42 100644
--- a/docs/echat/message.md
+++ b/docs/echat/message.md
@@ -1,153 +1,153 @@
-# 消息发送
-
-## 主动发送消息
-
-创建消息实例
-
-```js
-const echat = await this.ctx.echat();
-
-const messenger = echat.message();
-```
-
-消息发送需要设定消息类型,主要类型有 `文本` 、`图片` 、`语音` 、`视频` 、`文件` 、`文本卡片` 、`图文`,下文中括号内对应的是抽象出来的类型方法名称:
-
-#### 文本消息 (textMsg)
-
-> - content 消息内容,最长不超过 2048 个字节
-> - 可以支持换行、以及 A 标签,即可打开自定义的网页(可参考示例代码)
-
-```js
-let content = `你的快递已到,请携带工卡前往邮件中心领取。
出发前可查看邮件中心视频实况,聪明避开排队。`;
-let message = messenger.textMsg(content);
-```
-
-效果:
-
-
-
-#### 图片消息(imgMsg)
-
-> - mediaId 媒体资源 ID
-
-```js
-//mediaId 需要上传至企业微信服务器,后文关于mediaId不再赘述
-let message = messenger.imgMsg(mediaId);
-```
-
-#### 语音消息(voiceMsg)
-
-> - mediaId 媒体资源 ID
-
-```js
-let message = messenger.voiceMsg(mediaId);
-```
-
-> - mediaId 媒体资源 ID
-> - title 视频标题
-> - description 关于此视频的描述
-
-#### 视频消息(videoMsg)
-
-```js
-let message = messenger.voiceMsg({
- mediaId,
- title, //视频标题
- description //关于此视频的描述
-});
-```
-
-#### 文件消息(fileMsg)
-
-> - mediaId 媒体资源 ID
-
-```js
-let message = messenger.fileMsg(mediaId);
-```
-
-#### 文本卡片消息(cardMsg)
-
-> - title 标题,不超过 128 个字节,超过会自动截断
-> - description 描述,不超过 512 个字节,超过会自动截断
-> - url 点击后跳转的链接
-> - btntxt 此参数非必须参数,默认为【详情】,最多支持 4 个字符,超过后会截断
-
-卡片消息的展现形式非常灵活,支持使用 br 标签或者空格来进行换行处理,也支持使用 div 标签来使用不同的字体颜色,目前内置了 3 种文字颜色:灰色(gray)、高亮(highlight)、默认黑色(normal),将其作为 div 标签的 class 属性即可,具体用法请参考下面的示例。
-
-```js
-let cardMessage = {
- title: '领奖通知', //标题,不超过128个字节,超过会自动截断
- description:
- '
2016年9月26日
恭喜你抽中iPhone 7一台,领奖码:xxxx
请于2016年10月10日前联系行政同事领取
', //描述,不超过512个字节,超过会自动截断
- url: 'http://example.com', //点击后跳转的链接。
- btntxt: '' //此参数非必须参数,默认为【详情】,最多支持4个字符,超过后会截断!
-};
-
-let message = messenger.cardMsg(cardMessage);
-```
-
-#### 图文消息(newsMsg)
-
-> - title 标题,不超过 128 个字节,超过会自动截断
-> - description 描述,不超过 512 个字节,超过会自动截断
-> - url 点击后跳转的链接
-> - picurl 图文消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640x320,小图 80x80
-> - btntxt 按钮文字,仅在图文数为 1 条时才生效。 默认为“阅读全文”, 不超过 4 个文字,超过自动截断
-
-```js
-//一篇文章
-let newsMessage_one = {
- title : "中秋节礼品领取",
- description : "今年中秋节公司有豪礼相送",
- url : "URL",
- picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
- btntxt: '阅读全文'
- };
-//多篇(最多支持8篇)文章
-let newsMessage_more = [
- {
- title : "中秋节礼品领取",
- description : "今年中秋节公司有豪礼相送",
- url : "URL",
- picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
- btntxt: '阅读全文'
- },
- {
- title : "中秋节礼品领取",
- description : "今年中秋节公司有豪礼相送",
- url : "URL",
- picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
- btntxt: '阅读全文'
- },
- ··· 最多八个
-];
-
-let message_one = messenger.newsMsg(newsMessage_one);
-let message_more = messenger.newsMsg(newsMessage_more);
-```
-
-#### 发送消息的完整示例(以文本消息为例)
-
-```js
-const echat = await this.ctx.echat();
-
-const messenger = echat.message();
-
-let message = messenger.textMsg(`你的快递已到,请携带工卡前往邮件中心领取。
出发前可查看邮件中心视频实况,聪明避开排队。`);
-
-message.toUser(userid).send(); //发给单个人
-message.toUser([userid01, userid02, ...]).send(); //发给多个人
-message.toParty(PartyID).send(); //发给单个部门
-message.toParty([PartyID1, PartyID2, ...]).send(); //发给多个部门
-message.toTag(TagID).send(); //发给单个部门
-message.toTag([TagID1, TagID2, ...]).send(); //发给多个部门
-// 也可以给单(多)个人(部门|标签)一起发送
-message.toUser(userid).toParty(PartyID).toTag(TagID)send();
-//发送给当前应用的所有人
-message.toUser('@all').send();
-
-```
-
-## 被动回复消息
-
-被动接收消息,与回复消息,请参考:[服务端](/echat/server.md)
+# 消息发送
+
+## 主动发送消息
+
+创建消息实例
+
+```js
+const echat = await this.ctx.echat();
+
+const messenger = echat.message();
+```
+
+消息发送需要设定消息类型,主要类型有 `文本` 、`图片` 、`语音` 、`视频` 、`文件` 、`文本卡片` 、`图文`,下文中括号内对应的是抽象出来的类型方法名称:
+
+#### 文本消息 (textMsg)
+
+> - content 消息内容,最长不超过 2048 个字节
+> - 可以支持换行、以及 A 标签,即可打开自定义的网页(可参考示例代码)
+
+```js
+let content = `你的快递已到,请携带工卡前往邮件中心领取。
出发前可查看邮件中心视频实况,聪明避开排队。`;
+let message = messenger.textMsg(content);
+```
+
+效果:
+
+
+
+#### 图片消息(imgMsg)
+
+> - mediaId 媒体资源 ID
+
+```js
+//mediaId 需要上传至企业微信服务器,后文关于mediaId不再赘述
+let message = messenger.imgMsg(mediaId);
+```
+
+#### 语音消息(voiceMsg)
+
+> - mediaId 媒体资源 ID
+
+```js
+let message = messenger.voiceMsg(mediaId);
+```
+
+> - mediaId 媒体资源 ID
+> - title 视频标题
+> - description 关于此视频的描述
+
+#### 视频消息(videoMsg)
+
+```js
+let message = messenger.voiceMsg({
+ mediaId,
+ title, //视频标题
+ description //关于此视频的描述
+});
+```
+
+#### 文件消息(fileMsg)
+
+> - mediaId 媒体资源 ID
+
+```js
+let message = messenger.fileMsg(mediaId);
+```
+
+#### 文本卡片消息(cardMsg)
+
+> - title 标题,不超过 128 个字节,超过会自动截断
+> - description 描述,不超过 512 个字节,超过会自动截断
+> - url 点击后跳转的链接
+> - btntxt 此参数非必须参数,默认为【详情】,最多支持 4 个字符,超过后会截断
+
+卡片消息的展现形式非常灵活,支持使用 br 标签或者空格来进行换行处理,也支持使用 div 标签来使用不同的字体颜色,目前内置了 3 种文字颜色:灰色(gray)、高亮(highlight)、默认黑色(normal),将其作为 div 标签的 class 属性即可,具体用法请参考下面的示例。
+
+```js
+let cardMessage = {
+ title: '领奖通知', //标题,不超过128个字节,超过会自动截断
+ description:
+ '2016年9月26日
恭喜你抽中iPhone 7一台,领奖码:xxxx
请于2016年10月10日前联系行政同事领取
', //描述,不超过512个字节,超过会自动截断
+ url: 'http://example.com', //点击后跳转的链接。
+ btntxt: '' //此参数非必须参数,默认为【详情】,最多支持4个字符,超过后会截断!
+};
+
+let message = messenger.cardMsg(cardMessage);
+```
+
+#### 图文消息(newsMsg)
+
+> - title 标题,不超过 128 个字节,超过会自动截断
+> - description 描述,不超过 512 个字节,超过会自动截断
+> - url 点击后跳转的链接
+> - picurl 图文消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640x320,小图 80x80
+> - btntxt 按钮文字,仅在图文数为 1 条时才生效。 默认为“阅读全文”, 不超过 4 个文字,超过自动截断
+
+```js
+//一篇文章
+let newsMessage_one = {
+ title : "中秋节礼品领取",
+ description : "今年中秋节公司有豪礼相送",
+ url : "URL",
+ picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
+ btntxt: '阅读全文'
+ };
+//多篇(最多支持8篇)文章
+let newsMessage_more = [
+ {
+ title : "中秋节礼品领取",
+ description : "今年中秋节公司有豪礼相送",
+ url : "URL",
+ picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
+ btntxt: '阅读全文'
+ },
+ {
+ title : "中秋节礼品领取",
+ description : "今年中秋节公司有豪礼相送",
+ url : "URL",
+ picurl : "/wwopen/api/static/embed_image/load/test_pic_msg1.png",
+ btntxt: '阅读全文'
+ },
+ ··· 最多八个
+];
+
+let message_one = messenger.newsMsg(newsMessage_one);
+let message_more = messenger.newsMsg(newsMessage_more);
+```
+
+#### 发送消息的完整示例(以文本消息为例)
+
+```js
+const echat = await this.ctx.echat();
+
+const messenger = echat.message();
+
+let message = messenger.textMsg(`你的快递已到,请携带工卡前往邮件中心领取。
出发前可查看邮件中心视频实况,聪明避开排队。`);
+
+message.toUser(userid).send(); //发给单个人
+message.toUser([userid01, userid02, ...]).send(); //发给多个人(最多1000个人)
+message.toParty(PartyID).send(); //发给单个部门
+message.toParty([PartyID1, PartyID2, ...]).send(); //发给多个部门 (最多100个部门)
+message.toTag(TagID).send(); //发给单个部门
+message.toTag([TagID1, TagID2, ...]).send(); //发给多个部门
+// 也可以给单(多)个人(部门|标签(最多100个标签))一起发送
+message.toUser(userid).toParty(PartyID).toTag(TagID)send();
+//发送给当前应用的所有人
+message.toUser('@all').send();
+
+```
+
+## 被动回复消息
+
+被动接收消息,与回复消息,请参考:[服务端](/echat/server.md)
diff --git a/docs/echat/mult_config.md b/docs/echat/mult_config.md
index c7b1e30..17f80b2 100644
--- a/docs/echat/mult_config.md
+++ b/docs/echat/mult_config.md
@@ -1,32 +1,32 @@
-# 多应用或多企业应用开发
-
-思路:可将多个应用的配置信息存在数据库中,需要对其操作时,将数据组成对应的配置格式即可
-
-`{app_root}/app/controller/home.js`
-
-```js
-let config = {
- cache: { //此处可以在 {app_root}/config/config.default.js 统一配置
- flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
- // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
- },
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
- CorpID: 'wl47sadasw3w', //找到对应的企业ID
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHa6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZa9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
- }
-}
-
-//根据应用的不同,动态的修改上述配置即可
-const echat = await this.ctx.echat(config);
-
+# 多应用或多企业应用开发
+
+思路:可将多个应用的配置信息存在数据库中,需要对其操作时,将数据组成对应的配置格式即可
+
+`{app_root}/app/controller/home.js`
+
+```js
+let config = {
+ cache: { //此处可以在 {app_root}/config/config.default.js 统一配置
+ flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
+ // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
+ },
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
+ CorpID: 'wl47sadasw3w', //找到对应的企业ID
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHa6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZa9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
+ }
+}
+
+//根据应用的不同,动态的修改上述配置即可
+const echat = await this.ctx.echat(config);
+
```
\ No newline at end of file
diff --git a/docs/echat/oAuth2.md b/docs/echat/oAuth2.md
index a70e0c0..ad1d890 100644
--- a/docs/echat/oAuth2.md
+++ b/docs/echat/oAuth2.md
@@ -1,132 +1,132 @@
-开发网页授权的时候,最好先了解 `oAuth2` 的相关理论, 关于企业微信详细的授权过程如下图(来自官方文档):
-
-
-
-时间紧急来不及研究,也没有问题,插件内部已经实现好了,只需要配置一下就可以啦,so easy!!!
-
-原理:eggjs中间件实现,中间的用法可参考 `eggjs` 文档 [中间件](eggjs.org/zh-cn/basics/middleware.html#使用中间件) 部分。
-
-## 一般使用
-在配置中需要配置相关的 `scope`,默认为:`snsapi_base`,此配置只能拿到基本信息,详见企业微信文档。在控制器中拿到授权信息:
-
-### 主要方法
-
-- redirectUrl(url, scope, state)
-
-> - url 重定向的地址(eg: http://x.x.x.x:port),code会以查询参数的形式返回给应用(eg:http://x.x.x.x:port?code=asdfghjkl565ashhdgas )
-> - scope 共有三种可选 snsapi_base(默认) | snsapi_userinfo | snsapi_privateinfo
-> - state 携带一些加密 回调回来可以以查询参数的形式(http://x.x.x.x:port?code=asdfghjkl565ashhdgas&code=test)完整携带回来
-
-`{app_root}/app/controller.home.js`
-```js
-
-async oauth2() {
-
- const { ctx } = this;
-
- // 拿到 echat 实例
- const echat = await this.ctx.echat();
- // 先判断 用户是否登录,一下代码需要根据实际情况而定
- const isEchatAuth = await ctx.service.echatAuth.check();
- if(!isEchatAuth) {
- // 创建 oAuth2 实例
- const oAuth2 = echat.oauth2();
- // 获取到 code ,这个需要分情况看 如果前后端分离的话,可以前端传过来。单体应用的话,直接用下面的代码拿到code
- const code = ctx.query.code;
- // 此处判断一下,是否拿到了code,如果没有则需要重定向到企业微信的授权地址
- if (!code) {
- // redirectUrl()方法中的参数详解
- ctx.unsafeRedirect(await oauth2.redirectUrl()); // 此处需要在系统配置里重定向白名单,并不是在此插件配置项
- return;
- }
-
-
-
- // 判断用户是否需要详细信息
- function isDetail() {
- let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null) ;
- return scope === 'snsapi_base' ? false : true;
- }
-
- // 拿到授权回来的 用户信息
- let userInfo = await oauth2.getUserInfo(code, isDetail());
- // 后续做登录相关业务逻辑
- //···
- // 此部分相关业务逻辑,最好写在中间中,最后将用户信息挂在 ctx 全局中
-
- }
-
-}
-
-
-
-
-```
-
-## 利用 eggjs 中间件 使用
-
-如果是单体应用(前端代码和后端部署在一起),就可以简单的用插件内部的中间件机制,很轻松的拿到用户信息。
-
-示例讲解:
-
-如果全局需要网页授权,则需要在配置文件中配置,如果仅仅是在某几个请求路径需要授权,则只需要在路由配置中应用即可:
-
-`{app_root}/app/router.js`
-
-```js
-module.exports = app => {
- const echatOauth2 = app.middleware.echatOauth2(); //此处配置中间件
- const { router, controller } = app;
- ...
- router.get('/oauth2', echatOauth2, controller.home.oauth2); //在oauth2中应用
- ...
-};
-
-```
-
-
-`{app_root}/app/controller.home.js`
-
-```js
-const echat = await this.ctx.echat();
-//请注意,不要将项目中的session都设置ctx.session 中,否则会覆盖,在平时开发中,也应该在session中对应自己的项目名称。如:存session时应为 ctx.session.projectName = {a: 1; b: 2}
-let userInfo = await this.ctx.session.echat;
-
-console.log(userInfo);
-
-//"userid":"USERID",
-//"deviceid":"DEVICEID",
-//"user_ticket": "USER_TICKET",
-//"expires_in":7200,
-//"usertype":2,
-```
-
-可通过:
-`userInfo.userid` 获取用户id
-`userInfo.deviceid` 获取用户设备id
-`userInfo.usertype` 获取用户类型 -->【成员身份信息,2:超级管理员, 4:分级管理员,5:普通成员】
-
-下列的信息,需要将 `scope` 为 `snsapi_userinfo`,此设置,不包括手机和信箱,如果设置为 `snsapi_privateinfo`,则无限制获取
-
-`userInfo.name` 获取用户姓名
-`userInfo.mobile` 获取用户手机号
-`userInfo.avatar` 获取用户头像
-`userInfo.email` 获取用户头像
-`userInfo.gender` 获取用户性别 -->【0表示未定义,1表示男性,2表示女性】
-
-`userInfo.original` 获取企业微信原始的返回数据
-
-
-
-- 注意,如果使用了nginx等反向代理,则需要在插件配置文件中将 redirectUrl 改为 互联网入口地址。
-
-```js
-//··· 省略部分代码
-AgentInfo: {
- //···(修改以下部分)
- // redirect_domain: '', //可信域名、不写http(https)协议
- // home_url: '', //主页链接,若没有则不写 写http(https)协议
-},
-```
-
-
+开发网页授权的时候,最好先了解 `oAuth2` 的相关理论, 关于企业微信详细的授权过程如下图(来自官方文档):
+
+
+
+时间紧急来不及研究,也没有问题,插件内部已经实现好了,只需要配置一下就可以啦,so easy!!!
+
+原理:eggjs中间件实现,中间的用法可参考 `eggjs` 文档 [中间件](eggjs.org/zh-cn/basics/middleware.html#使用中间件) 部分。
+
+## 一般使用
+在配置中需要配置相关的 `scope`,默认为:`snsapi_base`,此配置只能拿到基本信息,详见企业微信文档。在控制器中拿到授权信息:
+
+### 主要方法
+
+- redirectUrl(url, scope, state)
+
+> - url 重定向的地址(eg: http://x.x.x.x:port),code会以查询参数的形式返回给应用(eg:http://x.x.x.x:port?code=asdfghjkl565ashhdgas )
+> - scope 共有三种可选 snsapi_base(默认) | snsapi_userinfo | snsapi_privateinfo
+> - state 携带一些加密 回调回来可以以查询参数的形式(http://x.x.x.x:port?code=asdfghjkl565ashhdgas&code=test)完整携带回来
+
+`{app_root}/app/controller.home.js`
+```js
+
+async oauth2() {
+
+ const { ctx } = this;
+
+ // 拿到 echat 实例
+ const echat = await this.ctx.echat();
+ // 先判断 用户是否登录,一下代码需要根据实际情况而定
+ const isEchatAuth = await ctx.service.echatAuth.check();
+ if(!isEchatAuth) {
+ // 创建 oAuth2 实例
+ const oAuth2 = echat.oauth2();
+ // 获取到 code ,这个需要分情况看 如果前后端分离的话,可以前端传过来。单体应用的话,直接用下面的代码拿到code
+ const code = ctx.query.code;
+ // 此处判断一下,是否拿到了code,如果没有则需要重定向到企业微信的授权地址
+ if (!code) {
+ // redirectUrl()方法中的参数详解
+ ctx.unsafeRedirect(await oauth2.redirectUrl()); // 此处需要在系统配置里重定向白名单,并不是在此插件配置项
+ return;
+ }
+
+
+
+ // 判断用户是否需要详细信息
+ function isDetail() {
+ let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null) ;
+ return scope === 'snsapi_base' ? false : true;
+ }
+
+ // 拿到授权回来的 用户信息
+ let userInfo = await oauth2.getUserInfo(code, isDetail());
+ // 后续做登录相关业务逻辑
+ //···
+ // 此部分相关业务逻辑,最好写在中间中,最后将用户信息挂在 ctx 全局中
+
+ }
+
+}
+
+
+
+
+```
+
+## 利用 eggjs 中间件 使用
+
+如果是单体应用(前端代码和后端部署在一起),就可以简单的用插件内部的中间件机制,很轻松的拿到用户信息。
+
+示例讲解:
+
+如果全局需要网页授权,则需要在配置文件中配置,如果仅仅是在某几个请求路径需要授权,则只需要在路由配置中应用即可:
+
+`{app_root}/app/router.js`
+
+```js
+module.exports = app => {
+ const echatOauth2 = app.middleware.echatOauth2(); //此处配置中间件
+ const { router, controller } = app;
+ ...
+ router.get('/oauth2', echatOauth2, controller.home.oauth2); //在oauth2中应用
+ ...
+};
+
+```
+
+
+`{app_root}/app/controller.home.js`
+
+```js
+const echat = await this.ctx.echat();
+//请注意,不要将项目中的session都设置ctx.session 中,否则会覆盖,在平时开发中,也应该在session中对应自己的项目名称。如:存session时应为 ctx.session.projectName = {a: 1; b: 2}
+let userInfo = await this.ctx.session.echat;
+
+console.log(userInfo);
+
+//"userid":"USERID",
+//"deviceid":"DEVICEID",
+//"user_ticket": "USER_TICKET",
+//"expires_in":7200,
+//"usertype":2,
+```
+
+可通过:
+`userInfo.userid` 获取用户id
+`userInfo.deviceid` 获取用户设备id
+`userInfo.usertype` 获取用户类型 -->【成员身份信息,2:超级管理员, 4:分级管理员,5:普通成员】
+
+下列的信息,需要将 `scope` 为 `snsapi_userinfo`,此设置,不包括手机和信箱,如果设置为 `snsapi_privateinfo`,则无限制获取
+
+`userInfo.name` 获取用户姓名
+`userInfo.mobile` 获取用户手机号
+`userInfo.avatar` 获取用户头像
+`userInfo.email` 获取用户头像
+`userInfo.gender` 获取用户性别 -->【0表示未定义,1表示男性,2表示女性】
+
+`userInfo.original` 获取企业微信原始的返回数据
+
+
+
+- 注意,如果使用了nginx等反向代理,则需要在插件配置文件中将 redirectUrl 改为 互联网入口地址。
+
+```js
+//··· 省略部分代码
+AgentInfo: {
+ //···(修改以下部分)
+ // redirect_domain: '', //可信域名、不写http(https)协议
+ // home_url: '', //主页链接,若没有则不写 写http(https)协议
+},
+```
+
+
diff --git a/docs/echat/server.md b/docs/echat/server.md
index ec455d7..be9d67d 100644
--- a/docs/echat/server.md
+++ b/docs/echat/server.md
@@ -1,34 +1,34 @@
-# 服务端
-
-配置服务器消息设置时,需要配置 `token` 和 `aes key` 配置到agent的对应的配置中:
-```js
-let config = {
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
- CorpID: 'wl47sadasw3w', //找到对应的企业ID
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
- }
- }
-}
-
-
-const echat = this.ctx.echat(config);
-```
-其他的使用方法和入门讲解的示例相同:
-
-
-```js
-const response = await echat.server().send();
-
-this.ctx.body = response; //eggjs 需要返回响应给微信(企业微信)服务器对应的明文
-```
-此处详细的使用方法,查看 [快速入门](/echat/index.md) 的实例讲解。
+# 服务端
+
+配置服务器消息设置时,需要配置 `token` 和 `aes key` 配置到agent的对应的配置中:
+```js
+let config = {
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
+ CorpID: 'wl47sadasw3w', //找到对应的企业ID
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
+ }
+ }
+}
+
+
+const echat = this.ctx.echat(config);
+```
+其他的使用方法和入门讲解的示例相同:
+
+
+```js
+const response = await echat.server().send();
+
+this.ctx.body = response; //eggjs 需要返回响应给微信(企业微信)服务器对应的明文
+```
+此处详细的使用方法,查看 [快速入门](/echat/index.md) 的实例讲解。
diff --git a/docs/echat/serverEvent.md b/docs/echat/serverEvent.md
index 7c80e59..1697692 100644
--- a/docs/echat/serverEvent.md
+++ b/docs/echat/serverEvent.md
@@ -1,10 +1,10 @@
-## 接收服务器事件推送 {docsify-ignore}
-
-在文档的快速入门章节已经详细的讲解了服务端的设置,本章节将详细介绍企业微信推送给服务端的事件,服务端的接收到的*MsgType*固定为 `event`,此时需要根据*Event* 判断是哪个事件,对于特殊的通讯录变更事件(`change_contact`)来确定是哪一类事件变更,对于**菜单事件**,需要通过判断`key`来判断,当然这是你自己设定的!
-
-#### 事件列表
-
-参考各企业微信的私有化部署的文档,此处由于特殊原因不公开。
-
-
-
+## 接收服务器事件推送 {docsify-ignore}
+
+在文档的快速入门章节已经详细的讲解了服务端的设置,本章节将详细介绍企业微信推送给服务端的事件,服务端的接收到的*MsgType*固定为 `event`,此时需要根据*Event* 判断是哪个事件,对于特殊的通讯录变更事件(`change_contact`)来确定是哪一类事件变更,对于**菜单事件**,需要通过判断`key`来判断,当然这是你自己设定的!
+
+#### 事件列表
+
+参考各企业微信的私有化部署的文档,此处由于特殊原因不公开。
+
+
+
diff --git a/docs/echat/serverMsg.md b/docs/echat/serverMsg.md
index 528fc4b..f8cdb97 100644
--- a/docs/echat/serverMsg.md
+++ b/docs/echat/serverMsg.md
@@ -1,187 +1,187 @@
-## 接收服务器消息推送 {docsify-ignore}
-
-消息类型:`文本消息`、`图片消息`、`语音消息`、`图片消息`、`视频消息`、`位置消息`、`链接消息`;
-
-注意:接收此处的消息推送,一定需要先对接服务器回调。参考[快速入门](echat/server.md);
-
-示例代码:
-
-```js
-const echat = await this.ctx.echat();
- const server = echat.server();
- let result = await server.server().push(async(message) => { //回调中使用
- switch (message['MsgType']) {
- case 'event':
- return '收到事件消息'; //此处判断是哪一个事件还需要进一步通过message['Event']来判断
- break;
- case 'text':
- return '收到文字消息';
- break;
- case 'image':
- return '收到图片消息';
- break;
- case 'voice':
- return '收到语音消息';
- break;
- case 'video':
- return '收到视频消息';
- break;
- case 'location':
- return '收到坐标消息';
- break;
- case 'link':
- return '收到链接消息';
- break;
- case 'file':
- return '收到文件消息';
- // ... 其它消息
- default:
- return '收到其它消息';
- break;
- }
- });
-
-```
-
-当前,因为这里 `push` 接收一个回调的函数,所以一般是要传一个Closure 闭包;注意,此处写的是一个async函数;
-
-某些情况,我们需要直接使用 `message` 参数,那么怎么在 `push` 的闭包外调用呢?
-
-```js
-await server.getMessage();
-```
-
-#### 注册多个消息处理器
-
-有时候你可能需要对消息记日志,或者一系列的自定义操作,可以多注册几个handler:
-```js
-await server.server().push(logHandler);
-await server.server().push(enventHandler);
-...
-```
-
-#### 请求消息的属性
-当你接收到用户发来的消息时,可能会提取消息中的相关属性,参考:
-请求消息基本属性(以下所有消息都有的基本属性):
-
-> - `ToUserName` 接收方帐号(企业微信CorpID)
-> - `FromUserName` 发送方帐号(UserID, 代表用户的唯一标识)
-> - `CreateTime` 消息创建时间(时间戳 整型)
-> - `MsgId` 消息 ID(64位整型)
-> - `AgentID` 企业应用的id,整型。可在应用的设置页面查看
-
-### 文本:
-
-> - `MsgType` text
-> - `Content` 文本消息内容
-
-### 图片:
-
-> - `MsgType` image
-> - `MediaId` 图片消息媒体id,可以调用多媒体文件下载接口拉取数据。
-> - `PicUrl` 图片链接
-
-### 语音:
-
-> - `MsgType` voice
-> - `MediaId` 语音消息媒体id,可以调用多媒体文件下载接口拉取数据。
-> - `Format` 语音格式,如 amr,speex 等
-
-### 视频:
-
-> - `MsgType` video
-> - `MediaId` 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。
-
-
-### 地理位置:
-
-> - `MsgType` location
-> - `Latitude` 地理位置纬度
-> - `Longitude` 地理位置经度
-> - `Precision` 地理位置精度
-
-### 链接:
-
-> - `MsgType` link
-> - `Title` 消息标题
-> - `Description` 消息描述
-> - `Url` 消息链接
-
-### 文件:
-
-> `MsgType` file
-> `Title` 文件名
-> `Description` 文件描述,可能为null
-> `FileKey` 文件KEY
-> `FileMd5` 文件MD5值
-> `FileTotalLen` 文件大小,单位字节
-
-### 事件:
-
-> - `MsgType` event
-> - `Event` 事件类型 (如:CLICK 等)
-
-#### 进入应用
-
-本事件在成员进入企业微信的应用时触发
-
-> - `Event` enter_agent
-> - `EventKey` 事件KEY值,此事件该值为空
-
-
-#### 通讯录变更事件
-企业微信的成员可在客户端变更自己的个人信息。当企业通过通讯录助手开通通讯录写权限后,成员的变更会通知给企业。变更的事件,将推送到企业微信管理端通讯录助手中的‘接收事件服务器’。
-根据ChangeType来判断如何处理响应的事件,由于此事件只有特定的权限才能操作,此处不做详细的解释,有需要请邮箱联系!非常用接口事件!!!
-
-#### 菜单事件
-成员点击自定义菜单后,企业微信会把点击事件推送给应用。
-点击菜单弹出子菜单,不会产生上报。
-企业微信iPhone1.2.2/Android1.2.2版本开始支持菜单事件,旧版本企业微信成员点击后将没有回应,应用不能正常接收到事件推送。
-自定义菜单可以在管理后台的应用设置界面配置。
-##### 点击菜单的事件推送
-> - `MsgType` 消息类型,此时固定为:event
-> - `Event` 事件类型:click
-##### 点击菜单跳转链接的事件推送
-> - `MsgType` 消息类型,此时固定为:event
-> - `Event` view
-##### 扫码推事件的事件推送
-> - `MsgType` 消息类型,此时固定为:event
-> - `Event` scancode_push
-> - `EventKey` 事件KEY值,事件KEY值,与自定义菜单接口中KEY值对应
-> - `ScanCodeInfo` 扫描信息
-> - `ScanType` 扫描类型,一般是qrcode
-> - `ScanResult` 扫描结果,即二维码对应的字符串信息
-##### 扫码推事件且弹出“消息接收中”提示框的事件推送
-> - `Event` scancode_waitmsg
-其他的参数如上述的扫码推事件相同
-
-##### 弹出系统拍照发图的事件推送
-> - `Event` pic_sysphoto
-> - `EventKey` 事件KEY值,事件KEY值,与自定义菜单接口中KEY值对应
-> - `ScanCodeInfo` 发送的图片信息
-> - `Count` 发送的图片数量
-> - `PicList` 图片列表
-> - `PicMd5Sum` 图片的MD5值,开发者若需要,可用于验证接收到图片
-##### 弹出拍照或者相册发图的事件推送
-> - `Event` pic_photo_or_album
-其他的事件参数参考 弹出系统拍照发图的事件推送
-
-#### 弹出微信相册发图器的事件推送
-> - `Event` pic_weixin
-其他的事件参数参考 弹出系统拍照发图的事件推送
-##### 弹出地理位置选择器的事件推送
-> - `Event` location_select
-> - `Location_X` X坐标信息
-> - `Location_Y` Y坐标信息
-> - `Scale` 精度,可理解为精度或者比例尺、越精细的话 scale越高
-> - `Label` 地理位置的字符串信息
-> - `Poiname` POI的名字,可能为空
-
-#### 上报地理位置事件
-> - `Latitude` 23.137466 地理位置纬度
-> - `Longitude` 113.352425 地理位置经度
-> - `Precision` 119.385040 地理位置精度
-
-#### 自定义菜单事件
-> - `EventKey` 事件KEY值,与自定义菜单接口中KEY值对应,如:CUSTOM_KEY_001, www.qq.com
-
+## 接收服务器消息推送 {docsify-ignore}
+
+消息类型:`文本消息`、`图片消息`、`语音消息`、`图片消息`、`视频消息`、`位置消息`、`链接消息`;
+
+注意:接收此处的消息推送,一定需要先对接服务器回调。参考[快速入门](echat/server.md);
+
+示例代码:
+
+```js
+const echat = await this.ctx.echat();
+ const server = echat.server();
+ let result = await server.server().push(async(message) => { //回调中使用
+ switch (message['MsgType']) {
+ case 'event':
+ return '收到事件消息'; //此处判断是哪一个事件还需要进一步通过message['Event']来判断
+ break;
+ case 'text':
+ return '收到文字消息';
+ break;
+ case 'image':
+ return '收到图片消息';
+ break;
+ case 'voice':
+ return '收到语音消息';
+ break;
+ case 'video':
+ return '收到视频消息';
+ break;
+ case 'location':
+ return '收到坐标消息';
+ break;
+ case 'link':
+ return '收到链接消息';
+ break;
+ case 'file':
+ return '收到文件消息';
+ // ... 其它消息
+ default:
+ return '收到其它消息';
+ break;
+ }
+ });
+
+```
+
+当前,因为这里 `push` 接收一个回调的函数,所以一般是要传一个Closure 闭包;注意,此处写的是一个async函数;
+
+某些情况,我们需要直接使用 `message` 参数,那么怎么在 `push` 的闭包外调用呢?
+
+```js
+await server.getMessage();
+```
+
+#### 注册多个消息处理器
+
+有时候你可能需要对消息记日志,或者一系列的自定义操作,可以多注册几个handler:
+```js
+await server.server().push(logHandler);
+await server.server().push(enventHandler);
+...
+```
+
+#### 请求消息的属性
+当你接收到用户发来的消息时,可能会提取消息中的相关属性,参考:
+请求消息基本属性(以下所有消息都有的基本属性):
+
+> - `ToUserName` 接收方帐号(企业微信CorpID)
+> - `FromUserName` 发送方帐号(UserID, 代表用户的唯一标识)
+> - `CreateTime` 消息创建时间(时间戳 整型)
+> - `MsgId` 消息 ID(64位整型)
+> - `AgentID` 企业应用的id,整型。可在应用的设置页面查看
+
+### 文本:
+
+> - `MsgType` text
+> - `Content` 文本消息内容
+
+### 图片:
+
+> - `MsgType` image
+> - `MediaId` 图片消息媒体id,可以调用多媒体文件下载接口拉取数据。
+> - `PicUrl` 图片链接
+
+### 语音:
+
+> - `MsgType` voice
+> - `MediaId` 语音消息媒体id,可以调用多媒体文件下载接口拉取数据。
+> - `Format` 语音格式,如 amr,speex 等
+
+### 视频:
+
+> - `MsgType` video
+> - `MediaId` 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。
+
+
+### 地理位置:
+
+> - `MsgType` location
+> - `Latitude` 地理位置纬度
+> - `Longitude` 地理位置经度
+> - `Precision` 地理位置精度
+
+### 链接:
+
+> - `MsgType` link
+> - `Title` 消息标题
+> - `Description` 消息描述
+> - `Url` 消息链接
+
+### 文件:
+
+> `MsgType` file
+> `Title` 文件名
+> `Description` 文件描述,可能为null
+> `FileKey` 文件KEY
+> `FileMd5` 文件MD5值
+> `FileTotalLen` 文件大小,单位字节
+
+### 事件:
+
+> - `MsgType` event
+> - `Event` 事件类型 (如:CLICK 等)
+
+#### 进入应用
+
+本事件在成员进入企业微信的应用时触发
+
+> - `Event` enter_agent
+> - `EventKey` 事件KEY值,此事件该值为空
+
+
+#### 通讯录变更事件
+企业微信的成员可在客户端变更自己的个人信息。当企业通过通讯录助手开通通讯录写权限后,成员的变更会通知给企业。变更的事件,将推送到企业微信管理端通讯录助手中的‘接收事件服务器’。
+根据ChangeType来判断如何处理响应的事件,由于此事件只有特定的权限才能操作,此处不做详细的解释,有需要请邮箱联系!非常用接口事件!!!
+
+#### 菜单事件
+成员点击自定义菜单后,企业微信会把点击事件推送给应用。
+点击菜单弹出子菜单,不会产生上报。
+企业微信iPhone1.2.2/Android1.2.2版本开始支持菜单事件,旧版本企业微信成员点击后将没有回应,应用不能正常接收到事件推送。
+自定义菜单可以在管理后台的应用设置界面配置。
+##### 点击菜单的事件推送
+> - `MsgType` 消息类型,此时固定为:event
+> - `Event` 事件类型:click
+##### 点击菜单跳转链接的事件推送
+> - `MsgType` 消息类型,此时固定为:event
+> - `Event` view
+##### 扫码推事件的事件推送
+> - `MsgType` 消息类型,此时固定为:event
+> - `Event` scancode_push
+> - `EventKey` 事件KEY值,事件KEY值,与自定义菜单接口中KEY值对应
+> - `ScanCodeInfo` 扫描信息
+> - `ScanType` 扫描类型,一般是qrcode
+> - `ScanResult` 扫描结果,即二维码对应的字符串信息
+##### 扫码推事件且弹出“消息接收中”提示框的事件推送
+> - `Event` scancode_waitmsg
+其他的参数如上述的扫码推事件相同
+
+##### 弹出系统拍照发图的事件推送
+> - `Event` pic_sysphoto
+> - `EventKey` 事件KEY值,事件KEY值,与自定义菜单接口中KEY值对应
+> - `ScanCodeInfo` 发送的图片信息
+> - `Count` 发送的图片数量
+> - `PicList` 图片列表
+> - `PicMd5Sum` 图片的MD5值,开发者若需要,可用于验证接收到图片
+##### 弹出拍照或者相册发图的事件推送
+> - `Event` pic_photo_or_album
+其他的事件参数参考 弹出系统拍照发图的事件推送
+
+#### 弹出微信相册发图器的事件推送
+> - `Event` pic_weixin
+其他的事件参数参考 弹出系统拍照发图的事件推送
+##### 弹出地理位置选择器的事件推送
+> - `Event` location_select
+> - `Location_X` X坐标信息
+> - `Location_Y` Y坐标信息
+> - `Scale` 精度,可理解为精度或者比例尺、越精细的话 scale越高
+> - `Label` 地理位置的字符串信息
+> - `Poiname` POI的名字,可能为空
+
+#### 上报地理位置事件
+> - `Latitude` 23.137466 地理位置纬度
+> - `Longitude` 113.352425 地理位置经度
+> - `Precision` 119.385040 地理位置精度
+
+#### 自定义菜单事件
+> - `EventKey` 事件KEY值,与自定义菜单接口中KEY值对应,如:CUSTOM_KEY_001, www.qq.com
+
diff --git a/docs/echat/sig_config.md b/docs/echat/sig_config.md
index bde2bf1..6698d24 100644
--- a/docs/echat/sig_config.md
+++ b/docs/echat/sig_config.md
@@ -1,27 +1,27 @@
-# 单应用开发
-
-只需要在框架的配置文件 `{app_root}/config/config.default.js` 中配置即可
-
-```js
-exports.echat = {
- cache: {
- flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
- // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
- },
- CorpInfo: {
- ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
- CorpID: 'wl47sadasw3w', //找到对应的企业ID
- OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
- },
- AgentInfo: {
- AgentId: 1000177,
- AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
- token: 'TDkvYZyk',
- EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
- oauth: {
- // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
- // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
- }
- },
-};
+# 单应用开发
+
+只需要在框架的配置文件 `{app_root}/config/config.default.js` 中配置即可
+
+```js
+exports.echat = {
+ cache: {
+ flag: 'echat', //此处可自行更改,主要在采用文件存储accessToken时,为了区别不同的企业,如果只有一个企业则可忽略
+ // driver: 'redis' //此处可配置缓存accessToken的驱动,目前支持文件【默认】和redis,采用redis时,需要安装egg-redis插件
+ },
+ CorpInfo: {
+ ApiUrl: 'http://1.2.3.4:8082', //请勿带 " / "
+ CorpID: 'wl47sadasw3w', //找到对应的企业ID
+ OauthUrl: 'https://open.weixin.qq.com/connect/oauth2/authorize', //网页授权链接,一般不需要改变
+ },
+ AgentInfo: {
+ AgentId: 1000177,
+ AgentSecret: 'yIgAOVx0XDla6Qka_81pbHZ6BPoLPXyZFSKUTCBqeN4',
+ token: 'TDkvYZyk',
+ EncodingAESKey: 'XxIctVYOTgowmJdXliwvCMiFZH9LICQQvcLYGGe8rSS',
+ oauth: {
+ // scopes: 'snsapi_userinfo', // snsapi_base | snsapi_userinfo | snsapi_privateinfo ,
+ // redirect_uri: '' //框架内一般不用填写,中间件可自动获取当前的页面,也可自定义
+ }
+ },
+};
```
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index fbede87..6646ad4 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,63 +1,63 @@
-
-
-
-
-
- nodejs 接入企业微信 SDK
-
-
-
-
-
-
-
- 加载中……
-
-
-
-
-
-
-
+
+
+
+
+
+ nodejs 接入企业微信 SDK
+
+
+
+
+
+
+
+ 加载中……
+
+
+
+
+
+
+
diff --git a/docs/js/plugins/docsify-copy-code.js b/docs/js/plugins/docsify-copy-code.js
index 31c535e..1708856 100644
--- a/docs/js/plugins/docsify-copy-code.js
+++ b/docs/js/plugins/docsify-copy-code.js
@@ -1,9 +1,9 @@
-/*!
- * docsify-copy-code
- * v2.1.0
- * https://github.com/jperasmus/docsify-copy-code
- * (c) 2017-2019 JP Erasmus
- * MIT license
- */
-!function(){"use strict";function r(o){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(o,e){void 0===e&&(e={});var t=e.insertAt;if(o&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===t&&n.firstChild?n.insertBefore(c,n.firstChild):n.appendChild(c),c.styleSheet?c.styleSheet.cssText=o:c.appendChild(document.createTextNode(o))}}(".docsify-copy-code-button,.docsify-copy-code-button span{cursor:pointer;transition:all .25s ease}.docsify-copy-code-button{position:absolute;z-index:1;top:0;right:0;overflow:visible;padding:.65em .8em;border:0;border-radius:0;outline:0;font-size:1em;background:grey;background:var(--theme-color,grey);color:#fff;opacity:0}.docsify-copy-code-button span{border-radius:3px;background:inherit;pointer-events:none}.docsify-copy-code-button .error,.docsify-copy-code-button .success{position:absolute;z-index:-100;top:50%;left:0;padding:.5em .65em;font-size:.825em;opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.docsify-copy-code-button.error .error,.docsify-copy-code-button.success .success{opacity:1;-webkit-transform:translate(-115%,-50%);transform:translate(-115%,-50%)}.docsify-copy-code-button:focus,pre:hover .docsify-copy-code-button{opacity:1}"),document.querySelector('link[href*="docsify-copy-code"]')&&console.warn("[Deprecation] Link to external docsify-copy-code stylesheet is no longer necessary."),window.DocsifyCopyCodePlugin={init:function(){return function(o,e){o.ready(function(){console.warn("[Deprecation] Manually initializing docsify-copy-code using window.DocsifyCopyCodePlugin.init() is no longer necessary.")})}}},window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(o,s){o.doneEach(function(){var o=Array.apply(null,document.querySelectorAll("pre[data-lang]")),c={buttonText:"Copy to clipboard",errorText:"Error",successText:"Copied"};s.config.copyCode&&Object.keys(c).forEach(function(t){var n=s.config.copyCode[t];"string"==typeof n?c[t]=n:"object"===r(n)&&Object.keys(n).some(function(o){var e=-1',''.concat(c.buttonText,""),''.concat(c.errorText,""),''.concat(c.successText,""),""].join("");o.forEach(function(o){o.insertAdjacentHTML("beforeend",e)})}),o.mounted(function(){document.querySelector(".content").addEventListener("click",function(o){if(o.target.classList.contains("docsify-copy-code-button")){var e="BUTTON"===o.target.tagName?o.target:o.target.parentNode,t=document.createRange(),n=e.parentNode.querySelector("code"),c=window.getSelection();t.selectNode(n),c.removeAllRanges(),c.addRange(t);try{document.execCommand("copy")&&(e.classList.add("success"),setTimeout(function(){e.classList.remove("success")},1e3))}catch(o){console.error("docsify-copy-code: ".concat(o)),e.classList.add("error"),setTimeout(function(){e.classList.remove("error")},1e3)}"function"==typeof(c=window.getSelection()).removeRange?c.removeRange(t):"function"==typeof c.removeAllRanges&&c.removeAllRanges()}})})}].concat(window.$docsify.plugins||[])}();
+/*!
+ * docsify-copy-code
+ * v2.1.0
+ * https://github.com/jperasmus/docsify-copy-code
+ * (c) 2017-2019 JP Erasmus
+ * MIT license
+ */
+!function(){"use strict";function r(o){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(o,e){void 0===e&&(e={});var t=e.insertAt;if(o&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===t&&n.firstChild?n.insertBefore(c,n.firstChild):n.appendChild(c),c.styleSheet?c.styleSheet.cssText=o:c.appendChild(document.createTextNode(o))}}(".docsify-copy-code-button,.docsify-copy-code-button span{cursor:pointer;transition:all .25s ease}.docsify-copy-code-button{position:absolute;z-index:1;top:0;right:0;overflow:visible;padding:.65em .8em;border:0;border-radius:0;outline:0;font-size:1em;background:grey;background:var(--theme-color,grey);color:#fff;opacity:0}.docsify-copy-code-button span{border-radius:3px;background:inherit;pointer-events:none}.docsify-copy-code-button .error,.docsify-copy-code-button .success{position:absolute;z-index:-100;top:50%;left:0;padding:.5em .65em;font-size:.825em;opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.docsify-copy-code-button.error .error,.docsify-copy-code-button.success .success{opacity:1;-webkit-transform:translate(-115%,-50%);transform:translate(-115%,-50%)}.docsify-copy-code-button:focus,pre:hover .docsify-copy-code-button{opacity:1}"),document.querySelector('link[href*="docsify-copy-code"]')&&console.warn("[Deprecation] Link to external docsify-copy-code stylesheet is no longer necessary."),window.DocsifyCopyCodePlugin={init:function(){return function(o,e){o.ready(function(){console.warn("[Deprecation] Manually initializing docsify-copy-code using window.DocsifyCopyCodePlugin.init() is no longer necessary.")})}}},window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(o,s){o.doneEach(function(){var o=Array.apply(null,document.querySelectorAll("pre[data-lang]")),c={buttonText:"Copy to clipboard",errorText:"Error",successText:"Copied"};s.config.copyCode&&Object.keys(c).forEach(function(t){var n=s.config.copyCode[t];"string"==typeof n?c[t]=n:"object"===r(n)&&Object.keys(n).some(function(o){var e=-1',''.concat(c.buttonText,""),''.concat(c.errorText,""),''.concat(c.successText,""),""].join("");o.forEach(function(o){o.insertAdjacentHTML("beforeend",e)})}),o.mounted(function(){document.querySelector(".content").addEventListener("click",function(o){if(o.target.classList.contains("docsify-copy-code-button")){var e="BUTTON"===o.target.tagName?o.target:o.target.parentNode,t=document.createRange(),n=e.parentNode.querySelector("code"),c=window.getSelection();t.selectNode(n),c.removeAllRanges(),c.addRange(t);try{document.execCommand("copy")&&(e.classList.add("success"),setTimeout(function(){e.classList.remove("success")},1e3))}catch(o){console.error("docsify-copy-code: ".concat(o)),e.classList.add("error"),setTimeout(function(){e.classList.remove("error")},1e3)}"function"==typeof(c=window.getSelection()).removeRange?c.removeRange(t):"function"==typeof c.removeAllRanges&&c.removeAllRanges()}})})}].concat(window.$docsify.plugins||[])}();
//# sourceMappingURL=docsify-copy-code.min.js.map
\ No newline at end of file
diff --git a/docs/js/plugins/search.js b/docs/js/plugins/search.js
index c5790a7..bd12fd2 100644
--- a/docs/js/plugins/search.js
+++ b/docs/js/plugins/search.js
@@ -1,363 +1,363 @@
-(function () {
- var INDEXS = {};
-
- var LOCAL_STORAGE = {
- EXPIRE_KEY: 'docsify.search.expires',
- INDEX_KEY: 'docsify.search.index'
- };
-
- function resolveExpireKey(namespace) {
- return namespace ? ((LOCAL_STORAGE.EXPIRE_KEY) + "/" + namespace) : LOCAL_STORAGE.EXPIRE_KEY
- }
- function resolveIndexKey(namespace) {
- return namespace ? ((LOCAL_STORAGE.INDEX_KEY) + "/" + namespace) : LOCAL_STORAGE.INDEX_KEY
- }
-
- function escapeHtml(string) {
- var entityMap = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- '\'': ''',
- '/': '/'
- };
-
- return String(string).replace(/[&<>"'/]/g, function (s) { return entityMap[s]; })
- }
-
- function getAllPaths(router) {
- var paths = [];
-
- Docsify.dom.findAll('.sidebar-nav a:not(.section-link):not([data-nosearch])').forEach(function (node) {
- var href = node.href;
- var originHref = node.getAttribute('href');
- var path = router.parse(href).path;
-
- if (
- path &&
- paths.indexOf(path) === -1 &&
- !Docsify.util.isAbsolutePath(originHref)
- ) {
- paths.push(path);
- }
- });
-
- return paths
- }
-
- function saveData(maxAge, expireKey, indexKey) {
- localStorage.setItem(expireKey, Date.now() + maxAge);
- localStorage.setItem(indexKey, JSON.stringify(INDEXS));
- }
-
- function genIndex(path, content, router, depth) {
- if ( content === void 0 ) content = '';
-
- var tokens = window.marked.lexer(content);
- var slugify = window.Docsify.slugify;
- var index = {};
- var slug;
-
- tokens.forEach(function (token) {
- if (token.type === 'heading' && token.depth <= depth) {
- slug = router.toURL(path, {id: slugify(token.text)});
- index[slug] = {slug: slug, title: token.text, body: ''};
- } else {
- if (!slug) {
- return
- }
- if (!index[slug]) {
- index[slug] = {slug: slug, title: '', body: ''};
- } else if (index[slug].body) {
- index[slug].body += '\n' + (token.text || '');
- } else {
- index[slug].body = token.text;
- }
- }
- });
- slugify.clear();
- return index
- }
-
- /**
- * @param {String} query
- * @returns {Array}
- */
- function search(query) {
- var matchingResults = [];
- var data = [];
- Object.keys(INDEXS).forEach(function (key) {
- data = data.concat(Object.keys(INDEXS[key]).map(function (page) { return INDEXS[key][page]; }));
- });
-
- query = query.trim();
- var keywords = query.split(/[\s\-,\\/]+/);
- if (keywords.length !== 1) {
- keywords = [].concat(query, keywords);
- }
-
- var loop = function ( i ) {
- var post = data[i];
- var matchesScore = 0;
- var resultStr = '';
- var postTitle = post.title && post.title.trim();
- var postContent = post.body && post.body.trim();
- var postUrl = post.slug || '';
-
- if (postTitle) {
- keywords.forEach( function (keyword) {
- // From https://github.com/sindresorhus/escape-string-regexp
- var regEx = new RegExp(
- keyword.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'),
- 'gi'
- );
- var indexTitle = -1;
- var indexContent = -1;
-
- indexTitle = postTitle ? postTitle.search(regEx) : -1;
- indexContent = postContent ? postContent.search(regEx) : -1;
-
- if (indexTitle >= 0 || indexContent >= 0) {
- matchesScore += indexTitle >= 0 ? 3 : indexContent >= 0 ? 2 : 0;
- if (indexContent < 0) {
- indexContent = 0;
- }
-
- var start = 0;
- var end = 0;
-
- start = indexContent < 11 ? 0 : indexContent - 10;
- end = start === 0 ? 70 : indexContent + keyword.length + 60;
-
- if (end > postContent.length) {
- end = postContent.length;
- }
-
- var matchContent =
- '...' +
- escapeHtml(postContent)
- .substring(start, end)
- .replace(regEx, ("" + keyword + "")) +
- '...';
-
- resultStr += matchContent;
- }
- });
-
- if (matchesScore > 0) {
- var matchingPost = {
- title: escapeHtml(postTitle),
- content: postContent ? resultStr : '',
- url: postUrl,
- score: matchesScore
- };
-
- matchingResults.push(matchingPost);
- }
- }
- };
-
- for (var i = 0; i < data.length; i++) loop( i );
-
- return matchingResults.sort(function (r1, r2) { return r2.score - r1.score; });
- }
-
- function init$1(config, vm) {
- var isAuto = config.paths === 'auto';
-
- var expireKey = resolveExpireKey(config.namespace);
- var indexKey = resolveIndexKey(config.namespace);
-
- var isExpired = localStorage.getItem(expireKey) < Date.now();
-
- INDEXS = JSON.parse(localStorage.getItem(indexKey));
-
- if (isExpired) {
- INDEXS = {};
- } else if (!isAuto) {
- return
- }
-
- var paths = isAuto ? getAllPaths(vm.router) : config.paths;
- var len = paths.length;
- var count = 0;
-
- paths.forEach(function (path) {
- if (INDEXS[path]) {
- return count++
- }
-
- Docsify
- .get(vm.router.getFile(path), false, vm.config.requestHeaders)
- .then(function (result) {
- INDEXS[path] = genIndex(path, result, vm.router, config.depth);
- len === ++count && saveData(config.maxAge, expireKey, indexKey);
- });
- });
- }
-
- var NO_DATA_TEXT = '';
- var options;
-
- function style() {
- var code = "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0 7px;\n line-height: 36px;\n font-size: 14px;\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.search .clear-button {\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}";
-
- Docsify.dom.style(code);
- }
-
- function tpl(defaultValue) {
- if ( defaultValue === void 0 ) defaultValue = '';
-
- var html =
- "\n \n ";
- var el = Docsify.dom.create('div', html);
- var aside = Docsify.dom.find('aside');
-
- Docsify.dom.toggleClass(el, 'search');
- Docsify.dom.before(aside, el);
- }
-
- function doSearch(value) {
- var $search = Docsify.dom.find('div.search');
- var $panel = Docsify.dom.find($search, '.results-panel');
- var $clearBtn = Docsify.dom.find($search, '.clear-button');
- var $sidebarNav = Docsify.dom.find('.sidebar-nav');
- var $appName = Docsify.dom.find('.app-name');
-
- if (!value) {
- $panel.classList.remove('show');
- $clearBtn.classList.remove('show');
- $panel.innerHTML = '';
-
- if (options.hideOtherSidebarContent) {
- $sidebarNav.classList.remove('hide');
- $appName.classList.remove('hide');
- }
- return
- }
- var matchs = search(value);
-
- var html = '';
- matchs.forEach(function (post) {
- html += "";
- });
-
- $panel.classList.add('show');
- $clearBtn.classList.add('show');
- $panel.innerHTML = html || ("" + NO_DATA_TEXT + "
");
- if (options.hideOtherSidebarContent) {
- $sidebarNav.classList.add('hide');
- $appName.classList.add('hide');
- }
- }
-
- function bindEvents() {
- var $search = Docsify.dom.find('div.search');
- var $input = Docsify.dom.find($search, 'input');
- var $inputWrap = Docsify.dom.find($search, '.input-wrap');
-
- var timeId;
- // Prevent to Fold sidebar
- Docsify.dom.on(
- $search,
- 'click',
- function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); }
- );
- Docsify.dom.on($input, 'input', function (e) {
- clearTimeout(timeId);
- timeId = setTimeout(function (_) { return doSearch(e.target.value.trim()); }, 100);
- });
- Docsify.dom.on($inputWrap, 'click', function (e) {
- // Click input outside
- if (e.target.tagName !== 'INPUT') {
- $input.value = '';
- doSearch();
- }
- });
- }
-
- function updatePlaceholder(text, path) {
- var $input = Docsify.dom.getNode('.search input[type="search"]');
-
- if (!$input) {
- return
- }
- if (typeof text === 'string') {
- $input.placeholder = text;
- } else {
- var match = Object.keys(text).filter(function (key) { return path.indexOf(key) > -1; })[0];
- $input.placeholder = text[match];
- }
- }
-
- function updateNoData(text, path) {
- if (typeof text === 'string') {
- NO_DATA_TEXT = text;
- } else {
- var match = Object.keys(text).filter(function (key) { return path.indexOf(key) > -1; })[0];
- NO_DATA_TEXT = text[match];
- }
- }
-
- function updateOptions(opts) {
- options = opts;
- }
-
- function init(opts, vm) {
- var keywords = vm.router.parse().query.s;
-
- updateOptions(opts);
- style();
- tpl(keywords);
- bindEvents();
- keywords && setTimeout(function (_) { return doSearch(keywords); }, 500);
- }
-
- function update(opts, vm) {
- updateOptions(opts);
- updatePlaceholder(opts.placeholder, vm.route.path);
- updateNoData(opts.noData, vm.route.path);
- }
-
- var CONFIG = {
- placeholder: 'Type to search',
- noData: 'No Results!',
- paths: 'auto',
- depth: 2,
- maxAge: 86400000, // 1 day
- hideOtherSidebarContent: false,
- namespace: undefined
- };
-
- var install = function (hook, vm) {
- var util = Docsify.util;
- var opts = vm.config.search || CONFIG;
-
- if (Array.isArray(opts)) {
- CONFIG.paths = opts;
- } else if (typeof opts === 'object') {
- CONFIG.paths = Array.isArray(opts.paths) ? opts.paths : 'auto';
- CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge;
- CONFIG.placeholder = opts.placeholder || CONFIG.placeholder;
- CONFIG.noData = opts.noData || CONFIG.noData;
- CONFIG.depth = opts.depth || CONFIG.depth;
- CONFIG.hideOtherSidebarContent = opts.hideOtherSidebarContent || CONFIG.hideOtherSidebarContent;
- CONFIG.namespace = opts.namespace || CONFIG.namespace;
- }
-
- var isAuto = CONFIG.paths === 'auto';
-
- hook.mounted(function (_) {
- init(CONFIG, vm);
- !isAuto && init$1(CONFIG, vm);
- });
- hook.doneEach(function (_) {
- update(CONFIG, vm);
- isAuto && init$1(CONFIG, vm);
- });
- };
-
- $docsify.plugins = [].concat(install, $docsify.plugins);
-
+(function () {
+ var INDEXS = {};
+
+ var LOCAL_STORAGE = {
+ EXPIRE_KEY: 'docsify.search.expires',
+ INDEX_KEY: 'docsify.search.index'
+ };
+
+ function resolveExpireKey(namespace) {
+ return namespace ? ((LOCAL_STORAGE.EXPIRE_KEY) + "/" + namespace) : LOCAL_STORAGE.EXPIRE_KEY
+ }
+ function resolveIndexKey(namespace) {
+ return namespace ? ((LOCAL_STORAGE.INDEX_KEY) + "/" + namespace) : LOCAL_STORAGE.INDEX_KEY
+ }
+
+ function escapeHtml(string) {
+ var entityMap = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ '\'': ''',
+ '/': '/'
+ };
+
+ return String(string).replace(/[&<>"'/]/g, function (s) { return entityMap[s]; })
+ }
+
+ function getAllPaths(router) {
+ var paths = [];
+
+ Docsify.dom.findAll('.sidebar-nav a:not(.section-link):not([data-nosearch])').forEach(function (node) {
+ var href = node.href;
+ var originHref = node.getAttribute('href');
+ var path = router.parse(href).path;
+
+ if (
+ path &&
+ paths.indexOf(path) === -1 &&
+ !Docsify.util.isAbsolutePath(originHref)
+ ) {
+ paths.push(path);
+ }
+ });
+
+ return paths
+ }
+
+ function saveData(maxAge, expireKey, indexKey) {
+ localStorage.setItem(expireKey, Date.now() + maxAge);
+ localStorage.setItem(indexKey, JSON.stringify(INDEXS));
+ }
+
+ function genIndex(path, content, router, depth) {
+ if ( content === void 0 ) content = '';
+
+ var tokens = window.marked.lexer(content);
+ var slugify = window.Docsify.slugify;
+ var index = {};
+ var slug;
+
+ tokens.forEach(function (token) {
+ if (token.type === 'heading' && token.depth <= depth) {
+ slug = router.toURL(path, {id: slugify(token.text)});
+ index[slug] = {slug: slug, title: token.text, body: ''};
+ } else {
+ if (!slug) {
+ return
+ }
+ if (!index[slug]) {
+ index[slug] = {slug: slug, title: '', body: ''};
+ } else if (index[slug].body) {
+ index[slug].body += '\n' + (token.text || '');
+ } else {
+ index[slug].body = token.text;
+ }
+ }
+ });
+ slugify.clear();
+ return index
+ }
+
+ /**
+ * @param {String} query
+ * @returns {Array}
+ */
+ function search(query) {
+ var matchingResults = [];
+ var data = [];
+ Object.keys(INDEXS).forEach(function (key) {
+ data = data.concat(Object.keys(INDEXS[key]).map(function (page) { return INDEXS[key][page]; }));
+ });
+
+ query = query.trim();
+ var keywords = query.split(/[\s\-,\\/]+/);
+ if (keywords.length !== 1) {
+ keywords = [].concat(query, keywords);
+ }
+
+ var loop = function ( i ) {
+ var post = data[i];
+ var matchesScore = 0;
+ var resultStr = '';
+ var postTitle = post.title && post.title.trim();
+ var postContent = post.body && post.body.trim();
+ var postUrl = post.slug || '';
+
+ if (postTitle) {
+ keywords.forEach( function (keyword) {
+ // From https://github.com/sindresorhus/escape-string-regexp
+ var regEx = new RegExp(
+ keyword.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'),
+ 'gi'
+ );
+ var indexTitle = -1;
+ var indexContent = -1;
+
+ indexTitle = postTitle ? postTitle.search(regEx) : -1;
+ indexContent = postContent ? postContent.search(regEx) : -1;
+
+ if (indexTitle >= 0 || indexContent >= 0) {
+ matchesScore += indexTitle >= 0 ? 3 : indexContent >= 0 ? 2 : 0;
+ if (indexContent < 0) {
+ indexContent = 0;
+ }
+
+ var start = 0;
+ var end = 0;
+
+ start = indexContent < 11 ? 0 : indexContent - 10;
+ end = start === 0 ? 70 : indexContent + keyword.length + 60;
+
+ if (end > postContent.length) {
+ end = postContent.length;
+ }
+
+ var matchContent =
+ '...' +
+ escapeHtml(postContent)
+ .substring(start, end)
+ .replace(regEx, ("" + keyword + "")) +
+ '...';
+
+ resultStr += matchContent;
+ }
+ });
+
+ if (matchesScore > 0) {
+ var matchingPost = {
+ title: escapeHtml(postTitle),
+ content: postContent ? resultStr : '',
+ url: postUrl,
+ score: matchesScore
+ };
+
+ matchingResults.push(matchingPost);
+ }
+ }
+ };
+
+ for (var i = 0; i < data.length; i++) loop( i );
+
+ return matchingResults.sort(function (r1, r2) { return r2.score - r1.score; });
+ }
+
+ function init$1(config, vm) {
+ var isAuto = config.paths === 'auto';
+
+ var expireKey = resolveExpireKey(config.namespace);
+ var indexKey = resolveIndexKey(config.namespace);
+
+ var isExpired = localStorage.getItem(expireKey) < Date.now();
+
+ INDEXS = JSON.parse(localStorage.getItem(indexKey));
+
+ if (isExpired) {
+ INDEXS = {};
+ } else if (!isAuto) {
+ return
+ }
+
+ var paths = isAuto ? getAllPaths(vm.router) : config.paths;
+ var len = paths.length;
+ var count = 0;
+
+ paths.forEach(function (path) {
+ if (INDEXS[path]) {
+ return count++
+ }
+
+ Docsify
+ .get(vm.router.getFile(path), false, vm.config.requestHeaders)
+ .then(function (result) {
+ INDEXS[path] = genIndex(path, result, vm.router, config.depth);
+ len === ++count && saveData(config.maxAge, expireKey, indexKey);
+ });
+ });
+ }
+
+ var NO_DATA_TEXT = '';
+ var options;
+
+ function style() {
+ var code = "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0 7px;\n line-height: 36px;\n font-size: 14px;\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.search .clear-button {\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}";
+
+ Docsify.dom.style(code);
+ }
+
+ function tpl(defaultValue) {
+ if ( defaultValue === void 0 ) defaultValue = '';
+
+ var html =
+ "\n \n ";
+ var el = Docsify.dom.create('div', html);
+ var aside = Docsify.dom.find('aside');
+
+ Docsify.dom.toggleClass(el, 'search');
+ Docsify.dom.before(aside, el);
+ }
+
+ function doSearch(value) {
+ var $search = Docsify.dom.find('div.search');
+ var $panel = Docsify.dom.find($search, '.results-panel');
+ var $clearBtn = Docsify.dom.find($search, '.clear-button');
+ var $sidebarNav = Docsify.dom.find('.sidebar-nav');
+ var $appName = Docsify.dom.find('.app-name');
+
+ if (!value) {
+ $panel.classList.remove('show');
+ $clearBtn.classList.remove('show');
+ $panel.innerHTML = '';
+
+ if (options.hideOtherSidebarContent) {
+ $sidebarNav.classList.remove('hide');
+ $appName.classList.remove('hide');
+ }
+ return
+ }
+ var matchs = search(value);
+
+ var html = '';
+ matchs.forEach(function (post) {
+ html += "";
+ });
+
+ $panel.classList.add('show');
+ $clearBtn.classList.add('show');
+ $panel.innerHTML = html || ("" + NO_DATA_TEXT + "
");
+ if (options.hideOtherSidebarContent) {
+ $sidebarNav.classList.add('hide');
+ $appName.classList.add('hide');
+ }
+ }
+
+ function bindEvents() {
+ var $search = Docsify.dom.find('div.search');
+ var $input = Docsify.dom.find($search, 'input');
+ var $inputWrap = Docsify.dom.find($search, '.input-wrap');
+
+ var timeId;
+ // Prevent to Fold sidebar
+ Docsify.dom.on(
+ $search,
+ 'click',
+ function (e) { return e.target.tagName !== 'A' && e.stopPropagation(); }
+ );
+ Docsify.dom.on($input, 'input', function (e) {
+ clearTimeout(timeId);
+ timeId = setTimeout(function (_) { return doSearch(e.target.value.trim()); }, 100);
+ });
+ Docsify.dom.on($inputWrap, 'click', function (e) {
+ // Click input outside
+ if (e.target.tagName !== 'INPUT') {
+ $input.value = '';
+ doSearch();
+ }
+ });
+ }
+
+ function updatePlaceholder(text, path) {
+ var $input = Docsify.dom.getNode('.search input[type="search"]');
+
+ if (!$input) {
+ return
+ }
+ if (typeof text === 'string') {
+ $input.placeholder = text;
+ } else {
+ var match = Object.keys(text).filter(function (key) { return path.indexOf(key) > -1; })[0];
+ $input.placeholder = text[match];
+ }
+ }
+
+ function updateNoData(text, path) {
+ if (typeof text === 'string') {
+ NO_DATA_TEXT = text;
+ } else {
+ var match = Object.keys(text).filter(function (key) { return path.indexOf(key) > -1; })[0];
+ NO_DATA_TEXT = text[match];
+ }
+ }
+
+ function updateOptions(opts) {
+ options = opts;
+ }
+
+ function init(opts, vm) {
+ var keywords = vm.router.parse().query.s;
+
+ updateOptions(opts);
+ style();
+ tpl(keywords);
+ bindEvents();
+ keywords && setTimeout(function (_) { return doSearch(keywords); }, 500);
+ }
+
+ function update(opts, vm) {
+ updateOptions(opts);
+ updatePlaceholder(opts.placeholder, vm.route.path);
+ updateNoData(opts.noData, vm.route.path);
+ }
+
+ var CONFIG = {
+ placeholder: 'Type to search',
+ noData: 'No Results!',
+ paths: 'auto',
+ depth: 2,
+ maxAge: 86400000, // 1 day
+ hideOtherSidebarContent: false,
+ namespace: undefined
+ };
+
+ var install = function (hook, vm) {
+ var util = Docsify.util;
+ var opts = vm.config.search || CONFIG;
+
+ if (Array.isArray(opts)) {
+ CONFIG.paths = opts;
+ } else if (typeof opts === 'object') {
+ CONFIG.paths = Array.isArray(opts.paths) ? opts.paths : 'auto';
+ CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge;
+ CONFIG.placeholder = opts.placeholder || CONFIG.placeholder;
+ CONFIG.noData = opts.noData || CONFIG.noData;
+ CONFIG.depth = opts.depth || CONFIG.depth;
+ CONFIG.hideOtherSidebarContent = opts.hideOtherSidebarContent || CONFIG.hideOtherSidebarContent;
+ CONFIG.namespace = opts.namespace || CONFIG.namespace;
+ }
+
+ var isAuto = CONFIG.paths === 'auto';
+
+ hook.mounted(function (_) {
+ init(CONFIG, vm);
+ !isAuto && init$1(CONFIG, vm);
+ });
+ hook.doneEach(function (_) {
+ update(CONFIG, vm);
+ isAuto && init$1(CONFIG, vm);
+ });
+ };
+
+ $docsify.plugins = [].concat(install, $docsify.plugins);
+
}());
\ No newline at end of file
diff --git a/lib/baseService/accessToken.js b/lib/baseService/accessToken.js
index ba2103f..697d06b 100644
--- a/lib/baseService/accessToken.js
+++ b/lib/baseService/accessToken.js
@@ -1,138 +1,138 @@
-'use strict';
-
-const helper = require('./../helper/helper');
-const Cache = require('./../cache/cache');
-
-
-class HttpClient {
- constructor(option) {
- this.baseUrl = option.baseUrl;
- this.ctx = option.ctx;
- }
-
- curl(url, args, callback) {
- url = this.baseUrl && this.baseUrl ? this.baseUrl + url : url;
- return this.ctx.curl(url, args, callback);
- }
-}
-
-class AccessToken {
-
- constructor(config, type) {
- this.config = config;
- this.ctx = config.ctx;
- this.access_token = null;
- this.cache = new Cache(
- this.config.cache.flag, //在文件存储中会用到,用于区分不同的企业
- this.config.cache.driver, //选择存储引擎 [ file/redis ]
- this.ctx //将ctx实例注入到
- );
- // this.flag = helper.md5(`${this.config.Corp.CorpID}`);
- this.secret = this.config.Agent.AgentSecret;
- if (type) {
- switch (type) { //若配置文件没有,则使用应用的默认secret,可用于展示
- case 'agent': //应用管理
- this.secret = this.config.Corp.AgentApiSecret || this.secret;
- break;
- case 'user': //用户管理
- this.secret = this.config.Corp.UserApiSecret || this.secret;
- break;
- case 'device': //设备管理
- this.secret = this.config.Corp.DeviceApiSecret || this.secret;
- break;
- case 'log': //设备管理
- this.secret = this.config.Corp.LogApiSecret || this.secret;
- break;
- default:
- break;
- }
- }
- }
- //获取Token
- async getToken(flag) {
- flag = flag || false; //是否强制刷新accessToken
- //1. 先从缓存中获取,不过如果调用者需要强制从服务器拉取(刷新操作)则从服务器拉取
- flag ? await this.refreshToken() : await this.getTokenFromCache();
- await this.getTokenFromCache();
- // //2. 缓存中没有则从服务器中获取
- if (!this.access_token) {
- await this.getTokenFromServer();
- }
-
- return this.access_token;
- }
- //从缓存中获取Token
- async getTokenFromCache() {
- this.access_token = await this.cache.get(helper.md5(`${this.config.Agent.AgentId}_${this.secret}`));
- }
- //从服务器获取Token
- async getTokenFromServer() {
-
- const ctx = this.ctx;
- let url = this.config.Corp.ApiUrl;
- if (url[url.length - 1] == '/') { // 防止程序后续出错
- url = url.substr(0, url.length-1)
- }
- const baseUrl = url || this.config.Corp.ApiUrl;
- const httpClient = new HttpClient({
- baseUrl,
- ctx
- });
- let res;
- try {
- res = await httpClient.curl(`/cgi-bin/gettoken?corpid=${this.config.Corp.CorpID}&corpsecret=${this.secret}`, {
- method: 'GET',
- headers: {
- 'Content-Type': 'application/json'
- },
- dataType: 'json'
- });
- } catch (error) {
- ctx.logger.error(new Error(error));
- ctx.logger.error(new Error('whoops'));
- }
- //检测请求结果,并返回
- const data = res.data;
- if (data) {
- if (data.errcode !== 0) { // 获取accessToken出错时抛出异常
- try {
- throw new Error(data);
- } catch (error) {
- ctx.logger.error(JSON.stringify(data));
- }
- } else if (data.errcode === 0 && data.errmsg === 'ok') {
- this.access_token = data.access_token;
- ctx.logger.info('从服务器拿的token:↓');
- ctx.logger.info(this.access_token);
- ctx.logger.info('从服务器拿的token:↑');
- //将token存进缓存
- await this.storeToken2Cache();
- }
- }
- }
- //获取的token储存
- async storeToken2Cache() {
- const ctx = this.ctx;
- try {
- let result = await this.cache.put(helper.md5(`${this.config.Agent.AgentId}_${this.secret}`), this.access_token, 7100);
- ctx.logger.info("AccessToken存入的结果:" + result);
-
- if (!result) {
- throw new Error('存入AccessToken失败');
- } else {
- ctx.logger.info('存入AccessToken成功');
- }
- } catch (error) {
- ctx.logger.error('存入AccessToken失败');
- }
- }
-
- //刷新缓存中的Token
- async refreshToken() {
- await this.getTokenFromServer();
- return this;
- }
-
-}
-
+'use strict';
+
+const helper = require('./../helper/helper');
+const Cache = require('./../cache/cache');
+
+
+class HttpClient {
+ constructor(option) {
+ this.baseUrl = option.baseUrl;
+ this.ctx = option.ctx;
+ }
+
+ curl(url, args, callback) {
+ url = this.baseUrl && this.baseUrl ? this.baseUrl + url : url;
+ return this.ctx.curl(url, args, callback);
+ }
+}
+
+class AccessToken {
+
+ constructor(config, type) {
+ this.config = config;
+ this.ctx = config.ctx;
+ this.access_token = null;
+ this.cache = new Cache(
+ this.config.cache.flag, //在文件存储中会用到,用于区分不同的企业
+ this.config.cache.driver, //选择存储引擎 [ file/redis ]
+ this.ctx //将ctx实例注入到
+ );
+ // this.flag = helper.md5(`${this.config.Corp.CorpID}`);
+ this.secret = this.config.Agent.AgentSecret;
+ if (type) {
+ switch (type) { //若配置文件没有,则使用应用的默认secret,可用于展示
+ case 'agent': //应用管理
+ this.secret = this.config.Corp.AgentApiSecret || this.secret;
+ break;
+ case 'user': //用户管理
+ this.secret = this.config.Corp.UserApiSecret || this.secret;
+ break;
+ case 'device': //设备管理
+ this.secret = this.config.Corp.DeviceApiSecret || this.secret;
+ break;
+ case 'log': //设备管理
+ this.secret = this.config.Corp.LogApiSecret || this.secret;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ //获取Token
+ async getToken(flag) {
+ flag = flag || false; //是否强制刷新accessToken
+ //1. 先从缓存中获取,不过如果调用者需要强制从服务器拉取(刷新操作)则从服务器拉取
+ flag ? await this.refreshToken() : await this.getTokenFromCache();
+ await this.getTokenFromCache();
+ // //2. 缓存中没有则从服务器中获取
+ if (!this.access_token) {
+ await this.getTokenFromServer();
+ }
+
+ return this.access_token;
+ }
+ //从缓存中获取Token
+ async getTokenFromCache() {
+ this.access_token = await this.cache.get(helper.md5(`${this.config.Agent.AgentId}_${this.secret}`));
+ }
+ //从服务器获取Token
+ async getTokenFromServer() {
+
+ const ctx = this.ctx;
+ let url = this.config.Corp.ApiUrl;
+ if (url[url.length - 1] == '/') { // 防止程序后续出错
+ url = url.substr(0, url.length-1)
+ }
+ const baseUrl = url || this.config.Corp.ApiUrl;
+ const httpClient = new HttpClient({
+ baseUrl,
+ ctx
+ });
+ let res;
+ try {
+ res = await httpClient.curl(`/cgi-bin/gettoken?corpid=${this.config.Corp.CorpID}&corpsecret=${this.secret}`, {
+ method: 'GET',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ dataType: 'json'
+ });
+ } catch (error) {
+ ctx.logger.error(new Error(error));
+ ctx.logger.error(new Error('whoops'));
+ }
+ //检测请求结果,并返回
+ const data = res.data;
+ if (data) {
+ if (data.errcode !== 0) { // 获取accessToken出错时抛出异常
+ try {
+ throw new Error(data);
+ } catch (error) {
+ ctx.logger.error(JSON.stringify(data));
+ }
+ } else if (data.errcode === 0 && data.errmsg === 'ok') {
+ this.access_token = data.access_token;
+ ctx.logger.info('从服务器拿的token:↓');
+ ctx.logger.info(this.access_token);
+ ctx.logger.info('从服务器拿的token:↑');
+ //将token存进缓存
+ await this.storeToken2Cache();
+ }
+ }
+ }
+ //获取的token储存
+ async storeToken2Cache() {
+ const ctx = this.ctx;
+ try {
+ let result = await this.cache.put(helper.md5(`${this.config.Agent.AgentId}_${this.secret}`), this.access_token, 7100);
+ ctx.logger.info("AccessToken存入的结果:" + result);
+
+ if (!result) {
+ throw new Error('存入AccessToken失败');
+ } else {
+ ctx.logger.info('存入AccessToken成功');
+ }
+ } catch (error) {
+ ctx.logger.error('存入AccessToken失败');
+ }
+ }
+
+ //刷新缓存中的Token
+ async refreshToken() {
+ await this.getTokenFromServer();
+ return this;
+ }
+
+}
+
module.exports = AccessToken;
\ No newline at end of file
diff --git a/lib/baseService/baseClient.js b/lib/baseService/baseClient.js
index 2351684..f37540b 100644
--- a/lib/baseService/baseClient.js
+++ b/lib/baseService/baseClient.js
@@ -1,116 +1,116 @@
-'use strict';
-
-const AccessToken = require('./accessToken');
-
-class HttpClient {
- constructor(option) {
- this.baseUrl = option.baseUrl;
- this.ctx = option.ctx;
- }
-
- curl(url, args, callback) {
- url = this.baseUrl && this.baseUrl ? this.baseUrl + url : url;
- return this.ctx.curl(url, args, callback);
- }
-}
-
-class BaseClient {
- constructor(config, type) {
- this.accessToken = null;
- this.config = config;
- this.ctx = config.ctx;
- this.type = type || 'default' ; //获取对应的 accessToken,默认为应用的secret
- }
-
- //获取accesstoken
- async _getAccessToken(flag) {
-
- const accessToken = new AccessToken(this.config, this.type);
-
- const token = await accessToken.getToken(flag);
-
- this.accessToken = token;
-
- return this;
- }
-
- //build GetClient
- async httpGet(url, data) {
- data = data || {};
- //获取 Token
- await this._getAccessToken();
- let httpClient = new HttpClient({
- baseUrl: this.config.Corp.ApiUrl,
- ctx: this.ctx
- });
- let res;
- try {
- res = await httpClient.curl(`${url}?access_token=${this.accessToken}`, {
- method: 'GET',
- headers: {
- 'Content-Type': 'application/json'
- },
- data,
- dataType: 'json',
- timeout: 8000,
- });
- if (res.status !== 200) {
- throw new Error(res)
- }
- } catch (error) {
- console.log(error);
- } finally {
- return res.data || res;
- }
- }
-
- //build PostClient
- async httpPost(url, data) {
- data = data || {};
- //获取 Token
- await this._getAccessToken();
-
- let httpClient = new HttpClient({
- baseUrl: this.config.Corp.ApiUrl,
- ctx: this.ctx
- });
- let res;
- try {
- res = await httpClient.curl(`${url}?access_token=${this.accessToken}`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- data,
- dataType: 'json'
- });
- // console.log(res);
- if (res.status !== 200) {
- throw new Error(res)
- }
- } catch (error) {
- console.log(res);
- } finally {
-
- return res.data || res;
- }
- }
-
- //build PostClient for menu
- async httpPostSpecWithToken() {
- let httpClient = new HttpClient({
- baseUrl: this.config.Corp.ApiUrl,
- ctx: this.ctx
- });
- return {
- httpClient,
- accessToken: (await this._getAccessToken()).accessToken
- };
- }
-
-
-
-
-}
-
-module.exports = BaseClient;
+'use strict';
+
+const AccessToken = require('./accessToken');
+
+class HttpClient {
+ constructor(option) {
+ this.baseUrl = option.baseUrl;
+ this.ctx = option.ctx;
+ }
+
+ curl(url, args, callback) {
+ url = this.baseUrl && this.baseUrl ? this.baseUrl + url : url;
+ return this.ctx.curl(url, args, callback);
+ }
+}
+
+class BaseClient {
+ constructor(config, type) {
+ this.accessToken = null;
+ this.config = config;
+ this.ctx = config.ctx;
+ this.type = type || 'default' ; //获取对应的 accessToken,默认为应用的secret
+ }
+
+ //获取accesstoken
+ async _getAccessToken(flag) {
+
+ const accessToken = new AccessToken(this.config, this.type);
+
+ const token = await accessToken.getToken(flag);
+
+ this.accessToken = token;
+
+ return this;
+ }
+
+ //build GetClient
+ async httpGet(url, data) {
+ data = data || {};
+ //获取 Token
+ await this._getAccessToken();
+ let httpClient = new HttpClient({
+ baseUrl: this.config.Corp.ApiUrl,
+ ctx: this.ctx
+ });
+ let res;
+ try {
+ res = await httpClient.curl(`${url}?access_token=${this.accessToken}`, {
+ method: 'GET',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ data,
+ dataType: 'json',
+ timeout: 8000,
+ });
+ if (res.status !== 200) {
+ throw new Error(res)
+ }
+ } catch (error) {
+ console.log(error);
+ } finally {
+ return res.data || res;
+ }
+ }
+
+ //build PostClient
+ async httpPost(url, data) {
+ data = data || {};
+ //获取 Token
+ await this._getAccessToken();
+
+ let httpClient = new HttpClient({
+ baseUrl: this.config.Corp.ApiUrl,
+ ctx: this.ctx
+ });
+ let res;
+ try {
+ res = await httpClient.curl(`${url}?access_token=${this.accessToken}`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ data,
+ dataType: 'json'
+ });
+ // console.log(res);
+ if (res.status !== 200) {
+ throw new Error(res)
+ }
+ } catch (error) {
+ console.log(res);
+ } finally {
+
+ return res.data || res;
+ }
+ }
+
+ //build PostClient for menu
+ async httpPostSpecWithToken() {
+ let httpClient = new HttpClient({
+ baseUrl: this.config.Corp.ApiUrl,
+ ctx: this.ctx
+ });
+ return {
+ httpClient,
+ accessToken: (await this._getAccessToken()).accessToken
+ };
+ }
+
+
+
+
+}
+
+module.exports = BaseClient;
diff --git a/lib/baseService/ticketHandel.js b/lib/baseService/ticketHandel.js
index fdff99f..d431108 100644
--- a/lib/baseService/ticketHandel.js
+++ b/lib/baseService/ticketHandel.js
@@ -1,124 +1,124 @@
-'use strict';
-
-const Http = require('./baseClient');
-const helper = require('./../helper/helper');
-const Cache = require('./../cache/cache');
-
-class Ticket {
- //配置,默认为应用的ticket
- constructor(config, type) {
- this.config = config;
- this.ticket = null;
- this.ctx = config.ctx;
- this.flag = helper.md5(`${this.config.Corp.CorpID}`);
- this.logger = this.ctx.logger;
- this.cache = new Cache(
- this.config.cache.flag, //在文件存储中会用到,用于区分不同的企业
- this.config.cache.driver, //选择存储引擎 [ file/redis ]
- this.ctx //将ctx实例注入到
- );
-
- this.secret = this.config.Agent.AgentSecret; // 不传参则默认为 普通调用
- this.ticket_type = null;
- this.http = new Http(this.config);
-
-
- if (type) {
- switch (type) { //判断是哪个类型的ticket
- case 'userdetail': //应用管理
- this.ticket_type = 'userdetail';
- break;
- case 'js_config': //普通
- this.ticket_type = 'jssdk';
- break;
- case 'js_agent_config': //用户管理
- this.ticket_type = 'jsAgentConfig';
- break;
- default:
- this.ticket_type = 'userdetail';
- break;
- }
- }
- }
- //获取Ticket
- async getTicket(flag) {
- flag = flag || false; //是否强制刷新accessTicket
- //1. 先从缓存中获取,不过如果调用者需要强制从服务器拉取(刷新操作)则从服务器拉取
- flag ? await this.refreshTicket() : await this.getTicketFromCache();
- // await this.getTicketFromCache();
- //2. 缓存中没有则从服务器中获取
- if (!this.access_Ticket) {
- await this.getTicketFromServer();
- }
- return this.access_Ticket;
- }
- //从缓存中获取Ticket
- async getTicketFromCache() {
- this.access_Ticket = await this.cache.get(helper.md5(`${this.config.Agent.AgentId}_${this.ticket_type}`));
- }
- //从服务器获取Ticket
- async getTicketFromServer() {
- let res;
- try {
-
- if (this.ticket_type === 'jsAgentConfig') {
- res = await this.http.httpGet('/cgi-bin/ticket/get', {
- type: 'agent_config'
- });
- } else if (this.ticket_type === 'jssdk') {
- res = await this.http.httpGet('/cgi-bin/get_jsapi_ticket');
- }
-
- } catch (error) {
- console.log(error);
-
- this.logger.error('Status 404');
- this.logger.error(res);
- }
- //检测请求结果,并返回
- const data = res;
- if (data) {
- if (data.errcode !== 0) { // 获取accessTicket出错时抛出异常
- try {
- throw new Error(data);
- } catch (error) {
- this.logger.error(JSON.stringify(data));
- }
- } else if (data.errcode === 0 && data.errmsg === 'ok') {
- this.ticket = data.ticket;
-
- this.logger.info('从服务器拿的Ticket:↓');
- this.logger.info(this.ticket);
- this.logger.info('从服务器拿的Ticket:↑');
- //将Ticket存进缓存
- await this.storeTicket2Cache();
- }
- }
- //将获取的Ticket储存
- }
- //获取的Ticket储存
- async storeTicket2Cache() {
-
- try {
- let result = await this.cache.put(helper.md5(`${this.config.Agent.AgentId}_${this.ticket_type}`), this.ticket, 7100);
- if (!result) {
- throw new Error(`'存入${this.ticket_type}Ticket失败'`);
- } else {
- this.logger.info(`存入${this.ticket_type}Ticket成功`);
- }
- } catch (error) {
- this.logger.error(`存入${this.ticket_type}Ticket失败`);
- }
-
-
- }
-
- //刷新缓存中的Ticket
- async refreshTicket() {
- await this.getTicketFromServer();
- return this;
- }
-
-}
-
+'use strict';
+
+const Http = require('./baseClient');
+const helper = require('./../helper/helper');
+const Cache = require('./../cache/cache');
+
+class Ticket {
+ //配置,默认为应用的ticket
+ constructor(config, type) {
+ this.config = config;
+ this.ticket = null;
+ this.ctx = config.ctx;
+ this.flag = helper.md5(`${this.config.Corp.CorpID}`);
+ this.logger = this.ctx.logger;
+ this.cache = new Cache(
+ this.config.cache.flag, //在文件存储中会用到,用于区分不同的企业
+ this.config.cache.driver, //选择存储引擎 [ file/redis ]
+ this.ctx //将ctx实例注入到
+ );
+
+ this.secret = this.config.Agent.AgentSecret; // 不传参则默认为 普通调用
+ this.ticket_type = null;
+ this.http = new Http(this.config);
+
+
+ if (type) {
+ switch (type) { //判断是哪个类型的ticket
+ case 'userdetail': //应用管理
+ this.ticket_type = 'userdetail';
+ break;
+ case 'js_config': //普通
+ this.ticket_type = 'jssdk';
+ break;
+ case 'js_agent_config': //用户管理
+ this.ticket_type = 'jsAgentConfig';
+ break;
+ default:
+ this.ticket_type = 'userdetail';
+ break;
+ }
+ }
+ }
+ //获取Ticket
+ async getTicket(flag) {
+ flag = flag || false; //是否强制刷新accessTicket
+ //1. 先从缓存中获取,不过如果调用者需要强制从服务器拉取(刷新操作)则从服务器拉取
+ flag ? await this.refreshTicket() : await this.getTicketFromCache();
+ // await this.getTicketFromCache();
+ //2. 缓存中没有则从服务器中获取
+ if (!this.access_Ticket) {
+ await this.getTicketFromServer();
+ }
+ return this.access_Ticket;
+ }
+ //从缓存中获取Ticket
+ async getTicketFromCache() {
+ this.access_Ticket = await this.cache.get(helper.md5(`${this.config.Agent.AgentId}_${this.ticket_type}`));
+ }
+ //从服务器获取Ticket
+ async getTicketFromServer() {
+ let res;
+ try {
+
+ if (this.ticket_type === 'jsAgentConfig') {
+ res = await this.http.httpGet('/cgi-bin/ticket/get', {
+ type: 'agent_config'
+ });
+ } else if (this.ticket_type === 'jssdk') {
+ res = await this.http.httpGet('/cgi-bin/get_jsapi_ticket');
+ }
+
+ } catch (error) {
+ console.log(error);
+
+ this.logger.error('Status 404');
+ this.logger.error(res);
+ }
+ //检测请求结果,并返回
+ const data = res;
+ if (data) {
+ if (data.errcode !== 0) { // 获取accessTicket出错时抛出异常
+ try {
+ throw new Error(data);
+ } catch (error) {
+ this.logger.error(JSON.stringify(data));
+ }
+ } else if (data.errcode === 0 && data.errmsg === 'ok') {
+ this.ticket = data.ticket;
+
+ this.logger.info('从服务器拿的Ticket:↓');
+ this.logger.info(this.ticket);
+ this.logger.info('从服务器拿的Ticket:↑');
+ //将Ticket存进缓存
+ await this.storeTicket2Cache();
+ }
+ }
+ //将获取的Ticket储存
+ }
+ //获取的Ticket储存
+ async storeTicket2Cache() {
+
+ try {
+ let result = await this.cache.put(helper.md5(`${this.config.Agent.AgentId}_${this.ticket_type}`), this.ticket, 7100);
+ if (!result) {
+ throw new Error(`'存入${this.ticket_type}Ticket失败'`);
+ } else {
+ this.logger.info(`存入${this.ticket_type}Ticket成功`);
+ }
+ } catch (error) {
+ this.logger.error(`存入${this.ticket_type}Ticket失败`);
+ }
+
+
+ }
+
+ //刷新缓存中的Ticket
+ async refreshTicket() {
+ await this.getTicketFromServer();
+ return this;
+ }
+
+}
+
module.exports = Ticket;
\ No newline at end of file
diff --git a/lib/cache/cache.js b/lib/cache/cache.js
index 76b8e7a..d187a5b 100644
--- a/lib/cache/cache.js
+++ b/lib/cache/cache.js
@@ -1,94 +1,94 @@
-'use strict';
-
-// const drivers = require('./register/cache.config');
-const FileCache = require('./fileCache/fileCache');
-const RedisCache = require('./redisCache/redisCache');
-class Cache {
-
- constructor(flag, driver, ctx) {
- // driver = driver || drivers.default.driver;
- this.cache;
- switch (driver) {
- case 'file':
- this.cache = new FileCache(flag);
- break;
- case 'redis':
- this.cache = new RedisCache(flag, ctx);
- break;
- default:
- console.log("暂无 " + driver ? driver : '' + ' 驱动,将采取文件驱动(默认)');
- this.cache = new FileCache(flag);
- break;
- }
- }
- /**
- * 获取数据
- * @param {string} key
- */
- async get(key) {
- return await this.cache.get(key);
- }
-
- /**
- * 将数据存储到缓存中,如果缓存的过期时间没有传递给 put 方法, 则缓存将永久有效
- * @param {string} key
- * @param {mix} value
- * @param {number} seconds
- */
- async put(key, value, seconds) {
- return await this.cache.put(key, value, seconds);
- }
- /**
- * 永久存储数据
- * @param {string} key
- * @param {mix} value
- */
- async forever(key, value) {
- return await this.cache.put(key, value);
- }
- //检查是否存在返回Boolean
- async has(key) {
- return await this.cache.has(key);
- }
- /**
- * 存储
- * @param {string} key
- * @param {string} value
- * @param {number} seconds
- * @param {function} callback
- */
- async remember(key, seconds, callback) {
- return await this.cache.remember(key, seconds, callback);
- }
-
- /**
- * 存为永久值
- * @param {string} key
- * @param {string} value
- * @param {function} callback
- */
- async rememberForever(key, value, callback) {
- return await this.cache.rememberForever(key, value, callback);
- }
-
- //从缓存中获取到数据之后再删除它
- async pull(key) {
- return await this.cache.pull(key);
- }
- /**
- * 删除一个值
- * @param {string} key
- */
- async forget(key) {
- return await this.cache.forget(key);
- }
- //删除全部的值
- async flush() {
- return await this.cache.flush();
- }
-
-}
-
-module.exports = function(flag, driver, ctx) {
- return new Cache(flag, driver, ctx);
+'use strict';
+
+// const drivers = require('./register/cache.config');
+const FileCache = require('./fileCache/fileCache');
+const RedisCache = require('./redisCache/redisCache');
+class Cache {
+
+ constructor(flag, driver, ctx) {
+ // driver = driver || drivers.default.driver;
+ this.cache;
+ switch (driver) {
+ case 'file':
+ this.cache = new FileCache(flag);
+ break;
+ case 'redis':
+ this.cache = new RedisCache(flag, ctx);
+ break;
+ default:
+ console.log("暂无 " + driver ? driver : '' + ' 驱动,将采取文件驱动(默认)');
+ this.cache = new FileCache(flag);
+ break;
+ }
+ }
+ /**
+ * 获取数据
+ * @param {string} key
+ */
+ async get(key) {
+ return await this.cache.get(key);
+ }
+
+ /**
+ * 将数据存储到缓存中,如果缓存的过期时间没有传递给 put 方法, 则缓存将永久有效
+ * @param {string} key
+ * @param {mix} value
+ * @param {number} seconds
+ */
+ async put(key, value, seconds) {
+ return await this.cache.put(key, value, seconds);
+ }
+ /**
+ * 永久存储数据
+ * @param {string} key
+ * @param {mix} value
+ */
+ async forever(key, value) {
+ return await this.cache.put(key, value);
+ }
+ //检查是否存在返回Boolean
+ async has(key) {
+ return await this.cache.has(key);
+ }
+ /**
+ * 存储
+ * @param {string} key
+ * @param {string} value
+ * @param {number} seconds
+ * @param {function} callback
+ */
+ async remember(key, seconds, callback) {
+ return await this.cache.remember(key, seconds, callback);
+ }
+
+ /**
+ * 存为永久值
+ * @param {string} key
+ * @param {string} value
+ * @param {function} callback
+ */
+ async rememberForever(key, value, callback) {
+ return await this.cache.rememberForever(key, value, callback);
+ }
+
+ //从缓存中获取到数据之后再删除它
+ async pull(key) {
+ return await this.cache.pull(key);
+ }
+ /**
+ * 删除一个值
+ * @param {string} key
+ */
+ async forget(key) {
+ return await this.cache.forget(key);
+ }
+ //删除全部的值
+ async flush() {
+ return await this.cache.flush();
+ }
+
+}
+
+module.exports = function(flag, driver, ctx) {
+ return new Cache(flag, driver, ctx);
};
\ No newline at end of file
diff --git a/lib/cache/fileCache/fileCache.js b/lib/cache/fileCache/fileCache.js
index 1ca6c2a..c36c3ff 100644
--- a/lib/cache/fileCache/fileCache.js
+++ b/lib/cache/fileCache/fileCache.js
@@ -1,137 +1,137 @@
-'use strict';
-const fs = require('fs');
-const path = require('path');
-const Lnob = require('lndb');
-// // // const logger = require('../../logger/logger');
-
-class FileCache {
- /**
- *
- * @param {string} flag
- */
- constructor(flag) {
- let regOfFlag = new RegExp('[\\\\/:*?\"<>|]');
- if (regOfFlag.test(flag)) {
- message = `${flag}中不能包含【\\\\/:*?\"<>|】这些非法字符,请修改合法的文件名!`;
- // logger.error(`${message}`);
- process.exit();
- return flag;
- }
- this.dir = path.resolve(__dirname, '../../../storge/');
- this.existsDir = true;
- //不存在则创建文件夹
- if (!fs.existsSync(this.dir)) {
- this.existsDir = false;
- fs.mkdirSync(this.dir);
- if (fs.existsSync(this.dir)) {
- this.existsDir = true;
- // logger.info('存储文件夹创建成功');
- }
- }
- //再次检查是否存在这个文件夹
- if (this.existsDir) {
- this.db = new Lnob(this.dir);
- } else {
- // logger.error(`缓存未创建成功`);
- // logger.error(`${this.dir} is make failed!`);
- }
- flag = flag || 'echat';
- //设置标签
- this.cache = this.db.init(flag);
- }
- //获取对应的值
- async get(key) {
- // 检查当前的值是否已经过期,过期后删除,返回undefined
- let isExpires = await this.isExpires(key);
-
- if(isExpires) {
- this.forget(key);
- return undefined;
- }
- let key_value = await this.cache.get(key);//作用:暂存变量
- return key_value ? key_value.data.value : key_value;
- }
- //储存值
- async put(key, value, seconds) {
- try {
- this.cache.set(key, {
- key,
- value,
- human_expires_time: seconds && seconds !== -1 ? new Date((new Date().getTime() + (seconds * 1000))) : '长期有效',//人类时间
- expires_time: seconds && seconds !== -1 ? (new Date().getTime() + (seconds * 1000)) : -1 //设置过期时间
- });
-
- let key_value = await this.get(key);//作用:暂存变量
- //若已存储的值和存的值相同,那么就可以判定为成功
- return key_value ? true : false;
- } catch (error) {
- // logger.error(error);
- }
- }
- //检查是否存在返回Boolean
- async has(key) {
- let result = await this.cache.get(key);
- return Object.keys(result).length === 0 ? false : true;
- }
- // 只增加不存在的,若存在则刷新
- async remember(key, seconds, callback) {
-
- if (typeof seconds === 'function') {
- callback = seconds;
- seconds = null;
- }
- seconds = seconds || -1; //不存在则永久存储
- callback = callback || null;
- if (typeof callback === 'function') {
- let value = await callback();
- return await this.put(key, value, seconds);
- }
-
-
- // logger.error(`${callback} must be type of function`);
-
- process.exit();
- }
- //存为永久值
- async rememberForever(key, callback) {
- if (typeof callback === 'function') {
- return await this.remember(key, callback);
- }
-
- // logger.error(`${callback} must be type of function`);
-
- process.exit();
- }
-
- //从缓存中获取到数据之后再删除它
- async pull(key) {
- let value = await this.has(key) ? await this.get(key) : undefined;
- this.forget(key);
- return value;
- }
- //删除一个值
- async forget(key) {
- return await this.cache.remove(key);
- }
- //删除全部的值
- async flush() {
- return await this.cache.clear();
- }
-
- //检查某个键是否过期
- async isExpires(key) {
- if (await this.has(key)) {
- let expires_time = await this.cache.get(key).data.expires_time;
- let cur_timestamp = new Date().getTime();
- if (expires_time === -1) {
- return false;
- } else {
- return cur_timestamp >= expires_time ? true : false;
- }
- } else {
- return true;
- }
- }
-}
-
+'use strict';
+const fs = require('fs');
+const path = require('path');
+const Lnob = require('lndb');
+// // // const logger = require('../../logger/logger');
+
+class FileCache {
+ /**
+ *
+ * @param {string} flag
+ */
+ constructor(flag) {
+ let regOfFlag = new RegExp('[\\\\/:*?\"<>|]');
+ if (regOfFlag.test(flag)) {
+ message = `${flag}中不能包含【\\\\/:*?\"<>|】这些非法字符,请修改合法的文件名!`;
+ // logger.error(`${message}`);
+ process.exit();
+ return flag;
+ }
+ this.dir = path.resolve(__dirname, '../../../storge/');
+ this.existsDir = true;
+ //不存在则创建文件夹
+ if (!fs.existsSync(this.dir)) {
+ this.existsDir = false;
+ fs.mkdirSync(this.dir);
+ if (fs.existsSync(this.dir)) {
+ this.existsDir = true;
+ // logger.info('存储文件夹创建成功');
+ }
+ }
+ //再次检查是否存在这个文件夹
+ if (this.existsDir) {
+ this.db = new Lnob(this.dir);
+ } else {
+ // logger.error(`缓存未创建成功`);
+ // logger.error(`${this.dir} is make failed!`);
+ }
+ flag = flag || 'echat';
+ //设置标签
+ this.cache = this.db.init(flag);
+ }
+ //获取对应的值
+ async get(key) {
+ // 检查当前的值是否已经过期,过期后删除,返回undefined
+ let isExpires = await this.isExpires(key);
+
+ if(isExpires) {
+ this.forget(key);
+ return undefined;
+ }
+ let key_value = await this.cache.get(key);//作用:暂存变量
+ return key_value ? key_value.data.value : key_value;
+ }
+ //储存值
+ async put(key, value, seconds) {
+ try {
+ this.cache.set(key, {
+ key,
+ value,
+ human_expires_time: seconds && seconds !== -1 ? new Date((new Date().getTime() + (seconds * 1000))) : '长期有效',//人类时间
+ expires_time: seconds && seconds !== -1 ? (new Date().getTime() + (seconds * 1000)) : -1 //设置过期时间
+ });
+
+ let key_value = await this.get(key);//作用:暂存变量
+ //若已存储的值和存的值相同,那么就可以判定为成功
+ return key_value ? true : false;
+ } catch (error) {
+ // logger.error(error);
+ }
+ }
+ //检查是否存在返回Boolean
+ async has(key) {
+ let result = await this.cache.get(key);
+ return Object.keys(result).length === 0 ? false : true;
+ }
+ // 只增加不存在的,若存在则刷新
+ async remember(key, seconds, callback) {
+
+ if (typeof seconds === 'function') {
+ callback = seconds;
+ seconds = null;
+ }
+ seconds = seconds || -1; //不存在则永久存储
+ callback = callback || null;
+ if (typeof callback === 'function') {
+ let value = await callback();
+ return await this.put(key, value, seconds);
+ }
+
+
+ // logger.error(`${callback} must be type of function`);
+
+ process.exit();
+ }
+ //存为永久值
+ async rememberForever(key, callback) {
+ if (typeof callback === 'function') {
+ return await this.remember(key, callback);
+ }
+
+ // logger.error(`${callback} must be type of function`);
+
+ process.exit();
+ }
+
+ //从缓存中获取到数据之后再删除它
+ async pull(key) {
+ let value = await this.has(key) ? await this.get(key) : undefined;
+ this.forget(key);
+ return value;
+ }
+ //删除一个值
+ async forget(key) {
+ return await this.cache.remove(key);
+ }
+ //删除全部的值
+ async flush() {
+ return await this.cache.clear();
+ }
+
+ //检查某个键是否过期
+ async isExpires(key) {
+ if (await this.has(key)) {
+ let expires_time = await this.cache.get(key).data.expires_time;
+ let cur_timestamp = new Date().getTime();
+ if (expires_time === -1) {
+ return false;
+ } else {
+ return cur_timestamp >= expires_time ? true : false;
+ }
+ } else {
+ return true;
+ }
+ }
+}
+
module.exports = FileCache;
\ No newline at end of file
diff --git a/lib/cache/redisCache/redisCache.js b/lib/cache/redisCache/redisCache.js
index 1d29cae..2b9c625 100644
--- a/lib/cache/redisCache/redisCache.js
+++ b/lib/cache/redisCache/redisCache.js
@@ -1,75 +1,75 @@
-'use strict';
-
-class RedisCache {
- constructor(flag, ctx) {
- this.flag = flag;
- this.cache = ctx.app.redis;
- }
-
- async get(key) {
-
- if (await this.has(key)) {
- return await this.cache.get(key);
- }
- }
-
- async put(key, value, seconds) {
-
- let result = await this.cache.set(key, value);
-
- if (result && seconds) {
- result = await this.cache.expire(key, seconds);
- }
- return result === 'OK' || result === 1 ? true : false;
- }
-
- //检查是否存在返回Boolean
- async has(key) {
- return await this.cache.exists(key) === 1 ? true : false;
- }
- //存储
- async remember(key, seconds, callback) {
-
- let result = callback();
-
- if (result) {
- return await this.cache.put(key, result, seconds);
- }
-
- }
- //存为永久值
- async rememberForever(key, callback) {
- let result = callback();
-
- if (result) {
- return await this.cache.put(key, result);
- }
- }
-
- //从缓存中获取到数据之后再删除它
- async pull(key) {
- let result = await this.get(key);
-
- if (result) {
- return result;
- } else {
- return false;
- }
-
- }
- //删除一个值
- async forget(key) {
- if (this.has(key)) {
- return await this.cache.del(key) === 1 ? true : false;
- }
- return true;
- }
- //删除全部的值
- async flush() {
- return await this.cache.flushall() === 'OK' ? true : false;
- }
-}
-
-// interface
-
+'use strict';
+
+class RedisCache {
+ constructor(flag, ctx) {
+ this.flag = flag;
+ this.cache = ctx.app.redis;
+ }
+
+ async get(key) {
+
+ if (await this.has(key)) {
+ return await this.cache.get(key);
+ }
+ }
+
+ async put(key, value, seconds) {
+
+ let result = await this.cache.set(key, value);
+
+ if (result && seconds) {
+ result = await this.cache.expire(key, seconds);
+ }
+ return result === 'OK' || result === 1 ? true : false;
+ }
+
+ //检查是否存在返回Boolean
+ async has(key) {
+ return await this.cache.exists(key) === 1 ? true : false;
+ }
+ //存储
+ async remember(key, seconds, callback) {
+
+ let result = callback();
+
+ if (result) {
+ return await this.cache.put(key, result, seconds);
+ }
+
+ }
+ //存为永久值
+ async rememberForever(key, callback) {
+ let result = callback();
+
+ if (result) {
+ return await this.cache.put(key, result);
+ }
+ }
+
+ //从缓存中获取到数据之后再删除它
+ async pull(key) {
+ let result = await this.get(key);
+
+ if (result) {
+ return result;
+ } else {
+ return false;
+ }
+
+ }
+ //删除一个值
+ async forget(key) {
+ if (this.has(key)) {
+ return await this.cache.del(key) === 1 ? true : false;
+ }
+ return true;
+ }
+ //删除全部的值
+ async flush() {
+ return await this.cache.flushall() === 'OK' ? true : false;
+ }
+}
+
+// interface
+
module.exports = RedisCache;
\ No newline at end of file
diff --git a/lib/echat.js b/lib/echat.js
index 4654766..77bd707 100644
--- a/lib/echat.js
+++ b/lib/echat.js
@@ -1,65 +1,65 @@
-'use strict';
-
-const AccessToken = require('./baseService/accessToken');
-const Contact = require('./echat/contacts/contacts');
-const Agent = require('./echat/agents/agents');
-const Message = require('./echat/message/messages');
-const JsSdk = require('./echat/jssdk/jssdk');
-const Oauth2 = require('./echat/oauth2/oauth2');
-const Server = require('./echat/server/server');
-
-
-
-class EChat {
- constructor(config) {
- this.config = config;
- this.ctx = config.ctx;
- this.config['Corp'] = config && config.CorpInfo;
- this.config['Agent'] = config && config.AgentInfo;
- }
-
- //get accessToken
- async _getAccessToken(flag) {
- const accessToken = new AccessToken(this.config);
- return await accessToken.getToken(flag);
- }
-
- //通讯录管理
- contacts() {
- let contacts = new Contact(this.config);
- return contacts;
- }
-
- //应用管理
- agents() {
- let agents = new Agent(this.config);
- return agents;
- }
-
- //消息推送
- message() {
- return new Message(this.config);
- }
-
- //JsSdk
- jssdk(url) {
- url = url || this.ctx.protocol + '://' + this.ctx.get('host') + this.ctx.request.url
- let jssdk = new JsSdk(this.config, url);
- return jssdk;
- }
- //网页授权
- oauth2() {
- return new Oauth2(this.config);
- }
-
- //接收服务器消息
- server() {
- return new Server(this.config);
- }
-
-
-
-
-}
-
+'use strict';
+
+const AccessToken = require('./baseService/accessToken');
+const Contact = require('./echat/contacts/contacts');
+const Agent = require('./echat/agents/agents');
+const Message = require('./echat/message/messages');
+const JsSdk = require('./echat/jssdk/jssdk');
+const Oauth2 = require('./echat/oauth2/oauth2');
+const Server = require('./echat/server/server');
+
+
+
+class EChat {
+ constructor(config) {
+ this.config = config;
+ this.ctx = config.ctx;
+ this.config['Corp'] = config && config.CorpInfo;
+ this.config['Agent'] = config && config.AgentInfo;
+ }
+
+ //get accessToken
+ async _getAccessToken(flag) {
+ const accessToken = new AccessToken(this.config);
+ return await accessToken.getToken(flag);
+ }
+
+ //通讯录管理
+ contacts() {
+ let contacts = new Contact(this.config);
+ return contacts;
+ }
+
+ //应用管理
+ agents() {
+ let agents = new Agent(this.config);
+ return agents;
+ }
+
+ //消息推送
+ message() {
+ return new Message(this.config);
+ }
+
+ //JsSdk
+ jssdk(url) {
+ url = url || this.ctx.protocol + '://' + this.ctx.get('host') + this.ctx.request.url
+ let jssdk = new JsSdk(this.config, url);
+ return jssdk;
+ }
+ //网页授权
+ oauth2() {
+ return new Oauth2(this.config);
+ }
+
+ //接收服务器消息
+ server() {
+ return new Server(this.config);
+ }
+
+
+
+
+}
+
module.exports = EChat;
\ No newline at end of file
diff --git a/lib/echat/agents/agent/agent.js b/lib/echat/agents/agent/agent.js
index b44679d..ddb1a7b 100644
--- a/lib/echat/agents/agent/agent.js
+++ b/lib/echat/agents/agent/agent.js
@@ -1,149 +1,149 @@
-'use strict';
-const Http = require('./../../../baseService/baseClient');
-
-class Agent {
- constructor(config) {
- this.config = config;
- this.http = new Http(config, 'agent');
- }
-
- async create(data) {
- return await this.http.httpPost('/cgi-bin/agent/create', data);
- }
-
-
- /**
- * 获取单个应用信息
- * @param {number} agentid
- */
- async get(agentid) {
-
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- return await this.http.httpGet('/cgi-bin/agent/get', {
- agentid
- });
- }
-
-
- /**
- * 获取应用列表
- */
- async list(agent_status) {
- return await this.http.httpPost('/cgi-bin/agent/list', {
- agent_status: agent_status ? agent_status : 1
- });
- }
- /**
- * 设置应用
- * @param {object} data
- */
- async set(data) {
-
- if (data && !data.agentid && !data.agentId) {
- data.agentid = this.config.Agent.AgentId;
-
- }
-
-
- return await this.http.httpPost('/cgi-bin/agent/set', data);
- }
- /**
- * 删除应用
- * @param {number} agentid
- */
- async delete(agentid) {
- return await this.http.httpPost('/cgi-bin/agent/delete', {
- agentid
- });
- }
- /**
- * 启用应用
- * @param {number} agentid
- */
- async open(agentid) {
- if (!agentid) {
- agentid = this.config.Agent.AgentId;
-
- }
- return await this.http.httpPost('/cgi-bin/agent/open', {
- agentid
- });
- }
-
- /**
- * 关闭应用
- * @param {number} agentid
- */
- async close(agentid) {
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- return await this.http.httpPost('/cgi-bin/agent/close', {
- agentid
- });
- }
-
-
- /**
- * 重置应用secret
- * @param {number} agentid
- */
- async resetSecret(agentid) {
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- return await this.http.httpPost('/cgi-bin/agent/resetsecret', {
- agentid
- });
- }
- /**
- * 开启应用回调
- * {
- "callback_url": "http://xxx.xxx.xxx",
- "token": "hJqcu3uJ9Tn2gXPmxx2w9kkCkCE2EPYo",
- "aeskey": "6qkdMrq68nTKduznJYO1A37W2oEgpkMUvkttRToqhUt",
- "agentid": 1000027
- }
- * @param {object} data
- */
- async openCallback(data) {
- return await this.http.httpPost('/cgi-bin/agent/opencallback', data);
- }
-
- /**
- * 更新应用回调
- * @param {object} data
- */
- async updateCallback(data) {
- if (data && !data.agentid && !data.agentId) {
- data.agentid = this.config.Agent.AgentId;
- }
- return await this.http.httpPost('/cgi-bin/agent/updatecallback', data);
- }
- /**
- * 停用应用回调
- * @param {number} agentid
- */
- async closecallback(agentid) {
-
- agentid = agentid ? agentid : this.config.Agent.AgentId;
- return await this.http.httpPost('/cgi-bin/agent/closecallback', {
- agentid
- });
-
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-module.exports = Agent;
+'use strict';
+const Http = require('./../../../baseService/baseClient');
+
+class Agent {
+ constructor(config) {
+ this.config = config;
+ this.http = new Http(config, 'agent');
+ }
+
+ async create(data) {
+ return await this.http.httpPost('/cgi-bin/agent/create', data);
+ }
+
+
+ /**
+ * 获取单个应用信息
+ * @param {number} agentid
+ */
+ async get(agentid) {
+
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ return await this.http.httpGet('/cgi-bin/agent/get', {
+ agentid
+ });
+ }
+
+
+ /**
+ * 获取应用列表
+ */
+ async list(agent_status) {
+ return await this.http.httpPost('/cgi-bin/agent/list', {
+ agent_status: agent_status ? agent_status : 1
+ });
+ }
+ /**
+ * 设置应用
+ * @param {object} data
+ */
+ async set(data) {
+
+ if (data && !data.agentid && !data.agentId) {
+ data.agentid = this.config.Agent.AgentId;
+
+ }
+
+
+ return await this.http.httpPost('/cgi-bin/agent/set', data);
+ }
+ /**
+ * 删除应用
+ * @param {number} agentid
+ */
+ async delete(agentid) {
+ return await this.http.httpPost('/cgi-bin/agent/delete', {
+ agentid
+ });
+ }
+ /**
+ * 启用应用
+ * @param {number} agentid
+ */
+ async open(agentid) {
+ if (!agentid) {
+ agentid = this.config.Agent.AgentId;
+
+ }
+ return await this.http.httpPost('/cgi-bin/agent/open', {
+ agentid
+ });
+ }
+
+ /**
+ * 关闭应用
+ * @param {number} agentid
+ */
+ async close(agentid) {
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ return await this.http.httpPost('/cgi-bin/agent/close', {
+ agentid
+ });
+ }
+
+
+ /**
+ * 重置应用secret
+ * @param {number} agentid
+ */
+ async resetSecret(agentid) {
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ return await this.http.httpPost('/cgi-bin/agent/resetsecret', {
+ agentid
+ });
+ }
+ /**
+ * 开启应用回调
+ * {
+ "callback_url": "http://xxx.xxx.xxx",
+ "token": "hJqcu3uJ9Tn2gXPmxx2w9kkCkCE2EPYo",
+ "aeskey": "6qkdMrq68nTKduznJYO1A37W2oEgpkMUvkttRToqhUt",
+ "agentid": 1000027
+ }
+ * @param {object} data
+ */
+ async openCallback(data) {
+ return await this.http.httpPost('/cgi-bin/agent/opencallback', data);
+ }
+
+ /**
+ * 更新应用回调
+ * @param {object} data
+ */
+ async updateCallback(data) {
+ if (data && !data.agentid && !data.agentId) {
+ data.agentid = this.config.Agent.AgentId;
+ }
+ return await this.http.httpPost('/cgi-bin/agent/updatecallback', data);
+ }
+ /**
+ * 停用应用回调
+ * @param {number} agentid
+ */
+ async closecallback(agentid) {
+
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+ return await this.http.httpPost('/cgi-bin/agent/closecallback', {
+ agentid
+ });
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+module.exports = Agent;
diff --git a/lib/echat/agents/agents.js b/lib/echat/agents/agents.js
index 0c37d66..c482b21 100644
--- a/lib/echat/agents/agents.js
+++ b/lib/echat/agents/agents.js
@@ -1,18 +1,18 @@
-'use strict';
-
-const Group = require('./group/group');
-const AgentManger = require('./agent/agent');
-const Menu = require('./menu/menu');
-
-class Agent {
- constructor(config) {
- this.manger = new AgentManger(config);
- this.group = new Group(config);
- this.menu = new Menu(config);
- return this;
- }
-
-}
-
-
+'use strict';
+
+const Group = require('./group/group');
+const AgentManger = require('./agent/agent');
+const Menu = require('./menu/menu');
+
+class Agent {
+ constructor(config) {
+ this.manger = new AgentManger(config);
+ this.group = new Group(config);
+ this.menu = new Menu(config);
+ return this;
+ }
+
+}
+
+
module.exports = Agent;
\ No newline at end of file
diff --git a/lib/echat/agents/group/group.js b/lib/echat/agents/group/group.js
index 171b0d4..e53f022 100644
--- a/lib/echat/agents/group/group.js
+++ b/lib/echat/agents/group/group.js
@@ -1,76 +1,76 @@
-'use strict';
-const Http = require('./../../../baseService/baseClient');
-
-class Group {
- constructor(config) {
- this.http = new Http(config, 'agent');
- }
- /**
- * 创建组名称
- * @param {string} groupName
- */
- async create(groupName) {
- return await this.http.httpPost('/cgi-bin/group/create', {name: groupName});
- }
-
- /**
- * 更新组名称
- * @param {object} param
- */
- async update({groupid, name, order}) {
- return await this.http.httpPost('/cgi-bin/group/update', {
- groupid,
- name,
- order//非必须
- });
- }
-
- /**
- * 删除分组
- * @param {number} groupid
- */
- async delete(groupid) {
- return await this.http.httpPost('/cgi-bin/group/delete', {groupid});
- }
-
- /**
- * 增加分组应用
- * @param {number} groupid
- * @param {array} agentid_list
- */
- async addApps(groupid, agentid_list) {
-
- return await this.http.httpPost('/cgi-bin/group/addapps', {groupid,agentid_list});
-
- }
- /**
- * 接口说明:
- * 从分组中移除的应用被添加到默认分组
- * @param {number} groupid
- * @param {number} agentid
- */
- async removeApp(groupid, agentid) {
- return await this.http.httpPost('/cgi-bin/group/removeapp', {groupid,agentid});
- }
-
- async appList(groupid) {
- return await this.http.httpPost('/cgi-bin/group/applist', {groupid});
- }
- /**
- * 获取列表
- */
- async groupList() {
- return await this.http.httpPost('/cgi-bin/group/list');
- }
- /**
- * 1:九宫格格式; 0:列表格式
- * @param {number} show_type
- */
- async setWorkBench(show_type) {
- return await this.http.httpPost('/cgi-bin/corp/setworkbench',{show_type});
- }
-
-
-}
-
-module.exports = Group;
+'use strict';
+const Http = require('./../../../baseService/baseClient');
+
+class Group {
+ constructor(config) {
+ this.http = new Http(config, 'agent');
+ }
+ /**
+ * 创建组名称
+ * @param {string} groupName
+ */
+ async create(groupName) {
+ return await this.http.httpPost('/cgi-bin/group/create', {name: groupName});
+ }
+
+ /**
+ * 更新组名称
+ * @param {object} param
+ */
+ async update({groupid, name, order}) {
+ return await this.http.httpPost('/cgi-bin/group/update', {
+ groupid,
+ name,
+ order//非必须
+ });
+ }
+
+ /**
+ * 删除分组
+ * @param {number} groupid
+ */
+ async delete(groupid) {
+ return await this.http.httpPost('/cgi-bin/group/delete', {groupid});
+ }
+
+ /**
+ * 增加分组应用
+ * @param {number} groupid
+ * @param {array} agentid_list
+ */
+ async addApps(groupid, agentid_list) {
+
+ return await this.http.httpPost('/cgi-bin/group/addapps', {groupid,agentid_list});
+
+ }
+ /**
+ * 接口说明:
+ * 从分组中移除的应用被添加到默认分组
+ * @param {number} groupid
+ * @param {number} agentid
+ */
+ async removeApp(groupid, agentid) {
+ return await this.http.httpPost('/cgi-bin/group/removeapp', {groupid,agentid});
+ }
+
+ async appList(groupid) {
+ return await this.http.httpPost('/cgi-bin/group/applist', {groupid});
+ }
+ /**
+ * 获取列表
+ */
+ async groupList() {
+ return await this.http.httpPost('/cgi-bin/group/list');
+ }
+ /**
+ * 1:九宫格格式; 0:列表格式
+ * @param {number} show_type
+ */
+ async setWorkBench(show_type) {
+ return await this.http.httpPost('/cgi-bin/corp/setworkbench',{show_type});
+ }
+
+
+}
+
+module.exports = Group;
diff --git a/lib/echat/agents/menu/menu.js b/lib/echat/agents/menu/menu.js
index f76bf01..94c6f23 100644
--- a/lib/echat/agents/menu/menu.js
+++ b/lib/echat/agents/menu/menu.js
@@ -1,68 +1,68 @@
-'use strict';
-const Http = require('./../../../baseService/baseClient');
-class Menu {
- constructor(config) {
- this.config = config;
- this.ctx = config.ctx;
- this.http = new Http(config, 'agent');
- }
- /**
- * 获取应用菜单
- * @param {number} agentid
- */
- async get(agentid) {
-
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- return await this.http.httpGet('/cgi-bin/menu/get', {
- agentid
- });
- }
- /**
- *
- * @param {*number} agentid
- * @param {*} menu
- */
- async create(agentid, menu) {
-
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- let { httpClient, accessToken } = await this.http.httpPostSpecWithToken();
-
- let res;
- try {
- res = await httpClient.curl(`/cgi-bin/menu/create?access_token=${accessToken}&agentid=${agentid}`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- menu,
- dataType: 'json'
- });
- console.log(res);
- if (res.status !== 200) {
- throw new Error(res)
- }
- } catch (error) {
- this.ctx.logger.error(res);
- } finally {
- return res.data;
- }
-
-
- }
-
- /**
- * 删除应用菜单
- * @param {number} agentid
- */
- async delete(agentid) {//全部
- agentid = agentid ? agentid : this.config.Agent.AgentId;
-
- return await this.http.httpGet('/cgi-bin/menu/delete', {agentid});
- }
-
-
-}
-
-module.exports = Menu;
+'use strict';
+const Http = require('./../../../baseService/baseClient');
+class Menu {
+ constructor(config) {
+ this.config = config;
+ this.ctx = config.ctx;
+ this.http = new Http(config, 'agent');
+ }
+ /**
+ * 获取应用菜单
+ * @param {number} agentid
+ */
+ async get(agentid) {
+
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ return await this.http.httpGet('/cgi-bin/menu/get', {
+ agentid
+ });
+ }
+ /**
+ *
+ * @param {*number} agentid
+ * @param {*} menu
+ */
+ async create(agentid, menu) {
+
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ let { httpClient, accessToken } = await this.http.httpPostSpecWithToken();
+
+ let res;
+ try {
+ res = await httpClient.curl(`/cgi-bin/menu/create?access_token=${accessToken}&agentid=${agentid}`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ menu,
+ dataType: 'json'
+ });
+ console.log(res);
+ if (res.status !== 200) {
+ throw new Error(res)
+ }
+ } catch (error) {
+ this.ctx.logger.error(res);
+ } finally {
+ return res.data;
+ }
+
+
+ }
+
+ /**
+ * 删除应用菜单
+ * @param {number} agentid
+ */
+ async delete(agentid) {//全部
+ agentid = agentid ? agentid : this.config.Agent.AgentId;
+
+ return await this.http.httpGet('/cgi-bin/menu/delete', {agentid});
+ }
+
+
+}
+
+module.exports = Menu;
diff --git a/lib/echat/contacts/contacts.js b/lib/echat/contacts/contacts.js
index 22e5e83..91baffd 100644
--- a/lib/echat/contacts/contacts.js
+++ b/lib/echat/contacts/contacts.js
@@ -1,16 +1,16 @@
-'use strict';
-
-const User = require('./users/users');
-const Department = require('./departments/department');
-const Tags = require('./tags/tag');
-class Contacts {
- constructor(config) {
- this.user = new User(config);
- this.department = new Department(config);
- this.tag = new Tags(config);
- return this;
- }
-}
-
-
+'use strict';
+
+const User = require('./users/users');
+const Department = require('./departments/department');
+const Tags = require('./tags/tag');
+class Contacts {
+ constructor(config) {
+ this.user = new User(config);
+ this.department = new Department(config);
+ this.tag = new Tags(config);
+ return this;
+ }
+}
+
+
module.exports = Contacts;
\ No newline at end of file
diff --git a/lib/echat/contacts/departments/department.js b/lib/echat/contacts/departments/department.js
index fb455ec..e21039b 100644
--- a/lib/echat/contacts/departments/department.js
+++ b/lib/echat/contacts/departments/department.js
@@ -1,48 +1,48 @@
-'use strict';
-
-const Http = require('./../../../baseService/baseClient');
-
-class Department {
-
- constructor(config) {
- this.http = new Http(config, 'user');
- }
-
- //get department
- async list(departmentId) {
- return await this.http.httpGet('/cgi-bin/department/list', {
- id: departmentId,
- });
- }
- //delete department
- /**
- *
- * @param {*number} departmentId
- */
- async delete(departmentId) {
- return await this.http.httpGet('/cgi-bin/department/delete', {
- id: departmentId,
- });
- }
-
- /**
- *
- * @param {*object} data
- */
- async update(data) {
- if (data) {
- return await this.http.httpPost('/cgi-bin/department/update', data);
- } else {
- throw new Error('data is required.');
- }
- }
-
- //create department
- async create(data) {
- const department = await this.http.httpPost('/cgi-bin/department/create', data);
-
- return department;
- }
-}
-
-module.exports = Department;
+'use strict';
+
+const Http = require('./../../../baseService/baseClient');
+
+class Department {
+
+ constructor(config) {
+ this.http = new Http(config, 'user');
+ }
+
+ //get department
+ async list(departmentId) {
+ return await this.http.httpGet('/cgi-bin/department/list', {
+ id: departmentId,
+ });
+ }
+ //delete department
+ /**
+ *
+ * @param {*number} departmentId
+ */
+ async delete(departmentId) {
+ return await this.http.httpGet('/cgi-bin/department/delete', {
+ id: departmentId,
+ });
+ }
+
+ /**
+ *
+ * @param {*object} data
+ */
+ async update(data) {
+ if (data) {
+ return await this.http.httpPost('/cgi-bin/department/update', data);
+ } else {
+ throw new Error('data is required.');
+ }
+ }
+
+ //create department
+ async create(data) {
+ const department = await this.http.httpPost('/cgi-bin/department/create', data);
+
+ return department;
+ }
+}
+
+module.exports = Department;
diff --git a/lib/echat/contacts/tags/tag.js b/lib/echat/contacts/tags/tag.js
index 2fa7545..60347f7 100644
--- a/lib/echat/contacts/tags/tag.js
+++ b/lib/echat/contacts/tags/tag.js
@@ -1,152 +1,152 @@
-'use strict';
-
-const Http = require('./../../../baseService/baseClient');
-
-
-class Tag {
-
- constructor(config) {
- this.http = new Http(config, 'user');
- }
- /**
- *
- * @param {object} data
- *
- *
- * data = {
- "tagname": "UI",
- "tagid": 12 标签id,非负整型,指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
- }
- */
- async create(tagName, tagId) {
- const tag = await this.http.httpPost('/cgi-bin/tag/create', {
- tagname: tagName,
- tagid: tagId
- });
- return tag;
- }
-
- /**
- * 调用者必须是指定标签的创建者。
- * @param {number} tagId
- * @param {string} tagName
- */
- async update(tagId, tagName) {
- const tag = await this.http.httpPost('/cgi-bin/tag/update', {
- tagname: tagName,
- tagid: tagId
- });
- return tag;
- }
- /**
- * 自建应用或通讯同步助手可以获取所有标签列表,第三方应用仅可获取自己创建的应用标签
- */
- async list() {
- const tag = await this.http.httpGet('/cgi-bin/tag/list');
- return tag;
-
- }
- /**
- * 删除标签
- * @param {number} tagId
- */
- async delete(tagId) {
- const tag = await this.http.httpGet('/cgi-bin/tag/delete', {
- tagid: tagId
- });
- return tag;
- }
- /**
- * 获取标签成员(详情)
- * @param {number} tagId
- */
- async get(tagId) {
- return await this.http.httpGet('/cgi-bin/tag/get', {
- tagId
- });
- }
- /**
- * 增加标签成员
- * @param {number} tagId
- * @param {...any} userList
- */
- async tagAddUsers(tagId, ...userList) {
- if (userList && this.isArray(userList[0])) {
- userList = userList[0];
- }
-
- return await this.http.httpPost('/cgi-bin/tag/addtagusers', {
- tagid: tagId,
- userlist: userList
- });
- }
- /**
- * 增加标签部门
- * @param {number} tagId
- * @param {...any} departmentList
- */
- async tagAddDepartments(tagId, ...departmentList) {
-
- if (departmentList && this.isArray(departmentList[0])) {
- departmentList = departmentList[0]
- }
-
- return await this.http.httpPost('/cgi-bin/tag/addtagusers', {
- tagid: tagId,
- partylist: departmentList
- });
- }
-
- /**
- * 删除标签成员
- * @param {number} tagId
- * @param {...any} userList
- */
- async tagDeleteUsers(tagId, ...userList) {
- if (userList && this.isArray(userList[0])) {
- userList = userList[0];
- }
-
- return await this.http.httpPost('/cgi-bin/tag/deltagusers', {
- tagid: tagId,
- userlist: userList
- });
- }
- /**
- * 删除标签部门
- * @param {number} tagId
- * @param {...any} departmentList
- */
- async tagDeleteDepartments(tagId, ...departmentList) {
- if (departmentList && this.isArray(departmentList[0])) {
- departmentList = departmentList[0]
- }
- return await this.http.httpPost('/cgi-bin/tag/deltagusers', {
- tagid: tagId,
- partylist: departmentList
- });
- }
-
- /**
- * 判断是否为数组类型
- * @param {Array} obj
- */
- isArray(obj) {
- return (typeof obj == 'object') && obj.constructor == Array;
- }
-
- /**
- * 判断是否为字符串类型
- * @param {string} str
- */
- isString(str) {
- return (typeof str == 'string') && str.constructor == String;
- }
-
-
-
-
-
-}
-
-module.exports = Tag;
+'use strict';
+
+const Http = require('./../../../baseService/baseClient');
+
+
+class Tag {
+
+ constructor(config) {
+ this.http = new Http(config, 'user');
+ }
+ /**
+ *
+ * @param {object} data
+ *
+ *
+ * data = {
+ "tagname": "UI",
+ "tagid": 12 标签id,非负整型,指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
+ }
+ */
+ async create(tagName, tagId) {
+ const tag = await this.http.httpPost('/cgi-bin/tag/create', {
+ tagname: tagName,
+ tagid: tagId
+ });
+ return tag;
+ }
+
+ /**
+ * 调用者必须是指定标签的创建者。
+ * @param {number} tagId
+ * @param {string} tagName
+ */
+ async update(tagId, tagName) {
+ const tag = await this.http.httpPost('/cgi-bin/tag/update', {
+ tagname: tagName,
+ tagid: tagId
+ });
+ return tag;
+ }
+ /**
+ * 自建应用或通讯同步助手可以获取所有标签列表,第三方应用仅可获取自己创建的应用标签
+ */
+ async list() {
+ const tag = await this.http.httpGet('/cgi-bin/tag/list');
+ return tag;
+
+ }
+ /**
+ * 删除标签
+ * @param {number} tagId
+ */
+ async delete(tagId) {
+ const tag = await this.http.httpGet('/cgi-bin/tag/delete', {
+ tagid: tagId
+ });
+ return tag;
+ }
+ /**
+ * 获取标签成员(详情)
+ * @param {number} tagId
+ */
+ async get(tagId) {
+ return await this.http.httpGet('/cgi-bin/tag/get', {
+ tagId
+ });
+ }
+ /**
+ * 增加标签成员
+ * @param {number} tagId
+ * @param {...any} userList
+ */
+ async tagAddUsers(tagId, ...userList) {
+ if (userList && this.isArray(userList[0])) {
+ userList = userList[0];
+ }
+
+ return await this.http.httpPost('/cgi-bin/tag/addtagusers', {
+ tagid: tagId,
+ userlist: userList
+ });
+ }
+ /**
+ * 增加标签部门
+ * @param {number} tagId
+ * @param {...any} departmentList
+ */
+ async tagAddDepartments(tagId, ...departmentList) {
+
+ if (departmentList && this.isArray(departmentList[0])) {
+ departmentList = departmentList[0]
+ }
+
+ return await this.http.httpPost('/cgi-bin/tag/addtagusers', {
+ tagid: tagId,
+ partylist: departmentList
+ });
+ }
+
+ /**
+ * 删除标签成员
+ * @param {number} tagId
+ * @param {...any} userList
+ */
+ async tagDeleteUsers(tagId, ...userList) {
+ if (userList && this.isArray(userList[0])) {
+ userList = userList[0];
+ }
+
+ return await this.http.httpPost('/cgi-bin/tag/deltagusers', {
+ tagid: tagId,
+ userlist: userList
+ });
+ }
+ /**
+ * 删除标签部门
+ * @param {number} tagId
+ * @param {...any} departmentList
+ */
+ async tagDeleteDepartments(tagId, ...departmentList) {
+ if (departmentList && this.isArray(departmentList[0])) {
+ departmentList = departmentList[0]
+ }
+ return await this.http.httpPost('/cgi-bin/tag/deltagusers', {
+ tagid: tagId,
+ partylist: departmentList
+ });
+ }
+
+ /**
+ * 判断是否为数组类型
+ * @param {Array} obj
+ */
+ isArray(obj) {
+ return (typeof obj == 'object') && obj.constructor == Array;
+ }
+
+ /**
+ * 判断是否为字符串类型
+ * @param {string} str
+ */
+ isString(str) {
+ return (typeof str == 'string') && str.constructor == String;
+ }
+
+
+
+
+
+}
+
+module.exports = Tag;
diff --git a/lib/echat/contacts/users/users.js b/lib/echat/contacts/users/users.js
index 48a5e6d..636f4a5 100644
--- a/lib/echat/contacts/users/users.js
+++ b/lib/echat/contacts/users/users.js
@@ -1,192 +1,192 @@
-'use strict';
-
-const Http = require('./../../../baseService/baseClient');
-
-class User {
-
- constructor(config) {
- this.ctx = config.ctx;
- this.http = new Http(config, 'user');
- }
-
- /*******************用户相关******************* */
- //get user
- async get(userId, avatar_addr) {
- const user = await this.http.httpGet('/cgi-bin/user/get', {
- userid: userId,
- avatar_addr: avatar_addr || 1
- });
-
- return user;
- }
- //delete user
- async delete(userList) {
- let userTemp = userList;
- let user;
- if (typeof (userList) === 'string' ) { //有可能是单独删除一条,则将字符串转为数组,调用批量删除接口
- userList = [];
- userList.push(userTemp);
- }
-
- let group = this.group(userList, 200);
-
- for (let index = 0; index < group.length; index++) {
- const element = group[index];
-
- try {
- user = await this.http.httpPost('/cgi-bin/user/batchdelete', {
- useridlist: element
- });
- console.log(user);
- if (user.errcode !== 0) {
- throw new Error('删除失败');
- }
- } catch (error) {
- this.ctx.logger.error(`删除${element}失败, 删除失败的为:${element[index - 1] ? element[index - 1] : []}`);
- this.ctx.logger.error(user);
- } finally {
- return user;
- }
-
-
- }
- return user;
- }
-
- // update user
- async update(userId, data) {
-
- data = data || userId;
-
- if (userId) {
- if ('string' === typeof (userId)) {
- data.userid = userId;
- }
- const user = await this.http.httpPost('/cgi-bin/user/update', data);
- console.log(user);
-
- return user;
- } else {
- throw new Error('userId is required.');
- }
-
-
- }
-
- //create user
- async create(data) {
- const user = await this.http.httpPost('/cgi-bin/user/create', data);
-
- return user;
- }
-
-
- //批量删除时的对于大于200条,进行分组处理
- group(array, subGroupLength) {
- let index = 0;
- let newArray = [];
- while (index < array.length) {
- newArray.push(array.slice(index, index += subGroupLength));
- }
- return newArray;
- }
-
-
- /******************用户相关结束******************* */
- /******************部门相关******************* */
-
- /**
- * 获取部门成员
- * 应用须拥有指定部门的查看权限。
- * @param {*number} department_id
- * @param {*number} fetch_child
- */
- async getDepartmentUsers(departmentId, fetchChild) {
- let users = this.http.httpGet('/cgi-bin/user/simplelist', {
- department_id: +departmentId,
- fetch_child: +fetchChild || 0 //此处的+代表,将参数中的Boolean转为number,
- });
-
- return users;
- }
- /**
- * 获取部门成员详情
- * @param {*mix} departmentId
- * @param {*number} fetchChild
- */
- async getDetailedDepartmentUsers(departmentId, fetchChild) {
- let users = this.http.httpGet('/cgi-bin/user/list', {
- department_id: +departmentId,
- fetch_child: +fetchChild || 0 //此处的+代表,将参数中的Boolean转为number,
- });
-
- return users;
- }
- /**
- * 重置密码,默认以短信的方式通知
- * @param {*string} userId
- * @param {*string} pwd
- * @param {*number} isnotify
- */
- async resetpwd(userId, pwd, isnotify = true) {
-
-
- let result = this.http.httpPost('/cgi-bin/user/resetpwd', {
- userid: userId,
- pwd: pwd || undefined,
- isnotify: isnotify ? 1 : 0
- });
-
- return result;
- }
- /**
- * 强制用户下线
- * @param {*array} useridList
- */
- async offline(userList) {
- let userTemp = userList;
- let user;
- if (typeof (userList) === 'string') { //有可能是单独删除一条,则将字符串转为数组,调用批量删除接口
- userList = [];
- userList.push(userTemp);
- }
-
- let group = this.group(userList, 200);
-
- for (let index = 0; index < group.length; index++) {
- const element = group[index];
- try {
- user = await this.http.httpPost('/cgi-bin/user/offline', {
- userid_list: element
- });
- // console.log(user);
- if (user.errcode !== 0) {
- throw new Error('下线失败');
- }
- } catch (error) {
- this.ctx.logger.error(`下线${element}失败, 下线成功的为:${element[index - 1] ? element[index - 1] : []}`);
- this.ctx.logger.error(user);
- } finally {
- return user;
- }
-
-
- }
- return user;
- }
- /**
- * 将明文userid转换为密文userid
- * @param {array} userid_list
- * @param {number} agentid
- */
- async userIdToOpenid(userid_list, agentid) {
- let result = this.http.httpPost('/cgi-bin/user/enc_userid', {
- userid_list: userid_list,
- agentid
- });
-
- return result;
- }
-}
-
-module.exports = User;
+'use strict';
+
+const Http = require('./../../../baseService/baseClient');
+
+class User {
+
+ constructor(config) {
+ this.ctx = config.ctx;
+ this.http = new Http(config, 'user');
+ }
+
+ /*******************用户相关******************* */
+ //get user
+ async get(userId, avatar_addr) {
+ const user = await this.http.httpGet('/cgi-bin/user/get', {
+ userid: userId,
+ avatar_addr: avatar_addr || 1
+ });
+
+ return user;
+ }
+ //delete user
+ async delete(userList) {
+ let userTemp = userList;
+ let user;
+ if (typeof (userList) === 'string' ) { //有可能是单独删除一条,则将字符串转为数组,调用批量删除接口
+ userList = [];
+ userList.push(userTemp);
+ }
+
+ let group = this.group(userList, 200);
+
+ for (let index = 0; index < group.length; index++) {
+ const element = group[index];
+
+ try {
+ user = await this.http.httpPost('/cgi-bin/user/batchdelete', {
+ useridlist: element
+ });
+ console.log(user);
+ if (user.errcode !== 0) {
+ throw new Error('删除失败');
+ }
+ } catch (error) {
+ this.ctx.logger.error(`删除${element}失败, 删除失败的为:${element[index - 1] ? element[index - 1] : []}`);
+ this.ctx.logger.error(user);
+ } finally {
+ return user;
+ }
+
+
+ }
+ return user;
+ }
+
+ // update user
+ async update(userId, data) {
+
+ data = data || userId;
+
+ if (userId) {
+ if ('string' === typeof (userId)) {
+ data.userid = userId;
+ }
+ const user = await this.http.httpPost('/cgi-bin/user/update', data);
+ console.log(user);
+
+ return user;
+ } else {
+ throw new Error('userId is required.');
+ }
+
+
+ }
+
+ //create user
+ async create(data) {
+ const user = await this.http.httpPost('/cgi-bin/user/create', data);
+
+ return user;
+ }
+
+
+ //批量删除时的对于大于200条,进行分组处理
+ group(array, subGroupLength) {
+ let index = 0;
+ let newArray = [];
+ while (index < array.length) {
+ newArray.push(array.slice(index, index += subGroupLength));
+ }
+ return newArray;
+ }
+
+
+ /******************用户相关结束******************* */
+ /******************部门相关******************* */
+
+ /**
+ * 获取部门成员
+ * 应用须拥有指定部门的查看权限。
+ * @param {*number} department_id
+ * @param {*number} fetch_child
+ */
+ async getDepartmentUsers(departmentId, fetchChild) {
+ let users = this.http.httpGet('/cgi-bin/user/simplelist', {
+ department_id: +departmentId,
+ fetch_child: +fetchChild || 0 //此处的+代表,将参数中的Boolean转为number,
+ });
+
+ return users;
+ }
+ /**
+ * 获取部门成员详情
+ * @param {*mix} departmentId
+ * @param {*number} fetchChild
+ */
+ async getDetailedDepartmentUsers(departmentId, fetchChild) {
+ let users = this.http.httpGet('/cgi-bin/user/list', {
+ department_id: +departmentId,
+ fetch_child: +fetchChild || 0 //此处的+代表,将参数中的Boolean转为number,
+ });
+
+ return users;
+ }
+ /**
+ * 重置密码,默认以短信的方式通知
+ * @param {*string} userId
+ * @param {*string} pwd
+ * @param {*number} isnotify
+ */
+ async resetpwd(userId, pwd, isnotify = true) {
+
+
+ let result = this.http.httpPost('/cgi-bin/user/resetpwd', {
+ userid: userId,
+ pwd: pwd || undefined,
+ isnotify: isnotify ? 1 : 0
+ });
+
+ return result;
+ }
+ /**
+ * 强制用户下线
+ * @param {*array} useridList
+ */
+ async offline(userList) {
+ let userTemp = userList;
+ let user;
+ if (typeof (userList) === 'string') { //有可能是单独删除一条,则将字符串转为数组,调用批量删除接口
+ userList = [];
+ userList.push(userTemp);
+ }
+
+ let group = this.group(userList, 200);
+
+ for (let index = 0; index < group.length; index++) {
+ const element = group[index];
+ try {
+ user = await this.http.httpPost('/cgi-bin/user/offline', {
+ userid_list: element
+ });
+ // console.log(user);
+ if (user.errcode !== 0) {
+ throw new Error('下线失败');
+ }
+ } catch (error) {
+ this.ctx.logger.error(`下线${element}失败, 下线成功的为:${element[index - 1] ? element[index - 1] : []}`);
+ this.ctx.logger.error(user);
+ } finally {
+ return user;
+ }
+
+
+ }
+ return user;
+ }
+ /**
+ * 将明文userid转换为密文userid
+ * @param {array} userid_list
+ * @param {number} agentid
+ */
+ async userIdToOpenid(userid_list, agentid) {
+ let result = this.http.httpPost('/cgi-bin/user/enc_userid', {
+ userid_list: userid_list,
+ agentid
+ });
+
+ return result;
+ }
+}
+
+module.exports = User;
diff --git a/lib/echat/jssdk/jssdk.js b/lib/echat/jssdk/jssdk.js
index 7af56f3..0f41f5a 100644
--- a/lib/echat/jssdk/jssdk.js
+++ b/lib/echat/jssdk/jssdk.js
@@ -1,178 +1,178 @@
-'use strict';
-
-const Ticket = require('./../../baseService/ticketHandel'); //统一处理Ticket
-const helper = require('../../helper/helper');
-const URL = require('url');
-class JsSdk {
- constructor(config, url) {
- this.config = config;
- this.url = url ? url : null ;
- }
- /**
- *
- * @param {array} apis
- * @param {Boolean} debug
- * @param {Boolean} beta
- * @param {Boolean} json
- */
- async buildConfig(apis, beta = false, debug = false) {
-
- let js_config = await this.configSignature();
- let js_agent_config = null;
- js_config['debug'] = debug;
- js_config['beta'] = beta;
- js_config['jsApiList'] = apis ? apis : [];
-
- if (beta) {
- js_agent_config = await this.agentConfigSignature();
- return {
- js_config,
- js_agent_config: js_agent_config ? js_agent_config : {}
- };
- }
-
- return js_config;
- }
-
- /**
- * 生成JSSDK的签名
- * @param {string} ticket
- * @param {string} noncestr
- * @param {string} timestamp
- * @param {string} url
- */
- getTicketSignature(ticket, noncestr, timestamp, url) {
-
- const string1 = `jsapi_ticket=${ticket}&noncestr=${noncestr}×tamp=${timestamp}&url=${url}` //拼接字符串
-
- let sign = helper.sha1(string1);
-
- return sign;
- }
- /**
- * 通过config接口注入权限验证配置
- * @param {String} url
- * @param {String} nonceStr
- * @param {String} timestamp
- */
- async configSignature(url = null, nonceStr = null, timestamp = null) {
- url = url ? url : this.getUrl(); //拿到url
-
- nonceStr = nonceStr ? nonceStr : helper.randomString(10); //生成随机字符串
-
- timestamp = timestamp ? timestamp : Math.round(new Date().getTime() / 1000); //时间戳
-
- return {
- appId: this.config.Corp.CorpID,
- nonceStr,
- timestamp,
- url,
- signature: this.getTicketSignature(await this.getJsTicket(), nonceStr, timestamp, url),
- };
-
- }
- /**
- * 通过agentConfig注入应用权限
- * @param {String} url
- * @param {String} nonceStr
- * @param {String} timestamp
- */
- async agentConfigSignature(url = null, nonceStr = null, timestamp = null) {
- url = url ? url : this.getUrl(); //拿到url
-
- nonceStr = nonceStr ? nonceStr : helper.randomString(10); //生成随机字符串
-
- timestamp = timestamp ? timestamp : Math.round(new Date().getTime() / 1000); //时间戳
-
- return {
- agentid: this.config.Agent.AgentId,
- corpid: this.config.Corp.CorpID,
- nonceStr,
- timestamp,
- url,
- signature: this.getTicketSignature(await this.getAgentConfig(), nonceStr, timestamp, url),
- };
-
- }
-
- getUrl() {
- //处理URL为特定的样式
- let url = URL.parse(this.url);
-
- return `${url.protocol}//${url.host}${url.path}`
- }
-
- async getJsTicket() {
- let jsTicket = new Ticket(this.config, 'js_config');
- return jsTicket.getTicket();
- }
- async getAgentConfig() {
- let jsTicket = new Ticket(this.config, 'js_agent_config');
- return jsTicket.getTicket();
- }
-
- /**
- * 所有JS接口列表
- */
- jsApiList() {
- return [
- 'onMenuShareAppMessage',
- 'onMenuShareWechat',
- 'startRecord',
- 'stopRecord',
- 'onVoiceRecordEnd',
- 'playVoice',
- 'pauseVoice',
- 'stopVoice',
- 'onVoicePlayEnd',
- 'uploadVoice',
- 'downloadVoice',
- 'chooseImage',
- 'previewImage',
- 'uploadImage',
- 'downloadImage',
- 'getNetworkType',
- 'openLocation',
- 'getLocation',
- 'hideOptionMenu',
- 'showOptionMenu',
- 'hideMenuItems',
- 'showMenuItems',
- 'hideAllNonBaseMenuItem',
- 'showAllNonBaseMenuItem',
- 'closeWindow',
- 'scanQRCode',
- 'chooseVideo',
- 'uploadVideo',
- 'downloadVideo',
- 'agentConfig',
- 'getStepCount',
- 'getAllPhoneContacts',
- 'addCalendarEvent',
- 'showWatermark',
- 'launch3rdApp',
- 'getInstallState',
- 'openUserProfile',
- 'selectExternalContact',
- 'selectEnterpriseContact',
- 'bioassayAuthentication',
- 'openUrl',
- 'openEnterpriseApp',
- 'request3rdApp'
- ];
- }
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
+'use strict';
+
+const Ticket = require('./../../baseService/ticketHandel'); //统一处理Ticket
+const helper = require('../../helper/helper');
+const URL = require('url');
+class JsSdk {
+ constructor(config, url) {
+ this.config = config;
+ this.url = url ? url : null ;
+ }
+ /**
+ *
+ * @param {array} apis
+ * @param {Boolean} debug
+ * @param {Boolean} beta
+ * @param {Boolean} json
+ */
+ async buildConfig(apis, beta = false, debug = false) {
+
+ let js_config = await this.configSignature();
+ let js_agent_config = null;
+ js_config['debug'] = debug;
+ js_config['beta'] = beta;
+ js_config['jsApiList'] = apis ? apis : [];
+
+ if (beta) {
+ js_agent_config = await this.agentConfigSignature();
+ return {
+ js_config,
+ js_agent_config: js_agent_config ? js_agent_config : {}
+ };
+ }
+
+ return js_config;
+ }
+
+ /**
+ * 生成JSSDK的签名
+ * @param {string} ticket
+ * @param {string} noncestr
+ * @param {string} timestamp
+ * @param {string} url
+ */
+ getTicketSignature(ticket, noncestr, timestamp, url) {
+
+ const string1 = `jsapi_ticket=${ticket}&noncestr=${noncestr}×tamp=${timestamp}&url=${url}` //拼接字符串
+
+ let sign = helper.sha1(string1);
+
+ return sign;
+ }
+ /**
+ * 通过config接口注入权限验证配置
+ * @param {String} url
+ * @param {String} nonceStr
+ * @param {String} timestamp
+ */
+ async configSignature(url = null, nonceStr = null, timestamp = null) {
+ url = url ? url : this.getUrl(); //拿到url
+
+ nonceStr = nonceStr ? nonceStr : helper.randomString(10); //生成随机字符串
+
+ timestamp = timestamp ? timestamp : Math.round(new Date().getTime() / 1000); //时间戳
+
+ return {
+ appId: this.config.Corp.CorpID,
+ nonceStr,
+ timestamp,
+ url,
+ signature: this.getTicketSignature(await this.getJsTicket(), nonceStr, timestamp, url),
+ };
+
+ }
+ /**
+ * 通过agentConfig注入应用权限
+ * @param {String} url
+ * @param {String} nonceStr
+ * @param {String} timestamp
+ */
+ async agentConfigSignature(url = null, nonceStr = null, timestamp = null) {
+ url = url ? url : this.getUrl(); //拿到url
+
+ nonceStr = nonceStr ? nonceStr : helper.randomString(10); //生成随机字符串
+
+ timestamp = timestamp ? timestamp : Math.round(new Date().getTime() / 1000); //时间戳
+
+ return {
+ agentid: this.config.Agent.AgentId,
+ corpid: this.config.Corp.CorpID,
+ nonceStr,
+ timestamp,
+ url,
+ signature: this.getTicketSignature(await this.getAgentConfig(), nonceStr, timestamp, url),
+ };
+
+ }
+
+ getUrl() {
+ //处理URL为特定的样式
+ let url = URL.parse(this.url);
+
+ return `${url.protocol}//${url.host}${url.path}`
+ }
+
+ async getJsTicket() {
+ let jsTicket = new Ticket(this.config, 'js_config');
+ return jsTicket.getTicket();
+ }
+ async getAgentConfig() {
+ let jsTicket = new Ticket(this.config, 'js_agent_config');
+ return jsTicket.getTicket();
+ }
+
+ /**
+ * 所有JS接口列表
+ */
+ jsApiList() {
+ return [
+ 'onMenuShareAppMessage',
+ 'onMenuShareWechat',
+ 'startRecord',
+ 'stopRecord',
+ 'onVoiceRecordEnd',
+ 'playVoice',
+ 'pauseVoice',
+ 'stopVoice',
+ 'onVoicePlayEnd',
+ 'uploadVoice',
+ 'downloadVoice',
+ 'chooseImage',
+ 'previewImage',
+ 'uploadImage',
+ 'downloadImage',
+ 'getNetworkType',
+ 'openLocation',
+ 'getLocation',
+ 'hideOptionMenu',
+ 'showOptionMenu',
+ 'hideMenuItems',
+ 'showMenuItems',
+ 'hideAllNonBaseMenuItem',
+ 'showAllNonBaseMenuItem',
+ 'closeWindow',
+ 'scanQRCode',
+ 'chooseVideo',
+ 'uploadVideo',
+ 'downloadVideo',
+ 'agentConfig',
+ 'getStepCount',
+ 'getAllPhoneContacts',
+ 'addCalendarEvent',
+ 'showWatermark',
+ 'launch3rdApp',
+ 'getInstallState',
+ 'openUserProfile',
+ 'selectExternalContact',
+ 'selectEnterpriseContact',
+ 'bioassayAuthentication',
+ 'openUrl',
+ 'openEnterpriseApp',
+ 'request3rdApp'
+ ];
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
module.exports = JsSdk;
\ No newline at end of file
diff --git a/lib/echat/message/messages.js b/lib/echat/message/messages.js
index a82906c..114c253 100644
--- a/lib/echat/message/messages.js
+++ b/lib/echat/message/messages.js
@@ -1,12 +1,12 @@
-'use strict';
-
-const Messenger = require('./messenger/messenger');
-class Messages {
- constructor(config) {
- this.messenger = new Messenger(config);
- return this;
- }
-}
-
-
+'use strict';
+
+const Messenger = require('./messenger/messenger');
+class Messages {
+ constructor(config) {
+ this.messenger = new Messenger(config);
+ return this;
+ }
+}
+
+
module.exports = Messages;
\ No newline at end of file
diff --git a/lib/echat/message/messenger/messenger.js b/lib/echat/message/messenger/messenger.js
index 066a3ca..ffdc1af 100644
--- a/lib/echat/message/messenger/messenger.js
+++ b/lib/echat/message/messenger/messenger.js
@@ -1,160 +1,160 @@
-'use strict';
-
-const Http = require('./../../../baseService/baseClient');
-const helper = require('./../../../helper/helper');
-
-class Messenger {
-
- constructor(config) {
- this.http = new Http(config);
- this.agentId = config.Agent.AgentId;
- // console.log(this.agentId);
- this.msg = {
- agentid: this.agentId
- };
- }
- /**
- * 文本信息
- * @param {string} msg
- */
- textMsg(content) {
- this.msg['msgtype'] = 'text',
- this.msg['text'] = {
- content
- }
-
- return this;
-
- }
- /**
- * 图片消息
- * @param {*} msg
- */
- imgMsg(mediaId) {
- this.msg['msgtype'] = 'image';
- this.msg['image'] = {
- media_id: mediaId.toString()
- }
-
- return this;
-
- }
-
- voiceMsg(mediaId) {
- this.msg['msgtype'] = 'voice';
- this.msg['voice'] = {
- media_id: mediaId.toString()
- }
- return this;
- }
-
- videoMsg({ mediaId, title, description = '暂无描述' }) {
- this.msg['msgtype'] = 'video';
- this.msg['video'] = {
- media_id: mediaId.toString(),
- title,
- description
- }
- return this;
- }
-
- fileMsg(mediaId) {
- this.msg['msgtype'] = 'file';
- this.msg['file'] = {
- media_id: mediaId.toString(),
- }
- return this;
-
- }
-
- cardMsg({ title, description, url, btntxt = '详情' }) {
- this.msg['msgtype'] = 'textcard';
- this.msg['textcard'] = {
- title,
- description,
- url,
- btntxt
- }
- return this;
-
- }
-
- newsMsg(obj) {
- this.msg['msgtype'] = 'news';
- let articles = [];
-
- if (Object.prototype.toString.call(obj) === "[object Array]") {
- for (let index = 0; index < obj.length; index++) {
- const element = obj[index];
- articles.push(element);
-
- }
- } else if (Object.prototype.toString.call(obj) === '[object Object]') {
- articles.push(obj);
- } else {
- console.log('格式不正确,请认真看文档')
- }
-
- this.msg['news'] = {
- articles
- }
- return this;
- }
-
- /**
- * 发送到人员
- * @param {Array OR Number Or String} userIds
- */
- toUser(userIds) {
- if (helper.isArray(userIds)) {
- let users = userIds.join('|');
- this.msg['touser'] = users;
- } else {
- this.msg['touser'] = userIds.toString();
- }
- return this;
- }
-
-
- /**
- * 发送到部门
- * @param {mix} PartyIDs
- */
- toParty(PartyIDs) {
- if (helper.isArray(PartyIDs)) {
- let parties = PartyIDs.join('|');
- this.msg['toparty'] = parties;
- } else {
- this.msg['toparty'] = PartyIDs.toString();
- }
-
- return this;
- }
- /**
- * 发送到标签
- * @param {mix} TagIds
- */
- toTag(TagIds) {
- if (helper.isArray(TagIds)) {
- let parties = TagIds.join('|');
- this.msg['totag'] = parties;
- } else {
- this.msg['totag'] = TagIds.toString();
- }
- return this;
- }
- /**
- * 发送消息
- */
- async send() {
- // this.msg
- let res = await this.http.httpPost('/cgi-bin/message/send', this.msg);
-
- return res;
- }
-
-
-
-}
-
-module.exports = Messenger;
+'use strict';
+
+const Http = require('./../../../baseService/baseClient');
+const helper = require('./../../../helper/helper');
+
+class Messenger {
+
+ constructor(config) {
+ this.http = new Http(config);
+ this.agentId = config.Agent.AgentId;
+ // console.log(this.agentId);
+ this.msg = {
+ agentid: this.agentId
+ };
+ }
+ /**
+ * 文本信息
+ * @param {string} msg
+ */
+ textMsg(content) {
+ this.msg['msgtype'] = 'text',
+ this.msg['text'] = {
+ content
+ }
+
+ return this;
+
+ }
+ /**
+ * 图片消息
+ * @param {*} msg
+ */
+ imgMsg(mediaId) {
+ this.msg['msgtype'] = 'image';
+ this.msg['image'] = {
+ media_id: mediaId.toString()
+ }
+
+ return this;
+
+ }
+
+ voiceMsg(mediaId) {
+ this.msg['msgtype'] = 'voice';
+ this.msg['voice'] = {
+ media_id: mediaId.toString()
+ }
+ return this;
+ }
+
+ videoMsg({ mediaId, title, description = '暂无描述' }) {
+ this.msg['msgtype'] = 'video';
+ this.msg['video'] = {
+ media_id: mediaId.toString(),
+ title,
+ description
+ }
+ return this;
+ }
+
+ fileMsg(mediaId) {
+ this.msg['msgtype'] = 'file';
+ this.msg['file'] = {
+ media_id: mediaId.toString(),
+ }
+ return this;
+
+ }
+
+ cardMsg({ title, description, url, btntxt = '详情' }) {
+ this.msg['msgtype'] = 'textcard';
+ this.msg['textcard'] = {
+ title,
+ description,
+ url,
+ btntxt
+ }
+ return this;
+
+ }
+
+ newsMsg(obj) {
+ this.msg['msgtype'] = 'news';
+ let articles = [];
+
+ if (Object.prototype.toString.call(obj) === "[object Array]") {
+ for (let index = 0; index < obj.length; index++) {
+ const element = obj[index];
+ articles.push(element);
+
+ }
+ } else if (Object.prototype.toString.call(obj) === '[object Object]') {
+ articles.push(obj);
+ } else {
+ console.log('格式不正确,请认真看文档')
+ }
+
+ this.msg['news'] = {
+ articles
+ }
+ return this;
+ }
+
+ /**
+ * 发送到人员
+ * @param {Array OR Number Or String} userIds
+ */
+ toUser(userIds) {
+ if (helper.isArray(userIds)) {
+ let users = userIds.join('|');
+ this.msg['touser'] = users;
+ } else {
+ this.msg['touser'] = userIds.toString();
+ }
+ return this;
+ }
+
+
+ /**
+ * 发送到部门
+ * @param {mix} PartyIDs
+ */
+ toParty(PartyIDs) {
+ if (helper.isArray(PartyIDs)) {
+ let parties = PartyIDs.join('|');
+ this.msg['toparty'] = parties;
+ } else {
+ this.msg['toparty'] = PartyIDs.toString();
+ }
+
+ return this;
+ }
+ /**
+ * 发送到标签
+ * @param {mix} TagIds
+ */
+ toTag(TagIds) {
+ if (helper.isArray(TagIds)) {
+ let parties = TagIds.join('|');
+ this.msg['totag'] = parties;
+ } else {
+ this.msg['totag'] = TagIds.toString();
+ }
+ return this;
+ }
+ /**
+ * 发送消息
+ */
+ async send() {
+ // this.msg
+ let res = await this.http.httpPost('/cgi-bin/message/send', this.msg);
+
+ return res;
+ }
+
+
+
+}
+
+module.exports = Messenger;
diff --git a/lib/echat/oauth2/oauth2.js b/lib/echat/oauth2/oauth2.js
index 2c082bd..9d74d0f 100644
--- a/lib/echat/oauth2/oauth2.js
+++ b/lib/echat/oauth2/oauth2.js
@@ -1,117 +1,117 @@
-'use strict';
-
-
-const querystring = require('querystring');
-const Client = require('../../baseService/baseClient');
-
-
-class OAuth {
- constructor(config) {
- this.config = config;
- this.http = new Client(config);
- this.ctx = config.ctx;
- }
- /**
- * 获取重定向链接地址
- * @param {string} url
- * @param {string} scope
- * @param {string} state
- */
- redirectUrl(url, scope, state) {
- url = url || this.config.Agent.oauth.redirect_uri || this.ctx.protocol + '://' + this.ctx.get('host') + this.ctx.request.url;
- var info = {
- appid: this.config.Corp.CorpID,
- redirect_uri: encodeURIComponent(url),
- response_type: 'code',
- scope: scope || this.config.Agent.oauth.scopes,
- state: state || '',
- agentid: this.config.Agent.AgentId //如果需要二次验证必须填入此参数
- };
-
- return (this.config.Corp.OauthUrl || 'https://open.weixin.qq.com/connect/oauth2/authorize') + '?' + querystring.stringify(info) + '#wechat_redirect';
- }
- /**
- * 根据Code获取人员信息
- * @param {string} code
- * @param {boolean} detail
- */
- async getUserInfo(code, detail = false) {
- try {
- //获取当前的用户信息
- let res = await this.http.httpGet('/cgi-bin/user/getuserinfo', {
- code
- });
-
- if (!detail) {
- return res;
- } else {
- return Object.assign(res, await this.getUserDetail(res.user_ticket));
- }
- } catch (error) {
- this.ctx.logger.error(error);
- }
-
- }
- /**
- * 根据成员票据获取成员详细信息
- * @param {string} user_ticket
- */
- async getUserDetail(user_ticket) {
- try {
- //获取当前的用户信息
- let res = await this.http.httpPost('/cgi-bin/user/getuserdetail', {
- user_ticket
- });
-
- return res;
- } catch (error) {
- this.ctx.logger.error(error);
- }
- }
-
- //获取用户信息
- async user() {
-
- const ctx = this.ctx;
- const isEchatAuth = await ctx.service.echatAuth.check();
-
-
- if (!isEchatAuth) {
- const code = ctx.query.code;
-
- if (!code) {
- ctx.unsafeRedirect(await this.redirectUrl());
- return;
- }
-
- function isDetail() {
- let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null);
- return scope === 'snsapi_base' ? false : true;
- }
-
- let userInfo = await this.getUserInfo(code, isDetail());
-
- //存入session
- ctx.session.echat = {
- userid: userInfo.userid,
- name: userInfo.name,
- deviceId: userInfo.DeviceId,
- usertype: userInfo.usertype,
- test: userInfo.test,
- gender: userInfo.gender,
- avatar: userInfo.avatar,
- original: userInfo
- }
- }
-
- async function getId() {
- console.log(456);
- }
-
-
-
- }
-}
-
-
+'use strict';
+
+
+const querystring = require('querystring');
+const Client = require('../../baseService/baseClient');
+
+
+class OAuth {
+ constructor(config) {
+ this.config = config;
+ this.http = new Client(config);
+ this.ctx = config.ctx;
+ }
+ /**
+ * 获取重定向链接地址
+ * @param {string} url
+ * @param {string} scope
+ * @param {string} state
+ */
+ redirectUrl(url, scope, state) {
+ url = url || this.config.Agent.oauth.redirect_uri || this.ctx.protocol + '://' + this.ctx.get('host') + this.ctx.request.url;
+ var info = {
+ appid: this.config.Corp.CorpID,
+ redirect_uri: encodeURIComponent(url),
+ response_type: 'code',
+ scope: scope || this.config.Agent.oauth.scopes,
+ state: state || '',
+ agentid: this.config.Agent.AgentId //如果需要二次验证必须填入此参数
+ };
+
+ return (this.config.Corp.OauthUrl || 'https://open.weixin.qq.com/connect/oauth2/authorize') + '?' + querystring.stringify(info) + '#wechat_redirect';
+ }
+ /**
+ * 根据Code获取人员信息
+ * @param {string} code
+ * @param {boolean} detail
+ */
+ async getUserInfo(code, detail = false) {
+ try {
+ //获取当前的用户信息
+ let res = await this.http.httpGet('/cgi-bin/user/getuserinfo', {
+ code
+ });
+
+ if (!detail) {
+ return res;
+ } else {
+ return Object.assign(res, await this.getUserDetail(res.user_ticket));
+ }
+ } catch (error) {
+ this.ctx.logger.error(error);
+ }
+
+ }
+ /**
+ * 根据成员票据获取成员详细信息
+ * @param {string} user_ticket
+ */
+ async getUserDetail(user_ticket) {
+ try {
+ //获取当前的用户信息
+ let res = await this.http.httpPost('/cgi-bin/user/getuserdetail', {
+ user_ticket
+ });
+
+ return res;
+ } catch (error) {
+ this.ctx.logger.error(error);
+ }
+ }
+
+ //获取用户信息
+ async user() {
+
+ const ctx = this.ctx;
+ const isEchatAuth = await ctx.service.echatAuth.check();
+
+
+ if (!isEchatAuth) {
+ const code = ctx.query.code;
+
+ if (!code) {
+ ctx.unsafeRedirect(await this.redirectUrl());
+ return;
+ }
+
+ function isDetail() {
+ let scope = (ctx.app.config.echat.Agent.oauth.hasOwnProperty('scopes') ? ctx.app.config.echat.Agent.oauth.scopes : null);
+ return scope === 'snsapi_base' ? false : true;
+ }
+
+ let userInfo = await this.getUserInfo(code, isDetail());
+
+ //存入session
+ ctx.session.echat = {
+ userid: userInfo.userid,
+ name: userInfo.name,
+ deviceId: userInfo.DeviceId,
+ usertype: userInfo.usertype,
+ test: userInfo.test,
+ gender: userInfo.gender,
+ avatar: userInfo.avatar,
+ original: userInfo
+ }
+ }
+
+ async function getId() {
+ console.log(456);
+ }
+
+
+
+ }
+}
+
+
module.exports = OAuth;
\ No newline at end of file
diff --git a/lib/echat/server/MsgCrypt/ErrorCode.js b/lib/echat/server/MsgCrypt/ErrorCode.js
index 369c7f1..9da2704 100644
--- a/lib/echat/server/MsgCrypt/ErrorCode.js
+++ b/lib/echat/server/MsgCrypt/ErrorCode.js
@@ -1,27 +1,27 @@
-class ErrorCode {
-}
-
-let errCode = {
- OK: 0,
- ValidateSignatureError: -40001,
- ParseXmlError: -40002,
- ComputeSignatureError: -40003,
- IllegalAesKey: -40004,
- ValidateCorpidError: -40005,
- EncryptAESError: -40006,
- DecryptAESError: -40007,
- IllegalBuffer: -40008,
- EncodeBase64Error: -40009,
- DecodeBase64Error: -40010,
- GenReturnXmlError: -40011,
-};
-
-for (const key in errCode) {
- if (errCode.hasOwnProperty(key)) {
- const element = errCode[key];
- ErrorCode[key] = element;
- }
-}
-
-
-module.exports = ErrorCode;
+class ErrorCode {
+}
+
+let errCode = {
+ OK: 0,
+ ValidateSignatureError: -40001,
+ ParseXmlError: -40002,
+ ComputeSignatureError: -40003,
+ IllegalAesKey: -40004,
+ ValidateCorpidError: -40005,
+ EncryptAESError: -40006,
+ DecryptAESError: -40007,
+ IllegalBuffer: -40008,
+ EncodeBase64Error: -40009,
+ DecodeBase64Error: -40010,
+ GenReturnXmlError: -40011,
+};
+
+for (const key in errCode) {
+ if (errCode.hasOwnProperty(key)) {
+ const element = errCode[key];
+ ErrorCode[key] = element;
+ }
+}
+
+
+module.exports = ErrorCode;
diff --git a/lib/echat/server/MsgCrypt/WXBizMsgCrypt.js b/lib/echat/server/MsgCrypt/WXBizMsgCrypt.js
index 852c549..35a562c 100644
--- a/lib/echat/server/MsgCrypt/WXBizMsgCrypt.js
+++ b/lib/echat/server/MsgCrypt/WXBizMsgCrypt.js
@@ -1,166 +1,166 @@
-'use strict';
-const errCode = require('./ErrorCode');
-const helper = require('./../../../helper/helper');
-const Prpcrypt = require('./pkcs7Encoder');
-const fxp = require('fast-xml-parser');
-// const
-
-class WXBizMsgCrypt {
- /**
- * 构造函数
- * @param {string } token 开发者设置的token
- * @param {string } encodingAesKey 开发者设置的EncodingAESKey
- * @param {string } receiveId 不同应用场景传不同的id
- */
- constructor(token, encodingAesKey, receiveId) {
- this.token = token;
- this.encodingAesKey = encodingAesKey;
- this.receiveId = receiveId;
- return this;
- }
- /**
- * 验证URL
- * @param {string} sMsgSignature 签名串,对应URL参数的msg_signature
- * @param {string} sTimeStamp 时间戳,对应URL参数的timestamp
- * @param {string} sNonce 随机串,对应URL参数的nonce
- * @param {string} sEchoStr 随机串,对应URL参数的echostr
- * @param {string} sReplyEchoStr 解密之后的echostr,当return返回0时有效
- */
- VerifyURL(sMsgSignature, sTimeStamp, sNonce, sEchoStr = null) {
- if ((this.encodingAesKey).length != 43) {
- return errCode.IllegalAesKey;
- }
- //实例化加解密类
- let pc = new Prpcrypt(this.encodingAesKey);
-
- return pc.decrypt(sEchoStr, this.receiveId);
- }
- /**
- * 将公众平台回复用户的消息加密打包.
- * @param {string} sReplyMsg 公众平台待回复用户的消息,xml格式的字符串
- * //此处sReplyMsg的格式形式如下,其中由于回复的格式不同,MsgType有所不同
-
-
- 1348831860
-
-
-
- * @param {string} sTimeStamp 时间戳,可以自己生成,也可以用URL参数的timestamp
- * @param {string} sNonce 随机串,可以自己生成,也可以用URL参数的nonce
- * @param {string} sEncryptMsg 加密后的可以直接回复用户的密文,包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串
- * @return {xml} 加密后的微信标准回包的json格式
- *
-
-
- 1348831860
-
-
-
- */
- EncryptMsg(sReplyMsg, sTimeStamp, sNonce) {
- console.log(sReplyMsg);
-
- let pc = new Prpcrypt(this.encodingAesKey);
- //构建微信回复的标准回包
- //
- //
- //
- // timestamp
- //
- //
- let objStandWechatData = {
- xml: {}
- }
- let result = {
- Encrypt: {
- _cdata: null,
- },
- MsgSignature: {
- _cdata: null,
- },
- TimeStamp: null,
- Nonce: {
- _cdata: null,
- }
-
- };
- result.Encrypt._cdata = pc.encrypt(sReplyMsg, this.receiveId); //加密消息
- result.Nonce._cdata = sNonce || parseInt((Math.random() * 100000000000), 10); //生成随机数
- result.TimeStamp = sTimeStamp || Math.floor(new Date().getTime() / 1000); //获取时间戳
- result.MsgSignature._cdata = this.GetSignature(this.token, result.TimeStamp, result.Nonce._cdata, result.Encrypt._cdata); //获得签名
- objStandWechatData.xml = result;
- //参考URL:https://www.cnblogs.com/ajanuw/p/9122228.html
- //转换为xml格式
- let XmlParser = fxp.j2xParser;
- let xmlParser = new XmlParser({
- cdataTagName: "_cdata",
- });
- let xmlResult = xmlParser.parse(objStandWechatData);
- console.log(xmlResult);
-
- return xmlResult;
- }
- /**
- * 检验消息的真实性,并且获取解密后的明文.
- *
- * - 利用收到的密文生成安全签名,进行签名验证
- * - 若验证通过,则提取xml中的加密消息
- * - 对消息进行解密
- *
- * @param {string} sMsgSignature 签名串,对应URL参数的msg_signature
- * @param {string} sTimeStamp string 时间戳 对应URL参数的timestamp
- * @param {string} sNonce 随机串,对应URL参数的nonce
- * @param {string} sPostData 密文,对应POST请求的数据
- * @param {string} sMsg 解密后的原文
- */
- DecryptMsg(sMsgSignature, sTimeStamp, sNonce, sPostData = null) {
- try {
- //将XMl解析成对象
- let PostDataJsonObj;
- if (sPostData) {
-
- if (!fxp.validate(sPostData)) { //optional (it'll return an object in case it's not valid)
- console.log('XML格式出错');
- throw new Error('XML格式出错');
- }
- let PostDataJsonObj = fxp.parse(sPostData);
- PostDataJsonObj = PostDataJsonObj.xml;
-
- let EncryptMsg = PostDataJsonObj.Encrypt;
- if (sMsgSignature !== this.GetSignature(sTimeStamp, sNonce, EncryptMsg)) {
- throw new Error('ivalid MsgSignature');
- }
- //实例化解密函数
- let pc = new Prpcrypt(this.encodingAesKey);
- //此时返回的是明文XML,需要转换为对象
- let echoStrXml = pc.decrypt(EncryptMsg, this.receiveId);
-
- //进一步检验XML格式是否正确
-
- if (!fxp.validate(echoStrXml)) {
- console.log('XML格式出错');
- throw new Error('XML格式出错');
- }
-
- let echoStrObj = fxp.parse(echoStrXml);
- echoStrObj = echoStrObj.xml
- return echoStrObj;
-
- }
- } catch (error) {
- return new Error(error);
- }
- }
- /**
- * 获取签名
- */
- GetSignature(sTimeStamp, sNonce, encrypt) {
- let stringSort = [this.token, sTimeStamp, sNonce, encrypt].sort().join('');
- return helper.sha1(stringSort);
- }
-
-
-}
-
-
+'use strict';
+const errCode = require('./ErrorCode');
+const helper = require('./../../../helper/helper');
+const Prpcrypt = require('./pkcs7Encoder');
+const fxp = require('fast-xml-parser');
+// const
+
+class WXBizMsgCrypt {
+ /**
+ * 构造函数
+ * @param {string } token 开发者设置的token
+ * @param {string } encodingAesKey 开发者设置的EncodingAESKey
+ * @param {string } receiveId 不同应用场景传不同的id
+ */
+ constructor(token, encodingAesKey, receiveId) {
+ this.token = token;
+ this.encodingAesKey = encodingAesKey;
+ this.receiveId = receiveId;
+ return this;
+ }
+ /**
+ * 验证URL
+ * @param {string} sMsgSignature 签名串,对应URL参数的msg_signature
+ * @param {string} sTimeStamp 时间戳,对应URL参数的timestamp
+ * @param {string} sNonce 随机串,对应URL参数的nonce
+ * @param {string} sEchoStr 随机串,对应URL参数的echostr
+ * @param {string} sReplyEchoStr 解密之后的echostr,当return返回0时有效
+ */
+ VerifyURL(sMsgSignature, sTimeStamp, sNonce, sEchoStr = null) {
+ if ((this.encodingAesKey).length != 43) {
+ return errCode.IllegalAesKey;
+ }
+ //实例化加解密类
+ let pc = new Prpcrypt(this.encodingAesKey);
+
+ return pc.decrypt(sEchoStr, this.receiveId);
+ }
+ /**
+ * 将公众平台回复用户的消息加密打包.
+ * @param {string} sReplyMsg 公众平台待回复用户的消息,xml格式的字符串
+ * //此处sReplyMsg的格式形式如下,其中由于回复的格式不同,MsgType有所不同
+
+
+ 1348831860
+
+
+
+ * @param {string} sTimeStamp 时间戳,可以自己生成,也可以用URL参数的timestamp
+ * @param {string} sNonce 随机串,可以自己生成,也可以用URL参数的nonce
+ * @param {string} sEncryptMsg 加密后的可以直接回复用户的密文,包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串
+ * @return {xml} 加密后的微信标准回包的json格式
+ *
+
+
+ 1348831860
+
+
+
+ */
+ EncryptMsg(sReplyMsg, sTimeStamp, sNonce) {
+ console.log(sReplyMsg);
+
+ let pc = new Prpcrypt(this.encodingAesKey);
+ //构建微信回复的标准回包
+ //
+ //
+ //
+ // timestamp
+ //
+ //
+ let objStandWechatData = {
+ xml: {}
+ }
+ let result = {
+ Encrypt: {
+ _cdata: null,
+ },
+ MsgSignature: {
+ _cdata: null,
+ },
+ TimeStamp: null,
+ Nonce: {
+ _cdata: null,
+ }
+
+ };
+ result.Encrypt._cdata = pc.encrypt(sReplyMsg, this.receiveId); //加密消息
+ result.Nonce._cdata = sNonce || parseInt((Math.random() * 100000000000), 10); //生成随机数
+ result.TimeStamp = sTimeStamp || Math.floor(new Date().getTime() / 1000); //获取时间戳
+ result.MsgSignature._cdata = this.GetSignature(this.token, result.TimeStamp, result.Nonce._cdata, result.Encrypt._cdata); //获得签名
+ objStandWechatData.xml = result;
+ //参考URL:https://www.cnblogs.com/ajanuw/p/9122228.html
+ //转换为xml格式
+ let XmlParser = fxp.j2xParser;
+ let xmlParser = new XmlParser({
+ cdataTagName: "_cdata",
+ });
+ let xmlResult = xmlParser.parse(objStandWechatData);
+ console.log(xmlResult);
+
+ return xmlResult;
+ }
+ /**
+ * 检验消息的真实性,并且获取解密后的明文.
+ *
+ * - 利用收到的密文生成安全签名,进行签名验证
+ * - 若验证通过,则提取xml中的加密消息
+ * - 对消息进行解密
+ *
+ * @param {string} sMsgSignature 签名串,对应URL参数的msg_signature
+ * @param {string} sTimeStamp string 时间戳 对应URL参数的timestamp
+ * @param {string} sNonce 随机串,对应URL参数的nonce
+ * @param {string} sPostData 密文,对应POST请求的数据
+ * @param {string} sMsg 解密后的原文
+ */
+ DecryptMsg(sMsgSignature, sTimeStamp, sNonce, sPostData = null) {
+ try {
+ //将XMl解析成对象
+ let PostDataJsonObj;
+ if (sPostData) {
+
+ if (!fxp.validate(sPostData)) { //optional (it'll return an object in case it's not valid)
+ console.log('XML格式出错');
+ throw new Error('XML格式出错');
+ }
+ let PostDataJsonObj = fxp.parse(sPostData);
+ PostDataJsonObj = PostDataJsonObj.xml;
+
+ let EncryptMsg = PostDataJsonObj.Encrypt;
+ if (sMsgSignature !== this.GetSignature(sTimeStamp, sNonce, EncryptMsg)) {
+ throw new Error('ivalid MsgSignature');
+ }
+ //实例化解密函数
+ let pc = new Prpcrypt(this.encodingAesKey);
+ //此时返回的是明文XML,需要转换为对象
+ let echoStrXml = pc.decrypt(EncryptMsg, this.receiveId);
+
+ //进一步检验XML格式是否正确
+
+ if (!fxp.validate(echoStrXml)) {
+ console.log('XML格式出错');
+ throw new Error('XML格式出错');
+ }
+
+ let echoStrObj = fxp.parse(echoStrXml);
+ echoStrObj = echoStrObj.xml
+ return echoStrObj;
+
+ }
+ } catch (error) {
+ return new Error(error);
+ }
+ }
+ /**
+ * 获取签名
+ */
+ GetSignature(sTimeStamp, sNonce, encrypt) {
+ let stringSort = [this.token, sTimeStamp, sNonce, encrypt].sort().join('');
+ return helper.sha1(stringSort);
+ }
+
+
+}
+
+
module.exports = WXBizMsgCrypt;
\ No newline at end of file
diff --git a/lib/echat/server/MsgCrypt/pkcs7Encoder.js b/lib/echat/server/MsgCrypt/pkcs7Encoder.js
index 7731527..a7ec0de 100644
--- a/lib/echat/server/MsgCrypt/pkcs7Encoder.js
+++ b/lib/echat/server/MsgCrypt/pkcs7Encoder.js
@@ -1,138 +1,138 @@
-
-const crypto = require('crypto');
-const errCode = require('./ErrorCode');
-
-
-
-/**
- * 提供接收和推送给公众平台消息的加解密接口.
- */
-class Prpcrypt {
-
- constructor(k) {
- this.key = Buffer.from(k + '=', 'base64');
- this.iv = this.key.slice(0, 16);
- }
-
- /**
- * 加密
- * @param {string} xmlMsg
- * @param {string} receiveId
- */
- encrypt(xmlMsg, receiveId) {
- // let xmlMsg = text;
- try {
- //拼接
- var random16 = crypto.pseudoRandomBytes(16); //生成随机字节流
- // var random16 = this.randomString(); //生成随机字节流
-
- let msg = Buffer.from(xmlMsg);
- //微信规定的4字节长度
- var msgLength = Buffer.alloc(4);
- //以无符号长整型写入,相当于PHP示例程序的pack('N', '$text)
- msgLength.writeUInt32BE(msg.length, 0);
-
-
- //将corpId以二进制的方式写入内存
- var corpId = Buffer.from(receiveId);
- // var corpId = receiveId;
-
-
- //拼接待加密的字符串
- var raw_msg = Buffer.concat([random16, msgLength, msg, corpId]);//randomString + msgLength + xmlMsg + this.corpID;
-
- raw_msg = this.PKCS7Encoder(raw_msg);
-
- //加密
- let cipher = crypto.createCipheriv('aes-256-cbc', this.key, this.iv);
- //二进制写入
- let cipheredMsg = Buffer.concat([cipher.update(raw_msg), cipher.final()]);
- //将进行base64的编码
- return cipheredMsg.toString('base64');
- } catch (error) {
-
- }
- }
-
- /**
- * 解密
- * @param {mix} encrypted
- * @param {number} receiveId
- */
- decrypt(encrypted, receiveId) {
-
- try {
- let aesCipher = crypto.createDecipheriv("aes-256-cbc", this.key, this.iv);
- aesCipher.setAutoPadding(false); //不自动切断
-
- let decipheredBuff = Buffer.concat([aesCipher.update(encrypted, 'base64'), aesCipher.final()]);
- decipheredBuff = this.PKCS7Decoder(decipheredBuff);
- // 去掉rand_msg头部的16个随机字节,4个字节的msg_len, 和尾部的$CorpID即为最终的消息体原文msg
- let len_netOrder_corpid = decipheredBuff.slice(16); //去掉rand_msg头部的16个随机字节
- let msg_len = len_netOrder_corpid.slice(0, 4).readUInt32BE(0); // 4个字节的msg_len
- const result = len_netOrder_corpid.slice(4, msg_len + 4).toString(); // 最终的消息体原文msg
- let appId = len_netOrder_corpid.slice(msg_len + 4).toString(); // 尾部的$CorpID
-
- if (receiveId === appId) { // 验证企业Id,不对则不通过
- return result; // 返回一个解密后的明文-
- } else {
- throw Error(errCode.ValidateCorpidError);
- }
- } catch (error) {
- return new Error('errCode:' + errCode.ValidateCorpidError);
- }
- }
-
- /**
- * 生成随机字符 没用到
- * @param {number} len 生成的字符长度
- */
- randomString(len) {
- len = len || 16;
- const $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
- const maxPos = $chars.length;
- let str = '';
- for (let i = 0; i < len; i++) {
- str += $chars.charAt(Math.floor(Math.random() * maxPos));
- }
- return str;
- }
-
- /**
- * 对需要加密的明文进行填充补位
- * @param {*} buff 需要进行填充补位操作的明文
- */
- PKCS7Encoder(buff) {
- let blockSize = 32;
- let strSize = buff.length;
- let amountToPad = blockSize - (strSize % blockSize);
- if (amountToPad === 0) {
- amountToPad = blockSize;
- }
-
- let pad = Buffer.alloc(amountToPad - 1, String.fromCharCode(amountToPad));
- return Buffer.concat([buff, pad]);
- }
- /**
- *
- * 对解密后的明文进行补位删除
- * @param {string} buff 解密后的明文
- */
- PKCS7Decoder(buff) {
- var pad = buff[buff.length - 1];
- if (pad < 1 || pad > 32) {
- pad = 0;
- }
- return buff.slice(0, buff.length - pad);
- }
-
-
-}
-
-Prpcrypt.key = null;
-Prpcrypt.iv = null;
-
-
-
-
-module.exports = Prpcrypt;
+
+const crypto = require('crypto');
+const errCode = require('./ErrorCode');
+
+
+
+/**
+ * 提供接收和推送给公众平台消息的加解密接口.
+ */
+class Prpcrypt {
+
+ constructor(k) {
+ this.key = Buffer.from(k + '=', 'base64');
+ this.iv = this.key.slice(0, 16);
+ }
+
+ /**
+ * 加密
+ * @param {string} xmlMsg
+ * @param {string} receiveId
+ */
+ encrypt(xmlMsg, receiveId) {
+ // let xmlMsg = text;
+ try {
+ //拼接
+ var random16 = crypto.pseudoRandomBytes(16); //生成随机字节流
+ // var random16 = this.randomString(); //生成随机字节流
+
+ let msg = Buffer.from(xmlMsg);
+ //微信规定的4字节长度
+ var msgLength = Buffer.alloc(4);
+ //以无符号长整型写入,相当于PHP示例程序的pack('N', '$text)
+ msgLength.writeUInt32BE(msg.length, 0);
+
+
+ //将corpId以二进制的方式写入内存
+ var corpId = Buffer.from(receiveId);
+ // var corpId = receiveId;
+
+
+ //拼接待加密的字符串
+ var raw_msg = Buffer.concat([random16, msgLength, msg, corpId]);//randomString + msgLength + xmlMsg + this.corpID;
+
+ raw_msg = this.PKCS7Encoder(raw_msg);
+
+ //加密
+ let cipher = crypto.createCipheriv('aes-256-cbc', this.key, this.iv);
+ //二进制写入
+ let cipheredMsg = Buffer.concat([cipher.update(raw_msg), cipher.final()]);
+ //将进行base64的编码
+ return cipheredMsg.toString('base64');
+ } catch (error) {
+
+ }
+ }
+
+ /**
+ * 解密
+ * @param {mix} encrypted
+ * @param {number} receiveId
+ */
+ decrypt(encrypted, receiveId) {
+
+ try {
+ let aesCipher = crypto.createDecipheriv("aes-256-cbc", this.key, this.iv);
+ aesCipher.setAutoPadding(false); //不自动切断
+
+ let decipheredBuff = Buffer.concat([aesCipher.update(encrypted, 'base64'), aesCipher.final()]);
+ decipheredBuff = this.PKCS7Decoder(decipheredBuff);
+ // 去掉rand_msg头部的16个随机字节,4个字节的msg_len, 和尾部的$CorpID即为最终的消息体原文msg
+ let len_netOrder_corpid = decipheredBuff.slice(16); //去掉rand_msg头部的16个随机字节
+ let msg_len = len_netOrder_corpid.slice(0, 4).readUInt32BE(0); // 4个字节的msg_len
+ const result = len_netOrder_corpid.slice(4, msg_len + 4).toString(); // 最终的消息体原文msg
+ let appId = len_netOrder_corpid.slice(msg_len + 4).toString(); // 尾部的$CorpID
+
+ if (receiveId === appId) { // 验证企业Id,不对则不通过
+ return result; // 返回一个解密后的明文-
+ } else {
+ throw Error(errCode.ValidateCorpidError);
+ }
+ } catch (error) {
+ return new Error('errCode:' + errCode.ValidateCorpidError);
+ }
+ }
+
+ /**
+ * 生成随机字符 没用到
+ * @param {number} len 生成的字符长度
+ */
+ randomString(len) {
+ len = len || 16;
+ const $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
+ const maxPos = $chars.length;
+ let str = '';
+ for (let i = 0; i < len; i++) {
+ str += $chars.charAt(Math.floor(Math.random() * maxPos));
+ }
+ return str;
+ }
+
+ /**
+ * 对需要加密的明文进行填充补位
+ * @param {*} buff 需要进行填充补位操作的明文
+ */
+ PKCS7Encoder(buff) {
+ let blockSize = 32;
+ let strSize = buff.length;
+ let amountToPad = blockSize - (strSize % blockSize);
+ if (amountToPad === 0) {
+ amountToPad = blockSize;
+ }
+
+ let pad = Buffer.alloc(amountToPad - 1, String.fromCharCode(amountToPad));
+ return Buffer.concat([buff, pad]);
+ }
+ /**
+ *
+ * 对解密后的明文进行补位删除
+ * @param {string} buff 解密后的明文
+ */
+ PKCS7Decoder(buff) {
+ var pad = buff[buff.length - 1];
+ if (pad < 1 || pad > 32) {
+ pad = 0;
+ }
+ return buff.slice(0, buff.length - pad);
+ }
+
+
+}
+
+Prpcrypt.key = null;
+Prpcrypt.iv = null;
+
+
+
+
+module.exports = Prpcrypt;
diff --git a/lib/echat/server/server.js b/lib/echat/server/server.js
index 010cace..3cdd124 100644
--- a/lib/echat/server/server.js
+++ b/lib/echat/server/server.js
@@ -1,106 +1,106 @@
-'use strict';
-
-const WXBizMsgCrypt = require('./MsgCrypt/WXBizMsgCrypt');
-
-const Message = require('./../message/messages');
-class Server {
- constructor(config) {
- this.config = config;
- this.ctx = config.ctx || null;
- this.replyMsg = '';
- this.clientMsg = null;
- return this;
- }
- /**
- * 验证URL回调
- * @param {*} msg 微信官方get请求的参数
- */
- server(msg) {
-
- msg = msg || this.eggjsQueryHandle();
-
- let token = this.config.Agent.token; // 开发者设定的Token
- let EncodingAESKey = this.config.Agent.EncodingAESKey; //签名密钥
- let CorpId = this.config.Corp.CorpID; //企业ID
- //解构出来消息参数
- let {
- msg_signature,
- timestamp,
- nonce,
- echostr,
- data
- } = msg;
- // 实例化解密
- let wxcpt = new WXBizMsgCrypt(token, EncodingAESKey, CorpId);
-
- if (echostr) { //只是用来验证URL
- this.replyMsg = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr); // 返回解密后 echostr的明文
- } else { //接收客户端的消息
- //解密后的字符串
- this.clientMsg = wxcpt.DecryptMsg(msg_signature, timestamp, nonce, data);
- }
- return this;
- }
- /**
- * 发送验证服务
- */
- send(breakMsg) {
- if (!breakMsg) {
- return this.replyMsg;
- } else {
- return ''
- }
- }
- /**
- * 闭包调用
- * @param {function} callback 回调函数
- */
- async push(callback) {
- let queryString = this.ctx.query; //拿到微信的的参数
- //通过判断请求的method来判断 是验证URL还是接收消息
- let method = this.ctx.request.method; //获取请求的方式
- //判断此时是否为GET请求,即判断是否是验证URL的请求
- if (method === 'GET' && queryString.hasOwnProperty('echostr')) {
- return this.send(); //不传参数则只是为了验证URL
- }
-
- if (callback != undefined && typeof callback == 'function') {
- let result = await callback(this.clientMsg);
-
- let Msg = new Message(this.config);
-
- let res = await Msg.messenger.textMsg(result).toUser(this.clientMsg.FromUserName).send();
-
- if (res.errcode === 0 && res.invaliduser === '') {
- return this.send('ok'); //防止重复执行
- }
-
- } else {
- throw new Error("第二个参数不是函数");
- }
- }
- /**
- * 获取用户发来的消息信息
- */
- getMessage() {
-
- return this.clientMsg;
- }
-
- eggjsQueryHandle() {
- let queryString = this.ctx.query; //拿到微信的的参数
- //通过判断请求的method来判断 是验证URL还是接收消息
- let method = this.ctx.request.method; //获取请求的方式
-
- if (method === 'GET' && queryString.hasOwnProperty('echostr')) { //用来验证 URL
- return queryString;
- } else if (method === 'POST') { //用来解密客户端发来的消息
- queryString.data = this.ctx.request.body;
- return queryString;
- }
-
- }
-}
-
-
+'use strict';
+
+const WXBizMsgCrypt = require('./MsgCrypt/WXBizMsgCrypt');
+
+const Message = require('./../message/messages');
+class Server {
+ constructor(config) {
+ this.config = config;
+ this.ctx = config.ctx || null;
+ this.replyMsg = '';
+ this.clientMsg = null;
+ return this;
+ }
+ /**
+ * 验证URL回调
+ * @param {*} msg 微信官方get请求的参数
+ */
+ server(msg) {
+
+ msg = msg || this.eggjsQueryHandle();
+
+ let token = this.config.Agent.token; // 开发者设定的Token
+ let EncodingAESKey = this.config.Agent.EncodingAESKey; //签名密钥
+ let CorpId = this.config.Corp.CorpID; //企业ID
+ //解构出来消息参数
+ let {
+ msg_signature,
+ timestamp,
+ nonce,
+ echostr,
+ data
+ } = msg;
+ // 实例化解密
+ let wxcpt = new WXBizMsgCrypt(token, EncodingAESKey, CorpId);
+
+ if (echostr) { //只是用来验证URL
+ this.replyMsg = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr); // 返回解密后 echostr的明文
+ } else { //接收客户端的消息
+ //解密后的字符串
+ this.clientMsg = wxcpt.DecryptMsg(msg_signature, timestamp, nonce, data);
+ }
+ return this;
+ }
+ /**
+ * 发送验证服务
+ */
+ send(breakMsg) {
+ if (!breakMsg) {
+ return this.replyMsg;
+ } else {
+ return ''
+ }
+ }
+ /**
+ * 闭包调用
+ * @param {function} callback 回调函数
+ */
+ async push(callback) {
+ let queryString = this.ctx.query; //拿到微信的的参数
+ //通过判断请求的method来判断 是验证URL还是接收消息
+ let method = this.ctx.request.method; //获取请求的方式
+ //判断此时是否为GET请求,即判断是否是验证URL的请求
+ if (method === 'GET' && queryString.hasOwnProperty('echostr')) {
+ return this.send(); //不传参数则只是为了验证URL
+ }
+
+ if (callback != undefined && typeof callback == 'function') {
+ let result = await callback(this.clientMsg);
+
+ let Msg = new Message(this.config);
+
+ let res = await Msg.messenger.textMsg(result).toUser(this.clientMsg.FromUserName).send();
+
+ if (res.errcode === 0 && res.invaliduser === '') {
+ return this.send('ok'); //防止重复执行
+ }
+
+ } else {
+ throw new Error("第二个参数不是函数");
+ }
+ }
+ /**
+ * 获取用户发来的消息信息
+ */
+ getMessage() {
+
+ return this.clientMsg;
+ }
+
+ eggjsQueryHandle() {
+ let queryString = this.ctx.query; //拿到微信的的参数
+ //通过判断请求的method来判断 是验证URL还是接收消息
+ let method = this.ctx.request.method; //获取请求的方式
+
+ if (method === 'GET' && queryString.hasOwnProperty('echostr')) { //用来验证 URL
+ return queryString;
+ } else if (method === 'POST') { //用来解密客户端发来的消息
+ queryString.data = this.ctx.request.body;
+ return queryString;
+ }
+
+ }
+}
+
+
module.exports = Server;
\ No newline at end of file
diff --git a/lib/helper/helper.js b/lib/helper/helper.js
index ba72ceb..8a34018 100644
--- a/lib/helper/helper.js
+++ b/lib/helper/helper.js
@@ -1,86 +1,86 @@
-'use strict'
-const crypto = require('crypto');
-/**
- * 工具类
- */
-class Helper {
- /**
- * 判断结尾是否包含某个
- * @param {string} str
- * @param {string} target
- * use👇
- * confirmEnding("He has to give me a new name", "name");
- */
- static confirmEnding(str, target) {
- var start = str.length - target.length;
- var arr = str.substr(start, target.length);
- if (arr == target) {
- return true;
- }
- return false;
- }
-
- static md5(str) {
-
- let md5 = crypto.createHash('md5');
- md5.update(str);
- let sign = md5.digest('hex');
- // console.log(sign);
-
- return sign;
- }
-
- static sha1(str) {
-
- let sha1String = crypto.createHash('sha1');
- sha1String.update(str);
- let sign = sha1String.digest('hex');
-
- return sign;
- }
- /**
- * 生成随机字符串
- * @param {number} len
- */
- static randomString(len) {
- len = len || 32;
- const $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
- const maxPos = $chars.length;
- let str = '';
- for (let i = 0; i < len; i++) {
- str += $chars.charAt(Math.floor(Math.random() * maxPos));
- }
- return str;
- }
- /**
- * 判断是否为数组
- * @param {mix} obj
- */
- static isArray(obj) {
- return (typeof obj == 'object') && obj.constructor === Array;
- }
- /**
- * 判断是否为字符串
- * @param {mix} str
- */
- static isString(str) {
- return (typeof str == 'string') && str.constructor == String;
- }
- /**
- * 判断是否为数值类型
- * @param {mix} obj
- */
- isNumber(obj) {
- return (typeof obj == 'number') && obj.constructor == Number;
- }
-
-}
-
-module.exports = Helper;
-
-
-
-
-
-
-
+'use strict'
+const crypto = require('crypto');
+/**
+ * 工具类
+ */
+class Helper {
+ /**
+ * 判断结尾是否包含某个
+ * @param {string} str
+ * @param {string} target
+ * use👇
+ * confirmEnding("He has to give me a new name", "name");
+ */
+ static confirmEnding(str, target) {
+ var start = str.length - target.length;
+ var arr = str.substr(start, target.length);
+ if (arr == target) {
+ return true;
+ }
+ return false;
+ }
+
+ static md5(str) {
+
+ let md5 = crypto.createHash('md5');
+ md5.update(str);
+ let sign = md5.digest('hex');
+ // console.log(sign);
+
+ return sign;
+ }
+
+ static sha1(str) {
+
+ let sha1String = crypto.createHash('sha1');
+ sha1String.update(str);
+ let sign = sha1String.digest('hex');
+
+ return sign;
+ }
+ /**
+ * 生成随机字符串
+ * @param {number} len
+ */
+ static randomString(len) {
+ len = len || 32;
+ const $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
+ const maxPos = $chars.length;
+ let str = '';
+ for (let i = 0; i < len; i++) {
+ str += $chars.charAt(Math.floor(Math.random() * maxPos));
+ }
+ return str;
+ }
+ /**
+ * 判断是否为数组
+ * @param {mix} obj
+ */
+ static isArray(obj) {
+ return (typeof obj == 'object') && obj.constructor === Array;
+ }
+ /**
+ * 判断是否为字符串
+ * @param {mix} str
+ */
+ static isString(str) {
+ return (typeof str == 'string') && str.constructor == String;
+ }
+ /**
+ * 判断是否为数值类型
+ * @param {mix} obj
+ */
+ isNumber(obj) {
+ return (typeof obj == 'number') && obj.constructor == Number;
+ }
+
+}
+
+module.exports = Helper;
+
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 6a12a50..1d60e0e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12648 +1,12648 @@
-{
- "name": "egg-echat",
- "version": "1.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz",
- "integrity": "sha1-vAeC9tafe31JUxIZaZuYj2aaj50=",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
- }
- },
- "@babel/generator": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.7.4.tgz",
- "integrity": "sha1-22UeKEDKmqZvMn3OwdxfX6lhE2k=",
- "dev": true,
- "requires": {
- "@babel/types": "^7.7.4",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz",
- "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
- "dev": true
- }
- }
- },
- "@babel/helper-function-name": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.7.4.tgz",
- "integrity": "sha1-q24EHnE11DbY8KPsoV3ltno0Gi4=",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.7.4",
- "@babel/template": "^7.7.4",
- "@babel/types": "^7.7.4"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.7.4.tgz",
- "integrity": "sha1-y0Y0jS+ICOYy8KsEgXITDmNgBfA=",
- "dev": true,
- "requires": {
- "@babel/types": "^7.7.4"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.7.4.tgz",
- "integrity": "sha1-Vykq9gRDxKNiLPdAQN3Cjmgzb9g=",
- "dev": true,
- "requires": {
- "@babel/types": "^7.7.4"
- }
- },
- "@babel/highlight": {
- "version": "7.5.0",
- "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.5.0.tgz?cache=0&sync_timestamp=1562245140883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.5.0.tgz",
- "integrity": "sha1-VtETEr2SSPphlZHQJHK+boyzJUA=",
- "dev": true,
- "requires": {
- "chalk": "^2.0.0",
- "esutils": "^2.0.2",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz",
- "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.7.4.tgz",
- "integrity": "sha1-dastcRDCzy+pSZWa+wX6NG0iMbs=",
- "dev": true
- },
- "@babel/runtime": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.7.4.tgz?cache=0&sync_timestamp=1574465751725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.7.4.tgz",
- "integrity": "sha1-sjqFZ1HkvwmSYvhndniJwOP+F1s=",
- "dev": true,
- "requires": {
- "regenerator-runtime": "^0.13.2"
- },
- "dependencies": {
- "regenerator-runtime": {
- "version": "0.13.3",
- "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
- "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U=",
- "dev": true
- }
- }
- },
- "@babel/template": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.7.4.tgz",
- "integrity": "sha1-Qop9nuz/4n3qwKmOI7+ONnXSp3s=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4"
- }
- },
- "@babel/traverse": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.7.4.tgz?cache=0&sync_timestamp=1574465640801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.7.4.tgz",
- "integrity": "sha1-nB58YPtnn+T8+qQlAIMzM8IFhVg=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.7.4",
- "@babel/helper-function-name": "^7.7.4",
- "@babel/helper-split-export-declaration": "^7.7.4",
- "@babel/parser": "^7.7.4",
- "@babel/types": "^7.7.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
- "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.7.4",
- "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.7.4.tgz",
- "integrity": "sha1-UWVw1TnkTd8wjAdWnCWP+U/ekZM=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
- },
- "dependencies": {
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- }
- }
- },
- "@eggjs/router": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/@eggjs/router/download/@eggjs/router-2.0.0.tgz",
- "integrity": "sha1-mxZN2dbZcIFQLl/cd6c0NZUTYYo=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "debug": "^3.1.0",
- "http-errors": "^1.3.1",
- "inflection": "^1.12.0",
- "is-type-of": "^1.2.1",
- "koa-compose": "^3.0.0",
- "koa-convert": "^1.2.0",
- "methods": "^1.0.1",
- "path-to-regexp": "^1.1.1",
- "urijs": "^1.19.0",
- "utility": "^1.15.0"
- }
- },
- "@jest/types": {
- "version": "24.9.0",
- "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-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"
- },
- "dependencies": {
- "@types/yargs": {
- "version": "13.0.3",
- "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.3.tgz",
- "integrity": "sha1-dkgq85gdRBLWU3GjGPmS0zRko4A=",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- }
- }
- },
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=",
- "dev": true,
- "requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
- }
- },
- "@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz",
- "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
- "dev": true
- },
- "@types/accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npm.taobao.org/@types/accepts/download/@types/accepts-1.3.5.tgz",
- "integrity": "sha1-w0vsEVz8dG4E/loFnfTOfns5FXU=",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/body-parser": {
- "version": "1.17.1",
- "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.17.1.tgz",
- "integrity": "sha1-GPz2F2j7XDDMxQjCHW/S6LO/eJc=",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.32",
- "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.32.tgz",
- "integrity": "sha1-qg6WFrlDXMrQK8UrW0VP/Cxwuig=",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cookiejar": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/@types/cookiejar/download/@types/cookiejar-2.1.1.tgz",
- "integrity": "sha1-kLaERjZLr579joNJuza9OFK3W4A=",
- "dev": true
- },
- "@types/cookies": {
- "version": "0.7.4",
- "resolved": "https://registry.npm.taobao.org/@types/cookies/download/@types/cookies-0.7.4.tgz",
- "integrity": "sha1-Jt7feRcBq8Dja1t5pXIvQORV+Hs=",
- "dev": true,
- "requires": {
- "@types/connect": "*",
- "@types/express": "*",
- "@types/keygrip": "*",
- "@types/node": "*"
- }
- },
- "@types/dargs": {
- "version": "5.1.0",
- "resolved": "https://registry.npm.taobao.org/@types/dargs/download/@types/dargs-5.1.0.tgz",
- "integrity": "sha1-BuLJQ9rbkWeWcAX/1GelgaAJ00c=",
- "dev": true
- },
- "@types/depd": {
- "version": "1.1.32",
- "resolved": "https://registry.npm.taobao.org/@types/depd/download/@types/depd-1.1.32.tgz",
- "integrity": "sha1-eTf2aHDQzXqYgRUuTrAsjEMpjxE=",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/empower": {
- "version": "1.2.30",
- "resolved": "https://registry.npm.taobao.org/@types/empower/download/@types/empower-1.2.30.tgz",
- "integrity": "sha1-x8/BSzph5Ux0xnTB+8kbot8NE5I=",
- "dev": true
- },
- "@types/eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0=",
- "dev": true
- },
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1572461479213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz",
- "integrity": "sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc=",
- "dev": true
- },
- "@types/express": {
- "version": "4.17.2",
- "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.2.tgz",
- "integrity": "sha1-oPt6I9iFW6wxvAHVpYyt2bIXPmw=",
- "dev": true,
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.0",
- "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.0.tgz",
- "integrity": "sha1-6AwlkD31gA6SZAK36CZ6Z1xUooE=",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz?cache=0&sync_timestamp=1572462281559&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.1.tgz",
- "integrity": "sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=",
- "dev": true,
- "requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/http-assert": {
- "version": "1.5.1",
- "resolved": "https://registry.npm.taobao.org/@types/http-assert/download/@types/http-assert-1.5.1.tgz",
- "integrity": "sha1-13XpNjDCRpwvmA/CfjFDJAM12zs=",
- "dev": true
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz",
- "integrity": "sha1-QplbRG25pIoRoH7Ag0mahg6ROP8=",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-1.1.1.tgz",
- "integrity": "sha1-5Ucef6M8YTWN04QmGJwDelhDO4w=",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.1.tgz",
- "integrity": "sha1-eoy/akBvNsit2HFiWyeOrwsNJVo=",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*",
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/json-schema": {
- "version": "7.0.3",
- "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.3.tgz",
- "integrity": "sha1-vf1p1h5GTcyBslFZwnDXWnPBpjY=",
- "dev": true
- },
- "@types/keygrip": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/@types/keygrip/download/@types/keygrip-1.0.1.tgz",
- "integrity": "sha1-/1QEYtL7TQqIRBzq8n0oewHD2Hg=",
- "dev": true
- },
- "@types/koa": {
- "version": "2.0.52",
- "resolved": "https://registry.npm.taobao.org/@types/koa/download/@types/koa-2.0.52.tgz",
- "integrity": "sha1-fdEd5BiaszmtZsTMrRU3FrFOUl8=",
- "dev": true,
- "requires": {
- "@types/accepts": "*",
- "@types/cookies": "*",
- "@types/http-assert": "*",
- "@types/keygrip": "*",
- "@types/koa-compose": "*",
- "@types/node": "*"
- }
- },
- "@types/koa-compose": {
- "version": "3.2.5",
- "resolved": "https://registry.npm.taobao.org/@types/koa-compose/download/@types/koa-compose-3.2.5.tgz",
- "integrity": "sha1-hesugKxQvpXzfM+MQHwJu+NGjp0=",
- "dev": true,
- "requires": {
- "@types/koa": "*"
- }
- },
- "@types/koa-router": {
- "version": "7.0.42",
- "resolved": "https://registry.npm.taobao.org/@types/koa-router/download/@types/koa-router-7.0.42.tgz",
- "integrity": "sha1-DlwB1NCihz1ALUMhFPCDctfFDrE=",
- "dev": true,
- "requires": {
- "@types/koa": "*"
- }
- },
- "@types/mime": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.1.tgz",
- "integrity": "sha1-3EiIQjEqfwdRSTEpBbXjwLBUx50=",
- "dev": true
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz",
- "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=",
- "dev": true
- },
- "@types/node": {
- "version": "12.12.12",
- "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.12.tgz",
- "integrity": "sha1-UpvD5z27Nd2ekLChyDYGqdMmS9s=",
- "dev": true
- },
- "@types/power-assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/@types/power-assert/download/@types/power-assert-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fpower-assert%2Fdownload%2F%40types%2Fpower-assert-1.5.0.tgz",
- "integrity": "sha1-TMQ3FxJ82BkBVV+QXFXwKTgSDcs=",
- "dev": true,
- "requires": {
- "@types/empower": "*",
- "@types/power-assert-formatter": "*"
- }
- },
- "@types/power-assert-formatter": {
- "version": "1.4.28",
- "resolved": "https://registry.npm.taobao.org/@types/power-assert-formatter/download/@types/power-assert-formatter-1.4.28.tgz",
- "integrity": "sha1-Jbj922MiJZxrkcNTONObD45SQlI=",
- "dev": true
- },
- "@types/range-parser": {
- "version": "1.2.3",
- "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz?cache=0&sync_timestamp=1572463876708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Frange-parser%2Fdownload%2F%40types%2Frange-parser-1.2.3.tgz",
- "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
- "dev": true
- },
- "@types/serve-static": {
- "version": "1.13.3",
- "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.3.tgz",
- "integrity": "sha1-634cQcRGgnJVfol+kXHe1eLe2dE=",
- "dev": true,
- "requires": {
- "@types/express-serve-static-core": "*",
- "@types/mime": "*"
- }
- },
- "@types/superagent": {
- "version": "4.1.4",
- "resolved": "https://registry.npm.taobao.org/@types/superagent/download/@types/superagent-4.1.4.tgz",
- "integrity": "sha1-Y/dJVaKAc4cM/ZwQC8rLJtcrN2Q=",
- "dev": true,
- "requires": {
- "@types/cookiejar": "*",
- "@types/node": "*"
- }
- },
- "@types/supertest": {
- "version": "2.0.8",
- "resolved": "https://registry.npm.taobao.org/@types/supertest/download/@types/supertest-2.0.8.tgz?cache=0&sync_timestamp=1572472221247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsupertest%2Fdownload%2F%40types%2Fsupertest-2.0.8.tgz",
- "integrity": "sha1-I4ASNuK4UgTtdxqOfED+u6faK9o=",
- "dev": true,
- "requires": {
- "@types/superagent": "*"
- }
- },
- "@types/yargs": {
- "version": "12.0.13",
- "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-12.0.13.tgz",
- "integrity": "sha1-/MBfsxiPLa778rdkPepa9MSIMWM=",
- "dev": true
- },
- "@types/yargs-parser": {
- "version": "13.1.0",
- "resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-13.1.0.tgz",
- "integrity": "sha1-xWOqGS85NQodGNo2xajaOCu9gig=",
- "dev": true
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "2.8.0",
- "resolved": "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.8.0.tgz",
- "integrity": "sha1-7KWE1GCU6+vDyz6ftiW/vJBKU00=",
- "dev": true,
- "requires": {
- "@typescript-eslint/experimental-utils": "2.8.0",
- "eslint-utils": "^1.4.3",
- "functional-red-black-tree": "^1.0.1",
- "regexpp": "^3.0.0",
- "tsutils": "^3.17.1"
- },
- "dependencies": {
- "regexpp": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-3.0.0.tgz",
- "integrity": "sha1-3WOYLuMwDme0HBlW+FCqaA2dMw4=",
- "dev": true
- }
- }
- },
- "@typescript-eslint/experimental-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.8.0.tgz",
- "integrity": "sha1-IItBZNF1WH6bA85v6pfVXxnDDKk=",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.3",
- "@typescript-eslint/typescript-estree": "2.8.0",
- "eslint-scope": "^5.0.0"
- },
- "dependencies": {
- "eslint-scope": {
- "version": "5.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz",
- "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- }
- }
- },
- "@typescript-eslint/parser": {
- "version": "2.8.0",
- "resolved": "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.8.0.tgz",
- "integrity": "sha1-4Q98QMjPL7GZIMh5MR5sRq0Xuss=",
- "dev": true,
- "requires": {
- "@types/eslint-visitor-keys": "^1.0.0",
- "@typescript-eslint/experimental-utils": "2.8.0",
- "@typescript-eslint/typescript-estree": "2.8.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "@typescript-eslint/typescript-estree": {
- "version": "2.8.0",
- "resolved": "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.8.0.tgz",
- "integrity": "sha1-/MP+ZTKEAIXSm3VDLIpZiVh2rso=",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "eslint-visitor-keys": "^1.1.0",
- "glob": "^7.1.6",
- "is-glob": "^4.0.1",
- "lodash.unescape": "4.0.1",
- "semver": "^6.3.0",
- "tsutils": "^3.17.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "@webassemblyjs/ast": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz",
- "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=",
- "requires": {
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz",
- "integrity": "sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE="
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz",
- "integrity": "sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc="
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz",
- "integrity": "sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ="
- },
- "@webassemblyjs/helper-code-frame": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz",
- "integrity": "sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4=",
- "requires": {
- "@webassemblyjs/wast-printer": "1.8.5"
- }
- },
- "@webassemblyjs/helper-fsm": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz",
- "integrity": "sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI="
- },
- "@webassemblyjs/helper-module-context": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz",
- "integrity": "sha1-3vS5knsBAdyMu9jR7bW3ucguskU=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "mamacro": "^0.0.3"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz",
- "integrity": "sha1-U3p1Dt31weky83RCBlUckcG5PmE="
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz",
- "integrity": "sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz",
- "integrity": "sha1-cSMp2+8kDza/V70ve4+5v0FUQh4=",
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz",
- "integrity": "sha1-BE7es06mefPgTNT9mCTV41dnrhA=",
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz",
- "integrity": "sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw="
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz",
- "integrity": "sha1-li2hKqWswcExyBxCMpkcgs5W4Bo=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/helper-wasm-section": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-opt": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "@webassemblyjs/wast-printer": "1.8.5"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz",
- "integrity": "sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz",
- "integrity": "sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-buffer": "1.8.5",
- "@webassemblyjs/wasm-gen": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz",
- "integrity": "sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
- "@webassemblyjs/ieee754": "1.8.5",
- "@webassemblyjs/leb128": "1.8.5",
- "@webassemblyjs/utf8": "1.8.5"
- }
- },
- "@webassemblyjs/wast-parser": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz",
- "integrity": "sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/floating-point-hex-parser": "1.8.5",
- "@webassemblyjs/helper-api-error": "1.8.5",
- "@webassemblyjs/helper-code-frame": "1.8.5",
- "@webassemblyjs/helper-fsm": "1.8.5",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.8.5",
- "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz",
- "integrity": "sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/wast-parser": "1.8.5",
- "@xtuc/long": "4.2.2"
- }
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz",
- "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A="
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz",
- "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0="
- },
- "a-sync-waterfall": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/a-sync-waterfall/download/a-sync-waterfall-1.0.1.tgz",
- "integrity": "sha1-dba2qnJZi0l6El56J3DxT0yKH6c=",
- "dev": true
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
- "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz",
- "integrity": "sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk=",
- "dev": true
- },
- "acorn-es7-plugin": {
- "version": "1.1.7",
- "resolved": "https://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz",
- "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.1.0",
- "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz",
- "integrity": "sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q=",
- "dev": true
- },
- "address": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1566806470420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz",
- "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY="
- },
- "adm-zip": {
- "version": "0.4.13",
- "resolved": "https://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.13.tgz",
- "integrity": "sha1-WX4vjMNnIVHhMH0+lc3bx1ZyMUo="
- },
- "agent-base": {
- "version": "4.3.0",
- "resolved": "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz",
- "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=",
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
- "agentkeepalive": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.0.tgz?cache=0&sync_timestamp=1570869777482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-4.1.0.tgz",
- "integrity": "sha1-pI4EDtFnRd0pzpI2dfYMnJDznuA=",
- "dev": true,
- "requires": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz",
- "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz",
- "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0="
- },
- "ajv-keywords": {
- "version": "3.4.1",
- "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz",
- "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo="
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz",
- "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=",
- "dev": true
- },
- "ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz",
- "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=",
- "dev": true
- },
- "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?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz",
- "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
- },
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
- "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
- }
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
- "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
- "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "aria-query": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/aria-query/download/aria-query-3.0.0.tgz",
- "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7",
- "commander": "^2.11.0"
- }
- },
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
- "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-filter": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz",
- "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
- "dev": true
- },
- "array-find": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz",
- "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
- "dev": true
- },
- "array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
- }
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "arraybuffer-to-buffer": {
- "version": "0.0.4",
- "resolved": "https://registry.npm.taobao.org/arraybuffer-to-buffer/download/arraybuffer-to-buffer-0.0.4.tgz",
- "integrity": "sha1-LD+Oj01UNipcYWVJbyEXb3/ZZqY="
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farrify%2Fdownload%2Farrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
- },
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz",
- "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=",
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz",
- "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
- "requires": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "requires": {
- "inherits": "2.0.1"
- }
- }
- }
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
- },
- "ast-types": {
- "version": "0.13.2",
- "resolved": "https://registry.npm.taobao.org/ast-types/download/ast-types-0.13.2.tgz",
- "integrity": "sha1-3zm2d6kRqD86BJZE+3T93tI86kg="
- },
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz",
- "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
- "dev": true
- },
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz",
- "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=",
- "dev": true
- },
- "async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz",
- "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz",
- "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k="
- },
- "autod": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/autod/download/autod-3.1.0.tgz",
- "integrity": "sha1-Xicni4aLihOwpLbzBOpQung/KOk=",
- "dev": true,
- "requires": {
- "babel-core": "^6.26.0",
- "babel-preset-env": "^1.6.1",
- "babel-preset-react": "^6.24.1",
- "babel-preset-stage-0": "^6.24.1",
- "co": "^4.6.0",
- "colors": "^1.1.2",
- "commander": "^2.11.0",
- "crequire": "^1.8.1",
- "debug": "^3.1.0",
- "fs-readdir-recursive": "^1.1.0",
- "glob": "^7.1.2",
- "minimatch": "^3.0.4",
- "printable": "^0.0.3",
- "semver": "^6.0.0",
- "urllib": "^2.25.1"
- }
- },
- "autod-egg": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/autod-egg/download/autod-egg-1.1.0.tgz",
- "integrity": "sha1-vDe7lUZh2I7wfjDcg+ESYr+eMKw=",
- "dev": true
- },
- "await-event": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/await-event/download/await-event-2.1.0.tgz",
- "integrity": "sha1-eOn5JoS65AIvn6C18xShFVD5qnY=",
- "dev": true
- },
- "await-first": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/await-first/download/await-first-1.0.0.tgz",
- "integrity": "sha1-Bq+m23zr5BK+m+VOgt2MbLTNskE=",
- "dev": true,
- "requires": {
- "ee-first": "^1.1.1"
- }
- },
- "axobject-query": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.0.2.tgz",
- "integrity": "sha1-6hh6vluQArN3+SXYv30cVhrfOPk=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7"
- }
- },
- "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": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- }
- },
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
- "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.1",
- "debug": "^2.6.9",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.8",
- "slash": "^1.0.0",
- "source-map": "^0.5.7"
- },
- "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"
- }
- }
- }
- },
- "babel-eslint": {
- "version": "8.2.6",
- "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-8.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-8.2.6.tgz",
- "integrity": "sha1-YnDQxzIFYoBnwPeuFpOp55es79k=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/traverse": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "eslint-scope": "3.7.1",
- "eslint-visitor-keys": "^1.0.0"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.0.0-beta.44.tgz",
- "integrity": "sha1-KgJkM2jegJFhYr5whlyXd08629k=",
- "dev": true,
- "requires": {
- "@babel/highlight": "7.0.0-beta.44"
- }
- },
- "@babel/generator": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.0.0-beta.44.tgz",
- "integrity": "sha1-x+Z7m1KEr89pswm1DX038+UDPUI=",
- "dev": true,
- "requires": {
- "@babel/types": "7.0.0-beta.44",
- "jsesc": "^2.5.1",
- "lodash": "^4.2.0",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.0.0-beta.44.tgz",
- "integrity": "sha1-4YVSqq4iMRAKbkheA4VLw1MtRN0=",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "7.0.0-beta.44",
- "@babel/template": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.0.0-beta.44.tgz",
- "integrity": "sha1-0Dym3SufewseazLFbHKDYUDbOhU=",
- "dev": true,
- "requires": {
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.0.0-beta.44.tgz",
- "integrity": "sha1-wLNRc14PvLOCLIrY205YOwXr2dw=",
- "dev": true,
- "requires": {
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/highlight": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.0.0-beta.44.tgz?cache=0&sync_timestamp=1562245140883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.0.0-beta.44.tgz",
- "integrity": "sha1-GMlM5UORaoBVPtzc9oGJCyAHR9U=",
- "dev": true,
- "requires": {
- "chalk": "^2.0.0",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.0"
- }
- },
- "@babel/template": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.0.0-beta.44.tgz",
- "integrity": "sha1-+IMvT9zuXVm/UV5ZX8UQbFKbOU8=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "lodash": "^4.2.0"
- }
- },
- "@babel/traverse": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.0.0-beta.44.tgz?cache=0&sync_timestamp=1574465640801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.0.0-beta.44.tgz",
- "integrity": "sha1-qXCixFR3rRgBfi5GWgYG/u4NKWY=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/generator": "7.0.0-beta.44",
- "@babel/helper-function-name": "7.0.0-beta.44",
- "@babel/helper-split-export-declaration": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "debug": "^3.1.0",
- "globals": "^11.1.0",
- "invariant": "^2.2.0",
- "lodash": "^4.2.0"
- }
- },
- "@babel/types": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.0.0-beta.44.tgz",
- "integrity": "sha1-axsWRZH3fewKA0KsqZXy0Eazp1c=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.2.0",
- "to-fast-properties": "^2.0.0"
- }
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "babylon": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-7.0.0-beta.44.tgz",
- "integrity": "sha1-iRWeFebjDFCW4i1zjYwK+KDoyh0=",
- "dev": true
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.1.tgz",
- "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
- "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
- "dev": true
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz",
- "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- }
- }
- },
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
- "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
- "dev": true,
- "requires": {
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "detect-indent": "^4.0.0",
- "jsesc": "^1.3.0",
- "lodash": "^4.17.4",
- "source-map": "^0.5.7",
- "trim-right": "^1.0.1"
- }
- },
- "babel-helper-bindify-decorators": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz",
- "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
- "requires": {
- "babel-helper-explode-assignable-expression": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-builder-react-jsx": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-builder-react-jsx/download/babel-helper-builder-react-jsx-6.26.0.tgz",
- "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "esutils": "^2.0.2"
- }
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-explode-class": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz",
- "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
- "dev": true,
- "requires": {
- "babel-helper-bindify-decorators": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
- "requires": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.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-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
- "dev": true
- },
- "babel-plugin-syntax-async-generators": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz",
- "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
- "dev": true
- },
- "babel-plugin-syntax-class-constructor-call": {
- "version": "6.18.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-constructor-call/download/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
- "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
- "dev": true
- },
- "babel-plugin-syntax-class-properties": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
- "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
- "dev": true
- },
- "babel-plugin-syntax-decorators": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
- "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
- "dev": true
- },
- "babel-plugin-syntax-do-expressions": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-do-expressions/download/babel-plugin-syntax-do-expressions-6.13.0.tgz",
- "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
- "dev": true
- },
- "babel-plugin-syntax-dynamic-import": {
- "version": "6.18.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
- "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
- "dev": true
- },
- "babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
- "dev": true
- },
- "babel-plugin-syntax-export-extensions": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-export-extensions/download/babel-plugin-syntax-export-extensions-6.13.0.tgz",
- "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
- "dev": true
- },
- "babel-plugin-syntax-flow": {
- "version": "6.18.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-flow/download/babel-plugin-syntax-flow-6.18.0.tgz",
- "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
- "dev": true
- },
- "babel-plugin-syntax-function-bind": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-function-bind/download/babel-plugin-syntax-function-bind-6.13.0.tgz",
- "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
- "dev": true
- },
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
- "dev": true
- },
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
- "dev": true
- },
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
- "dev": true
- },
- "babel-plugin-transform-async-generator-functions": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
- "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
- "dev": true,
- "requires": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-generators": "^6.5.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
- "requires": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-class-constructor-call": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-constructor-call/download/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
- "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-class-constructor-call": "^6.18.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-class-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
- "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-plugin-syntax-class-properties": "^6.8.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-decorators": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz",
- "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
- "dev": true,
- "requires": {
- "babel-helper-explode-class": "^6.24.1",
- "babel-plugin-syntax-decorators": "^6.13.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-do-expressions": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-do-expressions/download/babel-plugin-transform-do-expressions-6.22.0.tgz",
- "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-do-expressions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
- "requires": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "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-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
- "requires": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
- "requires": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
- }
- },
- "babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
- "requires": {
- "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-export-extensions": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-export-extensions/download/babel-plugin-transform-export-extensions-6.22.0.tgz",
- "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-export-extensions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-flow-strip-types/download/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
- "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-flow": "^6.18.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-function-bind": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-function-bind/download/babel-plugin-transform-function-bind-6.22.0.tgz",
- "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-function-bind": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "^6.8.0",
- "babel-runtime": "^6.26.0"
- }
- },
- "babel-plugin-transform-react-display-name": {
- "version": "6.25.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-display-name/download/babel-plugin-transform-react-display-name-6.25.0.tgz",
- "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx/download/babel-plugin-transform-react-jsx-6.24.1.tgz",
- "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "dev": true,
- "requires": {
- "babel-helper-builder-react-jsx": "^6.24.1",
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-react-jsx-self": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx-self/download/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
- "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-react-jsx-source": {
- "version": "6.22.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx-source/download/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
- "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
- "requires": {
- "regenerator-transform": "^0.10.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-env": {
- "version": "1.7.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz",
- "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=",
- "dev": true,
- "requires": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-to-generator": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
- "babel-plugin-transform-es2015-classes": "^6.23.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
- "babel-plugin-transform-es2015-destructuring": "^6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-es2015-function-name": "^6.22.0",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
- "babel-plugin-transform-es2015-object-super": "^6.22.0",
- "babel-plugin-transform-es2015-parameters": "^6.23.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
- "babel-plugin-transform-exponentiation-operator": "^6.22.0",
- "babel-plugin-transform-regenerator": "^6.22.0",
- "browserslist": "^3.2.6",
- "invariant": "^2.2.2",
- "semver": "^5.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- }
- }
- },
- "babel-preset-flow": {
- "version": "6.23.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-flow/download/babel-preset-flow-6.23.0.tgz",
- "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-flow-strip-types": "^6.22.0"
- }
- },
- "babel-preset-react": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-preset-react/download/babel-preset-react-6.24.1.tgz",
- "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-jsx": "^6.3.13",
- "babel-plugin-transform-react-display-name": "^6.23.0",
- "babel-plugin-transform-react-jsx": "^6.24.1",
- "babel-plugin-transform-react-jsx-self": "^6.22.0",
- "babel-plugin-transform-react-jsx-source": "^6.22.0",
- "babel-preset-flow": "^6.23.0"
- }
- },
- "babel-preset-stage-0": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-0/download/babel-preset-stage-0-6.24.1.tgz",
- "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-do-expressions": "^6.22.0",
- "babel-plugin-transform-function-bind": "^6.22.0",
- "babel-preset-stage-1": "^6.24.1"
- }
- },
- "babel-preset-stage-1": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-1/download/babel-preset-stage-1-6.24.1.tgz",
- "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-class-constructor-call": "^6.24.1",
- "babel-plugin-transform-export-extensions": "^6.22.0",
- "babel-preset-stage-2": "^6.24.1"
- }
- },
- "babel-preset-stage-2": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz",
- "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
- "babel-plugin-transform-class-properties": "^6.24.1",
- "babel-plugin-transform-decorators": "^6.24.1",
- "babel-preset-stage-3": "^6.24.1"
- }
- },
- "babel-preset-stage-3": {
- "version": "6.24.1",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz",
- "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-generator-functions": "^6.24.1",
- "babel-plugin-transform-async-to-generator": "^6.24.1",
- "babel-plugin-transform-exponentiation-operator": "^6.24.1",
- "babel-plugin-transform-object-rest-spread": "^6.22.0"
- }
- },
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-register%2Fdownload%2Fbabel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "dev": true,
- "requires": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
- }
- },
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
- "requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
- },
- "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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-traverse%2Fdownload%2Fbabel-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"
- }
- }
- }
- },
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-types%2Fdownload%2Fbabel-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"
- }
- },
- "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": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
- "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
- "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "base64-js": {
- "version": "1.3.1",
- "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz",
- "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz",
- "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg="
- },
- "binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz",
- "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U="
- },
- "black-hole-stream": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/black-hole-stream/download/black-hole-stream-0.0.1.tgz",
- "integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI=",
- "dev": true
- },
- "blob-to-buffer": {
- "version": "1.2.8",
- "resolved": "https://registry.npm.taobao.org/blob-to-buffer/download/blob-to-buffer-1.2.8.tgz",
- "integrity": "sha1-eO7rMy8SgO0MpvsrYGk6jG02kDo="
- },
- "bluebird": {
- "version": "3.7.1",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.1.tgz",
- "integrity": "sha1-33DjArRx10c0iazyapPWO1P4dN4="
- },
- "bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
- "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
- "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
- "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
- },
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz",
- "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=",
- "dev": true
- },
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
- "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz",
- "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
- "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "requires": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- }
- },
- "browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz",
- "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "requires": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
- }
- },
- "browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
- "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
- "requires": {
- "pako": "~1.0.5"
- }
- },
- "browserslist": {
- "version": "3.2.8",
- "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz",
- "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30000844",
- "electron-to-chromium": "^1.3.47"
- }
- },
- "buffer": {
- "version": "5.4.3",
- "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.4.3.tgz",
- "integrity": "sha1-P7ycaetxPTI+P8Gole7gcQwHIRU=",
- "dev": true,
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4"
- }
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
- "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
- },
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
- },
- "busboy": {
- "version": "0.2.14",
- "resolved": "https://registry.npm.taobao.org/busboy/download/busboy-0.2.14.tgz",
- "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
- "dev": true,
- "requires": {
- "dicer": "0.2.5",
- "readable-stream": "1.1.x"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- }
- }
- },
- "byte": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/byte/download/byte-2.0.0.tgz",
- "integrity": "sha1-xhiM9+S+ktqsIvRzEvWh9kCRsYo=",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "long": "^4.0.0",
- "utility": "^1.13.1"
- }
- },
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz",
- "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY="
- },
- "cacache": {
- "version": "12.0.3",
- "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz",
- "integrity": "sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A=",
- "requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz",
- "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "cache-content-type": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/cache-content-type/download/cache-content-type-1.0.1.tgz",
- "integrity": "sha1-A1zeKwjuISn0qDFeqPAKANuhRTw=",
- "dev": true,
- "requires": {
- "mime-types": "^2.1.18",
- "ylru": "^1.2.0"
- }
- },
- "cache-require-paths": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/cache-require-paths/download/cache-require-paths-0.3.0.tgz",
- "integrity": "sha1-EqYHWj5JiNpMIvIY4pSFZj5MSmM=",
- "dev": true
- },
- "call-matcher": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/call-matcher/download/call-matcher-1.1.0.tgz",
- "integrity": "sha1-I7LBvHqDlMi+KGCdd929V4ZoBDI=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "deep-equal": "^1.0.0",
- "espurify": "^1.6.0",
- "estraverse": "^4.0.0"
- }
- },
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
- },
- "call-signature": {
- "version": "0.0.2",
- "resolved": "https://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz",
- "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=",
- "dev": true
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz",
- "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
- "dev": true
- },
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
- }
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
- "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001012",
- "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001012.tgz",
- "integrity": "sha1-ZT7GNegVueD7gBiQkjsMIHnrNOw=",
- "dev": true
- },
- "cfork": {
- "version": "1.8.0",
- "resolved": "https://registry.npm.taobao.org/cfork/download/cfork-1.8.0.tgz",
- "integrity": "sha1-0P3i3rq71uB1j/M/IcL5gMzAVxE=",
- "dev": true,
- "requires": {
- "utility": "^1.12.0"
- }
- },
- "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",
- "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"
- }
- },
- "chan": {
- "version": "0.6.1",
- "resolved": "https://registry.npm.taobao.org/chan/download/chan-0.6.1.tgz",
- "integrity": "sha1-7ArRMuW8YsJ+8QzL/E2NzYygBkA=",
- "dev": true
- },
- "change-case": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/change-case/download/change-case-3.1.0.tgz",
- "integrity": "sha1-DmEbftyZUt8uhROye0LecmR90X4=",
- "dev": true,
- "requires": {
- "camel-case": "^3.0.0",
- "constant-case": "^2.0.0",
- "dot-case": "^2.1.0",
- "header-case": "^1.0.0",
- "is-lower-case": "^1.1.0",
- "is-upper-case": "^1.1.0",
- "lower-case": "^1.1.1",
- "lower-case-first": "^1.0.0",
- "no-case": "^2.3.2",
- "param-case": "^2.1.0",
- "pascal-case": "^2.0.0",
- "path-case": "^2.1.0",
- "sentence-case": "^2.1.0",
- "snake-case": "^2.1.0",
- "swap-case": "^1.1.0",
- "title-case": "^2.1.0",
- "upper-case": "^1.1.1",
- "upper-case-first": "^1.1.0"
- }
- },
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz",
- "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=",
- "dev": true
- },
- "chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1572684960295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
- "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
- "requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- }
- },
- "chownr": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.3.tgz",
- "integrity": "sha1-Qtg31SOWiNVfMDADpQgjD6ZycUI="
- },
- "chrome-trace-event": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz",
- "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=",
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
- "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "circular-json-for-egg": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/circular-json-for-egg/download/circular-json-for-egg-1.0.0.tgz",
- "integrity": "sha1-6stxtXryi0giyrxSpZYc0vCBf8U=",
- "dev": true
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz",
- "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-cursor%2Fdownload%2Fcli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "^2.0.0"
- }
- },
- "cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz",
- "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.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",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "cluster-client": {
- "version": "3.0.1",
- "resolved": "https://registry.npm.taobao.org/cluster-client/download/cluster-client-3.0.1.tgz",
- "integrity": "sha1-c5y1KaCXQu1EixKBoO9RasJFnGE=",
- "dev": true,
- "requires": {
- "byte": "^2.0.0",
- "co": "^4.6.0",
- "debug": "^4.1.1",
- "egg-logger": "^2.3.2",
- "is-type-of": "^1.2.1",
- "json-stringify-safe": "^5.0.1",
- "long": "^4.0.0",
- "mz-modules": "^2.1.0",
- "sdk-base": "^3.5.1",
- "serialize-json": "^1.0.3",
- "tcp-base": "^3.1.0",
- "utility": "^1.15.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "cluster-reload": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/cluster-reload/download/cluster-reload-1.0.2.tgz",
- "integrity": "sha1-NGv1hJ0Y5FkLzBsw7kcNTKvxXBA=",
- "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="
- },
- "co-body": {
- "version": "6.0.0",
- "resolved": "https://registry.npm.taobao.org/co-body/download/co-body-6.0.0.tgz",
- "integrity": "sha1-lluTN9f1ZVSAeHRx9CN2ZIIIJ+M=",
- "dev": true,
- "requires": {
- "inflation": "^2.0.0",
- "qs": "^6.5.2",
- "raw-body": "^2.3.3",
- "type-is": "^1.6.16"
- }
- },
- "co-busboy": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/co-busboy/download/co-busboy-1.4.0.tgz",
- "integrity": "sha1-rJuFxKlm8Dt99V1TdGoNyck/p0E=",
- "dev": true,
- "requires": {
- "black-hole-stream": "~0.0.1",
- "busboy": "^0.2.8",
- "chan": "^0.6.1"
- }
- },
- "co-mocha": {
- "version": "1.2.2",
- "resolved": "https://registry.npm.taobao.org/co-mocha/download/co-mocha-1.2.2.tgz",
- "integrity": "sha1-xP3yTTf0PKTaZosUVCqW6Td0eas=",
- "dev": true,
- "requires": {
- "co": "^4.0.0",
- "is-generator": "^1.0.1"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "coffee": {
- "version": "5.2.2",
- "resolved": "https://registry.npm.taobao.org/coffee/download/coffee-5.2.2.tgz",
- "integrity": "sha1-ttkfunCtW7LHkTV05e5e1ZJXJG4=",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.5",
- "debug": "^4.1.0",
- "is-type-of": "^1.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
- "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz",
- "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
- "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1573464045808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
- "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM="
- },
- "comment-parser": {
- "version": "0.5.5",
- "resolved": "https://registry.npm.taobao.org/comment-parser/download/comment-parser-0.5.5.tgz",
- "integrity": "sha1-wlhMrnwvCvx3Ppay7pj4wQy9aT0=",
- "dev": true
- },
- "common-bin": {
- "version": "2.8.2",
- "resolved": "https://registry.npm.taobao.org/common-bin/download/common-bin-2.8.2.tgz",
- "integrity": "sha1-HisiEbYFjq02M1+Xl6A0hAN8q3o=",
- "dev": true,
- "requires": {
- "@types/dargs": "^5.1.0",
- "@types/node": "^10.12.18",
- "@types/yargs": "^12.0.4",
- "chalk": "^2.4.1",
- "change-case": "^3.0.2",
- "co": "^4.6.0",
- "dargs": "^6.0.0",
- "debug": "^4.1.0",
- "is-type-of": "^1.2.1",
- "semver": "^5.5.1",
- "yargs": "^12.0.2",
- "yargs-parser": "^11.0.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.17.5",
- "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.5.tgz",
- "integrity": "sha1-wZIBUPe5Bwin0POt0SoGvJEjwFU=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
- "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
- },
- "compressible": {
- "version": "2.0.17",
- "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.17.tgz",
- "integrity": "sha1-bowQihatWDhKl386SCyiC/8vOME=",
- "dev": true,
- "requires": {
- "mime-db": ">= 1.40.0 < 2"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz?cache=0&sync_timestamp=1560151397133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-map%2Fdownload%2Fconcat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz",
- "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
- "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY="
- },
- "constant-case": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/constant-case/download/constant-case-2.0.0.tgz",
- "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=",
- "dev": true,
- "requires": {
- "snake-case": "^2.1.0",
- "upper-case": "^1.1.1"
- }
- },
- "constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
- },
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcontent-disposition%2Fdownload%2Fcontent-disposition-0.5.3.tgz",
- "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
- "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js="
- },
- "convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz",
- "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true
- },
- "cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/cookiejar/download/cookiejar-2.1.2.tgz",
- "integrity": "sha1-3YojVTB1L5iPmghE8/xYnjERElw=",
- "dev": true
- },
- "cookies": {
- "version": "0.8.0",
- "resolved": "https://registry.npm.taobao.org/cookies/download/cookies-0.8.0.tgz?cache=0&sync_timestamp=1570851324736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookies%2Fdownload%2Fcookies-0.8.0.tgz",
- "integrity": "sha1-EpPOSzkXQKhAbjyYcOgoxLVPP5A=",
- "dev": true,
- "requires": {
- "depd": "~2.0.0",
- "keygrip": "~1.1.0"
- },
- "dependencies": {
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
- "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
- "dev": true
- }
- }
- },
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz",
- "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- }
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
- },
- "copy-to": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/copy-to/download/copy-to-2.0.1.tgz",
- "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU="
- },
- "core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.10.tgz?cache=0&sync_timestamp=1574362866974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.10.tgz",
- "integrity": "sha1-iluDkfjMcBPacDQRzltYVwYwDX8=",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
- "crc": {
- "version": "3.8.0",
- "resolved": "https://registry.npm.taobao.org/crc/download/crc-3.8.0.tgz",
- "integrity": "sha1-rWAmnCyFb4wpnixMwN5FVpFAVsY=",
- "dev": true,
- "requires": {
- "buffer": "^5.1.0"
- }
- },
- "create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz",
- "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=",
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- }
- },
- "create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz",
- "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz",
- "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "crequire": {
- "version": "1.8.1",
- "resolved": "https://registry.npm.taobao.org/crequire/download/crequire-1.8.1.tgz",
- "integrity": "sha1-rIHyBHhrXyARlOsWmM9EGxCktX0=",
- "dev": true
- },
- "cron-parser": {
- "version": "2.13.0",
- "resolved": "https://registry.npm.taobao.org/cron-parser/download/cron-parser-2.13.0.tgz",
- "integrity": "sha1-b5MLtvKTF5DSqe7IOz7CduJ6ZyU=",
- "dev": true,
- "requires": {
- "is-nan": "^1.2.1",
- "moment-timezone": "^0.5.25"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
- "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- }
- }
- },
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
- "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- }
- },
- "csrf": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/csrf/download/csrf-3.1.0.tgz",
- "integrity": "sha1-7HXpZW0ATWdLjvW6R7Qfv9bLnDA=",
- "dev": true,
- "requires": {
- "rndm": "1.2.0",
- "tsscmp": "1.0.6",
- "uid-safe": "2.1.5"
- }
- },
- "cssfilter": {
- "version": "0.0.10",
- "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz",
- "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=",
- "dev": true
- },
- "cyclist": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz",
- "integrity": "sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o=",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "damerau-levenshtein": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.5.tgz",
- "integrity": "sha1-eAz3FE6y6NvRw7uDrjEQDMwxpBQ=",
- "dev": true
- },
- "dargs": {
- "version": "6.1.0",
- "resolved": "https://registry.npm.taobao.org/dargs/download/dargs-6.1.0.tgz",
- "integrity": "sha1-HzubVjk+z4yqfL/WwxSW/8+5snI=",
- "dev": true
- },
- "data-uri-to-buffer": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/data-uri-to-buffer/download/data-uri-to-buffer-1.2.0.tgz",
- "integrity": "sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU="
- },
- "date-format": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz",
- "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU="
- },
- "debounce": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/debounce/download/debounce-1.2.0.tgz",
- "integrity": "sha1-RKVAq8DqmUMBjcDqqVzOh/Zc0TE=",
- "dev": true
- },
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
- "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
- "requires": {
- "ms": "^2.1.1"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- }
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
- },
- "deep-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
- },
- "default-user-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/default-user-agent/download/default-user-agent-1.0.0.tgz",
- "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=",
- "requires": {
- "os-name": "~1.0.3"
- }
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
- "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz",
- "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
- "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "degenerator": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/degenerator/download/degenerator-1.0.4.tgz",
- "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
- "requires": {
- "ast-types": "0.x.x",
- "escodegen": "1.x.x",
- "esprima": "3.x.x"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdelegates%2Fdownload%2Fdelegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
- "dev": true
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz",
- "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=",
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-indent%2Fdownload%2Fdetect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
- },
- "detect-port": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/detect-port/download/detect-port-1.3.0.tgz",
- "integrity": "sha1-2cQOmsyt1N9crGp4Ku/QFNVz0fE=",
- "dev": true,
- "requires": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "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"
- }
- }
- }
- },
- "dicer": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/dicer/download/dicer-0.2.5.tgz",
- "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
- "dev": true,
- "requires": {
- "readable-stream": "1.1.x",
- "streamsearch": "0.1.2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- }
- }
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz",
- "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=",
- "dev": true
- },
- "diff-match-patch": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.4.tgz",
- "integrity": "sha1-asS1UjdGN2HE2vDcYD64aRJHRLE=",
- "dev": true
- },
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
- "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "digest-header": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/digest-header/download/digest-header-0.0.1.tgz",
- "integrity": "sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=",
- "requires": {
- "utility": "0.1.11"
- },
- "dependencies": {
- "utility": {
- "version": "0.1.11",
- "resolved": "https://registry.npm.taobao.org/utility/download/utility-0.1.11.tgz?cache=0&sync_timestamp=1574243892588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futility%2Fdownload%2Futility-0.1.11.tgz",
- "integrity": "sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=",
- "requires": {
- "address": ">=0.0.1"
- }
- }
- }
- },
- "dir-glob": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz",
- "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=",
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "path-type": "^3.0.0"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz",
- "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1574631404180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
- "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto="
- },
- "dot-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-2.1.1.tgz",
- "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz?cache=0&sync_timestamp=1572620518450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.0.tgz",
- "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
- "dev": true,
- "requires": {
- "is-obj": "^1.0.0"
- }
- },
- "duplexer": {
- "version": "0.1.1",
- "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
- "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
- "dev": true
- },
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
- "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
- "eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.2.0.tgz",
- "integrity": "sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s=",
- "dev": true
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "egg": {
- "version": "2.25.0",
- "resolved": "https://registry.npm.taobao.org/egg/download/egg-2.25.0.tgz",
- "integrity": "sha1-E53FY3PjJs/ze7w8nwF+xSH5BPk=",
- "dev": true,
- "requires": {
- "@types/accepts": "^1.3.5",
- "@types/koa": "^2.0.48",
- "@types/koa-router": "^7.0.40",
- "accepts": "^1.3.5",
- "agentkeepalive": "^4.0.2",
- "cache-content-type": "^1.0.1",
- "circular-json-for-egg": "^1.0.0",
- "cluster-client": "^3.0.1",
- "debug": "^4.1.1",
- "delegates": "^1.0.0",
- "egg-cluster": "^1.23.0",
- "egg-cookies": "^2.2.6",
- "egg-core": "^4.16.1",
- "egg-development": "^2.4.2",
- "egg-i18n": "^2.0.0",
- "egg-jsonp": "^2.0.0",
- "egg-logger": "^2.3.2",
- "egg-logrotator": "^3.0.5",
- "egg-multipart": "^2.4.0",
- "egg-onerror": "^2.1.0",
- "egg-schedule": "^3.6.0",
- "egg-security": "^2.4.3",
- "egg-session": "^3.1.0",
- "egg-static": "^2.2.0",
- "egg-view": "^2.1.2",
- "egg-watcher": "^3.1.0",
- "extend2": "^1.0.0",
- "graceful": "^1.0.2",
- "humanize-ms": "^1.2.1",
- "is-type-of": "^1.2.1",
- "koa-bodyparser": "^4.2.1",
- "koa-is-json": "^1.0.0",
- "koa-override": "^3.0.0",
- "ms": "^2.1.1",
- "mz": "^2.7.0",
- "on-finished": "^2.3.0",
- "sendmessage": "^1.1.0",
- "urllib": "^2.33.0",
- "utility": "^1.15.0",
- "ylru": "^1.2.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "egg-bin": {
- "version": "4.14.0",
- "resolved": "https://registry.npm.taobao.org/egg-bin/download/egg-bin-4.14.0.tgz",
- "integrity": "sha1-PIhQYr5LQc0uNV2Yqmh0Z9Mnz1I=",
- "dev": true,
- "requires": {
- "autod": "^3.1.0",
- "chalk": "^2.4.2",
- "co-mocha": "^1.2.2",
- "common-bin": "^2.8.1",
- "debug": "^4.1.1",
- "detect-port": "^1.3.0",
- "egg-ts-helper": "^1.25.2",
- "egg-utils": "^2.4.1",
- "espower-typescript": "9.0.1",
- "globby": "^9.2.0",
- "inspector-proxy": "^1.2.1",
- "intelli-espower-loader": "^1.0.1",
- "jest-changed-files": "^24.7.0",
- "mocha": "^6.0.2",
- "mz-modules": "^2.1.0",
- "nyc": "^13.3.0",
- "power-assert": "^1.6.1",
- "semver": "^6.0.0",
- "test-exclude": "^5.1.0",
- "ts-node": "^7",
- "ypkgfiles": "^1.6.0"
- },
- "dependencies": {
- "ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.3.tgz",
- "integrity": "sha1-V9NbhoboUeLMBMQD8cACA5dqGBM=",
- "dev": true
- },
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
- "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
- "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "egg-ts-helper": {
- "version": "1.25.6",
- "resolved": "https://registry.npm.taobao.org/egg-ts-helper/download/egg-ts-helper-1.25.6.tgz",
- "integrity": "sha1-BBOz9ZwKz+YqTStw/Vm8raLDBbY=",
- "dev": true,
- "requires": {
- "cache-require-paths": "^0.3.0",
- "chalk": "^2.4.2",
- "chokidar": "^2.0.1",
- "commander": "^2.15.1",
- "debug": "^3.1.0",
- "dot-prop": "^4.2.0",
- "enquirer": "^2.3.0",
- "globby": "^8.0.1",
- "mkdirp": "^0.5.1",
- "ts-node": "^7.0.0",
- "tslib": "^1.9.3",
- "typescript": "^3.0.0",
- "yn": "^3.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
- "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "globby": {
- "version": "8.0.2",
- "resolved": "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz",
- "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "dir-glob": "2.0.0",
- "fast-glob": "^2.0.2",
- "glob": "^7.1.2",
- "ignore": "^3.3.5",
- "pify": "^3.0.0",
- "slash": "^1.0.0"
- }
- }
- }
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
- "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
- "dev": true
- },
- "globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz",
- "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- },
- "dependencies": {
- "dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
- "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
- "dev": true,
- "requires": {
- "path-type": "^3.0.0"
- }
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
- "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
- "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
- "dev": true
- },
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz",
- "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
- "dev": true
- }
- }
- },
- "mocha": {
- "version": "6.2.2",
- "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-6.2.2.tgz",
- "integrity": "sha1-XYmH4olAyviVen12ZLkQ3Fsv6iA=",
- "dev": true,
- "requires": {
- "ansi-colors": "3.2.3",
- "browser-stdout": "1.3.1",
- "debug": "3.2.6",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "growl": "1.10.5",
- "he": "1.2.0",
- "js-yaml": "3.13.1",
- "log-symbols": "2.2.0",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "ms": "2.1.1",
- "node-environment-flags": "1.0.5",
- "object.assign": "4.1.0",
- "strip-json-comments": "2.0.1",
- "supports-color": "6.0.0",
- "which": "1.3.1",
- "wide-align": "1.1.3",
- "yargs": "13.3.0",
- "yargs-parser": "13.1.1",
- "yargs-unparser": "1.6.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
- "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.3.tgz",
- "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz",
- "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
- "dev": true
- },
- "supports-color": {
- "version": "6.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.0.0.tgz",
- "integrity": "sha1-ds/nQs8fQbubHCmtAwaMBbTA5Ao=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
- "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
- "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",
- "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz",
- "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
- "yargs": {
- "version": "13.3.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.0.tgz",
- "integrity": "sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM=",
- "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.1"
- }
- },
- "yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz",
- "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "egg-ci": {
- "version": "1.13.1",
- "resolved": "https://registry.npm.taobao.org/egg-ci/download/egg-ci-1.13.1.tgz",
- "integrity": "sha1-15DOdQalTIKMcDrRqqUXPKbUEKs=",
- "dev": true,
- "requires": {
- "nunjucks": "^3.1.3"
- }
- },
- "egg-cluster": {
- "version": "1.26.0",
- "resolved": "https://registry.npm.taobao.org/egg-cluster/download/egg-cluster-1.26.0.tgz",
- "integrity": "sha1-EW1jTETCBQl+ifcqH5DORHeEnH4=",
- "dev": true,
- "requires": {
- "await-event": "^2.1.0",
- "cfork": "^1.7.1",
- "cluster-reload": "^1.0.2",
- "co": "^4.6.0",
- "debug": "^4.1.1",
- "depd": "^2.0.0",
- "detect-port": "^1.3.0",
- "egg-logger": "^2.3.2",
- "egg-utils": "^2.4.1",
- "get-ready": "^2.0.1",
- "graceful-process": "^1.2.0",
- "is-type-of": "^1.2.1",
- "mz-modules": "^2.1.0",
- "ps-tree": "^1.2.0",
- "semver": "^5.6.0",
- "sendmessage": "^1.1.0",
- "utility": "^1.15.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
- "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- }
- }
- },
- "egg-cookies": {
- "version": "2.2.7",
- "resolved": "https://registry.npm.taobao.org/egg-cookies/download/egg-cookies-2.2.7.tgz",
- "integrity": "sha1-QvKfSEH8W8Ib1R+RNQgaTfNxNxw=",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "scmp": "^2.0.0",
- "utility": "^1.14.0"
- }
- },
- "egg-core": {
- "version": "4.17.3",
- "resolved": "https://registry.npm.taobao.org/egg-core/download/egg-core-4.17.3.tgz",
- "integrity": "sha1-/jBii9WOUYGOVGRlx/OmEvNwGc4=",
- "dev": true,
- "requires": {
- "@eggjs/router": "^2.0.0",
- "@types/depd": "^1.1.32",
- "@types/koa": "^2.0.48",
- "co": "^4.6.0",
- "debug": "^4.1.1",
- "depd": "^2.0.0",
- "egg-logger": "^2.4.1",
- "egg-path-matching": "^1.0.1",
- "extend2": "^1.0.0",
- "get-ready": "^2.0.1",
- "globby": "^8.0.2",
- "is-type-of": "^1.2.1",
- "koa": "^2.7.0",
- "koa-convert": "^1.2.0",
- "node-homedir": "^1.1.1",
- "ready-callback": "^2.1.0",
- "utility": "^1.16.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
- "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "egg-development": {
- "version": "2.4.3",
- "resolved": "https://registry.npm.taobao.org/egg-development/download/egg-development-2.4.3.tgz",
- "integrity": "sha1-phseHv4HudWe1Ee+oYSJWZT7kfE=",
- "dev": true,
- "requires": {
- "debounce": "^1.1.0",
- "multimatch": "^2.1.0",
- "mz": "^2.7.0",
- "mz-modules": "^2.1.0",
- "utility": "^1.13.1"
- }
- },
- "egg-i18n": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/egg-i18n/download/egg-i18n-2.1.1.tgz",
- "integrity": "sha1-Phpjjtu2pENyKbFjuLNxXSQ3bw0=",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "koa-locales": "^1.11.0"
- }
- },
- "egg-jsonp": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/egg-jsonp/download/egg-jsonp-2.0.0.tgz",
- "integrity": "sha1-0BRfqki1QiaBiDQwQh58JFiXGR8=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.2.0",
- "jsonp-body": "^1.0.0"
- }
- },
- "egg-logger": {
- "version": "2.4.1",
- "resolved": "https://registry.npm.taobao.org/egg-logger/download/egg-logger-2.4.1.tgz",
- "integrity": "sha1-WP0ye8YNl+OEKXNguAm0D01EfVU=",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "circular-json-for-egg": "^1.0.0",
- "debug": "^2.6.9",
- "depd": "^2.0.0",
- "iconv-lite": "^0.4.24",
- "mkdirp": "^0.5.1",
- "utility": "^1.15.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "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"
- }
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
- "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "egg-logrotator": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/egg-logrotator/download/egg-logrotator-3.1.0.tgz",
- "integrity": "sha1-ZAuK1RocWW3jroJYrqFgHDRLR8U=",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "moment": "^2.24.0",
- "mz": "^2.7.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "egg-mock": {
- "version": "3.24.2",
- "resolved": "https://registry.npm.taobao.org/egg-mock/download/egg-mock-3.24.2.tgz",
- "integrity": "sha1-BbXu3sURcvD9V6tYZ49hd3MoP1E=",
- "dev": true,
- "requires": {
- "@types/power-assert": "^1.5.0",
- "@types/supertest": "^2.0.7",
- "await-event": "^2.1.0",
- "co": "^4.6.0",
- "coffee": "^5.2.1",
- "debug": "^4.1.1",
- "detect-port": "^1.3.0",
- "egg-logger": "^2.4.1",
- "egg-utils": "^2.4.1",
- "extend2": "^1.0.0",
- "get-ready": "^2.0.1",
- "globby": "^9.2.0",
- "is-type-of": "^1.2.1",
- "ko-sleep": "^1.0.3",
- "merge-descriptors": "^1.0.1",
- "methods": "^1.1.2",
- "mm": "^2.5.0",
- "mz-modules": "^2.1.0",
- "power-assert": "^1.6.1",
- "supertest": "^4.0.2",
- "urllib": "^2.33.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
- "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
- "dev": true,
- "requires": {
- "path-type": "^3.0.0"
- }
- },
- "globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz",
- "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- }
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
- "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
- "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
- "dev": true
- },
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz",
- "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
- "dev": true
- }
- }
- },
- "egg-multipart": {
- "version": "2.9.1",
- "resolved": "https://registry.npm.taobao.org/egg-multipart/download/egg-multipart-2.9.1.tgz?cache=0&sync_timestamp=1573108680318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fegg-multipart%2Fdownload%2Fegg-multipart-2.9.1.tgz",
- "integrity": "sha1-DNt770Xqys3rwrUgoaUhAJMeD2k=",
- "dev": true,
- "requires": {
- "co-busboy": "^1.4.0",
- "egg-path-matching": "^1.0.1",
- "humanize-bytes": "^1.0.1",
- "moment": "^2.22.2",
- "mz": "^2.7.0",
- "mz-modules": "^2.1.0",
- "stream-wormhole": "^1.1.0",
- "uuid": "^3.3.2"
- }
- },
- "egg-onerror": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/egg-onerror/download/egg-onerror-2.1.0.tgz",
- "integrity": "sha1-4F3AjjmuwWUYtkBTuLyHQRCrqfc=",
- "dev": true,
- "requires": {
- "cookie": "^0.3.1",
- "koa-onerror": "^4.0.0",
- "mustache": "^2.3.0",
- "stack-trace": "^0.0.10"
- }
- },
- "egg-path-matching": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/egg-path-matching/download/egg-path-matching-1.0.1.tgz",
- "integrity": "sha1-zPxOQIrNHPlKf2cvuMlp5FaIORM=",
- "dev": true,
- "requires": {
- "path-to-regexp": "^1.7.0"
- }
- },
- "egg-schedule": {
- "version": "3.6.4",
- "resolved": "https://registry.npm.taobao.org/egg-schedule/download/egg-schedule-3.6.4.tgz",
- "integrity": "sha1-CpLse67H2q/lGR6K4OMShX+yYAk=",
- "dev": true,
- "requires": {
- "cron-parser": "^2.4.4",
- "humanize-ms": "^1.2.1",
- "is-type-of": "^1.2.0",
- "safe-timers": "^1.1.0",
- "utility": "^1.13.1"
- }
- },
- "egg-security": {
- "version": "2.7.1",
- "resolved": "https://registry.npm.taobao.org/egg-security/download/egg-security-2.7.1.tgz",
- "integrity": "sha1-S2JRMgPoGN3aZ6w9HMMTx2Snqbc=",
- "dev": true,
- "requires": {
- "csrf": "^3.0.6",
- "debug": "^4.1.1",
- "delegates": "^1.0.0",
- "egg-path-matching": "^1.0.0",
- "escape-html": "^1.0.3",
- "extend": "^3.0.1",
- "ip": "^1.1.5",
- "koa-compose": "^4.0.0",
- "matcher": "^1.1.1",
- "methods": "^1.1.2",
- "nanoid": "^2.0.1",
- "platform": "^1.3.4",
- "statuses": "^1.5.0",
- "type-is": "^1.6.15",
- "xss": "^1.0.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "koa-compose": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
- "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- }
- }
- },
- "egg-session": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/egg-session/download/egg-session-3.1.0.tgz",
- "integrity": "sha1-WzuvD2By+lW10Tvi5su6F+JVO/4=",
- "dev": true,
- "requires": {
- "koa-session": "^5.7.0"
- }
- },
- "egg-static": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/egg-static/download/egg-static-2.2.0.tgz",
- "integrity": "sha1-zHBylWNxkdCabH4HDL6y9lEMakc=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.2.1",
- "koa-compose": "^4.1.0",
- "koa-range": "^0.3.0",
- "koa-static-cache": "^5.1.2",
- "mkdirp": "^0.5.1",
- "ylru": "^1.2.1"
- },
- "dependencies": {
- "koa-compose": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
- "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
- "dev": true
- }
- }
- },
- "egg-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npm.taobao.org/egg-utils/download/egg-utils-2.4.1.tgz",
- "integrity": "sha1-vHozAxWhALxFg4pU90T91dR8Myo=",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1",
- "utility": "^1.13.1"
- }
- },
- "egg-view": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/egg-view/download/egg-view-2.1.2.tgz",
- "integrity": "sha1-FEaYsj0bGH4XZOXtzq4YGYENeh8=",
- "dev": true,
- "requires": {
- "mz": "^2.7.0"
- }
- },
- "egg-watcher": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/egg-watcher/download/egg-watcher-3.1.0.tgz",
- "integrity": "sha1-m8TsMI7pQRBUbgWbvyLaW9Px6qA=",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "sdk-base": "^3.5.0",
- "wt": "^1.2.0"
- }
- },
- "electron-to-chromium": {
- "version": "1.3.314",
- "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.314.tgz?cache=0&sync_timestamp=1574643771503&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.314.tgz",
- "integrity": "sha1-wYakme0skFe86euNyilNbVRQ+sw=",
- "dev": true
- },
- "elliptic": {
- "version": "6.5.2",
- "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz?cache=0&sync_timestamp=1574449776597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.2.tgz",
- "integrity": "sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=",
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz",
- "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
- "dev": true
- },
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
- },
- "empower": {
- "version": "1.3.1",
- "resolved": "https://registry.npm.taobao.org/empower/download/empower-1.3.1.tgz",
- "integrity": "sha1-dol5y7s21x2PXtqrZj3qy52rkWw=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "empower-core": "^1.2.0"
- }
- },
- "empower-assert": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/empower-assert/download/empower-assert-1.1.0.tgz",
- "integrity": "sha1-jTJ/vmmoivkN2pjRv8mCnSok/WI=",
- "dev": true,
- "requires": {
- "estraverse": "^4.2.0"
- }
- },
- "empower-core": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/empower-core/download/empower-core-1.2.0.tgz",
- "integrity": "sha1-zj+ySE1Rh/opwj+6g0Swsv31YBw=",
- "dev": true,
- "requires": {
- "call-signature": "0.0.2",
- "core-js": "^2.0.0"
- }
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
- "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
- "requires": {
- "once": "^1.4.0"
- }
- },
- "enhanced-resolve": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz",
- "integrity": "sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537376335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz",
- "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
- "enquirer": {
- "version": "2.3.2",
- "resolved": "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.2.tgz",
- "integrity": "sha1-HDAoSQfK3/XtJAS9g5YDbdPaBw4=",
- "dev": true,
- "requires": {
- "ansi-colors": "^3.2.1"
- }
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz",
- "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
- "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "error-inject": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz",
- "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=",
- "dev": true
- },
- "es-abstract": {
- "version": "1.16.2",
- "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.16.2.tgz",
- "integrity": "sha1-TodDMWRemSXt7xQedPxL0URmnTQ=",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
- "object-inspect": "^1.7.0",
- "object-keys": "^1.1.1",
- "string.prototype.trimleft": "^2.1.0",
- "string.prototype.trimright": "^2.1.0"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz",
- "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz",
- "integrity": "sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE=",
- "dev": true,
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-set": "~0.1.5",
- "es6-symbol": "~3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
- "es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes6-promise%2Fdownload%2Fes6-promise-4.2.8.tgz",
- "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo="
- },
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "requires": {
- "es6-promise": "^4.0.3"
- }
- },
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-symbol": "3.1.1",
- "event-emitter": "~0.3.5"
- },
- "dependencies": {
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- }
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz",
- "integrity": "sha1-utXTwbzawoJp9MszHkMceKxwXRg=",
- "dev": true,
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "es6-weak-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz",
- "integrity": "sha1-ttofFswswNm+Q+a9v8Xn383zHVM=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
- }
- },
- "escallmatch": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz",
- "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=",
- "dev": true,
- "requires": {
- "call-matcher": "^1.0.0",
- "esprima": "^2.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- }
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escodegen": {
- "version": "1.12.0",
- "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.12.0.tgz",
- "integrity": "sha1-92Pa+ECvFyuzorbdchnA4X9/9UE=",
- "requires": {
- "esprima": "^3.1.3",
- "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=",
- "optional": true
- }
- }
- },
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true,
- "requires": {
- "es6-map": "^0.1.3",
- "es6-weak-map": "^2.0.1",
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "eslint": {
- "version": "5.16.0",
- "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-5.16.0.tgz?cache=0&sync_timestamp=1574652418010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-5.16.0.tgz",
- "integrity": "sha1-oeOsGq5KP72Clvz496tzFMu2q+o=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.9.1",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^4.0.3",
- "eslint-utils": "^1.3.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^5.0.1",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.7.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^6.2.2",
- "js-yaml": "^3.13.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.11",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
- "progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^5.5.1",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "^2.0.1",
- "table": "^5.2.3",
- "text-table": "^0.2.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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
- "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
- "dev": true
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
- "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "eslint-config-egg": {
- "version": "7.5.1",
- "resolved": "https://registry.npm.taobao.org/eslint-config-egg/download/eslint-config-egg-7.5.1.tgz?cache=0&sync_timestamp=1566896363328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-egg%2Fdownload%2Feslint-config-egg-7.5.1.tgz",
- "integrity": "sha1-1io0XhpUHM52AXUJQbWEDEduJ8w=",
- "dev": true,
- "requires": {
- "@typescript-eslint/eslint-plugin": "^2.0.0",
- "@typescript-eslint/parser": "^2.0.0",
- "babel-eslint": "^8.2.6",
- "eslint-plugin-eggache": "^1.0.0",
- "eslint-plugin-import": "^2.14.0",
- "eslint-plugin-jsdoc": "^4.1.1",
- "eslint-plugin-jsx-a11y": "^6.1.1",
- "eslint-plugin-react": "^7.11.1"
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "resolve": "^1.5.0"
- },
- "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"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.4.1",
- "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.4.1.tgz",
- "integrity": "sha1-e0Z1h1v5aw2/GyGXdFblux9eAYw=",
- "dev": true,
- "requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^2.0.0"
- },
- "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"
- }
- }
- }
- },
- "eslint-plugin-eggache": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-eggache/download/eslint-plugin-eggache-1.0.0.tgz",
- "integrity": "sha1-H4+YxpjStRFRn73vuueP4jBIeqQ=",
- "dev": true
- },
- "eslint-plugin-import": {
- "version": "2.18.2",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz",
- "integrity": "sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "contains-path": "^0.1.0",
- "debug": "^2.6.9",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.0",
- "has": "^1.0.3",
- "minimatch": "^3.0.4",
- "object.values": "^1.1.0",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.11.0"
- },
- "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"
- }
- },
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "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
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
- "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- }
- }
- },
- "eslint-plugin-jsdoc": {
- "version": "4.8.4",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-jsdoc/download/eslint-plugin-jsdoc-4.8.4.tgz",
- "integrity": "sha1-MfQTyKMf5laIE5jYkgs4G/36xhg=",
- "dev": true,
- "requires": {
- "comment-parser": "^0.5.4",
- "jsdoctypeparser": "3.1.0",
- "lodash": "^4.17.11"
- }
- },
- "eslint-plugin-jsx-a11y": {
- "version": "6.2.3",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz",
- "integrity": "sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo=",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.5",
- "aria-query": "^3.0.0",
- "array-includes": "^3.0.3",
- "ast-types-flow": "^0.0.7",
- "axobject-query": "^2.0.2",
- "damerau-levenshtein": "^1.0.4",
- "emoji-regex": "^7.0.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^2.2.1"
- }
- },
- "eslint-plugin-react": {
- "version": "7.16.0",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.16.0.tgz",
- "integrity": "sha1-mSjk8+ISLtO6altW0DA7o+QdjAk=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "doctrine": "^2.1.0",
- "has": "^1.0.3",
- "jsx-ast-utils": "^2.2.1",
- "object.entries": "^1.1.0",
- "object.fromentries": "^2.0.0",
- "object.values": "^1.1.0",
- "prop-types": "^15.7.2",
- "resolve": "^1.12.0"
- },
- "dependencies": {
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz",
- "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- }
- }
- },
- "eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz",
- "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz",
- "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705483230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz",
- "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=",
- "dev": true
- },
- "espower": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/espower/download/espower-2.1.2.tgz",
- "integrity": "sha1-gk+IeI+f7fTPD5KPXhG7kHzpuRg=",
- "dev": true,
- "requires": {
- "array-find": "^1.0.0",
- "escallmatch": "^1.5.0",
- "escodegen": "^1.7.0",
- "escope": "^3.3.0",
- "espower-location-detector": "^1.0.0",
- "espurify": "^1.3.0",
- "estraverse": "^4.1.0",
- "source-map": "^0.5.0",
- "type-name": "^2.0.0"
- }
- },
- "espower-loader": {
- "version": "1.2.2",
- "resolved": "https://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz",
- "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=",
- "dev": true,
- "requires": {
- "convert-source-map": "^1.1.0",
- "espower-source": "^2.0.0",
- "minimatch": "^3.0.0",
- "source-map-support": "^0.4.0",
- "xtend": "^4.0.0"
- }
- },
- "espower-location-detector": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz",
- "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=",
- "dev": true,
- "requires": {
- "is-url": "^1.2.1",
- "path-is-absolute": "^1.0.0",
- "source-map": "^0.5.0",
- "xtend": "^4.0.0"
- }
- },
- "espower-source": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/espower-source/download/espower-source-2.3.0.tgz",
- "integrity": "sha1-Q+k7LBivUAGL2xvqehJx9KHBJfQ=",
- "dev": true,
- "requires": {
- "acorn": "^5.0.0",
- "acorn-es7-plugin": "^1.0.10",
- "convert-source-map": "^1.1.1",
- "empower-assert": "^1.0.0",
- "escodegen": "^1.10.0",
- "espower": "^2.1.1",
- "estraverse": "^4.0.0",
- "merge-estraverse-visitors": "^1.0.0",
- "multi-stage-sourcemap": "^0.2.1",
- "path-is-absolute": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
- "espower-typescript": {
- "version": "9.0.1",
- "resolved": "https://registry.npm.taobao.org/espower-typescript/download/espower-typescript-9.0.1.tgz",
- "integrity": "sha1-U2FAdQ+FCfS9xdt0YcC/YAUsBlg=",
- "dev": true,
- "requires": {
- "espower-source": "^2.3.0",
- "minimatch": "^3.0.3",
- "source-map-support": "^0.5.9",
- "ts-node": "^7.0.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
- },
- "source-map-support": {
- "version": "0.5.16",
- "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
- "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- }
- }
- },
- "espree": {
- "version": "5.0.1",
- "resolved": "https://registry.npm.taobao.org/espree/download/espree-5.0.1.tgz",
- "integrity": "sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o=",
- "dev": true,
- "requires": {
- "acorn": "^6.0.7",
- "acorn-jsx": "^5.0.0",
- "eslint-visitor-keys": "^1.0.0"
- },
- "dependencies": {
- "acorn": {
- "version": "6.3.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
- "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=",
- "dev": true
- }
- }
- },
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
- },
- "espurify": {
- "version": "1.8.1",
- "resolved": "https://registry.npm.taobao.org/espurify/download/espurify-1.8.1.tgz",
- "integrity": "sha1-V0bGwatC0wLeEL0dW/fw6MBRUFY=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0"
- }
- },
- "esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz",
- "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=",
- "dev": true,
- "requires": {
- "estraverse": "^4.0.0"
- }
- },
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz",
- "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=",
- "requires": {
- "estraverse": "^4.1.0"
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565762250802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz",
- "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz",
- "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q="
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "event-stream": {
- "version": "3.3.4",
- "resolved": "https://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz",
- "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
- "dev": true,
- "requires": {
- "duplexer": "~0.1.1",
- "from": "~0",
- "map-stream": "~0.1.0",
- "pause-stream": "0.0.11",
- "split": "0.3",
- "stream-combiner": "~0.0.4",
- "through": "~2.3.1"
- }
- },
- "events": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/events/download/events-3.0.0.tgz",
- "integrity": "sha1-mgoN+vYok9krh1uPJpjKQRSXPog="
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1573553245861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz",
- "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "ext": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/ext/download/ext-1.2.0.tgz?cache=0&sync_timestamp=1573137628152&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fext%2Fdownload%2Fext-1.2.0.tgz",
- "integrity": "sha1-jdjS3SG8ztMEW+CWIfoMv3OQi6Q=",
- "dev": true,
- "requires": {
- "type": "^2.0.0"
- },
- "dependencies": {
- "type": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/type/download/type-2.0.0.tgz",
- "integrity": "sha1-Xxb/bvLrRPJgSU2uJxAzspwJqcM=",
- "dev": true
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
- "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "extend2": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/extend2/download/extend2-1.0.0.tgz",
- "integrity": "sha1-BCWpibTawqSGoyJX9RQBA3Vqejw=",
- "dev": true
- },
- "external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz",
- "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=",
- "dev": true,
- "requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
- "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
- "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- },
- "fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz",
- "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=",
- "dev": true,
- "requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
- },
- "fast-xml-parser": {
- "version": "3.15.0",
- "resolved": "https://registry.npm.taobao.org/fast-xml-parser/download/fast-xml-parser-3.15.0.tgz?cache=0&sync_timestamp=1574567092121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-xml-parser%2Fdownload%2Ffast-xml-parser-3.15.0.tgz",
- "integrity": "sha1-D1tWIBNILi2rGbf/0DNiHh0AD6c="
- },
- "figgy-pudding": {
- "version": "3.5.1",
- "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz",
- "integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A="
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1571715625804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "file-entry-cache": {
- "version": "5.0.1",
- "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz",
- "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=",
- "dev": true,
- "requires": {
- "flat-cache": "^2.0.1"
- }
- },
- "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="
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- }
- },
- "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",
- "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
- },
- "dependencies": {
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz",
- "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
- "requires": {
- "find-up": "^3.0.0"
- }
- }
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
- "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "flat": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/flat/download/flat-4.1.0.tgz",
- "integrity": "sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI=",
- "dev": true,
- "requires": {
- "is-buffer": "~2.0.3"
- },
- "dependencies": {
- "is-buffer": {
- "version": "2.0.4",
- "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz",
- "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=",
- "dev": true
- }
- }
- },
- "flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz",
- "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=",
- "dev": true,
- "requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz",
- "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "flatted": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz?cache=0&sync_timestamp=1561466276595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.1.tgz",
- "integrity": "sha1-aeV8qo8OrLwoHS4stFjUb9tEngg="
- },
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz",
- "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=",
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
- },
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.5.1.tgz",
- "integrity": "sha1-8svsV7XlniNxbhKP5E1OXdI4lfQ=",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "formidable": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/formidable/download/formidable-1.2.1.tgz",
- "integrity": "sha1-cPt8oCkO5v+WEJBBX0s989IIJlk=",
- "dev": true
- },
- "formstream": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/formstream/download/formstream-1.1.0.tgz",
- "integrity": "sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk=",
- "requires": {
- "destroy": "^1.0.4",
- "mime": "^1.3.4",
- "pause-stream": "~0.0.11"
- }
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "dev": true
- },
- "from": {
- "version": "0.1.7",
- "resolved": "https://registry.npm.taobao.org/from/download/from-0.1.7.tgz",
- "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
- "dev": true
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz",
- "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-readdir-recursive": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/fs-readdir-recursive/download/fs-readdir-recursive-1.1.0.tgz",
- "integrity": "sha1-4y/AMKLM7kSmtTcTCNpUvgs5fSc=",
- "dev": true
- },
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "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",
- "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=",
- "optional": true,
- "requires": {
- "nan": "^2.12.1",
- "node-pre-gyp": "^0.12.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "optional": true
- },
- "minipass": {
- "version": "2.3.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.2.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "optional": true
- },
- "needle": {
- "version": "2.3.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "^4.1.0",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.12.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.4.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "5.7.0",
- "bundled": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.8",
- "bundled": true,
- "optional": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.3.4",
- "minizlib": "^1.1.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "optional": true
- }
- }
- },
- "ftp": {
- "version": "0.3.10",
- "resolved": "https://registry.npm.taobao.org/ftp/download/ftp-0.3.10.tgz",
- "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- }
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
- "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
- "dev": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
- "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
- "dev": true
- },
- "get-ready": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/get-ready/download/get-ready-2.0.1.tgz",
- "integrity": "sha1-pIxBh1PjnPTQHzpCDPG3V93MZI8=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.0.0"
- }
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz",
- "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-uri": {
- "version": "2.0.4",
- "resolved": "https://registry.npm.taobao.org/get-uri/download/get-uri-2.0.4.tgz?cache=0&sync_timestamp=1570735896395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-uri%2Fdownload%2Fget-uri-2.0.4.tgz",
- "integrity": "sha1-1JN6uBniGNTLWuGOT1livvFpzGo=",
- "requires": {
- "data-uri-to-buffer": "1",
- "debug": "2",
- "extend": "~3.0.2",
- "file-uri-to-path": "1",
- "ftp": "~0.3.10",
- "readable-stream": "2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz",
- "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1569136652060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
- "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
- "dev": true
- },
- "globby": {
- "version": "8.0.2",
- "resolved": "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz",
- "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "dir-glob": "2.0.0",
- "fast-glob": "^2.0.2",
- "glob": "^7.1.2",
- "ignore": "^3.3.5",
- "pify": "^3.0.0",
- "slash": "^1.0.0"
- }
- },
- "graceful": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/graceful/download/graceful-1.0.2.tgz",
- "integrity": "sha1-p1EbDSfoRANnRsTOjk8UacD6LqY=",
- "dev": true,
- "requires": {
- "humanize-ms": "^1.2.1",
- "ps-tree": "^1.1.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz",
- "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM="
- },
- "graceful-process": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/graceful-process/download/graceful-process-1.2.0.tgz",
- "integrity": "sha1-WyvW7aO1l3fbaoqTMueeYkYIbYU=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.2.0",
- "once": "^1.4.0"
- }
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz",
- "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
- "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950844856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz",
- "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz",
- "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=",
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz",
- "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=",
- "dev": true
- },
- "header-case": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/header-case/download/header-case-1.0.1.tgz",
- "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.3"
- }
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- }
- },
- "hosted-git-info": {
- "version": "2.8.5",
- "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.5.tgz?cache=0&sync_timestamp=1570493570687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.5.tgz",
- "integrity": "sha1-dZz88sTRVq3lmwst+r3cQqa5xww=",
- "dev": true
- },
- "http-assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npm.taobao.org/http-assert/download/http-assert-1.4.1.tgz",
- "integrity": "sha1-xfcl1neqfoc+9zYZm4lobM6zeHg=",
- "dev": true,
- "requires": {
- "deep-equal": "~1.0.1",
- "http-errors": "~1.7.2"
- }
- },
- "http-errors": {
- "version": "1.7.3",
- "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1561418526117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz",
- "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.4",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- }
- },
- "http-proxy-agent": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz",
- "integrity": "sha1-5IIb7vWyFCogJr1zkm/lN2McVAU=",
- "requires": {
- "agent-base": "4",
- "debug": "3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
- "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
- },
- "https-proxy-agent": {
- "version": "3.0.1",
- "resolved": "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-3.0.1.tgz",
- "integrity": "sha1-uMKGQz6HYCMRsByOo0QT2Fakr4E=",
- "requires": {
- "agent-base": "^4.3.0",
- "debug": "^3.1.0"
- }
- },
- "humanize-bytes": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/humanize-bytes/download/humanize-bytes-1.0.1.tgz",
- "integrity": "sha1-IfV8oxjSEaAG3JeYpGWE+vLZfpw=",
- "dev": true,
- "requires": {
- "bytes": "~2.2.0"
- },
- "dependencies": {
- "bytes": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-2.2.0.tgz",
- "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
- "dev": true
- }
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz",
- "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1561588160612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz",
- "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz",
- "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q="
- },
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
- },
- "ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz",
- "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
- "dev": true
- },
- "import-fresh": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz?cache=0&sync_timestamp=1573665120798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.2.1.tgz",
- "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- },
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
- "dev": true
- },
- "infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz",
- "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc="
- },
- "inflation": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/inflation/download/inflation-2.0.0.tgz",
- "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=",
- "dev": true
- },
- "inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npm.taobao.org/inflection/download/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz",
- "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
- },
- "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",
- "integrity": "sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo=",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
- "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
- "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "inspector-proxy": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/inspector-proxy/download/inspector-proxy-1.2.1.tgz",
- "integrity": "sha1-hw0vQZFQF4tcN2WyhSrnKJvlQHk=",
- "dev": true,
- "requires": {
- "cfork": "^1.6.1",
- "debug": "^3.0.1",
- "tcp-proxy.js": "^1.0.5",
- "urllib": "^2.24.0"
- }
- },
- "intelli-espower-loader": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz",
- "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=",
- "dev": true,
- "requires": {
- "espower-loader": "^1.0.0"
- }
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
- "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz",
- "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=",
- "dev": true
- },
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-array-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-array-buffer/download/is-array-buffer-1.0.1.tgz",
- "integrity": "sha1-pPrAzzJcH60/cT4rEJ6yQakHzyc="
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "requires": {
- "binary-extensions": "^1.0.0"
- }
- },
- "is-blob": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-blob/download/is-blob-1.0.0.tgz",
- "integrity": "sha1-o9fZb+HD/wZex84nwsIea6ksGDI="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
- "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
- },
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
- "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=",
- "dev": true
- },
- "is-class-hotfix": {
- "version": "0.0.6",
- "resolved": "https://registry.npm.taobao.org/is-class-hotfix/download/is-class-hotfix-0.0.6.tgz",
- "integrity": "sha1-pSfTH7IyeSgd3l84XHe13nCnJDU=",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
- "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
- "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0="
- }
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "is-generator": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/is-generator/download/is-generator-1.0.3.tgz",
- "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=",
- "dev": true
- },
- "is-generator-function": {
- "version": "1.0.7",
- "resolved": "https://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-generator-function%2Fdownload%2Fis-generator-function-1.0.7.tgz",
- "integrity": "sha1-0hMuUpuwAAp/gHlNS99c1eWBNSI=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
- "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-lower-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/is-lower-case/download/is-lower-case-1.1.3.tgz",
- "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=",
- "dev": true,
- "requires": {
- "lower-case": "^1.1.0"
- }
- },
- "is-nan": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/is-nan/download/is-nan-1.2.1.tgz",
- "integrity": "sha1-n69ltvttskt/XAYoR16nH5iEAeI=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.1"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "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-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=",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://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": "https://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-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-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&sync_timestamp=1574296307739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz",
- "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.1"
- }
- },
- "is-type-of": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/is-type-of/download/is-type-of-1.2.1.tgz",
- "integrity": "sha1-4mPsOFes608oxHEw7HjbCakg+MU=",
- "dev": true,
- "requires": {
- "core-util-is": "^1.0.2",
- "is-class-hotfix": "~0.0.6",
- "isstream": "~0.1.2"
- }
- },
- "is-upper-case": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/is-upper-case/download/is-upper-case-1.1.2.tgz",
- "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=",
- "dev": true,
- "requires": {
- "upper-case": "^1.1.0"
- }
- },
- "is-url": {
- "version": "1.2.4",
- "resolved": "https://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz",
- "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
- "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
- },
- "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=1569219483525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://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="
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://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?cache=0&sync_timestamp=1572639564775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-instrument%2Fdownload%2Fistanbul-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"
- }
- },
- "isutf8": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/isutf8/download/isutf8-2.1.0.tgz",
- "integrity": "sha1-ttCKAtTOQ787S+Obm2AjG4jf6ys="
- },
- "jest-changed-files": {
- "version": "24.9.0",
- "resolved": "https://registry.npm.taobao.org/jest-changed-files/download/jest-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"
- }
- },
- "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
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz",
- "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
- "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
- "dev": true
- }
- }
- },
- "jsdoctypeparser": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/jsdoctypeparser/download/jsdoctypeparser-3.1.0.tgz?cache=0&sync_timestamp=1573516828440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdoctypeparser%2Fdownload%2Fjsdoctypeparser-3.1.0.tgz",
- "integrity": "sha1-L2X3UWXE2cYyu0/aE+02t4MhpDs=",
- "dev": true
- },
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
- "dev": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsonp-body": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/jsonp-body/download/jsonp-body-1.0.0.tgz",
- "integrity": "sha1-5hD7b86nnPDMnye6p7Vjd9SwuzY=",
- "dev": true
- },
- "jsx-ast-utils": {
- "version": "2.2.3",
- "resolved": "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.2.3.tgz",
- "integrity": "sha1-ipNk5AJEijzn8U01dzgxDZJIBU8=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "object.assign": "^4.1.0"
- }
- },
- "keygrip": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz",
- "integrity": "sha1-hxsWgdXhWcYqRFsMdLYV4JF+ciY=",
- "dev": true,
- "requires": {
- "tsscmp": "1.0.6"
- }
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
- "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE="
- },
- "ko-sleep": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/ko-sleep/download/ko-sleep-1.0.3.tgz",
- "integrity": "sha1-KKKgoUhei39BX/SI3uF9JHiKsII=",
- "dev": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "koa": {
- "version": "2.11.0",
- "resolved": "https://registry.npm.taobao.org/koa/download/koa-2.11.0.tgz?cache=0&sync_timestamp=1572232118391&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkoa%2Fdownload%2Fkoa-2.11.0.tgz",
- "integrity": "sha1-/lpRxG9WbSdjLdXcj9XX3UT5NaQ=",
- "dev": true,
- "requires": {
- "accepts": "^1.3.5",
- "cache-content-type": "^1.0.0",
- "content-disposition": "~0.5.2",
- "content-type": "^1.0.4",
- "cookies": "~0.8.0",
- "debug": "~3.1.0",
- "delegates": "^1.0.0",
- "depd": "^1.1.2",
- "destroy": "^1.0.4",
- "encodeurl": "^1.0.2",
- "error-inject": "^1.0.0",
- "escape-html": "^1.0.3",
- "fresh": "~0.5.2",
- "http-assert": "^1.3.0",
- "http-errors": "^1.6.3",
- "is-generator-function": "^1.0.7",
- "koa-compose": "^4.1.0",
- "koa-convert": "^1.2.0",
- "on-finished": "^2.3.0",
- "only": "~0.0.2",
- "parseurl": "^1.3.2",
- "statuses": "^1.5.0",
- "type-is": "^1.6.16",
- "vary": "^1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
- "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "koa-compose": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
- "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
- "dev": true
- }
- }
- },
- "koa-bodyparser": {
- "version": "4.2.1",
- "resolved": "https://registry.npm.taobao.org/koa-bodyparser/download/koa-bodyparser-4.2.1.tgz",
- "integrity": "sha1-TX2stebbEQZkm1ldnlzLFYtvOyk=",
- "dev": true,
- "requires": {
- "co-body": "^6.0.0",
- "copy-to": "^2.0.1"
- }
- },
- "koa-compose": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz",
- "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
- "dev": true,
- "requires": {
- "any-promise": "^1.1.0"
- }
- },
- "koa-convert": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkoa-convert%2Fdownload%2Fkoa-convert-1.2.0.tgz",
- "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "koa-compose": "^3.0.0"
- }
- },
- "koa-is-json": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/koa-is-json/download/koa-is-json-1.0.0.tgz",
- "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=",
- "dev": true
- },
- "koa-locales": {
- "version": "1.12.0",
- "resolved": "https://registry.npm.taobao.org/koa-locales/download/koa-locales-1.12.0.tgz",
- "integrity": "sha1-DCpwgpR6kmOvwlunO2ivaiIB8J0=",
- "dev": true,
- "requires": {
- "debug": "^2.6.0",
- "humanize-ms": "^1.2.0",
- "ini": "^1.3.4",
- "object-assign": "^4.1.0"
- },
- "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"
- }
- }
- }
- },
- "koa-onerror": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/koa-onerror/download/koa-onerror-4.1.0.tgz",
- "integrity": "sha1-eUnHZRlB5nsRgTvx+tA8LTRHCxw=",
- "dev": true,
- "requires": {
- "escape-html": "^1.0.3",
- "stream-wormhole": "^1.1.0"
- }
- },
- "koa-override": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/koa-override/download/koa-override-3.0.0.tgz",
- "integrity": "sha1-oU+oSXW6sIxXMKQ3iIgxZPT4Ghw=",
- "dev": true,
- "requires": {
- "methods": "^1.1.2"
- }
- },
- "koa-range": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/koa-range/download/koa-range-0.3.0.tgz",
- "integrity": "sha1-NYjjSWRzqDmhvSZNKkKx2FvX/qw=",
- "dev": true,
- "requires": {
- "stream-slice": "^0.1.2"
- }
- },
- "koa-session": {
- "version": "5.12.3",
- "resolved": "https://registry.npm.taobao.org/koa-session/download/koa-session-5.12.3.tgz",
- "integrity": "sha1-w6ELUZXh9J0Tz0jnjv1nJFmeFtc=",
- "dev": true,
- "requires": {
- "crc": "^3.4.4",
- "debug": "^3.1.0",
- "is-type-of": "^1.0.0",
- "uuid": "^3.3.2"
- }
- },
- "koa-static-cache": {
- "version": "5.1.2",
- "resolved": "https://registry.npm.taobao.org/koa-static-cache/download/koa-static-cache-5.1.2.tgz",
- "integrity": "sha1-SbWSAHFXsWT16d9bJ24wXIvlAWo=",
- "dev": true,
- "requires": {
- "compressible": "^2.0.6",
- "debug": "^3.1.0",
- "fs-readdir-recursive": "^1.0.0",
- "mime-types": "^2.1.8",
- "mz": "^2.7.0"
- }
- },
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz",
- "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "lndb": {
- "version": "0.0.3",
- "resolved": "https://registry.npm.taobao.org/lndb/download/lndb-0.0.3.tgz",
- "integrity": "sha1-gmiWwZu9X+2Y43a904nM7Ii43kk=",
- "requires": {
- "adm-zip": "^0.4.11",
- "arraybuffer-to-buffer": "0.0.4",
- "blob-to-buffer": "^1.2.8",
- "graceful-fs": "^4.1.11",
- "is-array-buffer": "^1.0.1",
- "is-blob": "^1.0.0",
- "isutf8": "^2.0.2",
- "lodash": "^4.17.10",
- "steno": "^0.4.4",
- "tempfile": "^2.0.0",
- "webpack": "^4.16.5"
- }
- },
- "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"
- }
- },
- "loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz",
- "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c="
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz",
- "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
- "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- }
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
- "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz",
- "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
- },
- "lodash.unescape": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz",
- "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=",
- "dev": true
- },
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz",
- "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
- "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
- "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "log4js": {
- "version": "6.1.0",
- "resolved": "https://registry.npm.taobao.org/log4js/download/log4js-6.1.0.tgz",
- "integrity": "sha1-USaBVK2y612KWUssd/Akp38EcmU=",
- "requires": {
- "date-format": "^3.0.0",
- "debug": "^4.1.1",
- "flatted": "^2.0.1",
- "rfdc": "^1.1.4",
- "streamroller": "^2.2.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- }
- }
- },
- "long": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
- "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=",
- "dev": true
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
- "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
- "dev": true
- },
- "lower-case-first": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/lower-case-first/download/lower-case-first-1.0.2.tgz",
- "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=",
- "dev": true,
- "requires": {
- "lower-case": "^1.1.2"
- }
- },
- "lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz",
- "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz",
- "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
- "requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
- "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE="
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
- }
- }
- },
- "make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.5.tgz",
- "integrity": "sha1-7+ToH22yjK3WBccPKcgxtY73dsg=",
- "dev": true
- },
- "mamacro": {
- "version": "0.0.3",
- "resolved": "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz",
- "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q="
- },
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
- },
- "map-stream": {
- "version": "0.1.0",
- "resolved": "https://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz",
- "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
- "dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "requires": {
- "object-visit": "^1.0.0"
- }
- },
- "matcher": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmatcher%2Fdownload%2Fmatcher-1.1.1.tgz",
- "integrity": "sha1-UdgwHhOPhAmCszixFrsMCa9iwcI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.4"
- }
- },
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz",
- "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "dev": true
- },
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz",
- "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537376335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
- "dev": true
- },
- "merge-estraverse-visitors": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz",
- "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=",
- "dev": true,
- "requires": {
- "estraverse": "^4.0.0"
- }
- },
- "merge2": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz",
- "integrity": "sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "dev": true
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
- "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
- "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
- "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE="
- },
- "mime-db": {
- "version": "1.42.0",
- "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.42.0.tgz?cache=0&sync_timestamp=1569468742433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.42.0.tgz",
- "integrity": "sha1-PiUpB7THrbkGWXtLZWNics+ee6w=",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.25",
- "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.25.tgz?cache=0&sync_timestamp=1573568362177&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.25.tgz",
- "integrity": "sha1-OXctRmIfk+KoCoVsU7hqYhVqZDc=",
- "dev": true,
- "requires": {
- "mime-db": "1.42.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz",
- "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
- "dev": true
- },
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc="
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- },
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz",
- "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
- }
- },
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&sync_timestamp=1561409514276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz",
- "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "mm": {
- "version": "2.5.0",
- "resolved": "https://registry.npm.taobao.org/mm/download/mm-2.5.0.tgz",
- "integrity": "sha1-37mTdiwUaLWRxMT81H3/Re0BN4o=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.0.0",
- "ko-sleep": "^1.0.2",
- "muk-prop": "^1.0.0",
- "thenify": "^3.2.1"
- }
- },
- "moment": {
- "version": "2.24.0",
- "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.24.0.tgz",
- "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=",
- "dev": true
- },
- "moment-timezone": {
- "version": "0.5.27",
- "resolved": "https://registry.npm.taobao.org/moment-timezone/download/moment-timezone-0.5.27.tgz?cache=0&sync_timestamp=1571207551387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment-timezone%2Fdownload%2Fmoment-timezone-0.5.27.tgz",
- "integrity": "sha1-c63sgTm2/jBFLnjyEPJ7HzRriHc=",
- "dev": true,
- "requires": {
- "moment": ">= 2.9.0"
- }
- },
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "muk-prop": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/muk-prop/download/muk-prop-1.2.1.tgz",
- "integrity": "sha1-QPo9bpNVOyAWqft32JGFaMV64U0=",
- "dev": true
- },
- "multi-stage-sourcemap": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz",
- "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
- "dev": true,
- "requires": {
- "source-map": "^0.1.34"
- },
- "dependencies": {
- "source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "multimatch": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmultimatch%2Fdownload%2Fmultimatch-2.1.0.tgz",
- "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "minimatch": "^3.0.0"
- }
- },
- "mustache": {
- "version": "2.3.2",
- "resolved": "https://registry.npm.taobao.org/mustache/download/mustache-2.3.2.tgz",
- "integrity": "sha1-ptTZw/kdEzWauImoEpVPkjCj0MU=",
- "dev": true
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
- "dev": true
- },
- "mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz",
- "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=",
- "requires": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "mz-modules": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/mz-modules/download/mz-modules-2.1.0.tgz",
- "integrity": "sha1-f1KYd6/Q1C9AmnRjuWmG1hz7z5Y=",
- "dev": true,
- "requires": {
- "glob": "^7.1.2",
- "ko-sleep": "^1.0.3",
- "mkdirp": "^0.5.1",
- "pump": "^3.0.0",
- "rimraf": "^2.6.1"
- }
- },
- "nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz",
- "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=",
- "optional": true
- },
- "nanoid": {
- "version": "2.1.7",
- "resolved": "https://registry.npm.taobao.org/nanoid/download/nanoid-2.1.7.tgz?cache=0&sync_timestamp=1573870884741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-2.1.7.tgz",
- "integrity": "sha1-13Xj58ZHC7qq49qaZHqA4ijgq/c=",
- "dev": true
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
- "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "ndir": {
- "version": "0.1.5",
- "resolved": "https://registry.npm.taobao.org/ndir/download/ndir-0.1.5.tgz",
- "integrity": "sha1-EgiR12l7u+ghTP7/CWAgYNNFRVg=",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
- "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
- "dev": true
- },
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz",
- "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw="
- },
- "netmask": {
- "version": "1.0.6",
- "resolved": "https://registry.npm.taobao.org/netmask/download/netmask-1.0.6.tgz",
- "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU="
- },
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz",
- "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=",
- "dev": true
- },
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://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-environment-flags": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/node-environment-flags/download/node-environment-flags-1.0.5.tgz",
- "integrity": "sha1-+pMCdfW/Xa4YjWGSsktMi7rD12o=",
- "dev": true,
- "requires": {
- "object.getownpropertydescriptors": "^2.0.3",
- "semver": "^5.7.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- }
- }
- },
- "node-homedir": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/node-homedir/download/node-homedir-1.1.1.tgz",
- "integrity": "sha1-c22wtg47uoq6aN+ZJ95Ap6q+EHU=",
- "dev": true
- },
- "node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-libs-browser%2Fdownload%2Fnode-libs-browser-2.2.1.tgz",
- "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=",
- "requires": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
- },
- "dependencies": {
- "buffer": {
- "version": "4.9.2",
- "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz",
- "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
- "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="
- },
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- },
- "safe-buffer": {
- "version": "5.2.0",
- "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz",
- "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk="
- },
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz",
- "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- }
- }
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
- "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
- "dev": true
- }
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
- "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU="
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
- "nunjucks": {
- "version": "3.2.0",
- "resolved": "https://registry.npm.taobao.org/nunjucks/download/nunjucks-3.2.0.tgz",
- "integrity": "sha1-U+lfQ8lVXoIuiVAAiiAbEALUmTM=",
- "dev": true,
- "requires": {
- "a-sync-waterfall": "^1.0.0",
- "asap": "^2.0.3",
- "chokidar": "^2.0.0",
- "yargs": "^3.32.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "yargs": {
- "version": "3.32.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.32.0.tgz",
- "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.1",
- "cliui": "^3.0.3",
- "decamelize": "^1.1.1",
- "os-locale": "^1.4.0",
- "string-width": "^1.0.1",
- "window-size": "^0.1.4",
- "y18n": "^3.2.0"
- }
- }
- }
- },
- "nyc": {
- "version": "13.3.0",
- "resolved": "https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz?cache=0&sync_timestamp=1574101913226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnyc%2Fdownload%2Fnyc-13.3.0.tgz",
- "integrity": "sha1-2k2+kanIuerT9PM0THbzU+PHjHU=",
- "dev": true,
- "requires": {
- "archy": "^1.0.0",
- "arrify": "^1.0.1",
- "caching-transform": "^3.0.1",
- "convert-source-map": "^1.6.0",
- "find-cache-dir": "^2.0.0",
- "find-up": "^3.0.0",
- "foreground-child": "^1.5.6",
- "glob": "^7.1.3",
- "istanbul-lib-coverage": "^2.0.3",
- "istanbul-lib-hook": "^2.0.3",
- "istanbul-lib-instrument": "^3.1.0",
- "istanbul-lib-report": "^2.0.4",
- "istanbul-lib-source-maps": "^3.0.2",
- "istanbul-reports": "^2.1.1",
- "make-dir": "^1.3.0",
- "merge-source-map": "^1.1.0",
- "resolve-from": "^4.0.0",
- "rimraf": "^2.6.3",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^1.4.2",
- "test-exclude": "^5.1.0",
- "uuid": "^3.3.2",
- "yargs": "^12.0.5",
- "yargs-parser": "^11.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "append-transform": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "default-require-extensions": "^2.0.0"
- }
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "async": {
- "version": "2.6.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "lodash": "^4.17.11"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "caching-transform": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "hasha": "^3.0.0",
- "make-dir": "^1.3.0",
- "package-hash": "^3.0.0",
- "write-file-atomic": "^2.3.0"
- }
- },
- "camelcase": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "commander": {
- "version": "2.17.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "commondir": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "convert-source-map": {
- "version": "1.6.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cross-spawn": {
- "version": "4.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "default-require-extensions": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "strip-bom": "^3.0.0"
- }
- },
- "end-of-stream": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es6-error": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true
- },
- "execa": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
- },
- "find-cache-dir": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^1.0.0",
- "pkg-dir": "^3.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "foreground-child": {
- "version": "1.5.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "cross-spawn": "^4",
- "signal-exit": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.1.15",
- "bundled": true,
- "dev": true
- },
- "handlebars": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "async": "^2.5.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "hasha": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "is-stream": "^1.0.1"
- }
- },
- "hosted-git-info": {
- "version": "2.7.1",
- "bundled": true,
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true,
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true
- },
- "invert-kv": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "bundled": true,
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true
- },
- "istanbul-lib-hook": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "append-transform": "^1.0.0"
- }
- },
- "istanbul-lib-report": {
- "version": "2.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^2.0.3",
- "make-dir": "^1.3.0",
- "supports-color": "^6.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^2.0.3",
- "make-dir": "^1.3.0",
- "rimraf": "^2.6.2",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "handlebars": "^4.1.0"
- }
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "load-json-file": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.11",
- "bundled": true,
- "dev": true
- },
- "lodash.flattendeep": {
- "version": "4.4.0",
- "bundled": true,
- "dev": true
- },
- "lru-cache": {
- "version": "4.1.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "make-dir": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "map-age-cleaner": {
- "version": "0.1.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
- "mem": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^1.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
- "merge-source-map": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
- }
- },
- "mimic-fn": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.10",
- "bundled": true,
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true
- }
- }
- },
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "optimist": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "os-locale": {
- "version": "3.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "p-defer": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "p-finally": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "p-is-promise": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "p-limit": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "package-hash": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.15",
- "hasha": "^3.0.0",
- "lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- }
- },
- "parse-json": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true
- },
- "path-type": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pify": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "pkg-dir": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
- },
- "pseudomap": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "read-pkg": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- }
- },
- "read-pkg-up": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^3.0.0"
- }
- },
- "release-zalgo": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "es6-error": "^4.0.1"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "resolve": {
- "version": "1.10.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true
- },
- "semver": {
- "version": "5.6.0",
- "bundled": true,
- "dev": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true
- },
- "spawn-wrap": {
- "version": "1.4.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "foreground-child": "^1.5.6",
- "mkdirp": "^0.5.0",
- "os-homedir": "^1.0.1",
- "rimraf": "^2.6.2",
- "signal-exit": "^3.0.2",
- "which": "^1.3.0"
- }
- },
- "spdx-correct": {
- "version": "3.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.2.0",
- "bundled": true,
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "strip-eof": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "test-exclude": {
- "version": "5.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "minimatch": "^3.0.4",
- "read-pkg-up": "^4.0.0",
- "require-main-filename": "^1.0.1"
- }
- },
- "uglify-js": {
- "version": "3.4.9",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "commander": "~2.17.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "uuid": {
- "version": "3.3.2",
- "bundled": true,
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "bundled": true,
- "dev": true
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "write-file-atomic": {
- "version": "2.4.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
- }
- },
- "y18n": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true
- },
- "yargs": {
- "version": "12.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
- }
- },
- "yargs-parser": {
- "version": "11.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^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=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "object-inspect": {
- "version": "1.7.0",
- "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1573451929207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz",
- "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
- "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
- "dev": true
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "requires": {
- "isobject": "^3.0.0"
- }
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz",
- "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.entries": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.0.tgz",
- "integrity": "sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
- "object.fromentries": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.1.tgz",
- "integrity": "sha1-BQ8HeFXHr4rmZJ9FyAsW7i0x5wQ=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.15.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "object.values": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.0.tgz",
- "integrity": "sha1-v2gQ712j5TJXkOqqK+IT6oRiTak=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "^1.0.0"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz",
- "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
- "dev": true
- }
- }
- },
- "only": {
- "version": "0.0.2",
- "resolved": "https://registry.npm.taobao.org/only/download/only-0.0.2.tgz",
- "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
- "dev": true
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz",
- "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=",
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
- },
- "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",
- "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "os-name": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/os-name/download/os-name-1.0.3.tgz",
- "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=",
- "requires": {
- "osx-release": "^1.0.0",
- "win-release": "^1.0.0"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
- "osx-release": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/osx-release/download/osx-release-1.1.0.tgz",
- "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=",
- "requires": {
- "minimist": "^1.1.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- }
- }
- },
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&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-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
- },
- "p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz",
- "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=",
- "dev": true
- },
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.1.tgz",
- "integrity": "sha1-qgeniMwxUck5tRMfY1cPDdIAlTc=",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
- "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
- "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
- },
- "pac-proxy-agent": {
- "version": "3.0.1",
- "resolved": "https://registry.npm.taobao.org/pac-proxy-agent/download/pac-proxy-agent-3.0.1.tgz",
- "integrity": "sha1-EVseWPkldsrC66cYWTynsON94q0=",
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "^4.1.1",
- "get-uri": "^2.0.0",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^3.0.0",
- "pac-resolver": "^3.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "^4.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- }
- }
- },
- "pac-resolver": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/pac-resolver/download/pac-resolver-3.0.0.tgz",
- "integrity": "sha1-auoweH2wqJFwTet4AKcip2FabyY=",
- "requires": {
- "co": "^4.6.0",
- "degenerator": "^1.0.4",
- "ip": "^1.1.5",
- "netmask": "^1.0.6",
- "thunkify": "^2.1.2"
- }
- },
- "pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz",
- "integrity": "sha1-Qyi621CGpCaqkPVBl31JVdpclzI="
- },
- "parallel-transform": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz",
- "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
- "requires": {
- "cyclist": "^1.0.1",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- }
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz",
- "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz",
- "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=",
- "requires": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
- "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
- "dev": true
- },
- "pascal-case": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-2.0.1.tgz",
- "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=",
- "dev": true,
- "requires": {
- "camel-case": "^3.0.0",
- "upper-case-first": "^1.1.0"
- }
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
- },
- "path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz",
- "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo="
- },
- "path-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/path-case/download/path-case-2.1.1.tgz",
- "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441376633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
- "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=",
- "dev": true
- },
- "path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz?cache=0&sync_timestamp=1574278262588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-1.8.0.tgz",
- "integrity": "sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- }
- },
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz",
- "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pause-stream": {
- "version": "0.0.11",
- "resolved": "https://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz",
- "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
- "requires": {
- "through": "~2.3"
- }
- },
- "pbkdf2": {
- "version": "3.0.17",
- "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz",
- "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=",
- "requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "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
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true,
- "requires": {
- "find-up": "^2.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
- "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- }
- }
- },
- "platform": {
- "version": "1.3.5",
- "resolved": "https://registry.npm.taobao.org/platform/download/platform-1.3.5.tgz",
- "integrity": "sha1-+2lYxpbgfikY0u7aDwvJRI1zNEQ=",
- "dev": true
- },
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
- },
- "power-assert": {
- "version": "1.6.1",
- "resolved": "https://registry.npm.taobao.org/power-assert/download/power-assert-1.6.1.tgz",
- "integrity": "sha1-soy8Aq6Aiv0UMdDNUJOjmsWlsf4=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "empower": "^1.3.1",
- "power-assert-formatter": "^1.4.1",
- "universal-deep-strict-equal": "^1.2.1",
- "xtend": "^4.0.0"
- }
- },
- "power-assert-context-formatter": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.2.0.tgz",
- "integrity": "sha1-j75yaSKI7FpyA83yFci4OKYGHSo=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "power-assert-context-traversal": "^1.2.0"
- }
- },
- "power-assert-context-reducer-ast": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.2.0.tgz",
- "integrity": "sha1-x8ocnjmm+3F/esX+nnbhkr9SXfM=",
- "dev": true,
- "requires": {
- "acorn": "^5.0.0",
- "acorn-es7-plugin": "^1.0.12",
- "core-js": "^2.0.0",
- "espurify": "^1.6.0",
- "estraverse": "^4.2.0"
- }
- },
- "power-assert-context-traversal": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.2.0.tgz",
- "integrity": "sha1-9ucUVLr2QN5cHJwnA0n1yasLLpQ=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "estraverse": "^4.1.0"
- }
- },
- "power-assert-formatter": {
- "version": "1.4.1",
- "resolved": "https://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz",
- "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "power-assert-context-formatter": "^1.0.7",
- "power-assert-context-reducer-ast": "^1.0.7",
- "power-assert-renderer-assertion": "^1.0.7",
- "power-assert-renderer-comparison": "^1.0.7",
- "power-assert-renderer-diagram": "^1.0.7",
- "power-assert-renderer-file": "^1.0.7"
- }
- },
- "power-assert-renderer-assertion": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.2.0.tgz",
- "integrity": "sha1-Pbb/zaEGs3vB4GQyrQ10imgrFHo=",
- "dev": true,
- "requires": {
- "power-assert-renderer-base": "^1.1.1",
- "power-assert-util-string-width": "^1.2.0"
- }
- },
- "power-assert-renderer-base": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz",
- "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=",
- "dev": true
- },
- "power-assert-renderer-comparison": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.2.0.tgz",
- "integrity": "sha1-5PiBEyJaab6KpYbq0FrvmUYsBJU=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "diff-match-patch": "^1.0.0",
- "power-assert-renderer-base": "^1.1.1",
- "stringifier": "^1.3.0",
- "type-name": "^2.0.1"
- }
- },
- "power-assert-renderer-diagram": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.2.0.tgz",
- "integrity": "sha1-N/ZuhULlZ3xbWObXKwHA2aMOIhk=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "power-assert-renderer-base": "^1.1.1",
- "power-assert-util-string-width": "^1.2.0",
- "stringifier": "^1.3.0"
- }
- },
- "power-assert-renderer-file": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.2.0.tgz",
- "integrity": "sha1-P0vr2eFFXXXPKsVB57tRWofUzks=",
- "dev": true,
- "requires": {
- "power-assert-renderer-base": "^1.1.1"
- }
- },
- "power-assert-util-string-width": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.2.0.tgz",
- "integrity": "sha1-bgbV41gbuHbF03fFMQn/+pW9kaA=",
- "dev": true,
- "requires": {
- "eastasianwidth": "^0.2.0"
- }
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
- },
- "printable": {
- "version": "0.0.3",
- "resolved": "https://registry.npm.taobao.org/printable/download/printable-0.0.3.tgz",
- "integrity": "sha1-9lPLObIUt4BJrhQD4vsF10ptUOA=",
- "dev": true
- },
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
- "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
- "dev": true
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
- "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz",
- "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
- "dev": true
- },
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
- },
- "prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz",
- "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=",
- "dev": true,
- "requires": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- }
- },
- "proxy-agent": {
- "version": "3.1.1",
- "resolved": "https://registry.npm.taobao.org/proxy-agent/download/proxy-agent-3.1.1.tgz",
- "integrity": "sha1-fgTga/Nq+mJKFUC+JHtHyXC9MBQ=",
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "4",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^3.0.0",
- "lru-cache": "^5.1.1",
- "pac-proxy-agent": "^3.0.1",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^4.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- }
- }
- },
- "proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/proxy-from-env/download/proxy-from-env-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-from-env%2Fdownload%2Fproxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4="
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
- },
- "ps-tree": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/ps-tree/download/ps-tree-1.2.0.tgz",
- "integrity": "sha1-XnQluJUIc2zdTyIk0Cj3uz9yLr0=",
- "dev": true,
- "requires": {
- "event-stream": "=3.3.4"
- }
- },
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz",
- "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=",
- "requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
- "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz",
- "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
- "requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz",
- "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
- "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
- },
- "qs": {
- "version": "6.9.1",
- "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.9.1.tgz",
- "integrity": "sha1-IAgsZct4IjY1qxqerKiHWim/jsk="
- },
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
- },
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
- },
- "random-bytes": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/random-bytes/download/random-bytes-1.0.0.tgz",
- "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
- "dev": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
- "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
- "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "raw-body": {
- "version": "2.4.1",
- "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.1.tgz",
- "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=",
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.3",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "react-is": {
- "version": "16.12.0",
- "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.12.0.tgz?cache=0&sync_timestamp=1574324698951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.12.0.tgz",
- "integrity": "sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw=",
- "dev": true
- },
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-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"
- }
- },
- "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"
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
- "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- },
- "dependencies": {
- "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="
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
- "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1571011714883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
- "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
- "requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- }
- },
- "ready-callback": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/ready-callback/download/ready-callback-2.1.0.tgz",
- "integrity": "sha1-44Kp4zpWi413HgTvTvDrAtPfp+A=",
- "dev": true,
- "requires": {
- "debug": "^2.6.0",
- "get-ready": "^2.0.0",
- "once": "^1.4.0",
- "uuid": "^3.0.1"
- },
- "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"
- }
- }
- }
- },
- "regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz",
- "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=",
- "dev": true
- },
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=",
- "dev": true
- },
- "regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
- "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
- },
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz",
- "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
- "requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz",
- "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=",
- "dev": true
- },
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz?cache=0&sync_timestamp=1571560326473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
- }
- }
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz",
- "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4="
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "requires": {
- "is-finite": "^1.0.0"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "resolve": {
- "version": "1.12.2",
- "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.12.2.tgz?cache=0&sync_timestamp=1574410485547&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.12.2.tgz",
- "integrity": "sha1-CLEkltmqhlnHX1NKjwXw2JL/9ZQ=",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
- "resolve-files": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/resolve-files/download/resolve-files-1.0.2.tgz",
- "integrity": "sha1-WnIRi5L6c5T/LYYF0fw3Ppw+kO8=",
- "dev": true,
- "requires": {
- "crequire": "^1.8.0",
- "debug": "^2.6.3"
- },
- "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"
- }
- }
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz",
- "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
- "dev": true
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- }
- },
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
- "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
- },
- "rfdc": {
- "version": "1.1.4",
- "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.1.4.tgz",
- "integrity": "sha1-unLME2egzNnPgahws7WL060H+MI="
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz",
- "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
- "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "rndm": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/rndm/download/rndm-1.2.0.tgz",
- "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
- "dev": true
- },
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
- },
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "requires": {
- "aproba": "^1.1.1"
- }
- },
- "rxjs": {
- "version": "6.5.3",
- "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.3.tgz?cache=0&sync_timestamp=1568815796923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.5.3.tgz",
- "integrity": "sha1-UQ4mMX9NuRp+sd532d2boKSJmjo=",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
- "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz?cache=0&sync_timestamp=1571687334026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-regex%2Fdownload%2Fsafe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "requires": {
- "ret": "~0.1.10"
- }
- },
- "safe-timers": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/safe-timers/download/safe-timers-1.1.0.tgz",
- "integrity": "sha1-xYroMl2407BnMi8KTvOgytZ6rYM=",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz",
- "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
- "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "scmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/scmp/download/scmp-2.0.0.tgz",
- "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo=",
- "dev": true
- },
- "sdk-base": {
- "version": "3.6.0",
- "resolved": "https://registry.npm.taobao.org/sdk-base/download/sdk-base-3.6.0.tgz",
- "integrity": "sha1-fO4fo6gf3GGywg0RMMh2X42Q5Yg=",
- "dev": true,
- "requires": {
- "await-event": "^2.1.0",
- "await-first": "^1.0.0",
- "co": "^4.6.0",
- "is-type-of": "^1.2.1"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
- "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
- "dev": true
- },
- "sendmessage": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/sendmessage/download/sendmessage-1.1.0.tgz",
- "integrity": "sha1-EKJFzuLVDHWfHgmiNHe5FJbQnjU=",
- "dev": true
- },
- "sentence-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/sentence-case/download/sentence-case-2.1.1.tgz",
- "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case-first": "^1.1.2"
- }
- },
- "serialize-javascript": {
- "version": "1.9.1",
- "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz",
- "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s="
- },
- "serialize-json": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/serialize-json/download/serialize-json-1.0.3.tgz",
- "integrity": "sha1-4ECu7XZHl/w3TnhuxDi23zr/B6Q=",
- "dev": true,
- "requires": {
- "debug": "^3.2.6",
- "is-type-of": "^1.2.1",
- "utility": "^1.15.0"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz",
- "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- }
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.1.tgz",
- "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM="
- },
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
- "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz?cache=0&sync_timestamp=1567809451758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-command%2Fdownload%2Fshebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
- "dev": true
- },
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz",
- "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- }
- }
- },
- "smart-buffer": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz",
- "integrity": "sha1-kWBcJdkWUvRmHqacz0XxszHKIbo="
- },
- "snake-case": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/snake-case/download/snake-case-2.1.0.tgz",
- "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
- "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
- "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
- "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz",
- "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "socks": {
- "version": "2.3.3",
- "resolved": "https://registry.npm.taobao.org/socks/download/socks-2.3.3.tgz?cache=0&sync_timestamp=1573063369351&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsocks%2Fdownload%2Fsocks-2.3.3.tgz",
- "integrity": "sha1-ARKfCl1TTSuJdxLtis6rfuZdeOM=",
- "requires": {
- "ip": "1.1.5",
- "smart-buffer": "^4.1.0"
- }
- },
- "socks-proxy-agent": {
- "version": "4.0.2",
- "resolved": "https://registry.npm.taobao.org/socks-proxy-agent/download/socks-proxy-agent-4.0.2.tgz",
- "integrity": "sha1-PImR8xRbJ5nnDhG9X7yLGWMRY4Y=",
- "requires": {
- "agent-base": "~4.2.1",
- "socks": "~2.3.2"
- },
- "dependencies": {
- "agent-base": {
- "version": "4.2.1",
- "resolved": "https://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz",
- "integrity": "sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk=",
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- }
- }
- },
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz",
- "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz",
- "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=",
- "requires": {
- "atob": "^2.1.1",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz",
- "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
- "dev": true,
- "requires": {
- "source-map": "^0.5.6"
- }
- },
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
- },
- "spdx-correct": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz",
- "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.5",
- "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz",
- "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=",
- "dev": true
- },
- "split": {
- "version": "0.3.3",
- "resolved": "https://registry.npm.taobao.org/split/download/split-0.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsplit%2Fdownload%2Fsplit-0.3.3.tgz",
- "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
- "dev": true,
- "requires": {
- "through": "2"
- }
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
- "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
- "requires": {
- "extend-shallow": "^3.0.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz?cache=0&sync_timestamp=1571961736774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.1.tgz",
- "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=",
- "requires": {
- "figgy-pudding": "^3.5.1"
- }
- },
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
- "dev": true
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- },
- "steno": {
- "version": "0.4.4",
- "resolved": "https://registry.npm.taobao.org/steno/download/steno-0.4.4.tgz",
- "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=",
- "requires": {
- "graceful-fs": "^4.1.3"
- }
- },
- "stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz",
- "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "stream-combiner": {
- "version": "0.0.4",
- "resolved": "https://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.0.4.tgz",
- "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
- "dev": true,
- "requires": {
- "duplexer": "~0.1.1"
- }
- },
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz",
- "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=",
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
- }
- },
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz",
- "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
- "stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz",
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
- },
- "stream-slice": {
- "version": "0.1.2",
- "resolved": "https://registry.npm.taobao.org/stream-slice/download/stream-slice-0.1.2.tgz",
- "integrity": "sha1-LcT04bk2+xPz6zmi3vGTJ5jQeks=",
- "dev": true
- },
- "stream-wormhole": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/stream-wormhole/download/stream-wormhole-1.1.0.tgz",
- "integrity": "sha1-MAr/Rs7VU8/sZCoFJRiFQXaTwz0=",
- "dev": true
- },
- "streamroller": {
- "version": "2.2.3",
- "resolved": "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.3.tgz?cache=0&sync_timestamp=1573511244868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstreamroller%2Fdownload%2Fstreamroller-2.2.3.tgz",
- "integrity": "sha1-uVyfrUTi6JAF0kIUFIaztJYsLSg=",
- "requires": {
- "date-format": "^2.1.0",
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0"
- },
- "dependencies": {
- "date-format": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz",
- "integrity": "sha1-MdW16iEc9f12TNOLr50DPffhJc8="
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
- "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
- "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- }
- }
- },
- "streamsearch": {
- "version": "0.1.2",
- "resolved": "https://registry.npm.taobao.org/streamsearch/download/streamsearch-0.1.2.tgz",
- "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.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",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "string.prototype.trimleft": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.0.tgz",
- "integrity": "sha1-bMR/DX641isPNwFhFxWjlUWR1jQ=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.0.tgz",
- "integrity": "sha1-Zp0WS+nfm291WfqOiZRbFopabFg=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
- },
- "stringifier": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/stringifier/download/stringifier-1.4.0.tgz",
- "integrity": "sha1-1wRYFWf0UmJl0A7Y7LNUoCw/7Cg=",
- "dev": true,
- "requires": {
- "core-js": "^2.0.0",
- "traverse": "^0.6.6",
- "type-name": "^2.0.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "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": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "superagent": {
- "version": "3.8.3",
- "resolved": "https://registry.npm.taobao.org/superagent/download/superagent-3.8.3.tgz",
- "integrity": "sha1-Rg6g29t9WxG8T3jeulZfhqF44Sg=",
- "dev": true,
- "requires": {
- "component-emitter": "^1.2.0",
- "cookiejar": "^2.1.0",
- "debug": "^3.1.0",
- "extend": "^3.0.0",
- "form-data": "^2.3.1",
- "formidable": "^1.2.0",
- "methods": "^1.1.1",
- "mime": "^1.4.1",
- "qs": "^6.5.1",
- "readable-stream": "^2.3.5"
- }
- },
- "supertest": {
- "version": "4.0.2",
- "resolved": "https://registry.npm.taobao.org/supertest/download/supertest-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupertest%2Fdownload%2Fsupertest-4.0.2.tgz",
- "integrity": "sha1-wiNNvdbcebbxW5nI1ld7kOTOPzY=",
- "dev": true,
- "requires": {
- "methods": "^1.1.2",
- "superagent": "^3.8.3"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "swap-case": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/swap-case/download/swap-case-1.1.2.tgz",
- "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=",
- "dev": true,
- "requires": {
- "lower-case": "^1.1.1",
- "upper-case": "^1.1.1"
- }
- },
- "table": {
- "version": "5.4.6",
- "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1565881929670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz",
- "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=",
- "dev": true,
- "requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
- "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
- "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",
- "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
- },
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz",
- "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I="
- },
- "tcp-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npm.taobao.org/tcp-base/download/tcp-base-3.1.0.tgz",
- "integrity": "sha1-NUWL+MCiGgys9QkrTHWKU7OTF8E=",
- "dev": true,
- "requires": {
- "is-type-of": "^1.0.0",
- "sdk-base": "^3.1.1"
- }
- },
- "tcp-proxy.js": {
- "version": "1.3.0",
- "resolved": "https://registry.npm.taobao.org/tcp-proxy.js/download/tcp-proxy.js-1.3.0.tgz",
- "integrity": "sha1-EO1T41lCGAZmlr39tyAMKVEqp50=",
- "dev": true,
- "requires": {
- "debug": "^3.0.1",
- "through2": "^2.0.3"
- }
- },
- "temp-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/temp-dir/download/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0="
- },
- "tempfile": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/tempfile/download/tempfile-2.0.0.tgz",
- "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
- "requires": {
- "temp-dir": "^1.0.0",
- "uuid": "^3.0.1"
- }
- },
- "terser": {
- "version": "4.4.0",
- "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.4.0.tgz",
- "integrity": "sha1-IsRrSBfPTJVlQ0v+atRzNq8lmsM=",
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
- },
- "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="
- },
- "source-map-support": {
- "version": "0.5.16",
- "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
- "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- }
- }
- },
- "terser-webpack-plugin": {
- "version": "1.4.1",
- "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.1.tgz",
- "integrity": "sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ=",
- "requires": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^1.7.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.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="
- }
- }
- },
- "test-exclude": {
- "version": "5.2.3",
- "resolved": "https://registry.npm.taobao.org/test-exclude/download/test-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"
- },
- "dependencies": {
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
- "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
- "dev": true
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "thenify": {
- "version": "3.3.0",
- "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz",
- "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
- "requires": {
- "any-promise": "^1.0.0"
- }
- },
- "thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz",
- "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
- "requires": {
- "thenify": ">= 3.1.0 < 4"
- }
- },
- "throat": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthroat%2Fdownload%2Fthroat-4.1.0.tgz",
- "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz",
- "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "thunkify": {
- "version": "2.1.2",
- "resolved": "https://registry.npm.taobao.org/thunkify/download/thunkify-2.1.2.tgz",
- "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0="
- },
- "timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz",
- "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=",
- "requires": {
- "setimmediate": "^1.0.4"
- }
- },
- "title-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/title-case/download/title-case-2.1.1.tgz",
- "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=",
- "dev": true,
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.0.3"
- }
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz",
- "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
- },
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
- },
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz",
- "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- },
- "toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
- "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM="
- },
- "traverse": {
- "version": "0.6.6",
- "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
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
- "dev": true
- },
- "ts-node": {
- "version": "7.0.1",
- "resolved": "https://registry.npm.taobao.org/ts-node/download/ts-node-7.0.1.tgz?cache=0&sync_timestamp=1573786919672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-node%2Fdownload%2Fts-node-7.0.1.tgz",
- "integrity": "sha1-lWLcLR5tJI0kvFX3c+P2FDN9m68=",
- "dev": true,
- "requires": {
- "arrify": "^1.0.0",
- "buffer-from": "^1.1.0",
- "diff": "^3.1.0",
- "make-error": "^1.1.1",
- "minimist": "^1.2.0",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.5.6",
- "yn": "^2.0.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "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
- },
- "source-map-support": {
- "version": "0.5.16",
- "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
- "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "yn": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyn%2Fdownload%2Fyn-2.0.0.tgz",
- "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
- "dev": true
- }
- }
- },
- "tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz",
- "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo="
- },
- "tsscmp": {
- "version": "1.0.6",
- "resolved": "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz",
- "integrity": "sha1-hbmVg6w1iexL/vgltQAKqRHWBes=",
- "dev": true
- },
- "tsutils": {
- "version": "3.17.1",
- "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz?cache=0&sync_timestamp=1565180136064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.17.1.tgz",
- "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- }
- },
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz",
- "integrity": "sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A=",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "requires": {
- "prelude-ls": "~1.1.2"
- }
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
- "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
- "dev": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "type-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz",
- "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=",
- "dev": true
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
- "typescript": {
- "version": "3.7.2",
- "resolved": "https://registry.npm.taobao.org/typescript/download/typescript-3.7.2.tgz",
- "integrity": "sha1-J+SJuV+lkJRF6f717kjYFpetGPs=",
- "dev": true
- },
- "uid-safe": {
- "version": "2.1.5",
- "resolved": "https://registry.npm.taobao.org/uid-safe/download/uid-safe-2.1.5.tgz",
- "integrity": "sha1-Kz1cckDo/C5Y+Komnl7knAhXvTo=",
- "dev": true,
- "requires": {
- "random-bytes": "~1.0.0"
- }
- },
- "unescape": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/unescape/download/unescape-1.0.1.tgz",
- "integrity": "sha1-lW5DD2HK2KTVfYLFGPXmzF0N2pY=",
- "requires": {
- "extend-shallow": "^2.0.1"
- }
- },
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz",
- "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- }
- },
- "unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz",
- "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz",
- "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=",
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "universal-deep-strict-equal": {
- "version": "1.2.2",
- "resolved": "https://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz",
- "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
- "dev": true,
- "requires": {
- "array-filter": "^1.0.0",
- "indexof": "0.0.1",
- "object-keys": "^1.0.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz",
- "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "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="
- }
- }
- },
- "upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz",
- "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ="
- },
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
- "dev": true
- },
- "upper-case-first": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-1.1.2.tgz",
- "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
- "dev": true,
- "requires": {
- "upper-case": "^1.1.1"
- }
- },
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz",
- "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "urijs": {
- "version": "1.19.2",
- "resolved": "https://registry.npm.taobao.org/urijs/download/urijs-1.19.2.tgz",
- "integrity": "sha1-+b4J8AxMUTS3yzz0dcHdOUUmJlo=",
- "dev": true
- },
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
- }
- }
- },
- "urllib": {
- "version": "2.34.1",
- "resolved": "https://registry.npm.taobao.org/urllib/download/urllib-2.34.1.tgz",
- "integrity": "sha1-BpsWA6k6uYLfGuyEIBbqy0QjJs8=",
- "requires": {
- "any-promise": "^1.3.0",
- "content-type": "^1.0.2",
- "debug": "^2.6.9",
- "default-user-agent": "^1.0.0",
- "digest-header": "^0.0.1",
- "ee-first": "~1.1.1",
- "formstream": "^1.1.0",
- "humanize-ms": "^1.2.0",
- "iconv-lite": "^0.4.15",
- "ip": "^1.1.5",
- "proxy-agent": "^3.1.0",
- "pump": "^3.0.0",
- "qs": "^6.4.0",
- "statuses": "^1.3.1",
- "utility": "^1.16.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
- "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8="
- },
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz",
- "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- }
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "utility": {
- "version": "1.16.3",
- "resolved": "https://registry.npm.taobao.org/utility/download/utility-1.16.3.tgz?cache=0&sync_timestamp=1574243892588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futility%2Fdownload%2Futility-1.16.3.tgz",
- "integrity": "sha1-Xf0R3nTmv92CbMShZ+YwHZL0tw0=",
- "requires": {
- "copy-to": "^2.0.1",
- "escape-html": "^1.0.3",
- "mkdirp": "^0.5.1",
- "mz": "^2.7.0",
- "unescape": "^1.0.1"
- }
- },
- "uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.3.tgz?cache=0&sync_timestamp=1566221202613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.3.tgz",
- "integrity": "sha1-RWjwIW54dg7h2/Ok0s9T4iQRKGY="
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true
- },
- "vm-browserify": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870772154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz",
- "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA="
- },
- "watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz",
- "integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=",
- "requires": {
- "chokidar": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- }
- },
- "webpack": {
- "version": "4.41.2",
- "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.41.2.tgz",
- "integrity": "sha1-w07Hbao6hGjJthpQM22OMwPc504=",
- "requires": {
- "@webassemblyjs/ast": "1.8.5",
- "@webassemblyjs/helper-module-context": "1.8.5",
- "@webassemblyjs/wasm-edit": "1.8.5",
- "@webassemblyjs/wasm-parser": "1.8.5",
- "acorn": "^6.2.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.1.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.1",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.1",
- "watchpack": "^1.6.0",
- "webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "acorn": {
- "version": "6.3.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
- "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4="
- }
- }
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz",
- "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
- "requires": {
- "source-list-map": "^2.0.0",
- "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="
- }
- }
- },
- "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",
- "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
- "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "win-release": {
- "version": "1.1.1",
- "resolved": "https://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz",
- "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
- "requires": {
- "semver": "^5.0.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
- "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
- }
- }
- },
- "window-size": {
- "version": "0.1.4",
- "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.4.tgz",
- "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
- "dev": true
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
- "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w="
- },
- "worker-farm": {
- "version": "1.7.0",
- "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz",
- "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=",
- "requires": {
- "errno": "~0.1.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",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz",
- "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
- "wt": {
- "version": "1.2.0",
- "resolved": "https://registry.npm.taobao.org/wt/download/wt-1.2.0.tgz",
- "integrity": "sha1-tMvjTB9QpWpUM6ndqMvbfGLjvN8=",
- "dev": true,
- "requires": {
- "debug": "^2.2.0",
- "ndir": "^0.1.5",
- "sdk-base": "^2.0.1"
- },
- "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"
- }
- },
- "get-ready": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/get-ready/download/get-ready-1.0.0.tgz",
- "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=",
- "dev": true
- },
- "sdk-base": {
- "version": "2.0.1",
- "resolved": "https://registry.npm.taobao.org/sdk-base/download/sdk-base-2.0.1.tgz",
- "integrity": "sha1-ukAonovfJy7RHdnql+r5jgNtJMY=",
- "dev": true,
- "requires": {
- "get-ready": "~1.0.0"
- }
- }
- }
- },
- "xregexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/xregexp/download/xregexp-2.0.0.tgz",
- "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM="
- },
- "xss": {
- "version": "1.0.6",
- "resolved": "https://registry.npm.taobao.org/xss/download/xss-1.0.6.tgz",
- "integrity": "sha1-6vEen8R2464omUShAJ793YoSS1E=",
- "dev": true,
- "requires": {
- "commander": "^2.9.0",
- "cssfilter": "0.0.10"
- }
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",
- "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q="
- },
- "y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz",
- "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms="
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
- "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0="
- },
- "yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz",
- "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=",
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
- }
- },
- "yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz",
- "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "yargs-unparser": {
- "version": "1.6.0",
- "resolved": "https://registry.npm.taobao.org/yargs-unparser/download/yargs-unparser-1.6.0.tgz?cache=0&sync_timestamp=1564464725506&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-unparser%2Fdownload%2Fyargs-unparser-1.6.0.tgz",
- "integrity": "sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8=",
- "dev": true,
- "requires": {
- "flat": "^4.1.0",
- "lodash": "^4.17.15",
- "yargs": "^13.3.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
- "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
- "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
- "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
- "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
- "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
- "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",
- "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz",
- "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
- "yargs": {
- "version": "13.3.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.0.tgz",
- "integrity": "sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM=",
- "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.1"
- }
- },
- "yargs-parser": {
- "version": "13.1.1",
- "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz",
- "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "ylru": {
- "version": "1.2.1",
- "resolved": "https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz",
- "integrity": "sha1-9Xa2M0FUeYnB3nuiiHYJI7J/6E8=",
- "dev": true
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyn%2Fdownload%2Fyn-3.1.1.tgz",
- "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=",
- "dev": true
- },
- "ypkgfiles": {
- "version": "1.6.0",
- "resolved": "https://registry.npm.taobao.org/ypkgfiles/download/ypkgfiles-1.6.0.tgz",
- "integrity": "sha1-a65VZhYKbJNPVzUBmH9pFiRQY1E=",
- "dev": true,
- "requires": {
- "debug": "^2.6.1",
- "glob": "^7.1.1",
- "is-type-of": "^1.0.0",
- "resolve-files": "^1.0.0",
- "yargs": "^7.0.1"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "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"
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- }
- }
- }
- }
- }
-}
+{
+ "name": "egg-echat",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz",
+ "integrity": "sha1-vAeC9tafe31JUxIZaZuYj2aaj50=",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.7.4.tgz",
+ "integrity": "sha1-22UeKEDKmqZvMn3OwdxfX6lhE2k=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.7.4",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz",
+ "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.7.4.tgz",
+ "integrity": "sha1-q24EHnE11DbY8KPsoV3ltno0Gi4=",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.7.4",
+ "@babel/template": "^7.7.4",
+ "@babel/types": "^7.7.4"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.7.4.tgz",
+ "integrity": "sha1-y0Y0jS+ICOYy8KsEgXITDmNgBfA=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.7.4"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.7.4.tgz",
+ "integrity": "sha1-Vykq9gRDxKNiLPdAQN3Cjmgzb9g=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.7.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.5.0.tgz?cache=0&sync_timestamp=1562245140883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.5.0.tgz",
+ "integrity": "sha1-VtETEr2SSPphlZHQJHK+boyzJUA=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz",
+ "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.7.4.tgz",
+ "integrity": "sha1-dastcRDCzy+pSZWa+wX6NG0iMbs=",
+ "dev": true
+ },
+ "@babel/runtime": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.7.4.tgz?cache=0&sync_timestamp=1574465751725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.7.4.tgz",
+ "integrity": "sha1-sjqFZ1HkvwmSYvhndniJwOP+F1s=",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.2"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/template": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.7.4.tgz",
+ "integrity": "sha1-Qop9nuz/4n3qwKmOI7+ONnXSp3s=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.7.4",
+ "@babel/types": "^7.7.4"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.7.4.tgz?cache=0&sync_timestamp=1574465640801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.7.4.tgz",
+ "integrity": "sha1-nB58YPtnn+T8+qQlAIMzM8IFhVg=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.7.4",
+ "@babel/helper-function-name": "^7.7.4",
+ "@babel/helper-split-export-declaration": "^7.7.4",
+ "@babel/parser": "^7.7.4",
+ "@babel/types": "^7.7.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
+ "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.7.4.tgz",
+ "integrity": "sha1-UWVw1TnkTd8wjAdWnCWP+U/ekZM=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@eggjs/router": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/@eggjs/router/download/@eggjs/router-2.0.0.tgz",
+ "integrity": "sha1-mxZN2dbZcIFQLl/cd6c0NZUTYYo=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "debug": "^3.1.0",
+ "http-errors": "^1.3.1",
+ "inflection": "^1.12.0",
+ "is-type-of": "^1.2.1",
+ "koa-compose": "^3.0.0",
+ "koa-convert": "^1.2.0",
+ "methods": "^1.0.1",
+ "path-to-regexp": "^1.1.1",
+ "urijs": "^1.19.0",
+ "utility": "^1.15.0"
+ }
+ },
+ "@jest/types": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-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"
+ },
+ "dependencies": {
+ "@types/yargs": {
+ "version": "13.0.3",
+ "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.3.tgz",
+ "integrity": "sha1-dkgq85gdRBLWU3GjGPmS0zRko4A=",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ }
+ }
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz",
+ "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
+ "dev": true
+ },
+ "@types/accepts": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npm.taobao.org/@types/accepts/download/@types/accepts-1.3.5.tgz",
+ "integrity": "sha1-w0vsEVz8dG4E/loFnfTOfns5FXU=",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/body-parser": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.17.1.tgz",
+ "integrity": "sha1-GPz2F2j7XDDMxQjCHW/S6LO/eJc=",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/connect": {
+ "version": "3.4.32",
+ "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.32.tgz",
+ "integrity": "sha1-qg6WFrlDXMrQK8UrW0VP/Cxwuig=",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/cookiejar": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/@types/cookiejar/download/@types/cookiejar-2.1.1.tgz",
+ "integrity": "sha1-kLaERjZLr579joNJuza9OFK3W4A=",
+ "dev": true
+ },
+ "@types/cookies": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npm.taobao.org/@types/cookies/download/@types/cookies-0.7.4.tgz",
+ "integrity": "sha1-Jt7feRcBq8Dja1t5pXIvQORV+Hs=",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/express": "*",
+ "@types/keygrip": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/dargs": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/@types/dargs/download/@types/dargs-5.1.0.tgz",
+ "integrity": "sha1-BuLJQ9rbkWeWcAX/1GelgaAJ00c=",
+ "dev": true
+ },
+ "@types/depd": {
+ "version": "1.1.32",
+ "resolved": "https://registry.npm.taobao.org/@types/depd/download/@types/depd-1.1.32.tgz",
+ "integrity": "sha1-eTf2aHDQzXqYgRUuTrAsjEMpjxE=",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/empower": {
+ "version": "1.2.30",
+ "resolved": "https://registry.npm.taobao.org/@types/empower/download/@types/empower-1.2.30.tgz",
+ "integrity": "sha1-x8/BSzph5Ux0xnTB+8kbot8NE5I=",
+ "dev": true
+ },
+ "@types/eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0=",
+ "dev": true
+ },
+ "@types/events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1572461479213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz",
+ "integrity": "sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc=",
+ "dev": true
+ },
+ "@types/express": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.2.tgz",
+ "integrity": "sha1-oPt6I9iFW6wxvAHVpYyt2bIXPmw=",
+ "dev": true,
+ "requires": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "@types/express-serve-static-core": {
+ "version": "4.17.0",
+ "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.0.tgz",
+ "integrity": "sha1-6AwlkD31gA6SZAK36CZ6Z1xUooE=",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/range-parser": "*"
+ }
+ },
+ "@types/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz?cache=0&sync_timestamp=1572462281559&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.1.tgz",
+ "integrity": "sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=",
+ "dev": true,
+ "requires": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/http-assert": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npm.taobao.org/@types/http-assert/download/@types/http-assert-1.5.1.tgz",
+ "integrity": "sha1-13XpNjDCRpwvmA/CfjFDJAM12zs=",
+ "dev": true
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz",
+ "integrity": "sha1-QplbRG25pIoRoH7Ag0mahg6ROP8=",
+ "dev": true
+ },
+ "@types/istanbul-lib-report": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-1.1.1.tgz",
+ "integrity": "sha1-5Ucef6M8YTWN04QmGJwDelhDO4w=",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.1.tgz",
+ "integrity": "sha1-eoy/akBvNsit2HFiWyeOrwsNJVo=",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/json-schema": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.3.tgz",
+ "integrity": "sha1-vf1p1h5GTcyBslFZwnDXWnPBpjY=",
+ "dev": true
+ },
+ "@types/keygrip": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/@types/keygrip/download/@types/keygrip-1.0.1.tgz",
+ "integrity": "sha1-/1QEYtL7TQqIRBzq8n0oewHD2Hg=",
+ "dev": true
+ },
+ "@types/koa": {
+ "version": "2.0.52",
+ "resolved": "https://registry.npm.taobao.org/@types/koa/download/@types/koa-2.0.52.tgz",
+ "integrity": "sha1-fdEd5BiaszmtZsTMrRU3FrFOUl8=",
+ "dev": true,
+ "requires": {
+ "@types/accepts": "*",
+ "@types/cookies": "*",
+ "@types/http-assert": "*",
+ "@types/keygrip": "*",
+ "@types/koa-compose": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/koa-compose": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npm.taobao.org/@types/koa-compose/download/@types/koa-compose-3.2.5.tgz",
+ "integrity": "sha1-hesugKxQvpXzfM+MQHwJu+NGjp0=",
+ "dev": true,
+ "requires": {
+ "@types/koa": "*"
+ }
+ },
+ "@types/koa-router": {
+ "version": "7.0.42",
+ "resolved": "https://registry.npm.taobao.org/@types/koa-router/download/@types/koa-router-7.0.42.tgz",
+ "integrity": "sha1-DlwB1NCihz1ALUMhFPCDctfFDrE=",
+ "dev": true,
+ "requires": {
+ "@types/koa": "*"
+ }
+ },
+ "@types/mime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.1.tgz",
+ "integrity": "sha1-3EiIQjEqfwdRSTEpBbXjwLBUx50=",
+ "dev": true
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz",
+ "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "12.12.12",
+ "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.12.tgz",
+ "integrity": "sha1-UpvD5z27Nd2ekLChyDYGqdMmS9s=",
+ "dev": true
+ },
+ "@types/power-assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npm.taobao.org/@types/power-assert/download/@types/power-assert-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fpower-assert%2Fdownload%2F%40types%2Fpower-assert-1.5.0.tgz",
+ "integrity": "sha1-TMQ3FxJ82BkBVV+QXFXwKTgSDcs=",
+ "dev": true,
+ "requires": {
+ "@types/empower": "*",
+ "@types/power-assert-formatter": "*"
+ }
+ },
+ "@types/power-assert-formatter": {
+ "version": "1.4.28",
+ "resolved": "https://registry.npm.taobao.org/@types/power-assert-formatter/download/@types/power-assert-formatter-1.4.28.tgz",
+ "integrity": "sha1-Jbj922MiJZxrkcNTONObD45SQlI=",
+ "dev": true
+ },
+ "@types/range-parser": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz?cache=0&sync_timestamp=1572463876708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Frange-parser%2Fdownload%2F%40types%2Frange-parser-1.2.3.tgz",
+ "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
+ "dev": true
+ },
+ "@types/serve-static": {
+ "version": "1.13.3",
+ "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.3.tgz",
+ "integrity": "sha1-634cQcRGgnJVfol+kXHe1eLe2dE=",
+ "dev": true,
+ "requires": {
+ "@types/express-serve-static-core": "*",
+ "@types/mime": "*"
+ }
+ },
+ "@types/superagent": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npm.taobao.org/@types/superagent/download/@types/superagent-4.1.4.tgz",
+ "integrity": "sha1-Y/dJVaKAc4cM/ZwQC8rLJtcrN2Q=",
+ "dev": true,
+ "requires": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/supertest": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npm.taobao.org/@types/supertest/download/@types/supertest-2.0.8.tgz?cache=0&sync_timestamp=1572472221247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsupertest%2Fdownload%2F%40types%2Fsupertest-2.0.8.tgz",
+ "integrity": "sha1-I4ASNuK4UgTtdxqOfED+u6faK9o=",
+ "dev": true,
+ "requires": {
+ "@types/superagent": "*"
+ }
+ },
+ "@types/yargs": {
+ "version": "12.0.13",
+ "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-12.0.13.tgz",
+ "integrity": "sha1-/MBfsxiPLa778rdkPepa9MSIMWM=",
+ "dev": true
+ },
+ "@types/yargs-parser": {
+ "version": "13.1.0",
+ "resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-13.1.0.tgz",
+ "integrity": "sha1-xWOqGS85NQodGNo2xajaOCu9gig=",
+ "dev": true
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.8.0.tgz",
+ "integrity": "sha1-7KWE1GCU6+vDyz6ftiW/vJBKU00=",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "2.8.0",
+ "eslint-utils": "^1.4.3",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^3.0.0",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "regexpp": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-3.0.0.tgz",
+ "integrity": "sha1-3WOYLuMwDme0HBlW+FCqaA2dMw4=",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.8.0.tgz",
+ "integrity": "sha1-IItBZNF1WH6bA85v6pfVXxnDDKk=",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/typescript-estree": "2.8.0",
+ "eslint-scope": "^5.0.0"
+ },
+ "dependencies": {
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz",
+ "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.8.0.tgz",
+ "integrity": "sha1-4Q98QMjPL7GZIMh5MR5sRq0Xuss=",
+ "dev": true,
+ "requires": {
+ "@types/eslint-visitor-keys": "^1.0.0",
+ "@typescript-eslint/experimental-utils": "2.8.0",
+ "@typescript-eslint/typescript-estree": "2.8.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.8.0.tgz",
+ "integrity": "sha1-/MP+ZTKEAIXSm3VDLIpZiVh2rso=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "glob": "^7.1.6",
+ "is-glob": "^4.0.1",
+ "lodash.unescape": "4.0.1",
+ "semver": "^6.3.0",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz",
+ "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=",
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz",
+ "integrity": "sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE="
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz",
+ "integrity": "sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc="
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz",
+ "integrity": "sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ="
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz",
+ "integrity": "sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4=",
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz",
+ "integrity": "sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI="
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz",
+ "integrity": "sha1-3vS5knsBAdyMu9jR7bW3ucguskU=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "mamacro": "^0.0.3"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz",
+ "integrity": "sha1-U3p1Dt31weky83RCBlUckcG5PmE="
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz",
+ "integrity": "sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz",
+ "integrity": "sha1-cSMp2+8kDza/V70ve4+5v0FUQh4=",
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz",
+ "integrity": "sha1-BE7es06mefPgTNT9mCTV41dnrhA=",
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz",
+ "integrity": "sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw="
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz",
+ "integrity": "sha1-li2hKqWswcExyBxCMpkcgs5W4Bo=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/helper-wasm-section": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-opt": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz",
+ "integrity": "sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz",
+ "integrity": "sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz",
+ "integrity": "sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz",
+ "integrity": "sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/floating-point-hex-parser": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-code-frame": "1.8.5",
+ "@webassemblyjs/helper-fsm": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz",
+ "integrity": "sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz",
+ "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A="
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz",
+ "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0="
+ },
+ "a-sync-waterfall": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/a-sync-waterfall/download/a-sync-waterfall-1.0.1.tgz",
+ "integrity": "sha1-dba2qnJZi0l6El56J3DxT0yKH6c=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
+ "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "acorn": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz",
+ "integrity": "sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk=",
+ "dev": true
+ },
+ "acorn-es7-plugin": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz",
+ "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz",
+ "integrity": "sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q=",
+ "dev": true
+ },
+ "address": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1566806470420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz",
+ "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY="
+ },
+ "adm-zip": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.13.tgz",
+ "integrity": "sha1-WX4vjMNnIVHhMH0+lc3bx1ZyMUo="
+ },
+ "agent-base": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz",
+ "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=",
+ "requires": {
+ "es6-promisify": "^5.0.0"
+ }
+ },
+ "agentkeepalive": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.0.tgz?cache=0&sync_timestamp=1570869777482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-4.1.0.tgz",
+ "integrity": "sha1-pI4EDtFnRd0pzpI2dfYMnJDznuA=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "depd": "^1.1.2",
+ "humanize-ms": "^1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz",
+ "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=",
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz",
+ "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0="
+ },
+ "ajv-keywords": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz",
+ "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo="
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-colors": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz",
+ "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=",
+ "dev": true
+ },
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=",
+ "dev": true
+ },
+ "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?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+ "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
+ "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
+ "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "aria-query": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/aria-query/download/aria-query-3.0.0.tgz",
+ "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
+ "dev": true,
+ "requires": {
+ "ast-types-flow": "0.0.7",
+ "commander": "^2.11.0"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-filter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz",
+ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
+ "dev": true
+ },
+ "array-find": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz",
+ "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
+ "dev": true
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
+ }
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "arraybuffer-to-buffer": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npm.taobao.org/arraybuffer-to-buffer/download/arraybuffer-to-buffer-0.0.4.tgz",
+ "integrity": "sha1-LD+Oj01UNipcYWVJbyEXb3/ZZqY="
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farrify%2Fdownload%2Farrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz",
+ "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz",
+ "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ },
+ "ast-types": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npm.taobao.org/ast-types/download/ast-types-0.13.2.tgz",
+ "integrity": "sha1-3zm2d6kRqD86BJZE+3T93tI86kg="
+ },
+ "ast-types-flow": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz",
+ "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz",
+ "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz",
+ "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz",
+ "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k="
+ },
+ "autod": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/autod/download/autod-3.1.0.tgz",
+ "integrity": "sha1-Xicni4aLihOwpLbzBOpQung/KOk=",
+ "dev": true,
+ "requires": {
+ "babel-core": "^6.26.0",
+ "babel-preset-env": "^1.6.1",
+ "babel-preset-react": "^6.24.1",
+ "babel-preset-stage-0": "^6.24.1",
+ "co": "^4.6.0",
+ "colors": "^1.1.2",
+ "commander": "^2.11.0",
+ "crequire": "^1.8.1",
+ "debug": "^3.1.0",
+ "fs-readdir-recursive": "^1.1.0",
+ "glob": "^7.1.2",
+ "minimatch": "^3.0.4",
+ "printable": "^0.0.3",
+ "semver": "^6.0.0",
+ "urllib": "^2.25.1"
+ }
+ },
+ "autod-egg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/autod-egg/download/autod-egg-1.1.0.tgz",
+ "integrity": "sha1-vDe7lUZh2I7wfjDcg+ESYr+eMKw=",
+ "dev": true
+ },
+ "await-event": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/await-event/download/await-event-2.1.0.tgz",
+ "integrity": "sha1-eOn5JoS65AIvn6C18xShFVD5qnY=",
+ "dev": true
+ },
+ "await-first": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/await-first/download/await-first-1.0.0.tgz",
+ "integrity": "sha1-Bq+m23zr5BK+m+VOgt2MbLTNskE=",
+ "dev": true,
+ "requires": {
+ "ee-first": "^1.1.1"
+ }
+ },
+ "axobject-query": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.0.2.tgz",
+ "integrity": "sha1-6hh6vluQArN3+SXYv30cVhrfOPk=",
+ "dev": true,
+ "requires": {
+ "ast-types-flow": "0.0.7"
+ }
+ },
+ "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": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.3",
+ "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
+ "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-generator": "^6.26.0",
+ "babel-helpers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "convert-source-map": "^1.5.1",
+ "debug": "^2.6.9",
+ "json5": "^0.5.1",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4",
+ "path-is-absolute": "^1.0.1",
+ "private": "^0.1.8",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.7"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "babel-eslint": {
+ "version": "8.2.6",
+ "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-8.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-8.2.6.tgz",
+ "integrity": "sha1-YnDQxzIFYoBnwPeuFpOp55es79k=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/traverse": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.0.0-beta.44.tgz",
+ "integrity": "sha1-KgJkM2jegJFhYr5whlyXd08629k=",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0-beta.44"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.0.0-beta.44.tgz",
+ "integrity": "sha1-x+Z7m1KEr89pswm1DX038+UDPUI=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.2.0",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.0.0-beta.44.tgz",
+ "integrity": "sha1-4YVSqq4iMRAKbkheA4VLw1MtRN0=",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "7.0.0-beta.44",
+ "@babel/template": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.0.0-beta.44.tgz",
+ "integrity": "sha1-0Dym3SufewseazLFbHKDYUDbOhU=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.0.0-beta.44.tgz",
+ "integrity": "sha1-wLNRc14PvLOCLIrY205YOwXr2dw=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.44"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.0.0-beta.44.tgz?cache=0&sync_timestamp=1562245140883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.0.0-beta.44.tgz",
+ "integrity": "sha1-GMlM5UORaoBVPtzc9oGJCyAHR9U=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.0.0-beta.44.tgz",
+ "integrity": "sha1-+IMvT9zuXVm/UV5ZX8UQbFKbOU8=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "lodash": "^4.2.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.0.0-beta.44.tgz?cache=0&sync_timestamp=1574465640801&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.0.0-beta.44.tgz",
+ "integrity": "sha1-qXCixFR3rRgBfi5GWgYG/u4NKWY=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.44",
+ "@babel/generator": "7.0.0-beta.44",
+ "@babel/helper-function-name": "7.0.0-beta.44",
+ "@babel/helper-split-export-declaration": "7.0.0-beta.44",
+ "@babel/types": "7.0.0-beta.44",
+ "babylon": "7.0.0-beta.44",
+ "debug": "^3.1.0",
+ "globals": "^11.1.0",
+ "invariant": "^2.2.0",
+ "lodash": "^4.2.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.0.0-beta.44.tgz",
+ "integrity": "sha1-axsWRZH3fewKA0KsqZXy0Eazp1c=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.2.0",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "babylon": {
+ "version": "7.0.0-beta.44",
+ "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-7.0.0-beta.44.tgz",
+ "integrity": "sha1-iRWeFebjDFCW4i1zjYwK+KDoyh0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
+ "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz",
+ "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
+ "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "babel-helper-bindify-decorators": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz",
+ "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-builder-react-jsx": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-builder-react-jsx/download/babel-helper-builder-react-jsx-6.26.0.tgz",
+ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "esutils": "^2.0.2"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
+ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-explode-class": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz",
+ "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
+ "dev": true,
+ "requires": {
+ "babel-helper-bindify-decorators": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
+ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.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-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+ "dev": true
+ },
+ "babel-plugin-syntax-async-generators": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
+ "dev": true
+ },
+ "babel-plugin-syntax-class-constructor-call": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-constructor-call/download/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-class-properties": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
+ "dev": true
+ },
+ "babel-plugin-syntax-decorators": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+ "dev": true
+ },
+ "babel-plugin-syntax-do-expressions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-do-expressions/download/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
+ "dev": true
+ },
+ "babel-plugin-syntax-dynamic-import": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+ "dev": true
+ },
+ "babel-plugin-syntax-exponentiation-operator": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+ "dev": true
+ },
+ "babel-plugin-syntax-export-extensions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-export-extensions/download/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
+ "dev": true
+ },
+ "babel-plugin-syntax-flow": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-flow/download/babel-plugin-syntax-flow-6.18.0.tgz",
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
+ "dev": true
+ },
+ "babel-plugin-syntax-function-bind": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-function-bind/download/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
+ "dev": true
+ },
+ "babel-plugin-syntax-jsx": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+ "dev": true
+ },
+ "babel-plugin-transform-async-generator-functions": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+ "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "^6.24.1",
+ "babel-plugin-syntax-async-generators": "^6.5.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "^6.24.1",
+ "babel-plugin-syntax-async-functions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-class-constructor-call": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-constructor-call/download/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+ "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-class-constructor-call": "^6.18.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-class-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-plugin-syntax-class-properties": "^6.8.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-decorators": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz",
+ "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-class": "^6.24.1",
+ "babel-plugin-syntax-decorators": "^6.13.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-do-expressions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-do-expressions/download/babel-plugin-transform-do-expressions-6.22.0.tgz",
+ "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-do-expressions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "^6.24.1",
+ "babel-helper-function-name": "^6.24.1",
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "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-es2015-modules-systemjs": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "^6.24.1",
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "regexpu-core": "^2.0.0"
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+ "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-export-extensions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-export-extensions/download/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-export-extensions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-flow-strip-types": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-flow-strip-types/download/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-flow": "^6.18.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-function-bind": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-function-bind/download/babel-plugin-transform-function-bind-6.22.0.tgz",
+ "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-function-bind": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "babel-plugin-transform-react-display-name": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-display-name/download/babel-plugin-transform-react-display-name-6.25.0.tgz",
+ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx/download/babel-plugin-transform-react-jsx-6.24.1.tgz",
+ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-react-jsx": "^6.24.1",
+ "babel-plugin-syntax-jsx": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx-self": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx-self/download/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-react-jsx-source": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-react-jsx-source/download/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.10.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-env": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz",
+ "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "^6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+ "babel-plugin-transform-async-to-generator": "^6.22.0",
+ "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
+ "babel-plugin-transform-es2015-classes": "^6.23.0",
+ "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
+ "babel-plugin-transform-es2015-destructuring": "^6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
+ "babel-plugin-transform-es2015-for-of": "^6.23.0",
+ "babel-plugin-transform-es2015-function-name": "^6.22.0",
+ "babel-plugin-transform-es2015-literals": "^6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
+ "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
+ "babel-plugin-transform-es2015-object-super": "^6.22.0",
+ "babel-plugin-transform-es2015-parameters": "^6.23.0",
+ "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
+ "babel-plugin-transform-es2015-spread": "^6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
+ "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
+ "babel-plugin-transform-exponentiation-operator": "^6.22.0",
+ "babel-plugin-transform-regenerator": "^6.22.0",
+ "browserslist": "^3.2.6",
+ "invariant": "^2.2.2",
+ "semver": "^5.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "babel-preset-flow": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-flow/download/babel-preset-flow-6.23.0.tgz",
+ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-flow-strip-types": "^6.22.0"
+ }
+ },
+ "babel-preset-react": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-react/download/babel-preset-react-6.24.1.tgz",
+ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-jsx": "^6.3.13",
+ "babel-plugin-transform-react-display-name": "^6.23.0",
+ "babel-plugin-transform-react-jsx": "^6.24.1",
+ "babel-plugin-transform-react-jsx-self": "^6.22.0",
+ "babel-plugin-transform-react-jsx-source": "^6.22.0",
+ "babel-preset-flow": "^6.23.0"
+ }
+ },
+ "babel-preset-stage-0": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-stage-0/download/babel-preset-stage-0-6.24.1.tgz",
+ "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-do-expressions": "^6.22.0",
+ "babel-plugin-transform-function-bind": "^6.22.0",
+ "babel-preset-stage-1": "^6.24.1"
+ }
+ },
+ "babel-preset-stage-1": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-stage-1/download/babel-preset-stage-1-6.24.1.tgz",
+ "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-class-constructor-call": "^6.24.1",
+ "babel-plugin-transform-export-extensions": "^6.22.0",
+ "babel-preset-stage-2": "^6.24.1"
+ }
+ },
+ "babel-preset-stage-2": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz",
+ "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
+ "babel-plugin-transform-class-properties": "^6.24.1",
+ "babel-plugin-transform-decorators": "^6.24.1",
+ "babel-preset-stage-3": "^6.24.1"
+ }
+ },
+ "babel-preset-stage-3": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz",
+ "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+ "babel-plugin-transform-async-generator-functions": "^6.24.1",
+ "babel-plugin-transform-async-to-generator": "^6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "^6.24.1",
+ "babel-plugin-transform-object-rest-spread": "^6.22.0"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-register%2Fdownload%2Fbabel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "home-or-tmp": "^2.0.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.4.15"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-traverse%2Fdownload%2Fbabel-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"
+ }
+ }
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-types%2Fdownload%2Fbabel-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"
+ }
+ },
+ "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": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
+ "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz",
+ "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz",
+ "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg="
+ },
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz",
+ "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U="
+ },
+ "black-hole-stream": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/black-hole-stream/download/black-hole-stream-0.0.1.tgz",
+ "integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI=",
+ "dev": true
+ },
+ "blob-to-buffer": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npm.taobao.org/blob-to-buffer/download/blob-to-buffer-1.2.8.tgz",
+ "integrity": "sha1-eO7rMy8SgO0MpvsrYGk6jG02kDo="
+ },
+ "bluebird": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.1.tgz",
+ "integrity": "sha1-33DjArRx10c0iazyapPWO1P4dN4="
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
+ "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
+ "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz",
+ "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
+ "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
+ "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz",
+ "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000844",
+ "electron-to-chromium": "^1.3.47"
+ }
+ },
+ "buffer": {
+ "version": "5.4.3",
+ "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.4.3.tgz",
+ "integrity": "sha1-P7ycaetxPTI+P8Gole7gcQwHIRU=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
+ "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ },
+ "busboy": {
+ "version": "0.2.14",
+ "resolved": "https://registry.npm.taobao.org/busboy/download/busboy-0.2.14.tgz",
+ "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
+ "dev": true,
+ "requires": {
+ "dicer": "0.2.5",
+ "readable-stream": "1.1.x"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ }
+ }
+ },
+ "byte": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/byte/download/byte-2.0.0.tgz",
+ "integrity": "sha1-xhiM9+S+ktqsIvRzEvWh9kCRsYo=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "long": "^4.0.0",
+ "utility": "^1.13.1"
+ }
+ },
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz",
+ "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY="
+ },
+ "cacache": {
+ "version": "12.0.3",
+ "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz",
+ "integrity": "sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A=",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz",
+ "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "cache-content-type": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/cache-content-type/download/cache-content-type-1.0.1.tgz",
+ "integrity": "sha1-A1zeKwjuISn0qDFeqPAKANuhRTw=",
+ "dev": true,
+ "requires": {
+ "mime-types": "^2.1.18",
+ "ylru": "^1.2.0"
+ }
+ },
+ "cache-require-paths": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/cache-require-paths/download/cache-require-paths-0.3.0.tgz",
+ "integrity": "sha1-EqYHWj5JiNpMIvIY4pSFZj5MSmM=",
+ "dev": true
+ },
+ "call-matcher": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/call-matcher/download/call-matcher-1.1.0.tgz",
+ "integrity": "sha1-I7LBvHqDlMi+KGCdd929V4ZoBDI=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "deep-equal": "^1.0.0",
+ "espurify": "^1.6.0",
+ "estraverse": "^4.0.0"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "call-signature": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz",
+ "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=",
+ "dev": true
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz",
+ "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
+ "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001012",
+ "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001012.tgz",
+ "integrity": "sha1-ZT7GNegVueD7gBiQkjsMIHnrNOw=",
+ "dev": true
+ },
+ "cfork": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npm.taobao.org/cfork/download/cfork-1.8.0.tgz",
+ "integrity": "sha1-0P3i3rq71uB1j/M/IcL5gMzAVxE=",
+ "dev": true,
+ "requires": {
+ "utility": "^1.12.0"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "chan": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npm.taobao.org/chan/download/chan-0.6.1.tgz",
+ "integrity": "sha1-7ArRMuW8YsJ+8QzL/E2NzYygBkA=",
+ "dev": true
+ },
+ "change-case": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/change-case/download/change-case-3.1.0.tgz",
+ "integrity": "sha1-DmEbftyZUt8uhROye0LecmR90X4=",
+ "dev": true,
+ "requires": {
+ "camel-case": "^3.0.0",
+ "constant-case": "^2.0.0",
+ "dot-case": "^2.1.0",
+ "header-case": "^1.0.0",
+ "is-lower-case": "^1.1.0",
+ "is-upper-case": "^1.1.0",
+ "lower-case": "^1.1.1",
+ "lower-case-first": "^1.0.0",
+ "no-case": "^2.3.2",
+ "param-case": "^2.1.0",
+ "pascal-case": "^2.0.0",
+ "path-case": "^2.1.0",
+ "sentence-case": "^2.1.0",
+ "snake-case": "^2.1.0",
+ "swap-case": "^1.1.0",
+ "title-case": "^2.1.0",
+ "upper-case": "^1.1.1",
+ "upper-case-first": "^1.1.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz",
+ "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1572684960295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
+ "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.3.tgz",
+ "integrity": "sha1-Qtg31SOWiNVfMDADpQgjD6ZycUI="
+ },
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz",
+ "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
+ "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "circular-json-for-egg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/circular-json-for-egg/download/circular-json-for-egg-1.0.0.tgz",
+ "integrity": "sha1-6stxtXryi0giyrxSpZYc0vCBf8U=",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz",
+ "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-cursor%2Fdownload%2Fcli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz",
+ "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.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",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cluster-client": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/cluster-client/download/cluster-client-3.0.1.tgz",
+ "integrity": "sha1-c5y1KaCXQu1EixKBoO9RasJFnGE=",
+ "dev": true,
+ "requires": {
+ "byte": "^2.0.0",
+ "co": "^4.6.0",
+ "debug": "^4.1.1",
+ "egg-logger": "^2.3.2",
+ "is-type-of": "^1.2.1",
+ "json-stringify-safe": "^5.0.1",
+ "long": "^4.0.0",
+ "mz-modules": "^2.1.0",
+ "sdk-base": "^3.5.1",
+ "serialize-json": "^1.0.3",
+ "tcp-base": "^3.1.0",
+ "utility": "^1.15.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "cluster-reload": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/cluster-reload/download/cluster-reload-1.0.2.tgz",
+ "integrity": "sha1-NGv1hJ0Y5FkLzBsw7kcNTKvxXBA=",
+ "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="
+ },
+ "co-body": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npm.taobao.org/co-body/download/co-body-6.0.0.tgz",
+ "integrity": "sha1-lluTN9f1ZVSAeHRx9CN2ZIIIJ+M=",
+ "dev": true,
+ "requires": {
+ "inflation": "^2.0.0",
+ "qs": "^6.5.2",
+ "raw-body": "^2.3.3",
+ "type-is": "^1.6.16"
+ }
+ },
+ "co-busboy": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/co-busboy/download/co-busboy-1.4.0.tgz",
+ "integrity": "sha1-rJuFxKlm8Dt99V1TdGoNyck/p0E=",
+ "dev": true,
+ "requires": {
+ "black-hole-stream": "~0.0.1",
+ "busboy": "^0.2.8",
+ "chan": "^0.6.1"
+ }
+ },
+ "co-mocha": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npm.taobao.org/co-mocha/download/co-mocha-1.2.2.tgz",
+ "integrity": "sha1-xP3yTTf0PKTaZosUVCqW6Td0eas=",
+ "dev": true,
+ "requires": {
+ "co": "^4.0.0",
+ "is-generator": "^1.0.1"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "coffee": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npm.taobao.org/coffee/download/coffee-5.2.2.tgz",
+ "integrity": "sha1-ttkfunCtW7LHkTV05e5e1ZJXJG4=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.1.0",
+ "is-type-of": "^1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
+ "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz",
+ "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
+ "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1573464045808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
+ "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM="
+ },
+ "comment-parser": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npm.taobao.org/comment-parser/download/comment-parser-0.5.5.tgz",
+ "integrity": "sha1-wlhMrnwvCvx3Ppay7pj4wQy9aT0=",
+ "dev": true
+ },
+ "common-bin": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npm.taobao.org/common-bin/download/common-bin-2.8.2.tgz",
+ "integrity": "sha1-HisiEbYFjq02M1+Xl6A0hAN8q3o=",
+ "dev": true,
+ "requires": {
+ "@types/dargs": "^5.1.0",
+ "@types/node": "^10.12.18",
+ "@types/yargs": "^12.0.4",
+ "chalk": "^2.4.1",
+ "change-case": "^3.0.2",
+ "co": "^4.6.0",
+ "dargs": "^6.0.0",
+ "debug": "^4.1.0",
+ "is-type-of": "^1.2.1",
+ "semver": "^5.5.1",
+ "yargs": "^12.0.2",
+ "yargs-parser": "^11.0.0"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "10.17.5",
+ "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.5.tgz",
+ "integrity": "sha1-wZIBUPe5Bwin0POt0SoGvJEjwFU=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
+ "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
+ },
+ "compressible": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.17.tgz",
+ "integrity": "sha1-bowQihatWDhKl386SCyiC/8vOME=",
+ "dev": true,
+ "requires": {
+ "mime-db": ">= 1.40.0 < 2"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz?cache=0&sync_timestamp=1560151397133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-map%2Fdownload%2Fconcat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz",
+ "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
+ "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY="
+ },
+ "constant-case": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/constant-case/download/constant-case-2.0.0.tgz",
+ "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=",
+ "dev": true,
+ "requires": {
+ "snake-case": "^2.1.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcontent-disposition%2Fdownload%2Fcontent-disposition-0.5.3.tgz",
+ "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
+ "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js="
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz",
+ "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cookie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/cookiejar/download/cookiejar-2.1.2.tgz",
+ "integrity": "sha1-3YojVTB1L5iPmghE8/xYnjERElw=",
+ "dev": true
+ },
+ "cookies": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npm.taobao.org/cookies/download/cookies-0.8.0.tgz?cache=0&sync_timestamp=1570851324736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookies%2Fdownload%2Fcookies-0.8.0.tgz",
+ "integrity": "sha1-EpPOSzkXQKhAbjyYcOgoxLVPP5A=",
+ "dev": true,
+ "requires": {
+ "depd": "~2.0.0",
+ "keygrip": "~1.1.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
+ "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
+ "dev": true
+ }
+ }
+ },
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz",
+ "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
+ "requires": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ },
+ "copy-to": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/copy-to/download/copy-to-2.0.1.tgz",
+ "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU="
+ },
+ "core-js": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.10.tgz?cache=0&sync_timestamp=1574362866974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.10.tgz",
+ "integrity": "sha1-iluDkfjMcBPacDQRzltYVwYwDX8=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "crc": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npm.taobao.org/crc/download/crc-3.8.0.tgz",
+ "integrity": "sha1-rWAmnCyFb4wpnixMwN5FVpFAVsY=",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.1.0"
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz",
+ "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz",
+ "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz",
+ "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "crequire": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npm.taobao.org/crequire/download/crequire-1.8.1.tgz",
+ "integrity": "sha1-rIHyBHhrXyARlOsWmM9EGxCktX0=",
+ "dev": true
+ },
+ "cron-parser": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npm.taobao.org/cron-parser/download/cron-parser-2.13.0.tgz",
+ "integrity": "sha1-b5MLtvKTF5DSqe7IOz7CduJ6ZyU=",
+ "dev": true,
+ "requires": {
+ "is-nan": "^1.2.1",
+ "moment-timezone": "^0.5.25"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+ "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "csrf": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/csrf/download/csrf-3.1.0.tgz",
+ "integrity": "sha1-7HXpZW0ATWdLjvW6R7Qfv9bLnDA=",
+ "dev": true,
+ "requires": {
+ "rndm": "1.2.0",
+ "tsscmp": "1.0.6",
+ "uid-safe": "2.1.5"
+ }
+ },
+ "cssfilter": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz",
+ "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=",
+ "dev": true
+ },
+ "cyclist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
+ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
+ },
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz",
+ "integrity": "sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "damerau-levenshtein": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.5.tgz",
+ "integrity": "sha1-eAz3FE6y6NvRw7uDrjEQDMwxpBQ=",
+ "dev": true
+ },
+ "dargs": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npm.taobao.org/dargs/download/dargs-6.1.0.tgz",
+ "integrity": "sha1-HzubVjk+z4yqfL/WwxSW/8+5snI=",
+ "dev": true
+ },
+ "data-uri-to-buffer": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/data-uri-to-buffer/download/data-uri-to-buffer-1.2.0.tgz",
+ "integrity": "sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU="
+ },
+ "date-format": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz",
+ "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU="
+ },
+ "debounce": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/debounce/download/debounce-1.2.0.tgz",
+ "integrity": "sha1-RKVAq8DqmUMBjcDqqVzOh/Zc0TE=",
+ "dev": true
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
+ "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+ "requires": {
+ "ms": "^2.1.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+ }
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
+ "default-user-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/default-user-agent/download/default-user-agent-1.0.0.tgz",
+ "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=",
+ "requires": {
+ "os-name": "~1.0.3"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
+ "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz",
+ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "degenerator": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/degenerator/download/degenerator-1.0.4.tgz",
+ "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
+ "requires": {
+ "ast-types": "0.x.x",
+ "escodegen": "1.x.x",
+ "esprima": "3.x.x"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdelegates%2Fdownload%2Fdelegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "des.js": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz",
+ "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-indent%2Fdownload%2Fdetect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "detect-port": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/detect-port/download/detect-port-1.3.0.tgz",
+ "integrity": "sha1-2cQOmsyt1N9crGp4Ku/QFNVz0fE=",
+ "dev": true,
+ "requires": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "dicer": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/dicer/download/dicer-0.2.5.tgz",
+ "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "1.1.x",
+ "streamsearch": "0.1.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ }
+ }
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz",
+ "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=",
+ "dev": true
+ },
+ "diff-match-patch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.4.tgz",
+ "integrity": "sha1-asS1UjdGN2HE2vDcYD64aRJHRLE=",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "digest-header": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/digest-header/download/digest-header-0.0.1.tgz",
+ "integrity": "sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=",
+ "requires": {
+ "utility": "0.1.11"
+ },
+ "dependencies": {
+ "utility": {
+ "version": "0.1.11",
+ "resolved": "https://registry.npm.taobao.org/utility/download/utility-0.1.11.tgz?cache=0&sync_timestamp=1574243892588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futility%2Fdownload%2Futility-0.1.11.tgz",
+ "integrity": "sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=",
+ "requires": {
+ "address": ">=0.0.1"
+ }
+ }
+ }
+ },
+ "dir-glob": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz",
+ "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "path-type": "^3.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz",
+ "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1574631404180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
+ "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto="
+ },
+ "dot-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-2.1.1.tgz",
+ "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz?cache=0&sync_timestamp=1572620518450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
+ },
+ "duplexify": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
+ "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s=",
+ "dev": true
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "egg": {
+ "version": "2.25.0",
+ "resolved": "https://registry.npm.taobao.org/egg/download/egg-2.25.0.tgz",
+ "integrity": "sha1-E53FY3PjJs/ze7w8nwF+xSH5BPk=",
+ "dev": true,
+ "requires": {
+ "@types/accepts": "^1.3.5",
+ "@types/koa": "^2.0.48",
+ "@types/koa-router": "^7.0.40",
+ "accepts": "^1.3.5",
+ "agentkeepalive": "^4.0.2",
+ "cache-content-type": "^1.0.1",
+ "circular-json-for-egg": "^1.0.0",
+ "cluster-client": "^3.0.1",
+ "debug": "^4.1.1",
+ "delegates": "^1.0.0",
+ "egg-cluster": "^1.23.0",
+ "egg-cookies": "^2.2.6",
+ "egg-core": "^4.16.1",
+ "egg-development": "^2.4.2",
+ "egg-i18n": "^2.0.0",
+ "egg-jsonp": "^2.0.0",
+ "egg-logger": "^2.3.2",
+ "egg-logrotator": "^3.0.5",
+ "egg-multipart": "^2.4.0",
+ "egg-onerror": "^2.1.0",
+ "egg-schedule": "^3.6.0",
+ "egg-security": "^2.4.3",
+ "egg-session": "^3.1.0",
+ "egg-static": "^2.2.0",
+ "egg-view": "^2.1.2",
+ "egg-watcher": "^3.1.0",
+ "extend2": "^1.0.0",
+ "graceful": "^1.0.2",
+ "humanize-ms": "^1.2.1",
+ "is-type-of": "^1.2.1",
+ "koa-bodyparser": "^4.2.1",
+ "koa-is-json": "^1.0.0",
+ "koa-override": "^3.0.0",
+ "ms": "^2.1.1",
+ "mz": "^2.7.0",
+ "on-finished": "^2.3.0",
+ "sendmessage": "^1.1.0",
+ "urllib": "^2.33.0",
+ "utility": "^1.15.0",
+ "ylru": "^1.2.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "egg-bin": {
+ "version": "4.14.0",
+ "resolved": "https://registry.npm.taobao.org/egg-bin/download/egg-bin-4.14.0.tgz",
+ "integrity": "sha1-PIhQYr5LQc0uNV2Yqmh0Z9Mnz1I=",
+ "dev": true,
+ "requires": {
+ "autod": "^3.1.0",
+ "chalk": "^2.4.2",
+ "co-mocha": "^1.2.2",
+ "common-bin": "^2.8.1",
+ "debug": "^4.1.1",
+ "detect-port": "^1.3.0",
+ "egg-ts-helper": "^1.25.2",
+ "egg-utils": "^2.4.1",
+ "espower-typescript": "9.0.1",
+ "globby": "^9.2.0",
+ "inspector-proxy": "^1.2.1",
+ "intelli-espower-loader": "^1.0.1",
+ "jest-changed-files": "^24.7.0",
+ "mocha": "^6.0.2",
+ "mz-modules": "^2.1.0",
+ "nyc": "^13.3.0",
+ "power-assert": "^1.6.1",
+ "semver": "^6.0.0",
+ "test-exclude": "^5.1.0",
+ "ts-node": "^7",
+ "ypkgfiles": "^1.6.0"
+ },
+ "dependencies": {
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.3.tgz",
+ "integrity": "sha1-V9NbhoboUeLMBMQD8cACA5dqGBM=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
+ "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "egg-ts-helper": {
+ "version": "1.25.6",
+ "resolved": "https://registry.npm.taobao.org/egg-ts-helper/download/egg-ts-helper-1.25.6.tgz",
+ "integrity": "sha1-BBOz9ZwKz+YqTStw/Vm8raLDBbY=",
+ "dev": true,
+ "requires": {
+ "cache-require-paths": "^0.3.0",
+ "chalk": "^2.4.2",
+ "chokidar": "^2.0.1",
+ "commander": "^2.15.1",
+ "debug": "^3.1.0",
+ "dot-prop": "^4.2.0",
+ "enquirer": "^2.3.0",
+ "globby": "^8.0.1",
+ "mkdirp": "^0.5.1",
+ "ts-node": "^7.0.0",
+ "tslib": "^1.9.3",
+ "typescript": "^3.0.0",
+ "yn": "^3.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
+ "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globby": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz",
+ "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "2.0.0",
+ "fast-glob": "^2.0.2",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ }
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
+ "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
+ "dev": true
+ },
+ "globby": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz",
+ "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^1.0.2",
+ "dir-glob": "^2.2.2",
+ "fast-glob": "^2.2.6",
+ "glob": "^7.1.3",
+ "ignore": "^4.0.3",
+ "pify": "^4.0.1",
+ "slash": "^2.0.0"
+ },
+ "dependencies": {
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
+ "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
+ "dev": true,
+ "requires": {
+ "path-type": "^3.0.0"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
+ "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz",
+ "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
+ "dev": true
+ }
+ }
+ },
+ "mocha": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-6.2.2.tgz",
+ "integrity": "sha1-XYmH4olAyviVen12ZLkQ3Fsv6iA=",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "3.2.3",
+ "browser-stdout": "1.3.1",
+ "debug": "3.2.6",
+ "diff": "3.5.0",
+ "escape-string-regexp": "1.0.5",
+ "find-up": "3.0.0",
+ "glob": "7.1.3",
+ "growl": "1.10.5",
+ "he": "1.2.0",
+ "js-yaml": "3.13.1",
+ "log-symbols": "2.2.0",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "ms": "2.1.1",
+ "node-environment-flags": "1.0.5",
+ "object.assign": "4.1.0",
+ "strip-json-comments": "2.0.1",
+ "supports-color": "6.0.0",
+ "which": "1.3.1",
+ "wide-align": "1.1.3",
+ "yargs": "13.3.0",
+ "yargs-parser": "13.1.1",
+ "yargs-unparser": "1.6.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
+ "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.3.tgz",
+ "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz",
+ "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.0.0.tgz",
+ "integrity": "sha1-ds/nQs8fQbubHCmtAwaMBbTA5Ao=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
+ "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
+ "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",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz",
+ "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.0.tgz",
+ "integrity": "sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM=",
+ "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.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz",
+ "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "egg-ci": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npm.taobao.org/egg-ci/download/egg-ci-1.13.1.tgz",
+ "integrity": "sha1-15DOdQalTIKMcDrRqqUXPKbUEKs=",
+ "dev": true,
+ "requires": {
+ "nunjucks": "^3.1.3"
+ }
+ },
+ "egg-cluster": {
+ "version": "1.26.0",
+ "resolved": "https://registry.npm.taobao.org/egg-cluster/download/egg-cluster-1.26.0.tgz",
+ "integrity": "sha1-EW1jTETCBQl+ifcqH5DORHeEnH4=",
+ "dev": true,
+ "requires": {
+ "await-event": "^2.1.0",
+ "cfork": "^1.7.1",
+ "cluster-reload": "^1.0.2",
+ "co": "^4.6.0",
+ "debug": "^4.1.1",
+ "depd": "^2.0.0",
+ "detect-port": "^1.3.0",
+ "egg-logger": "^2.3.2",
+ "egg-utils": "^2.4.1",
+ "get-ready": "^2.0.1",
+ "graceful-process": "^1.2.0",
+ "is-type-of": "^1.2.1",
+ "mz-modules": "^2.1.0",
+ "ps-tree": "^1.2.0",
+ "semver": "^5.6.0",
+ "sendmessage": "^1.1.0",
+ "utility": "^1.15.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
+ "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "egg-cookies": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npm.taobao.org/egg-cookies/download/egg-cookies-2.2.7.tgz",
+ "integrity": "sha1-QvKfSEH8W8Ib1R+RNQgaTfNxNxw=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "scmp": "^2.0.0",
+ "utility": "^1.14.0"
+ }
+ },
+ "egg-core": {
+ "version": "4.17.3",
+ "resolved": "https://registry.npm.taobao.org/egg-core/download/egg-core-4.17.3.tgz",
+ "integrity": "sha1-/jBii9WOUYGOVGRlx/OmEvNwGc4=",
+ "dev": true,
+ "requires": {
+ "@eggjs/router": "^2.0.0",
+ "@types/depd": "^1.1.32",
+ "@types/koa": "^2.0.48",
+ "co": "^4.6.0",
+ "debug": "^4.1.1",
+ "depd": "^2.0.0",
+ "egg-logger": "^2.4.1",
+ "egg-path-matching": "^1.0.1",
+ "extend2": "^1.0.0",
+ "get-ready": "^2.0.1",
+ "globby": "^8.0.2",
+ "is-type-of": "^1.2.1",
+ "koa": "^2.7.0",
+ "koa-convert": "^1.2.0",
+ "node-homedir": "^1.1.1",
+ "ready-callback": "^2.1.0",
+ "utility": "^1.16.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
+ "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "egg-development": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npm.taobao.org/egg-development/download/egg-development-2.4.3.tgz",
+ "integrity": "sha1-phseHv4HudWe1Ee+oYSJWZT7kfE=",
+ "dev": true,
+ "requires": {
+ "debounce": "^1.1.0",
+ "multimatch": "^2.1.0",
+ "mz": "^2.7.0",
+ "mz-modules": "^2.1.0",
+ "utility": "^1.13.1"
+ }
+ },
+ "egg-i18n": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/egg-i18n/download/egg-i18n-2.1.1.tgz",
+ "integrity": "sha1-Phpjjtu2pENyKbFjuLNxXSQ3bw0=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "koa-locales": "^1.11.0"
+ }
+ },
+ "egg-jsonp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/egg-jsonp/download/egg-jsonp-2.0.0.tgz",
+ "integrity": "sha1-0BRfqki1QiaBiDQwQh58JFiXGR8=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.2.0",
+ "jsonp-body": "^1.0.0"
+ }
+ },
+ "egg-logger": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npm.taobao.org/egg-logger/download/egg-logger-2.4.1.tgz",
+ "integrity": "sha1-WP0ye8YNl+OEKXNguAm0D01EfVU=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "circular-json-for-egg": "^1.0.0",
+ "debug": "^2.6.9",
+ "depd": "^2.0.0",
+ "iconv-lite": "^0.4.24",
+ "mkdirp": "^0.5.1",
+ "utility": "^1.15.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "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"
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz",
+ "integrity": "sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "egg-logrotator": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/egg-logrotator/download/egg-logrotator-3.1.0.tgz",
+ "integrity": "sha1-ZAuK1RocWW3jroJYrqFgHDRLR8U=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "moment": "^2.24.0",
+ "mz": "^2.7.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "egg-mock": {
+ "version": "3.24.2",
+ "resolved": "https://registry.npm.taobao.org/egg-mock/download/egg-mock-3.24.2.tgz",
+ "integrity": "sha1-BbXu3sURcvD9V6tYZ49hd3MoP1E=",
+ "dev": true,
+ "requires": {
+ "@types/power-assert": "^1.5.0",
+ "@types/supertest": "^2.0.7",
+ "await-event": "^2.1.0",
+ "co": "^4.6.0",
+ "coffee": "^5.2.1",
+ "debug": "^4.1.1",
+ "detect-port": "^1.3.0",
+ "egg-logger": "^2.4.1",
+ "egg-utils": "^2.4.1",
+ "extend2": "^1.0.0",
+ "get-ready": "^2.0.1",
+ "globby": "^9.2.0",
+ "is-type-of": "^1.2.1",
+ "ko-sleep": "^1.0.3",
+ "merge-descriptors": "^1.0.1",
+ "methods": "^1.1.2",
+ "mm": "^2.5.0",
+ "mz-modules": "^2.1.0",
+ "power-assert": "^1.6.1",
+ "supertest": "^4.0.2",
+ "urllib": "^2.33.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
+ "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
+ "dev": true,
+ "requires": {
+ "path-type": "^3.0.0"
+ }
+ },
+ "globby": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz",
+ "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^1.0.2",
+ "dir-glob": "^2.2.2",
+ "fast-glob": "^2.2.6",
+ "glob": "^7.1.3",
+ "ignore": "^4.0.3",
+ "pify": "^4.0.1",
+ "slash": "^2.0.0"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
+ "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+ "dev": true
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz",
+ "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
+ "dev": true
+ }
+ }
+ },
+ "egg-multipart": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npm.taobao.org/egg-multipart/download/egg-multipart-2.9.1.tgz?cache=0&sync_timestamp=1573108680318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fegg-multipart%2Fdownload%2Fegg-multipart-2.9.1.tgz",
+ "integrity": "sha1-DNt770Xqys3rwrUgoaUhAJMeD2k=",
+ "dev": true,
+ "requires": {
+ "co-busboy": "^1.4.0",
+ "egg-path-matching": "^1.0.1",
+ "humanize-bytes": "^1.0.1",
+ "moment": "^2.22.2",
+ "mz": "^2.7.0",
+ "mz-modules": "^2.1.0",
+ "stream-wormhole": "^1.1.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "egg-onerror": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/egg-onerror/download/egg-onerror-2.1.0.tgz",
+ "integrity": "sha1-4F3AjjmuwWUYtkBTuLyHQRCrqfc=",
+ "dev": true,
+ "requires": {
+ "cookie": "^0.3.1",
+ "koa-onerror": "^4.0.0",
+ "mustache": "^2.3.0",
+ "stack-trace": "^0.0.10"
+ }
+ },
+ "egg-path-matching": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/egg-path-matching/download/egg-path-matching-1.0.1.tgz",
+ "integrity": "sha1-zPxOQIrNHPlKf2cvuMlp5FaIORM=",
+ "dev": true,
+ "requires": {
+ "path-to-regexp": "^1.7.0"
+ }
+ },
+ "egg-schedule": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npm.taobao.org/egg-schedule/download/egg-schedule-3.6.4.tgz",
+ "integrity": "sha1-CpLse67H2q/lGR6K4OMShX+yYAk=",
+ "dev": true,
+ "requires": {
+ "cron-parser": "^2.4.4",
+ "humanize-ms": "^1.2.1",
+ "is-type-of": "^1.2.0",
+ "safe-timers": "^1.1.0",
+ "utility": "^1.13.1"
+ }
+ },
+ "egg-security": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npm.taobao.org/egg-security/download/egg-security-2.7.1.tgz",
+ "integrity": "sha1-S2JRMgPoGN3aZ6w9HMMTx2Snqbc=",
+ "dev": true,
+ "requires": {
+ "csrf": "^3.0.6",
+ "debug": "^4.1.1",
+ "delegates": "^1.0.0",
+ "egg-path-matching": "^1.0.0",
+ "escape-html": "^1.0.3",
+ "extend": "^3.0.1",
+ "ip": "^1.1.5",
+ "koa-compose": "^4.0.0",
+ "matcher": "^1.1.1",
+ "methods": "^1.1.2",
+ "nanoid": "^2.0.1",
+ "platform": "^1.3.4",
+ "statuses": "^1.5.0",
+ "type-is": "^1.6.15",
+ "xss": "^1.0.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
+ "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "egg-session": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/egg-session/download/egg-session-3.1.0.tgz",
+ "integrity": "sha1-WzuvD2By+lW10Tvi5su6F+JVO/4=",
+ "dev": true,
+ "requires": {
+ "koa-session": "^5.7.0"
+ }
+ },
+ "egg-static": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/egg-static/download/egg-static-2.2.0.tgz",
+ "integrity": "sha1-zHBylWNxkdCabH4HDL6y9lEMakc=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.2.1",
+ "koa-compose": "^4.1.0",
+ "koa-range": "^0.3.0",
+ "koa-static-cache": "^5.1.2",
+ "mkdirp": "^0.5.1",
+ "ylru": "^1.2.1"
+ },
+ "dependencies": {
+ "koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
+ "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
+ "dev": true
+ }
+ }
+ },
+ "egg-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npm.taobao.org/egg-utils/download/egg-utils-2.4.1.tgz",
+ "integrity": "sha1-vHozAxWhALxFg4pU90T91dR8Myo=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1",
+ "utility": "^1.13.1"
+ }
+ },
+ "egg-view": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/egg-view/download/egg-view-2.1.2.tgz",
+ "integrity": "sha1-FEaYsj0bGH4XZOXtzq4YGYENeh8=",
+ "dev": true,
+ "requires": {
+ "mz": "^2.7.0"
+ }
+ },
+ "egg-watcher": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/egg-watcher/download/egg-watcher-3.1.0.tgz",
+ "integrity": "sha1-m8TsMI7pQRBUbgWbvyLaW9Px6qA=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "sdk-base": "^3.5.0",
+ "wt": "^1.2.0"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.314",
+ "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.314.tgz?cache=0&sync_timestamp=1574643771503&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.314.tgz",
+ "integrity": "sha1-wYakme0skFe86euNyilNbVRQ+sw=",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz?cache=0&sync_timestamp=1574449776597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.2.tgz",
+ "integrity": "sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=",
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz",
+ "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
+ },
+ "empower": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npm.taobao.org/empower/download/empower-1.3.1.tgz",
+ "integrity": "sha1-dol5y7s21x2PXtqrZj3qy52rkWw=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "empower-core": "^1.2.0"
+ }
+ },
+ "empower-assert": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/empower-assert/download/empower-assert-1.1.0.tgz",
+ "integrity": "sha1-jTJ/vmmoivkN2pjRv8mCnSok/WI=",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.2.0"
+ }
+ },
+ "empower-core": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/empower-core/download/empower-core-1.2.0.tgz",
+ "integrity": "sha1-zj+ySE1Rh/opwj+6g0Swsv31YBw=",
+ "dev": true,
+ "requires": {
+ "call-signature": "0.0.2",
+ "core-js": "^2.0.0"
+ }
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
+ "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz",
+ "integrity": "sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537376335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz",
+ "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ }
+ }
+ },
+ "enquirer": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.2.tgz",
+ "integrity": "sha1-HDAoSQfK3/XtJAS9g5YDbdPaBw4=",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^3.2.1"
+ }
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz",
+ "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
+ "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "error-inject": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz",
+ "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=",
+ "dev": true
+ },
+ "es-abstract": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.16.2.tgz",
+ "integrity": "sha1-TodDMWRemSXt7xQedPxL0URmnTQ=",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz",
+ "integrity": "sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE=",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes6-promise%2Fdownload%2Fes6-promise-4.2.8.tgz",
+ "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo="
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "requires": {
+ "es6-promise": "^4.0.3"
+ }
+ },
+ "es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "~0.3.5"
+ },
+ "dependencies": {
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ }
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz",
+ "integrity": "sha1-utXTwbzawoJp9MszHkMceKxwXRg=",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha1-ttofFswswNm+Q+a9v8Xn383zHVM=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "escallmatch": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz",
+ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=",
+ "dev": true,
+ "requires": {
+ "call-matcher": "^1.0.0",
+ "esprima": "^2.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ }
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.12.0.tgz",
+ "integrity": "sha1-92Pa+ECvFyuzorbdchnA4X9/9UE=",
+ "requires": {
+ "esprima": "^3.1.3",
+ "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=",
+ "optional": true
+ }
+ }
+ },
+ "escope": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "requires": {
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint": {
+ "version": "5.16.0",
+ "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-5.16.0.tgz?cache=0&sync_timestamp=1574652418010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-5.16.0.tgz",
+ "integrity": "sha1-oeOsGq5KP72Clvz496tzFMu2q+o=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.9.1",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^4.0.3",
+ "eslint-utils": "^1.3.1",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^5.0.1",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob": "^7.1.2",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^6.2.2",
+ "js-yaml": "^3.13.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.11",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "path-is-inside": "^1.0.2",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^5.5.1",
+ "strip-ansi": "^4.0.0",
+ "strip-json-comments": "^2.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.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
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
+ "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
+ "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "eslint-config-egg": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npm.taobao.org/eslint-config-egg/download/eslint-config-egg-7.5.1.tgz?cache=0&sync_timestamp=1566896363328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-egg%2Fdownload%2Feslint-config-egg-7.5.1.tgz",
+ "integrity": "sha1-1io0XhpUHM52AXUJQbWEDEduJ8w=",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/eslint-plugin": "^2.0.0",
+ "@typescript-eslint/parser": "^2.0.0",
+ "babel-eslint": "^8.2.6",
+ "eslint-plugin-eggache": "^1.0.0",
+ "eslint-plugin-import": "^2.14.0",
+ "eslint-plugin-jsdoc": "^4.1.1",
+ "eslint-plugin-jsx-a11y": "^6.1.1",
+ "eslint-plugin-react": "^7.11.1"
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.9",
+ "resolve": "^1.5.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.4.1.tgz",
+ "integrity": "sha1-e0Z1h1v5aw2/GyGXdFblux9eAYw=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.8",
+ "pkg-dir": "^2.0.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "eslint-plugin-eggache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/eslint-plugin-eggache/download/eslint-plugin-eggache-1.0.0.tgz",
+ "integrity": "sha1-H4+YxpjStRFRn73vuueP4jBIeqQ=",
+ "dev": true
+ },
+ "eslint-plugin-import": {
+ "version": "2.18.2",
+ "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz",
+ "integrity": "sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.2",
+ "eslint-module-utils": "^2.4.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.0",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.11.0"
+ },
+ "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"
+ }
+ },
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
+ "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-jsdoc": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npm.taobao.org/eslint-plugin-jsdoc/download/eslint-plugin-jsdoc-4.8.4.tgz",
+ "integrity": "sha1-MfQTyKMf5laIE5jYkgs4G/36xhg=",
+ "dev": true,
+ "requires": {
+ "comment-parser": "^0.5.4",
+ "jsdoctypeparser": "3.1.0",
+ "lodash": "^4.17.11"
+ }
+ },
+ "eslint-plugin-jsx-a11y": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz",
+ "integrity": "sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo=",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.4.5",
+ "aria-query": "^3.0.0",
+ "array-includes": "^3.0.3",
+ "ast-types-flow": "^0.0.7",
+ "axobject-query": "^2.0.2",
+ "damerau-levenshtein": "^1.0.4",
+ "emoji-regex": "^7.0.2",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.2.1"
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.16.0.tgz",
+ "integrity": "sha1-mSjk8+ISLtO6altW0DA7o+QdjAk=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.2.1",
+ "object.entries": "^1.1.0",
+ "object.fromentries": "^2.0.0",
+ "object.values": "^1.1.0",
+ "prop-types": "^15.7.2",
+ "resolve": "^1.12.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz",
+ "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz",
+ "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz",
+ "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705483230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=",
+ "dev": true
+ },
+ "espower": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/espower/download/espower-2.1.2.tgz",
+ "integrity": "sha1-gk+IeI+f7fTPD5KPXhG7kHzpuRg=",
+ "dev": true,
+ "requires": {
+ "array-find": "^1.0.0",
+ "escallmatch": "^1.5.0",
+ "escodegen": "^1.7.0",
+ "escope": "^3.3.0",
+ "espower-location-detector": "^1.0.0",
+ "espurify": "^1.3.0",
+ "estraverse": "^4.1.0",
+ "source-map": "^0.5.0",
+ "type-name": "^2.0.0"
+ }
+ },
+ "espower-loader": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz",
+ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "^1.1.0",
+ "espower-source": "^2.0.0",
+ "minimatch": "^3.0.0",
+ "source-map-support": "^0.4.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "espower-location-detector": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz",
+ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=",
+ "dev": true,
+ "requires": {
+ "is-url": "^1.2.1",
+ "path-is-absolute": "^1.0.0",
+ "source-map": "^0.5.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "espower-source": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/espower-source/download/espower-source-2.3.0.tgz",
+ "integrity": "sha1-Q+k7LBivUAGL2xvqehJx9KHBJfQ=",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.0.0",
+ "acorn-es7-plugin": "^1.0.10",
+ "convert-source-map": "^1.1.1",
+ "empower-assert": "^1.0.0",
+ "escodegen": "^1.10.0",
+ "espower": "^2.1.1",
+ "estraverse": "^4.0.0",
+ "merge-estraverse-visitors": "^1.0.0",
+ "multi-stage-sourcemap": "^0.2.1",
+ "path-is-absolute": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "espower-typescript": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npm.taobao.org/espower-typescript/download/espower-typescript-9.0.1.tgz",
+ "integrity": "sha1-U2FAdQ+FCfS9xdt0YcC/YAUsBlg=",
+ "dev": true,
+ "requires": {
+ "espower-source": "^2.3.0",
+ "minimatch": "^3.0.3",
+ "source-map-support": "^0.5.9",
+ "ts-node": "^7.0.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
+ },
+ "source-map-support": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
+ "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ }
+ }
+ },
+ "espree": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npm.taobao.org/espree/download/espree-5.0.1.tgz",
+ "integrity": "sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o=",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.0.7",
+ "acorn-jsx": "^5.0.0",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
+ "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=",
+ "dev": true
+ }
+ }
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ },
+ "espurify": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npm.taobao.org/espurify/download/espurify-1.8.1.tgz",
+ "integrity": "sha1-V0bGwatC0wLeEL0dW/fw6MBRUFY=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0"
+ }
+ },
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz",
+ "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz",
+ "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=",
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565762250802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz",
+ "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0="
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz",
+ "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q="
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "event-stream": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz",
+ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
+ "dev": true,
+ "requires": {
+ "duplexer": "~0.1.1",
+ "from": "~0",
+ "map-stream": "~0.1.0",
+ "pause-stream": "0.0.11",
+ "split": "0.3",
+ "stream-combiner": "~0.0.4",
+ "through": "~2.3.1"
+ }
+ },
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/events/download/events-3.0.0.tgz",
+ "integrity": "sha1-mgoN+vYok9krh1uPJpjKQRSXPog="
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1573553245861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz",
+ "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "ext": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/ext/download/ext-1.2.0.tgz?cache=0&sync_timestamp=1573137628152&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fext%2Fdownload%2Fext-1.2.0.tgz",
+ "integrity": "sha1-jdjS3SG8ztMEW+CWIfoMv3OQi6Q=",
+ "dev": true,
+ "requires": {
+ "type": "^2.0.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/type/download/type-2.0.0.tgz",
+ "integrity": "sha1-Xxb/bvLrRPJgSU2uJxAzspwJqcM=",
+ "dev": true
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
+ "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo="
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "extend2": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/extend2/download/extend2-1.0.0.tgz",
+ "integrity": "sha1-BCWpibTawqSGoyJX9RQBA3Vqejw=",
+ "dev": true
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz",
+ "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ },
+ "fast-glob": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz",
+ "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "fast-xml-parser": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npm.taobao.org/fast-xml-parser/download/fast-xml-parser-3.15.0.tgz?cache=0&sync_timestamp=1574567092121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-xml-parser%2Fdownload%2Ffast-xml-parser-3.15.0.tgz",
+ "integrity": "sha1-D1tWIBNILi2rGbf/0DNiHh0AD6c="
+ },
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz",
+ "integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A="
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1571715625804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "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="
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ }
+ },
+ "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",
+ "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ },
+ "dependencies": {
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz",
+ "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
+ "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "flat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/flat/download/flat-4.1.0.tgz",
+ "integrity": "sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "~2.0.3"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz",
+ "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=",
+ "dev": true
+ }
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz",
+ "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz",
+ "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "flatted": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz?cache=0&sync_timestamp=1561466276595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.1.tgz",
+ "integrity": "sha1-aeV8qo8OrLwoHS4stFjUb9tEngg="
+ },
+ "flush-write-stream": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz",
+ "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=",
+ "requires": {
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.5.1.tgz",
+ "integrity": "sha1-8svsV7XlniNxbhKP5E1OXdI4lfQ=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "formidable": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/formidable/download/formidable-1.2.1.tgz",
+ "integrity": "sha1-cPt8oCkO5v+WEJBBX0s989IIJlk=",
+ "dev": true
+ },
+ "formstream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/formstream/download/formstream-1.1.0.tgz",
+ "integrity": "sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk=",
+ "requires": {
+ "destroy": "^1.0.4",
+ "mime": "^1.3.4",
+ "pause-stream": "~0.0.11"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "dev": true
+ },
+ "from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npm.taobao.org/from/download/from-0.1.7.tgz",
+ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
+ "dev": true
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz",
+ "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs-readdir-recursive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/fs-readdir-recursive/download/fs-readdir-recursive-1.1.0.tgz",
+ "integrity": "sha1-4y/AMKLM7kSmtTcTCNpUvgs5fSc=",
+ "dev": true
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "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",
+ "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=",
+ "optional": true,
+ "requires": {
+ "nan": "^2.12.1",
+ "node-pre-gyp": "^0.12.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "optional": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "optional": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "optional": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "optional": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.3.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.12.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.6",
+ "bundled": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.4.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
+ "optional": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.7.0",
+ "bundled": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true,
+ "optional": true
+ }
+ }
+ },
+ "ftp": {
+ "version": "0.3.10",
+ "resolved": "https://registry.npm.taobao.org/ftp/download/ftp-0.3.10.tgz",
+ "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
+ "requires": {
+ "readable-stream": "1.1.x",
+ "xregexp": "2.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+ "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+ "dev": true
+ },
+ "get-ready": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/get-ready/download/get-ready-2.0.1.tgz",
+ "integrity": "sha1-pIxBh1PjnPTQHzpCDPG3V93MZI8=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-uri": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/get-uri/download/get-uri-2.0.4.tgz?cache=0&sync_timestamp=1570735896395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-uri%2Fdownload%2Fget-uri-2.0.4.tgz",
+ "integrity": "sha1-1JN6uBniGNTLWuGOT1livvFpzGo=",
+ "requires": {
+ "data-uri-to-buffer": "1",
+ "debug": "2",
+ "extend": "~3.0.2",
+ "file-uri-to-path": "1",
+ "ftp": "~0.3.10",
+ "readable-stream": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz",
+ "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1569136652060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+ "dev": true
+ },
+ "globby": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz",
+ "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "2.0.0",
+ "fast-glob": "^2.0.2",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "graceful": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/graceful/download/graceful-1.0.2.tgz",
+ "integrity": "sha1-p1EbDSfoRANnRsTOjk8UacD6LqY=",
+ "dev": true,
+ "requires": {
+ "humanize-ms": "^1.2.1",
+ "ps-tree": "^1.1.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz",
+ "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM="
+ },
+ "graceful-process": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/graceful-process/download/graceful-process-1.2.0.tgz",
+ "integrity": "sha1-WyvW7aO1l3fbaoqTMueeYkYIbYU=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.2.0",
+ "once": "^1.4.0"
+ }
+ },
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz",
+ "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
+ "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950844856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz",
+ "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz",
+ "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz",
+ "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=",
+ "dev": true
+ },
+ "header-case": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/header-case/download/header-case-1.0.1.tgz",
+ "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.3"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.5.tgz?cache=0&sync_timestamp=1570493570687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.5.tgz",
+ "integrity": "sha1-dZz88sTRVq3lmwst+r3cQqa5xww=",
+ "dev": true
+ },
+ "http-assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npm.taobao.org/http-assert/download/http-assert-1.4.1.tgz",
+ "integrity": "sha1-xfcl1neqfoc+9zYZm4lobM6zeHg=",
+ "dev": true,
+ "requires": {
+ "deep-equal": "~1.0.1",
+ "http-errors": "~1.7.2"
+ }
+ },
+ "http-errors": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1561418526117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz",
+ "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha1-5IIb7vWyFCogJr1zkm/lN2McVAU=",
+ "requires": {
+ "agent-base": "4",
+ "debug": "3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+ },
+ "https-proxy-agent": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-3.0.1.tgz",
+ "integrity": "sha1-uMKGQz6HYCMRsByOo0QT2Fakr4E=",
+ "requires": {
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
+ }
+ },
+ "humanize-bytes": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/humanize-bytes/download/humanize-bytes-1.0.1.tgz",
+ "integrity": "sha1-IfV8oxjSEaAG3JeYpGWE+vLZfpw=",
+ "dev": true,
+ "requires": {
+ "bytes": "~2.2.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-2.2.0.tgz",
+ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
+ "dev": true
+ }
+ }
+ },
+ "humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz",
+ "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "requires": {
+ "ms": "^2.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1561588160612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz",
+ "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz",
+ "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q="
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz",
+ "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz?cache=0&sync_timestamp=1573665120798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.2.1.tgz",
+ "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz",
+ "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc="
+ },
+ "inflation": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/inflation/download/inflation-2.0.0.tgz",
+ "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=",
+ "dev": true
+ },
+ "inflection": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npm.taobao.org/inflection/download/inflection-1.12.0.tgz",
+ "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz",
+ "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
+ },
+ "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",
+ "integrity": "sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.12",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "inspector-proxy": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/inspector-proxy/download/inspector-proxy-1.2.1.tgz",
+ "integrity": "sha1-hw0vQZFQF4tcN2WyhSrnKJvlQHk=",
+ "dev": true,
+ "requires": {
+ "cfork": "^1.6.1",
+ "debug": "^3.0.1",
+ "tcp-proxy.js": "^1.0.5",
+ "urllib": "^2.24.0"
+ }
+ },
+ "intelli-espower-loader": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz",
+ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=",
+ "dev": true,
+ "requires": {
+ "espower-loader": "^1.0.0"
+ }
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
+ "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz",
+ "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=",
+ "dev": true
+ },
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-array-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-array-buffer/download/is-array-buffer-1.0.1.tgz",
+ "integrity": "sha1-pPrAzzJcH60/cT4rEJ6yQakHzyc="
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-blob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-blob/download/is-blob-1.0.0.tgz",
+ "integrity": "sha1-o9fZb+HD/wZex84nwsIea6ksGDI="
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
+ "integrity": "sha1-HhrfIZ4e62hNaR+dagX/DTCiTXU=",
+ "dev": true
+ },
+ "is-class-hotfix": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npm.taobao.org/is-class-hotfix/download/is-class-hotfix-0.0.6.tgz",
+ "integrity": "sha1-pSfTH7IyeSgd3l84XHe13nCnJDU=",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0="
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "is-generator": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/is-generator/download/is-generator-1.0.3.tgz",
+ "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-generator-function%2Fdownload%2Fis-generator-function-1.0.7.tgz",
+ "integrity": "sha1-0hMuUpuwAAp/gHlNS99c1eWBNSI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+ "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-lower-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/is-lower-case/download/is-lower-case-1.1.3.tgz",
+ "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.0"
+ }
+ },
+ "is-nan": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/is-nan/download/is-nan-1.2.1.tgz",
+ "integrity": "sha1-n69ltvttskt/XAYoR16nH5iEAeI=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "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-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=",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://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": "https://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-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-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&sync_timestamp=1574296307739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz",
+ "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-type-of": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/is-type-of/download/is-type-of-1.2.1.tgz",
+ "integrity": "sha1-4mPsOFes608oxHEw7HjbCakg+MU=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "^1.0.2",
+ "is-class-hotfix": "~0.0.6",
+ "isstream": "~0.1.2"
+ }
+ },
+ "is-upper-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/is-upper-case/download/is-upper-case-1.1.2.tgz",
+ "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=",
+ "dev": true,
+ "requires": {
+ "upper-case": "^1.1.0"
+ }
+ },
+ "is-url": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz",
+ "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
+ "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
+ },
+ "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=1569219483525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://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="
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://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?cache=0&sync_timestamp=1572639564775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fistanbul-lib-instrument%2Fdownload%2Fistanbul-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"
+ }
+ },
+ "isutf8": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/isutf8/download/isutf8-2.1.0.tgz",
+ "integrity": "sha1-ttCKAtTOQ787S+Obm2AjG4jf6ys="
+ },
+ "jest-changed-files": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npm.taobao.org/jest-changed-files/download/jest-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"
+ }
+ },
+ "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
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz",
+ "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
+ "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
+ "dev": true
+ }
+ }
+ },
+ "jsdoctypeparser": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/jsdoctypeparser/download/jsdoctypeparser-3.1.0.tgz?cache=0&sync_timestamp=1573516828440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdoctypeparser%2Fdownload%2Fjsdoctypeparser-3.1.0.tgz",
+ "integrity": "sha1-L2X3UWXE2cYyu0/aE+02t4MhpDs=",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsonp-body": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/jsonp-body/download/jsonp-body-1.0.0.tgz",
+ "integrity": "sha1-5hD7b86nnPDMnye6p7Vjd9SwuzY=",
+ "dev": true
+ },
+ "jsx-ast-utils": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.2.3.tgz",
+ "integrity": "sha1-ipNk5AJEijzn8U01dzgxDZJIBU8=",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "object.assign": "^4.1.0"
+ }
+ },
+ "keygrip": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz",
+ "integrity": "sha1-hxsWgdXhWcYqRFsMdLYV4JF+ciY=",
+ "dev": true,
+ "requires": {
+ "tsscmp": "1.0.6"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE="
+ },
+ "ko-sleep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/ko-sleep/download/ko-sleep-1.0.3.tgz",
+ "integrity": "sha1-KKKgoUhei39BX/SI3uF9JHiKsII=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.0.0"
+ }
+ },
+ "koa": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npm.taobao.org/koa/download/koa-2.11.0.tgz?cache=0&sync_timestamp=1572232118391&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkoa%2Fdownload%2Fkoa-2.11.0.tgz",
+ "integrity": "sha1-/lpRxG9WbSdjLdXcj9XX3UT5NaQ=",
+ "dev": true,
+ "requires": {
+ "accepts": "^1.3.5",
+ "cache-content-type": "^1.0.0",
+ "content-disposition": "~0.5.2",
+ "content-type": "^1.0.4",
+ "cookies": "~0.8.0",
+ "debug": "~3.1.0",
+ "delegates": "^1.0.0",
+ "depd": "^1.1.2",
+ "destroy": "^1.0.4",
+ "encodeurl": "^1.0.2",
+ "error-inject": "^1.0.0",
+ "escape-html": "^1.0.3",
+ "fresh": "~0.5.2",
+ "http-assert": "^1.3.0",
+ "http-errors": "^1.6.3",
+ "is-generator-function": "^1.0.7",
+ "koa-compose": "^4.1.0",
+ "koa-convert": "^1.2.0",
+ "on-finished": "^2.3.0",
+ "only": "~0.0.2",
+ "parseurl": "^1.3.2",
+ "statuses": "^1.5.0",
+ "type-is": "^1.6.16",
+ "vary": "^1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz",
+ "integrity": "sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc=",
+ "dev": true
+ }
+ }
+ },
+ "koa-bodyparser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npm.taobao.org/koa-bodyparser/download/koa-bodyparser-4.2.1.tgz",
+ "integrity": "sha1-TX2stebbEQZkm1ldnlzLFYtvOyk=",
+ "dev": true,
+ "requires": {
+ "co-body": "^6.0.0",
+ "copy-to": "^2.0.1"
+ }
+ },
+ "koa-compose": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
+ "dev": true,
+ "requires": {
+ "any-promise": "^1.1.0"
+ }
+ },
+ "koa-convert": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkoa-convert%2Fdownload%2Fkoa-convert-1.2.0.tgz",
+ "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "koa-compose": "^3.0.0"
+ }
+ },
+ "koa-is-json": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/koa-is-json/download/koa-is-json-1.0.0.tgz",
+ "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=",
+ "dev": true
+ },
+ "koa-locales": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npm.taobao.org/koa-locales/download/koa-locales-1.12.0.tgz",
+ "integrity": "sha1-DCpwgpR6kmOvwlunO2ivaiIB8J0=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.0",
+ "humanize-ms": "^1.2.0",
+ "ini": "^1.3.4",
+ "object-assign": "^4.1.0"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "koa-onerror": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/koa-onerror/download/koa-onerror-4.1.0.tgz",
+ "integrity": "sha1-eUnHZRlB5nsRgTvx+tA8LTRHCxw=",
+ "dev": true,
+ "requires": {
+ "escape-html": "^1.0.3",
+ "stream-wormhole": "^1.1.0"
+ }
+ },
+ "koa-override": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/koa-override/download/koa-override-3.0.0.tgz",
+ "integrity": "sha1-oU+oSXW6sIxXMKQ3iIgxZPT4Ghw=",
+ "dev": true,
+ "requires": {
+ "methods": "^1.1.2"
+ }
+ },
+ "koa-range": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/koa-range/download/koa-range-0.3.0.tgz",
+ "integrity": "sha1-NYjjSWRzqDmhvSZNKkKx2FvX/qw=",
+ "dev": true,
+ "requires": {
+ "stream-slice": "^0.1.2"
+ }
+ },
+ "koa-session": {
+ "version": "5.12.3",
+ "resolved": "https://registry.npm.taobao.org/koa-session/download/koa-session-5.12.3.tgz",
+ "integrity": "sha1-w6ELUZXh9J0Tz0jnjv1nJFmeFtc=",
+ "dev": true,
+ "requires": {
+ "crc": "^3.4.4",
+ "debug": "^3.1.0",
+ "is-type-of": "^1.0.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "koa-static-cache": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npm.taobao.org/koa-static-cache/download/koa-static-cache-5.1.2.tgz",
+ "integrity": "sha1-SbWSAHFXsWT16d9bJ24wXIvlAWo=",
+ "dev": true,
+ "requires": {
+ "compressible": "^2.0.6",
+ "debug": "^3.1.0",
+ "fs-readdir-recursive": "^1.0.0",
+ "mime-types": "^2.1.8",
+ "mz": "^2.7.0"
+ }
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz",
+ "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lndb": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npm.taobao.org/lndb/download/lndb-0.0.3.tgz",
+ "integrity": "sha1-gmiWwZu9X+2Y43a904nM7Ii43kk=",
+ "requires": {
+ "adm-zip": "^0.4.11",
+ "arraybuffer-to-buffer": "0.0.4",
+ "blob-to-buffer": "^1.2.8",
+ "graceful-fs": "^4.1.11",
+ "is-array-buffer": "^1.0.1",
+ "is-blob": "^1.0.0",
+ "isutf8": "^2.0.2",
+ "lodash": "^4.17.10",
+ "steno": "^0.4.4",
+ "tempfile": "^2.0.0",
+ "webpack": "^4.16.5"
+ }
+ },
+ "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"
+ }
+ },
+ "loader-runner": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz",
+ "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c="
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz",
+ "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
+ "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+ "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz",
+ "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+ },
+ "lodash.unescape": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz",
+ "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz",
+ "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "log4js": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npm.taobao.org/log4js/download/log4js-6.1.0.tgz",
+ "integrity": "sha1-USaBVK2y612KWUssd/Akp38EcmU=",
+ "requires": {
+ "date-format": "^3.0.0",
+ "debug": "^4.1.1",
+ "flatted": "^2.0.1",
+ "rfdc": "^1.1.4",
+ "streamroller": "^2.2.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+ }
+ }
+ },
+ "long": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
+ "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
+ "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "lower-case-first": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/lower-case-first/download/lower-case-first-1.0.2.tgz",
+ "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.2"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz",
+ "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz",
+ "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
+ "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+ }
+ }
+ },
+ "make-error": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.5.tgz",
+ "integrity": "sha1-7+ToH22yjK3WBccPKcgxtY73dsg=",
+ "dev": true
+ },
+ "mamacro": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz",
+ "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q="
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ },
+ "map-stream": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz",
+ "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "matcher": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmatcher%2Fdownload%2Fmatcher-1.1.1.tgz",
+ "integrity": "sha1-UdgwHhOPhAmCszixFrsMCa9iwcI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.4"
+ }
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz",
+ "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz",
+ "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=",
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537376335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "dev": true
+ },
+ "merge-estraverse-visitors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz",
+ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz",
+ "integrity": "sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=",
+ "dev": true
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
+ "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
+ "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE="
+ },
+ "mime-db": {
+ "version": "1.42.0",
+ "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.42.0.tgz?cache=0&sync_timestamp=1569468742433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.42.0.tgz",
+ "integrity": "sha1-PiUpB7THrbkGWXtLZWNics+ee6w=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.25",
+ "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.25.tgz?cache=0&sync_timestamp=1573568362177&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.25.tgz",
+ "integrity": "sha1-OXctRmIfk+KoCoVsU7hqYhVqZDc=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.42.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz",
+ "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
+ "dev": true
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc="
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz",
+ "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
+ "requires": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^3.0.0",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&sync_timestamp=1561409514276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz",
+ "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "mm": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npm.taobao.org/mm/download/mm-2.5.0.tgz",
+ "integrity": "sha1-37mTdiwUaLWRxMT81H3/Re0BN4o=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.0.0",
+ "ko-sleep": "^1.0.2",
+ "muk-prop": "^1.0.0",
+ "thenify": "^3.2.1"
+ }
+ },
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.24.0.tgz",
+ "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=",
+ "dev": true
+ },
+ "moment-timezone": {
+ "version": "0.5.27",
+ "resolved": "https://registry.npm.taobao.org/moment-timezone/download/moment-timezone-0.5.27.tgz?cache=0&sync_timestamp=1571207551387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment-timezone%2Fdownload%2Fmoment-timezone-0.5.27.tgz",
+ "integrity": "sha1-c63sgTm2/jBFLnjyEPJ7HzRriHc=",
+ "dev": true,
+ "requires": {
+ "moment": ">= 2.9.0"
+ }
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "requires": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "muk-prop": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/muk-prop/download/muk-prop-1.2.1.tgz",
+ "integrity": "sha1-QPo9bpNVOyAWqft32JGFaMV64U0=",
+ "dev": true
+ },
+ "multi-stage-sourcemap": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz",
+ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.1.34"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "multimatch": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmultimatch%2Fdownload%2Fmultimatch-2.1.0.tgz",
+ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
+ "dev": true,
+ "requires": {
+ "array-differ": "^1.0.0",
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "minimatch": "^3.0.0"
+ }
+ },
+ "mustache": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npm.taobao.org/mustache/download/mustache-2.3.2.tgz",
+ "integrity": "sha1-ptTZw/kdEzWauImoEpVPkjCj0MU=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "dev": true
+ },
+ "mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz",
+ "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=",
+ "requires": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "mz-modules": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/mz-modules/download/mz-modules-2.1.0.tgz",
+ "integrity": "sha1-f1KYd6/Q1C9AmnRjuWmG1hz7z5Y=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.2",
+ "ko-sleep": "^1.0.3",
+ "mkdirp": "^0.5.1",
+ "pump": "^3.0.0",
+ "rimraf": "^2.6.1"
+ }
+ },
+ "nan": {
+ "version": "2.14.0",
+ "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz",
+ "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=",
+ "optional": true
+ },
+ "nanoid": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npm.taobao.org/nanoid/download/nanoid-2.1.7.tgz?cache=0&sync_timestamp=1573870884741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-2.1.7.tgz",
+ "integrity": "sha1-13Xj58ZHC7qq49qaZHqA4ijgq/c=",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
+ "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "ndir": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npm.taobao.org/ndir/download/ndir-0.1.5.tgz",
+ "integrity": "sha1-EgiR12l7u+ghTP7/CWAgYNNFRVg=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
+ "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
+ "dev": true
+ },
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz",
+ "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw="
+ },
+ "netmask": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/netmask/download/netmask-1.0.6.tgz",
+ "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU="
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz",
+ "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://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-environment-flags": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/node-environment-flags/download/node-environment-flags-1.0.5.tgz",
+ "integrity": "sha1-+pMCdfW/Xa4YjWGSsktMi7rD12o=",
+ "dev": true,
+ "requires": {
+ "object.getownpropertydescriptors": "^2.0.3",
+ "semver": "^5.7.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "node-homedir": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/node-homedir/download/node-homedir-1.1.1.tgz",
+ "integrity": "sha1-c22wtg47uoq6aN+ZJ95Ap6q+EHU=",
+ "dev": true
+ },
+ "node-libs-browser": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-libs-browser%2Fdownload%2Fnode-libs-browser-2.2.1.tgz",
+ "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=",
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ },
+ "dependencies": {
+ "buffer": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz",
+ "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "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="
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "safe-buffer": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz",
+ "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk="
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz",
+ "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ }
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU="
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "nunjucks": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/nunjucks/download/nunjucks-3.2.0.tgz",
+ "integrity": "sha1-U+lfQ8lVXoIuiVAAiiAbEALUmTM=",
+ "dev": true,
+ "requires": {
+ "a-sync-waterfall": "^1.0.0",
+ "asap": "^2.0.3",
+ "chokidar": "^2.0.0",
+ "yargs": "^3.32.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.1",
+ "cliui": "^3.0.3",
+ "decamelize": "^1.1.1",
+ "os-locale": "^1.4.0",
+ "string-width": "^1.0.1",
+ "window-size": "^0.1.4",
+ "y18n": "^3.2.0"
+ }
+ }
+ }
+ },
+ "nyc": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz?cache=0&sync_timestamp=1574101913226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnyc%2Fdownload%2Fnyc-13.3.0.tgz",
+ "integrity": "sha1-2k2+kanIuerT9PM0THbzU+PHjHU=",
+ "dev": true,
+ "requires": {
+ "archy": "^1.0.0",
+ "arrify": "^1.0.1",
+ "caching-transform": "^3.0.1",
+ "convert-source-map": "^1.6.0",
+ "find-cache-dir": "^2.0.0",
+ "find-up": "^3.0.0",
+ "foreground-child": "^1.5.6",
+ "glob": "^7.1.3",
+ "istanbul-lib-coverage": "^2.0.3",
+ "istanbul-lib-hook": "^2.0.3",
+ "istanbul-lib-instrument": "^3.1.0",
+ "istanbul-lib-report": "^2.0.4",
+ "istanbul-lib-source-maps": "^3.0.2",
+ "istanbul-reports": "^2.1.1",
+ "make-dir": "^1.3.0",
+ "merge-source-map": "^1.1.0",
+ "resolve-from": "^4.0.0",
+ "rimraf": "^2.6.3",
+ "signal-exit": "^3.0.2",
+ "spawn-wrap": "^1.4.2",
+ "test-exclude": "^5.1.0",
+ "uuid": "^3.3.2",
+ "yargs": "^12.0.5",
+ "yargs-parser": "^11.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "append-transform": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "^2.0.0"
+ }
+ },
+ "archy": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.11"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "caching-transform": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hasha": "^3.0.0",
+ "make-dir": "^1.3.0",
+ "package-hash": "^3.0.0",
+ "write-file-atomic": "^2.3.0"
+ }
+ },
+ "camelcase": {
+ "version": "5.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "commander": {
+ "version": "2.17.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "4.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "default-require-extensions": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es6-error": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^1.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "foreground-child": {
+ "version": "1.5.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^4",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.15",
+ "bundled": true,
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "async": "^2.5.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "hasha": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-stream": "^1.0.1"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "bundled": true,
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "istanbul-lib-coverage": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "append-transform": "^1.0.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "2.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^2.0.3",
+ "make-dir": "^1.3.0",
+ "supports-color": "^6.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^2.0.3",
+ "make-dir": "^1.3.0",
+ "rimraf": "^2.6.2",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "handlebars": "^4.1.0"
+ }
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "bundled": true,
+ "dev": true
+ },
+ "lodash.flattendeep": {
+ "version": "4.4.0",
+ "bundled": true,
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "mem": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^1.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.10",
+ "bundled": true,
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "package-hash": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.15",
+ "hasha": "^3.0.0",
+ "lodash.flattendeep": "^4.4.0",
+ "release-zalgo": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
+ "release-zalgo": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "es6-error": "^4.0.1"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.10.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "bundled": true,
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "spawn-wrap": {
+ "version": "1.4.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "foreground-child": "^1.5.6",
+ "mkdirp": "^0.5.0",
+ "os-homedir": "^1.0.1",
+ "rimraf": "^2.6.2",
+ "signal-exit": "^3.0.2",
+ "which": "^1.3.0"
+ }
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "test-exclude": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "read-pkg-up": "^4.0.0",
+ "require-main-filename": "^1.0.1"
+ }
+ },
+ "uglify-js": {
+ "version": "3.4.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "commander": "~2.17.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "uuid": {
+ "version": "3.3.2",
+ "bundled": true,
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "2.4.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^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=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1573451929207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz",
+ "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
+ "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz",
+ "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.entries": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.0.tgz",
+ "integrity": "sha1-ICT8bWuiRq7ji9sP/Vz7zzcbdRk=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.fromentries": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.1.tgz",
+ "integrity": "sha1-BQ8HeFXHr4rmZJ9FyAsW7i0x5wQ=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.15.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.values": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.0.tgz",
+ "integrity": "sha1-v2gQ712j5TJXkOqqK+IT6oRiTak=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz",
+ "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
+ "dev": true
+ }
+ }
+ },
+ "only": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npm.taobao.org/only/download/only-0.0.2.tgz",
+ "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
+ "dev": true
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz",
+ "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
+ },
+ "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",
+ "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "os-name": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/os-name/download/os-name-1.0.3.tgz",
+ "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=",
+ "requires": {
+ "osx-release": "^1.0.0",
+ "win-release": "^1.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osx-release": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/osx-release/download/osx-release-1.1.0.tgz",
+ "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=",
+ "requires": {
+ "minimist": "^1.1.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&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-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz",
+ "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.1.tgz",
+ "integrity": "sha1-qgeniMwxUck5tRMfY1cPDdIAlTc=",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
+ "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+ "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+ },
+ "pac-proxy-agent": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/pac-proxy-agent/download/pac-proxy-agent-3.0.1.tgz",
+ "integrity": "sha1-EVseWPkldsrC66cYWTynsON94q0=",
+ "requires": {
+ "agent-base": "^4.2.0",
+ "debug": "^4.1.1",
+ "get-uri": "^2.0.0",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^3.0.0",
+ "pac-resolver": "^3.0.0",
+ "raw-body": "^2.2.0",
+ "socks-proxy-agent": "^4.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+ }
+ }
+ },
+ "pac-resolver": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/pac-resolver/download/pac-resolver-3.0.0.tgz",
+ "integrity": "sha1-auoweH2wqJFwTet4AKcip2FabyY=",
+ "requires": {
+ "co": "^4.6.0",
+ "degenerator": "^1.0.4",
+ "ip": "^1.1.5",
+ "netmask": "^1.0.6",
+ "thunkify": "^2.1.2"
+ }
+ },
+ "pako": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz",
+ "integrity": "sha1-Qyi621CGpCaqkPVBl31JVdpclzI="
+ },
+ "parallel-transform": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz",
+ "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
+ "requires": {
+ "cyclist": "^1.0.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz",
+ "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz",
+ "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=",
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
+ "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
+ "dev": true
+ },
+ "pascal-case": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-2.0.1.tgz",
+ "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=",
+ "dev": true,
+ "requires": {
+ "camel-case": "^3.0.0",
+ "upper-case-first": "^1.1.0"
+ }
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+ },
+ "path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz",
+ "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo="
+ },
+ "path-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/path-case/download/path-case-2.1.1.tgz",
+ "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441376633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
+ "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz?cache=0&sync_timestamp=1574278262588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-1.8.0.tgz",
+ "integrity": "sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz",
+ "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pause-stream": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz",
+ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
+ "requires": {
+ "through": "~2.3"
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz",
+ "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=",
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "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
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
+ "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ }
+ }
+ },
+ "platform": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npm.taobao.org/platform/download/platform-1.3.5.tgz",
+ "integrity": "sha1-+2lYxpbgfikY0u7aDwvJRI1zNEQ=",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+ },
+ "power-assert": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npm.taobao.org/power-assert/download/power-assert-1.6.1.tgz",
+ "integrity": "sha1-soy8Aq6Aiv0UMdDNUJOjmsWlsf4=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "empower": "^1.3.1",
+ "power-assert-formatter": "^1.4.1",
+ "universal-deep-strict-equal": "^1.2.1",
+ "xtend": "^4.0.0"
+ }
+ },
+ "power-assert-context-formatter": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.2.0.tgz",
+ "integrity": "sha1-j75yaSKI7FpyA83yFci4OKYGHSo=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "power-assert-context-traversal": "^1.2.0"
+ }
+ },
+ "power-assert-context-reducer-ast": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.2.0.tgz",
+ "integrity": "sha1-x8ocnjmm+3F/esX+nnbhkr9SXfM=",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.0.0",
+ "acorn-es7-plugin": "^1.0.12",
+ "core-js": "^2.0.0",
+ "espurify": "^1.6.0",
+ "estraverse": "^4.2.0"
+ }
+ },
+ "power-assert-context-traversal": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.2.0.tgz",
+ "integrity": "sha1-9ucUVLr2QN5cHJwnA0n1yasLLpQ=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "estraverse": "^4.1.0"
+ }
+ },
+ "power-assert-formatter": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz",
+ "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "power-assert-context-formatter": "^1.0.7",
+ "power-assert-context-reducer-ast": "^1.0.7",
+ "power-assert-renderer-assertion": "^1.0.7",
+ "power-assert-renderer-comparison": "^1.0.7",
+ "power-assert-renderer-diagram": "^1.0.7",
+ "power-assert-renderer-file": "^1.0.7"
+ }
+ },
+ "power-assert-renderer-assertion": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.2.0.tgz",
+ "integrity": "sha1-Pbb/zaEGs3vB4GQyrQ10imgrFHo=",
+ "dev": true,
+ "requires": {
+ "power-assert-renderer-base": "^1.1.1",
+ "power-assert-util-string-width": "^1.2.0"
+ }
+ },
+ "power-assert-renderer-base": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz",
+ "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=",
+ "dev": true
+ },
+ "power-assert-renderer-comparison": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.2.0.tgz",
+ "integrity": "sha1-5PiBEyJaab6KpYbq0FrvmUYsBJU=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "diff-match-patch": "^1.0.0",
+ "power-assert-renderer-base": "^1.1.1",
+ "stringifier": "^1.3.0",
+ "type-name": "^2.0.1"
+ }
+ },
+ "power-assert-renderer-diagram": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.2.0.tgz",
+ "integrity": "sha1-N/ZuhULlZ3xbWObXKwHA2aMOIhk=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "power-assert-renderer-base": "^1.1.1",
+ "power-assert-util-string-width": "^1.2.0",
+ "stringifier": "^1.3.0"
+ }
+ },
+ "power-assert-renderer-file": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.2.0.tgz",
+ "integrity": "sha1-P0vr2eFFXXXPKsVB57tRWofUzks=",
+ "dev": true,
+ "requires": {
+ "power-assert-renderer-base": "^1.1.1"
+ }
+ },
+ "power-assert-util-string-width": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.2.0.tgz",
+ "integrity": "sha1-bgbV41gbuHbF03fFMQn/+pW9kaA=",
+ "dev": true,
+ "requires": {
+ "eastasianwidth": "^0.2.0"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
+ "printable": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npm.taobao.org/printable/download/printable-0.0.3.tgz",
+ "integrity": "sha1-9lPLObIUt4BJrhQD4vsF10ptUOA=",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+ "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz",
+ "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
+ "dev": true
+ },
+ "promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ },
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz",
+ "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
+ "proxy-agent": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npm.taobao.org/proxy-agent/download/proxy-agent-3.1.1.tgz",
+ "integrity": "sha1-fgTga/Nq+mJKFUC+JHtHyXC9MBQ=",
+ "requires": {
+ "agent-base": "^4.2.0",
+ "debug": "4",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^3.0.0",
+ "lru-cache": "^5.1.1",
+ "pac-proxy-agent": "^3.0.1",
+ "proxy-from-env": "^1.0.0",
+ "socks-proxy-agent": "^4.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+ }
+ }
+ },
+ "proxy-from-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/proxy-from-env/download/proxy-from-env-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-from-env%2Fdownload%2Fproxy-from-env-1.0.0.tgz",
+ "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4="
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
+ },
+ "ps-tree": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/ps-tree/download/ps-tree-1.2.0.tgz",
+ "integrity": "sha1-XnQluJUIc2zdTyIk0Cj3uz9yLr0=",
+ "dev": true,
+ "requires": {
+ "event-stream": "=3.3.4"
+ }
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz",
+ "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+ "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz",
+ "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ },
+ "dependencies": {
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz",
+ "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
+ "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
+ },
+ "qs": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.9.1.tgz",
+ "integrity": "sha1-IAgsZct4IjY1qxqerKiHWim/jsk="
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ },
+ "random-bytes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/random-bytes/download/random-bytes-1.0.0.tgz",
+ "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
+ "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
+ "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "raw-body": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.1.tgz",
+ "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=",
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.3",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "react-is": {
+ "version": "16.12.0",
+ "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.12.0.tgz?cache=0&sync_timestamp=1574324698951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.12.0.tgz",
+ "integrity": "sha1-LMD+D7p0LZf9UnxCoTvsTusGJBw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-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"
+ }
+ },
+ "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"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
+ "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "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="
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+ "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1571011714883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
+ "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "ready-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/ready-callback/download/ready-callback-2.1.0.tgz",
+ "integrity": "sha1-44Kp4zpWi413HgTvTvDrAtPfp+A=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.0",
+ "get-ready": "^2.0.0",
+ "once": "^1.4.0",
+ "uuid": "^3.0.1"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz",
+ "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "babel-types": "^6.19.0",
+ "private": "^0.1.6"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz",
+ "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz",
+ "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz?cache=0&sync_timestamp=1571560326473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz",
+ "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.12.2.tgz?cache=0&sync_timestamp=1574410485547&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.12.2.tgz",
+ "integrity": "sha1-CLEkltmqhlnHX1NKjwXw2JL/9ZQ=",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-files": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/resolve-files/download/resolve-files-1.0.2.tgz",
+ "integrity": "sha1-WnIRi5L6c5T/LYYF0fw3Ppw+kO8=",
+ "dev": true,
+ "requires": {
+ "crequire": "^1.8.0",
+ "debug": "^2.6.3"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz",
+ "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
+ },
+ "rfdc": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.1.4.tgz",
+ "integrity": "sha1-unLME2egzNnPgahws7WL060H+MI="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz",
+ "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
+ "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "rndm": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/rndm/download/rndm-1.2.0.tgz",
+ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=",
+ "dev": true
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
+ "requires": {
+ "is-promise": "^2.1.0"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "requires": {
+ "aproba": "^1.1.1"
+ }
+ },
+ "rxjs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.3.tgz?cache=0&sync_timestamp=1568815796923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.5.3.tgz",
+ "integrity": "sha1-UQ4mMX9NuRp+sd532d2boKSJmjo=",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+ "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz?cache=0&sync_timestamp=1571687334026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-regex%2Fdownload%2Fsafe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safe-timers": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/safe-timers/download/safe-timers-1.1.0.tgz",
+ "integrity": "sha1-xYroMl2407BnMi8KTvOgytZ6rYM=",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz",
+ "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
+ "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "scmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/scmp/download/scmp-2.0.0.tgz",
+ "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo=",
+ "dev": true
+ },
+ "sdk-base": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npm.taobao.org/sdk-base/download/sdk-base-3.6.0.tgz",
+ "integrity": "sha1-fO4fo6gf3GGywg0RMMh2X42Q5Yg=",
+ "dev": true,
+ "requires": {
+ "await-event": "^2.1.0",
+ "await-first": "^1.0.0",
+ "co": "^4.6.0",
+ "is-type-of": "^1.2.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ },
+ "sendmessage": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/sendmessage/download/sendmessage-1.1.0.tgz",
+ "integrity": "sha1-EKJFzuLVDHWfHgmiNHe5FJbQnjU=",
+ "dev": true
+ },
+ "sentence-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/sentence-case/download/sentence-case-2.1.1.tgz",
+ "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case-first": "^1.1.2"
+ }
+ },
+ "serialize-javascript": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz",
+ "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s="
+ },
+ "serialize-json": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/serialize-json/download/serialize-json-1.0.3.tgz",
+ "integrity": "sha1-4ECu7XZHl/w3TnhuxDi23zr/B6Q=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.6",
+ "is-type-of": "^1.2.1",
+ "utility": "^1.15.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz",
+ "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.1.tgz",
+ "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM="
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
+ "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz?cache=0&sync_timestamp=1567809451758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-command%2Fdownload%2Fshebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz",
+ "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ }
+ }
+ },
+ "smart-buffer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz",
+ "integrity": "sha1-kWBcJdkWUvRmHqacz0XxszHKIbo="
+ },
+ "snake-case": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/snake-case/download/snake-case-2.1.0.tgz",
+ "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
+ "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "socks": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npm.taobao.org/socks/download/socks-2.3.3.tgz?cache=0&sync_timestamp=1573063369351&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsocks%2Fdownload%2Fsocks-2.3.3.tgz",
+ "integrity": "sha1-ARKfCl1TTSuJdxLtis6rfuZdeOM=",
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "^4.1.0"
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npm.taobao.org/socks-proxy-agent/download/socks-proxy-agent-4.0.2.tgz",
+ "integrity": "sha1-PImR8xRbJ5nnDhG9X7yLGWMRY4Y=",
+ "requires": {
+ "agent-base": "~4.2.1",
+ "socks": "~2.3.2"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz",
+ "integrity": "sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk=",
+ "requires": {
+ "es6-promisify": "^5.0.0"
+ }
+ }
+ }
+ },
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz",
+ "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=",
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz",
+ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz",
+ "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=",
+ "dev": true
+ },
+ "split": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npm.taobao.org/split/download/split-0.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsplit%2Fdownload%2Fsplit-0.3.3.tgz",
+ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
+ "dev": true,
+ "requires": {
+ "through": "2"
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
+ "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz?cache=0&sync_timestamp=1571961736774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.1.tgz",
+ "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=",
+ "requires": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz",
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "steno": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npm.taobao.org/steno/download/steno-0.4.4.tgz",
+ "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=",
+ "requires": {
+ "graceful-fs": "^4.1.3"
+ }
+ },
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz",
+ "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-combiner": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.0.4.tgz",
+ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
+ "dev": true,
+ "requires": {
+ "duplexer": "~0.1.1"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz",
+ "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz",
+ "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+ },
+ "stream-slice": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npm.taobao.org/stream-slice/download/stream-slice-0.1.2.tgz",
+ "integrity": "sha1-LcT04bk2+xPz6zmi3vGTJ5jQeks=",
+ "dev": true
+ },
+ "stream-wormhole": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/stream-wormhole/download/stream-wormhole-1.1.0.tgz",
+ "integrity": "sha1-MAr/Rs7VU8/sZCoFJRiFQXaTwz0=",
+ "dev": true
+ },
+ "streamroller": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.3.tgz?cache=0&sync_timestamp=1573511244868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstreamroller%2Fdownload%2Fstreamroller-2.2.3.tgz",
+ "integrity": "sha1-uVyfrUTi6JAF0kIUFIaztJYsLSg=",
+ "requires": {
+ "date-format": "^2.1.0",
+ "debug": "^4.1.1",
+ "fs-extra": "^8.1.0"
+ },
+ "dependencies": {
+ "date-format": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz",
+ "integrity": "sha1-MdW16iEc9f12TNOLr50DPffhJc8="
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+ }
+ }
+ },
+ "streamsearch": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npm.taobao.org/streamsearch/download/streamsearch-0.1.2.tgz",
+ "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.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",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.0.tgz",
+ "integrity": "sha1-bMR/DX641isPNwFhFxWjlUWR1jQ=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.0.tgz",
+ "integrity": "sha1-Zp0WS+nfm291WfqOiZRbFopabFg=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ },
+ "stringifier": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/stringifier/download/stringifier-1.4.0.tgz",
+ "integrity": "sha1-1wRYFWf0UmJl0A7Y7LNUoCw/7Cg=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.0.0",
+ "traverse": "^0.6.6",
+ "type-name": "^2.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "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": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npm.taobao.org/superagent/download/superagent-3.8.3.tgz",
+ "integrity": "sha1-Rg6g29t9WxG8T3jeulZfhqF44Sg=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "^1.2.0",
+ "cookiejar": "^2.1.0",
+ "debug": "^3.1.0",
+ "extend": "^3.0.0",
+ "form-data": "^2.3.1",
+ "formidable": "^1.2.0",
+ "methods": "^1.1.1",
+ "mime": "^1.4.1",
+ "qs": "^6.5.1",
+ "readable-stream": "^2.3.5"
+ }
+ },
+ "supertest": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npm.taobao.org/supertest/download/supertest-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupertest%2Fdownload%2Fsupertest-4.0.2.tgz",
+ "integrity": "sha1-wiNNvdbcebbxW5nI1ld7kOTOPzY=",
+ "dev": true,
+ "requires": {
+ "methods": "^1.1.2",
+ "superagent": "^3.8.3"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "swap-case": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/swap-case/download/swap-case-1.1.2.tgz",
+ "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.1",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1565881929670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz",
+ "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "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",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz",
+ "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I="
+ },
+ "tcp-base": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/tcp-base/download/tcp-base-3.1.0.tgz",
+ "integrity": "sha1-NUWL+MCiGgys9QkrTHWKU7OTF8E=",
+ "dev": true,
+ "requires": {
+ "is-type-of": "^1.0.0",
+ "sdk-base": "^3.1.1"
+ }
+ },
+ "tcp-proxy.js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npm.taobao.org/tcp-proxy.js/download/tcp-proxy.js-1.3.0.tgz",
+ "integrity": "sha1-EO1T41lCGAZmlr39tyAMKVEqp50=",
+ "dev": true,
+ "requires": {
+ "debug": "^3.0.1",
+ "through2": "^2.0.3"
+ }
+ },
+ "temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/temp-dir/download/temp-dir-1.0.0.tgz",
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0="
+ },
+ "tempfile": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/tempfile/download/tempfile-2.0.0.tgz",
+ "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+ "requires": {
+ "temp-dir": "^1.0.0",
+ "uuid": "^3.0.1"
+ }
+ },
+ "terser": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.4.0.tgz",
+ "integrity": "sha1-IsRrSBfPTJVlQ0v+atRzNq8lmsM=",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "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="
+ },
+ "source-map-support": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
+ "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.1.tgz",
+ "integrity": "sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ=",
+ "requires": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^1.7.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.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="
+ }
+ }
+ },
+ "test-exclude": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npm.taobao.org/test-exclude/download/test-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"
+ },
+ "dependencies": {
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
+ "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
+ "dev": true
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "thenify": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz",
+ "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
+ "requires": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz",
+ "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
+ "requires": {
+ "thenify": ">= 3.1.0 < 4"
+ }
+ },
+ "throat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthroat%2Fdownload%2Fthroat-4.1.0.tgz",
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz",
+ "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "thunkify": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/thunkify/download/thunkify-2.1.2.tgz",
+ "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0="
+ },
+ "timers-browserify": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz",
+ "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=",
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "title-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/title-case/download/title-case-2.1.1.tgz",
+ "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.0.3"
+ }
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz",
+ "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz?cache=0&sync_timestamp=1573620967166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz",
+ "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
+ "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM="
+ },
+ "traverse": {
+ "version": "0.6.6",
+ "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
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "ts-node": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npm.taobao.org/ts-node/download/ts-node-7.0.1.tgz?cache=0&sync_timestamp=1573786919672&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-node%2Fdownload%2Fts-node-7.0.1.tgz",
+ "integrity": "sha1-lWLcLR5tJI0kvFX3c+P2FDN9m68=",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.0",
+ "buffer-from": "^1.1.0",
+ "diff": "^3.1.0",
+ "make-error": "^1.1.1",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.5.6",
+ "yn": "^2.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "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
+ },
+ "source-map-support": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572389965235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz",
+ "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "yn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyn%2Fdownload%2Fyn-2.0.0.tgz",
+ "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
+ "dev": true
+ }
+ }
+ },
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz",
+ "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo="
+ },
+ "tsscmp": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz",
+ "integrity": "sha1-hbmVg6w1iexL/vgltQAKqRHWBes=",
+ "dev": true
+ },
+ "tsutils": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz?cache=0&sync_timestamp=1565180136064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.17.1.tgz",
+ "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
+ },
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz",
+ "integrity": "sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
+ "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "type-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz",
+ "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "typescript": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npm.taobao.org/typescript/download/typescript-3.7.2.tgz",
+ "integrity": "sha1-J+SJuV+lkJRF6f717kjYFpetGPs=",
+ "dev": true
+ },
+ "uid-safe": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npm.taobao.org/uid-safe/download/uid-safe-2.1.5.tgz",
+ "integrity": "sha1-Kz1cckDo/C5Y+Komnl7knAhXvTo=",
+ "dev": true,
+ "requires": {
+ "random-bytes": "~1.0.0"
+ }
+ },
+ "unescape": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/unescape/download/unescape-1.0.1.tgz",
+ "integrity": "sha1-lW5DD2HK2KTVfYLFGPXmzF0N2pY=",
+ "requires": {
+ "extend-shallow": "^2.0.1"
+ }
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz",
+ "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz",
+ "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz",
+ "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=",
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "universal-deep-strict-equal": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz",
+ "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
+ "dev": true,
+ "requires": {
+ "array-filter": "^1.0.0",
+ "indexof": "0.0.1",
+ "object-keys": "^1.0.0"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz",
+ "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ },
+ "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="
+ }
+ }
+ },
+ "upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz",
+ "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ="
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ },
+ "upper-case-first": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-1.1.2.tgz",
+ "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=",
+ "dev": true,
+ "requires": {
+ "upper-case": "^1.1.1"
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz",
+ "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urijs": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npm.taobao.org/urijs/download/urijs-1.19.2.tgz",
+ "integrity": "sha1-+b4J8AxMUTS3yzz0dcHdOUUmJlo=",
+ "dev": true
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+ }
+ }
+ },
+ "urllib": {
+ "version": "2.34.1",
+ "resolved": "https://registry.npm.taobao.org/urllib/download/urllib-2.34.1.tgz",
+ "integrity": "sha1-BpsWA6k6uYLfGuyEIBbqy0QjJs8=",
+ "requires": {
+ "any-promise": "^1.3.0",
+ "content-type": "^1.0.2",
+ "debug": "^2.6.9",
+ "default-user-agent": "^1.0.0",
+ "digest-header": "^0.0.1",
+ "ee-first": "~1.1.1",
+ "formstream": "^1.1.0",
+ "humanize-ms": "^1.2.0",
+ "iconv-lite": "^0.4.15",
+ "ip": "^1.1.5",
+ "proxy-agent": "^3.1.0",
+ "pump": "^3.0.0",
+ "qs": "^6.4.0",
+ "statuses": "^1.3.1",
+ "utility": "^1.16.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
+ "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8="
+ },
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz",
+ "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "utility": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npm.taobao.org/utility/download/utility-1.16.3.tgz?cache=0&sync_timestamp=1574243892588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futility%2Fdownload%2Futility-1.16.3.tgz",
+ "integrity": "sha1-Xf0R3nTmv92CbMShZ+YwHZL0tw0=",
+ "requires": {
+ "copy-to": "^2.0.1",
+ "escape-html": "^1.0.3",
+ "mkdirp": "^0.5.1",
+ "mz": "^2.7.0",
+ "unescape": "^1.0.1"
+ }
+ },
+ "uuid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.3.tgz?cache=0&sync_timestamp=1566221202613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.3.tgz",
+ "integrity": "sha1-RWjwIW54dg7h2/Ok0s9T4iQRKGY="
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "dev": true
+ },
+ "vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870772154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz",
+ "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA="
+ },
+ "watchpack": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz",
+ "integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=",
+ "requires": {
+ "chokidar": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ }
+ },
+ "webpack": {
+ "version": "4.41.2",
+ "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.41.2.tgz",
+ "integrity": "sha1-w07Hbao6hGjJthpQM22OMwPc504=",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/wasm-edit": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "acorn": "^6.2.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.1.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.1",
+ "watchpack": "^1.6.0",
+ "webpack-sources": "^1.4.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
+ "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4="
+ }
+ }
+ },
+ "webpack-sources": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz",
+ "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
+ "requires": {
+ "source-list-map": "^2.0.0",
+ "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="
+ }
+ }
+ },
+ "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",
+ "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
+ "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "win-release": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz",
+ "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+ "requires": {
+ "semver": "^5.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+ }
+ }
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
+ "dev": true
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
+ "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w="
+ },
+ "worker-farm": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz",
+ "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=",
+ "requires": {
+ "errno": "~0.1.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",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz",
+ "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "wt": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/wt/download/wt-1.2.0.tgz",
+ "integrity": "sha1-tMvjTB9QpWpUM6ndqMvbfGLjvN8=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0",
+ "ndir": "^0.1.5",
+ "sdk-base": "^2.0.1"
+ },
+ "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"
+ }
+ },
+ "get-ready": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/get-ready/download/get-ready-1.0.0.tgz",
+ "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=",
+ "dev": true
+ },
+ "sdk-base": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/sdk-base/download/sdk-base-2.0.1.tgz",
+ "integrity": "sha1-ukAonovfJy7RHdnql+r5jgNtJMY=",
+ "dev": true,
+ "requires": {
+ "get-ready": "~1.0.0"
+ }
+ }
+ }
+ },
+ "xregexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/xregexp/download/xregexp-2.0.0.tgz",
+ "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM="
+ },
+ "xss": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/xss/download/xss-1.0.6.tgz",
+ "integrity": "sha1-6vEen8R2464omUShAJ793YoSS1E=",
+ "dev": true,
+ "requires": {
+ "commander": "^2.9.0",
+ "cssfilter": "0.0.10"
+ }
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",
+ "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q="
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz",
+ "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms="
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
+ "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0="
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz",
+ "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz",
+ "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ },
+ "yargs-unparser": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npm.taobao.org/yargs-unparser/download/yargs-unparser-1.6.0.tgz?cache=0&sync_timestamp=1564464725506&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-unparser%2Fdownload%2Fyargs-unparser-1.6.0.tgz",
+ "integrity": "sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8=",
+ "dev": true,
+ "requires": {
+ "flat": "^4.1.0",
+ "lodash": "^4.17.15",
+ "yargs": "^13.3.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1573557628456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+ "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
+ "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
+ "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
+ "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
+ "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",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz",
+ "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.0.tgz",
+ "integrity": "sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM=",
+ "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.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz",
+ "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "ylru": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz",
+ "integrity": "sha1-9Xa2M0FUeYnB3nuiiHYJI7J/6E8=",
+ "dev": true
+ },
+ "yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyn%2Fdownload%2Fyn-3.1.1.tgz",
+ "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=",
+ "dev": true
+ },
+ "ypkgfiles": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npm.taobao.org/ypkgfiles/download/ypkgfiles-1.6.0.tgz",
+ "integrity": "sha1-a65VZhYKbJNPVzUBmH9pFiRQY1E=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.1",
+ "glob": "^7.1.1",
+ "is-type-of": "^1.0.0",
+ "resolve-files": "^1.0.0",
+ "yargs": "^7.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "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"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index d3aadef..3537482 100644
--- a/package.json
+++ b/package.json
@@ -1,66 +1,63 @@
-{
- "name": "egg-echat",
- "version": "1.0.8",
- "description": "基于nodejs的企业微信快速开发SDK",
- "eggPlugin": {
- "name": "echat"
- },
- "keywords": [
- "egg",
- "eggPlugin",
- "egg-plugin"
- ],
- "dependencies": {
- "fast-xml-parser": "^3.15.0",
- "humanize-ms": "^1.2.1",
- "lndb": "0.0.3",
- "log4js": "^6.1.0",
- "urllib": "^2.34.1"
- },
- "devDependencies": {
- "autod": "^3.0.1",
- "autod-egg": "^1.1.0",
- "egg": "^2.16.0",
- "egg-bin": "^4.11.0",
- "egg-ci": "^1.11.0",
- "egg-mock": "^3.21.0",
- "eslint": "^5.13.0",
- "eslint-config-egg": "^7.1.0"
- },
- "engines": {
- "node": ">=8.0.0"
- },
- "scripts": {
- "test": "npm run lint -- --fix && egg-bin pkgfiles && npm run test-local",
- "test-local": "egg-bin test",
- "cov": "egg-bin cov",
- "lint": "eslint .",
- "ci": "egg-bin pkgfiles --check && npm run lint && npm run cov",
- "pkgfiles": "egg-bin pkgfiles",
- "autod": "autod"
- },
- "files": [
- "app.js",
- "agent.js",
- "config",
- "app",
- "lib",
- "doc"
- ],
- "ci": {
- "version": "8, 10"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/Shijf/egg-echat.git"
- },
- "bugs": {
- "url": "https://github.com/Shijf/egg-echat/issues"
- },
- "publishConfig": {
- "registry": "https://npm.pkg.github.com/"
- },
- "homepage": "https://blog.sharef.top/egg-echat",
- "author": "",
- "license": "MIT"
-}
\ No newline at end of file
+{
+ "name": "egg-echat",
+ "version": "1.0.9",
+ "description": "基于nodejs的企业微信快速开发SDK",
+ "eggPlugin": {
+ "name": "echat"
+ },
+ "keywords": [
+ "egg",
+ "eggPlugin",
+ "egg-plugin"
+ ],
+ "dependencies": {
+ "fast-xml-parser": "^3.15.0",
+ "humanize-ms": "^1.2.1",
+ "lndb": "0.0.3",
+ "log4js": "^6.1.0",
+ "urllib": "^2.34.1"
+ },
+ "devDependencies": {
+ "autod": "^3.0.1",
+ "autod-egg": "^1.1.0",
+ "egg": "^2.16.0",
+ "egg-bin": "^4.11.0",
+ "egg-ci": "^1.11.0",
+ "egg-mock": "^3.21.0",
+ "eslint": "^5.13.0",
+ "eslint-config-egg": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "scripts": {
+ "test": "npm run lint -- --fix && egg-bin pkgfiles && npm run test-local",
+ "test-local": "egg-bin test",
+ "cov": "egg-bin cov",
+ "lint": "eslint .",
+ "ci": "egg-bin pkgfiles --check && npm run lint && npm run cov",
+ "pkgfiles": "egg-bin pkgfiles",
+ "autod": "autod"
+ },
+ "files": [
+ "app.js",
+ "agent.js",
+ "config",
+ "app",
+ "lib",
+ "doc"
+ ],
+ "ci": {
+ "version": "8, 10"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/Shijf/egg-echat.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Shijf/egg-echat/issues"
+ },
+ "homepage": "https://blog.sharef.top/egg-echat",
+ "author": "",
+ "license": "MIT"
+}
diff --git a/test/echat.test.js b/test/echat.test.js
index 217c958..00088fd 100644
--- a/test/echat.test.js
+++ b/test/echat.test.js
@@ -1,23 +1,23 @@
-'use strict';
-
-const mock = require('egg-mock');
-
-describe('test/echat.test.js', () => {
- let app;
- before(() => {
- app = mock.app({
- baseDir: 'apps/echat-test',
- });
- return app.ready();
- });
-
- after(() => app.close());
- afterEach(mock.restore);
-
- it('should GET /', () => {
- return app.httpRequest()
- .get('/')
- .expect('hi, echat')
- .expect(200);
- });
-});
+'use strict';
+
+const mock = require('egg-mock');
+
+describe('test/echat.test.js', () => {
+ let app;
+ before(() => {
+ app = mock.app({
+ baseDir: 'apps/echat-test',
+ });
+ return app.ready();
+ });
+
+ after(() => app.close());
+ afterEach(mock.restore);
+
+ it('should GET /', () => {
+ return app.httpRequest()
+ .get('/')
+ .expect('hi, echat')
+ .expect(200);
+ });
+});
diff --git a/test/fixtures/apps/echat-test/app/controller/home.js b/test/fixtures/apps/echat-test/app/controller/home.js
index a122698..1035923 100644
--- a/test/fixtures/apps/echat-test/app/controller/home.js
+++ b/test/fixtures/apps/echat-test/app/controller/home.js
@@ -1,11 +1,11 @@
-'use strict';
-
-const Controller = require('egg').Controller;
-
-class HomeController extends Controller {
- async index() {
- this.ctx.body = 'hi, ' + this.app.plugins.echat.name;
- }
-}
-
-module.exports = HomeController;
+'use strict';
+
+const Controller = require('egg').Controller;
+
+class HomeController extends Controller {
+ async index() {
+ this.ctx.body = 'hi, ' + this.app.plugins.echat.name;
+ }
+}
+
+module.exports = HomeController;
diff --git a/test/fixtures/apps/echat-test/app/router.js b/test/fixtures/apps/echat-test/app/router.js
index 4547a88..083d2ad 100644
--- a/test/fixtures/apps/echat-test/app/router.js
+++ b/test/fixtures/apps/echat-test/app/router.js
@@ -1,7 +1,7 @@
-'use strict';
-
-module.exports = app => {
- const { router, controller } = app;
-
- router.get('/', controller.home.index);
-};
+'use strict';
+
+module.exports = app => {
+ const { router, controller } = app;
+
+ router.get('/', controller.home.index);
+};
diff --git a/test/fixtures/apps/echat-test/config/config.default.js b/test/fixtures/apps/echat-test/config/config.default.js
index c997e00..cc97004 100644
--- a/test/fixtures/apps/echat-test/config/config.default.js
+++ b/test/fixtures/apps/echat-test/config/config.default.js
@@ -1,3 +1,3 @@
-'use strict';
-
-exports.keys = '123456';
+'use strict';
+
+exports.keys = '123456';
diff --git a/test/fixtures/apps/echat-test/package.json b/test/fixtures/apps/echat-test/package.json
index 928ebff..6e9f2f0 100644
--- a/test/fixtures/apps/echat-test/package.json
+++ b/test/fixtures/apps/echat-test/package.json
@@ -1,4 +1,4 @@
-{
- "name": "echat-test",
- "version": "0.0.1"
+{
+ "name": "echat-test",
+ "version": "0.0.1"
}
\ No newline at end of file