diff --git a/.gitignore b/.gitignore
index 51e69e9..251accb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,11 @@
-package-lock.json
npm-debug.log
node_modules/
dist/
.nyc_output/
-coverage/
\ No newline at end of file
+coverage/
+server/static/
+server/upload/
+server/report/
+server/yarn-error.log
+.vscode/
+data/
\ No newline at end of file
diff --git a/docker-compose-build.yml b/docker-compose-build.yml
new file mode 100644
index 0000000..fc74dfb
--- /dev/null
+++ b/docker-compose-build.yml
@@ -0,0 +1,39 @@
+# 离线构建版本,减少pull镜像时间
+version: "2"
+services:
+ web:
+ build:
+ context: ./web
+ dockerfile: Dockerfile
+ container_name: api-web
+ working_dir: /etc/nginx/
+ tty: true
+ stdin_open: true
+ restart: always
+ ports:
+ - 2017:2017
+ depends_on:
+ - server
+ server:
+ build:
+ context: ./server
+ dockerfile: Dockerfile
+ container_name: api-server
+ working_dir: /app
+ tty: true
+ stdin_open: true
+ restart: always
+ ports:
+ - 2018:2018
+ depends_on:
+ - db
+ db:
+ image: mongo:3
+ container_name: api-db
+ tty: true
+ stdin_open: true
+ restart: always
+ volumes:
+ - ./data:/data
+ ports:
+ - 27001:27017
\ No newline at end of file
diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml
new file mode 100644
index 0000000..03270a6
--- /dev/null
+++ b/docker-compose-dev.yml
@@ -0,0 +1,45 @@
+# 开发环境
+version: "2"
+services:
+ api-web-dev:
+ build:
+ context: ./web
+ dockerfile: Dockerfile4dev
+ image: bestapi_web:dev
+ container_name: api-web-dev
+ working_dir: /app
+ tty: true
+ stdin_open: true
+ environment:
+ SERVER_HOST: api-server-dev
+ volumes:
+ - ./web:/app
+ ports:
+ - 20170:2017
+ depends_on:
+ - api-server-dev
+ api-server-dev:
+ build:
+ context: ./server
+ dockerfile: Dockerfile4dev
+ image: bestapi_server:dev
+ container_name: api-server-dev
+ working_dir: /app
+ tty: true
+ stdin_open: true
+ volumes:
+ - ./server:/app
+ ports:
+ - 20180:2018
+ - 8102:5858
+ depends_on:
+ - api-db-dev
+ api-db-dev:
+ image: mongo:3
+ container_name: api-db-dev
+ volumes:
+ - api_db_data:/data
+ ports:
+ - 27000:27017
+volumes:
+ api_db_data:
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index defac72..103f31f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,39 +1,28 @@
-version: "3"
+# 生产环境
+version: "2"
services:
- web:
- build:
- context: ./web
+ api-web:
+ image: yalishizhude/bestapi-web
container_name: api-web
- working_dir: /app
tty: true
stdin_open: true
- volumes:
- - api_web_modules:/app/node_modules
- - ./web:/app
- ports:
- - 2017:2017
- command: npm run compose
- server:
- build:
- context: ./server
+ restart: always
+ network_mode: host
+ depends_on:
+ - api-server
+ api-server:
+ image: yalishizhude/bestapi-server
container_name: api-server
- working_dir: /app
tty: true
stdin_open: true
- volumes:
- - api_server_modules:/app/node_modules
- - ./server:/app
- ports:
- - 2018:2018
- - 8102:5858
- command: npm run compose
+ restart: always
+ network_mode: host
depends_on:
- - db
- db:
- image: mongo:latest
+ - api-db
+ api-db:
+ image: mongo:3
container_name: api-db
- ports:
- - 27018:27017
-volumes:
- api_web_modules:
- api_server_modules:
\ No newline at end of file
+ restart: always
+ network_mode: host
+ volumes:
+ - ./data:/data
\ No newline at end of file
diff --git a/readme.md b/readme.md
index e639d0e..2af86c6 100644
--- a/readme.md
+++ b/readme.md
@@ -1,9 +1,3 @@
# 功能点
-* API模板。可以通过模板来创建新的API
* 导出模板。可以通过html模板导出成想要文档
* 开放API。支持调用接口访问API信息
-* API参数增加枚举类型。
-* API版本信息可编辑
-
-#
-### element-ui官方未提供 d.ts模块声明文件,若在src里添加vue-shimes.d.ts,会造成karma测试不通过,暂时手动在node_module/element-ui/下,添加index.d.ts文件
diff --git a/server/Dockerfile b/server/Dockerfile
index 12fd7c9..6dedd9f 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -1,11 +1,14 @@
# api-server
-FROM node:7-alpine
+FROM node:8
RUN mkdir /app
RUN chmod 777 /app
WORKDIR /app
VOLUME ["/app"]
EXPOSE 2018
-
COPY ./Hongkong /etc/localtime
RUN npm set registry https://registry.npm.taobao.org
-RUN npm i -g pm2 nodemon typescript
\ No newline at end of file
+RUN yarn global add pm2
+COPY ./template /app/template
+COPY ./node_modules /app/node_modules
+COPY ./dist /app
+ENTRYPOINT pm2-docker start ./app.js
\ No newline at end of file
diff --git a/server/Dockerfile4dev b/server/Dockerfile4dev
new file mode 100644
index 0000000..0a9a122
--- /dev/null
+++ b/server/Dockerfile4dev
@@ -0,0 +1,12 @@
+# api-server
+FROM node:8
+RUN mkdir /app
+RUN chmod 777 /app
+WORKDIR /app
+VOLUME ["/app"]
+EXPOSE 2018
+ENV DB_HOST=api-db-dev
+COPY ./Hongkong /etc/localtime
+RUN npm set registry https://registry.npm.taobao.org
+RUN yarn global add nodemon typescript@2.4
+RUN echo "请执行 npm run init 安装依赖"
\ No newline at end of file
diff --git a/server/_Dockerfile b/server/_Dockerfile
new file mode 100644
index 0000000..b724780
--- /dev/null
+++ b/server/_Dockerfile
@@ -0,0 +1,13 @@
+# api-server
+FROM node:8
+RUN mkdir /app
+RUN chmod 777 /app
+WORKDIR /app
+EXPOSE 2018
+
+COPY ./Hongkong /etc/localtime
+RUN npm set registry https://registry.npm.taobao.org
+RUN npm i -g pm2
+ENV DB_HOST=api-db
+COPY ./ /app
+ENTRYPOINT pm2 start --name api-server ./dist/app.js && bash
\ No newline at end of file
diff --git a/server/npm-shrinkwrap.json b/server/npm-shrinkwrap.json
new file mode 100644
index 0000000..2f2d4fe
--- /dev/null
+++ b/server/npm-shrinkwrap.json
@@ -0,0 +1,6484 @@
+{
+ "name": "api-server",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@ava/babel-plugin-throws-helper": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/@ava/babel-plugin-throws-helper/download/@ava/babel-plugin-throws-helper-2.0.0.tgz",
+ "integrity": "sha1-L8H+PCEacQcaTsp7j3r1hCzRrnw=",
+ "dev": true
+ },
+ "@ava/babel-preset-stage-4": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/@ava/babel-preset-stage-4/download/@ava/babel-preset-stage-4-1.1.0.tgz",
+ "integrity": "sha1-rmC+iBoLq/fTX1Krp3DR9hlPdr0=",
+ "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.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "package-hash": "1.2.0"
+ },
+ "dependencies": {
+ "md5-hex": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/md5-hex/download/md5-hex-1.3.0.tgz",
+ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=",
+ "dev": true,
+ "requires": {
+ "md5-o-matic": "0.1.1"
+ }
+ },
+ "package-hash": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/package-hash/download/package-hash-1.2.0.tgz",
+ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=",
+ "dev": true,
+ "requires": {
+ "md5-hex": "1.3.0"
+ }
+ }
+ }
+ },
+ "@ava/babel-preset-transform-test-files": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/@ava/babel-preset-transform-test-files/download/@ava/babel-preset-transform-test-files-3.0.0.tgz",
+ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=",
+ "dev": true,
+ "requires": {
+ "@ava/babel-plugin-throws-helper": "2.0.0",
+ "babel-plugin-espower": "2.3.2"
+ }
+ },
+ "@ava/write-file-atomic": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/@ava/write-file-atomic/download/@ava/write-file-atomic-2.2.0.tgz",
+ "integrity": "sha1-1iUEbzSV8fXjchNfRzkJaEtCkkc=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
+ }
+ },
+ "@concordance/react": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/@concordance/react/download/@concordance/react-1.0.0.tgz",
+ "integrity": "sha1-/PPK0CDlEhv9HGHQW8NRaqwl9zQ=",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1"
+ }
+ },
+ "accepts": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "requires": {
+ "mime-types": "2.1.16",
+ "negotiator": "0.6.1"
+ }
+ },
+ "ajv": {
+ "version": "5.3.0",
+ "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.3.0.tgz",
+ "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=",
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ansi-align": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-align/download/ansi-align-2.0.0.tgz",
+ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1"
+ }
+ },
+ "ansi-escapes": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-2.0.0.tgz",
+ "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
+ },
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
+ "dev": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
+ },
+ "argparse": {
+ "version": "1.0.9",
+ "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-exclude": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/arr-exclude/download/arr-exclude-1.0.0.tgz",
+ "integrity": "sha1-38fC5VKicHI8zaBM8xKMjL/lxjE=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+ },
+ "async": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz",
+ "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=",
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "auto-bind": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/auto-bind/download/auto-bind-1.1.0.tgz",
+ "integrity": "sha1-k7hk3H7gGjJigXddXHXKCnUeWWE=",
+ "dev": true
+ },
+ "ava": {
+ "version": "0.22.0",
+ "resolved": "http://registry.npm.taobao.org/ava/download/ava-0.22.0.tgz",
+ "integrity": "sha1-TCih/e9+dJugyBMawYp8pInu8Ek=",
+ "dev": true,
+ "requires": {
+ "@ava/babel-preset-stage-4": "1.1.0",
+ "@ava/babel-preset-transform-test-files": "3.0.0",
+ "@ava/write-file-atomic": "2.2.0",
+ "@concordance/react": "1.0.0",
+ "ansi-escapes": "2.0.0",
+ "ansi-styles": "3.2.0",
+ "arr-flatten": "1.1.0",
+ "array-union": "1.0.2",
+ "array-uniq": "1.0.3",
+ "arrify": "1.0.1",
+ "auto-bind": "1.1.0",
+ "ava-init": "0.2.1",
+ "babel-core": "6.26.0",
+ "bluebird": "3.5.1",
+ "caching-transform": "1.0.1",
+ "chalk": "2.3.0",
+ "chokidar": "1.7.0",
+ "clean-stack": "1.3.0",
+ "clean-yaml-object": "0.1.0",
+ "cli-cursor": "2.1.0",
+ "cli-spinners": "1.1.0",
+ "cli-truncate": "1.1.0",
+ "co-with-promise": "4.6.0",
+ "code-excerpt": "2.1.0",
+ "common-path-prefix": "1.0.0",
+ "concordance": "3.0.0",
+ "convert-source-map": "1.5.0",
+ "core-assert": "0.2.1",
+ "currently-unhandled": "0.4.1",
+ "debug": "2.6.8",
+ "dot-prop": "4.2.0",
+ "empower-core": "0.6.2",
+ "equal-length": "1.0.1",
+ "figures": "2.0.0",
+ "find-cache-dir": "1.0.0",
+ "fn-name": "2.0.1",
+ "get-port": "3.2.0",
+ "globby": "6.1.0",
+ "has-flag": "2.0.0",
+ "hullabaloo-config-manager": "1.1.1",
+ "ignore-by-default": "1.0.1",
+ "import-local": "0.1.1",
+ "indent-string": "3.2.0",
+ "is-ci": "1.0.10",
+ "is-generator-fn": "1.0.0",
+ "is-obj": "1.0.1",
+ "is-observable": "0.2.0",
+ "is-promise": "2.1.0",
+ "js-yaml": "3.10.0",
+ "last-line-stream": "1.0.0",
+ "lodash.clonedeepwith": "4.5.0",
+ "lodash.debounce": "4.0.8",
+ "lodash.difference": "4.5.0",
+ "lodash.flatten": "4.4.0",
+ "loud-rejection": "1.6.0",
+ "make-dir": "1.1.0",
+ "matcher": "1.0.0",
+ "md5-hex": "2.0.0",
+ "meow": "3.7.0",
+ "ms": "2.0.0",
+ "multimatch": "2.1.0",
+ "observable-to-promise": "0.5.0",
+ "option-chain": "1.0.0",
+ "package-hash": "2.0.0",
+ "pkg-conf": "2.0.0",
+ "plur": "2.1.2",
+ "pretty-ms": "2.1.0",
+ "require-precompiled": "0.1.0",
+ "resolve-cwd": "2.0.0",
+ "safe-buffer": "5.1.1",
+ "slash": "1.0.0",
+ "source-map-support": "0.4.18",
+ "stack-utils": "1.0.1",
+ "strip-ansi": "4.0.0",
+ "strip-bom-buf": "1.0.0",
+ "supports-color": "4.5.0",
+ "time-require": "0.1.2",
+ "trim-off-newlines": "1.0.1",
+ "unique-temp-dir": "1.0.0",
+ "update-notifier": "2.3.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.1",
+ "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz",
+ "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://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": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "ava-init": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/ava-init/download/ava-init-0.2.1.tgz",
+ "integrity": "sha1-daxMhVMyYpDShm5jti+nA1aEvVg=",
+ "dev": true,
+ "requires": {
+ "arr-exclude": "1.0.0",
+ "execa": "0.7.0",
+ "has-yarn": "1.0.0",
+ "read-pkg-up": "2.0.0",
+ "write-pkg": "3.1.0"
+ }
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+ },
+ "axios": {
+ "version": "0.16.2",
+ "resolved": "http://registry.npm.taobao.org/axios/download/axios-0.16.2.tgz",
+ "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=",
+ "requires": {
+ "follow-redirects": "1.2.5",
+ "is-buffer": "1.1.6"
+ }
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz",
+ "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
+ "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.0",
+ "debug": "2.6.8",
+ "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"
+ }
+ },
+ "babel-eslint": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz",
+ "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz",
+ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "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"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ }
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "http://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": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "http://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.26.0"
+ }
+ },
+ "babel-plugin-espower": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-espower/download/babel-plugin-espower-2.3.2.tgz",
+ "integrity": "sha1-VRa4/NsmyfDh2BYHSfbkxl5xJx4=",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.0",
+ "babylon": "6.18.0",
+ "call-matcher": "1.0.1",
+ "core-js": "2.5.0",
+ "espower-location-detector": "1.0.0",
+ "espurify": "1.7.0",
+ "estraverse": "4.2.0"
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "resolved": "http://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-exponentiation-operator": {
+ "version": "6.13.0",
+ "resolved": "http://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-trailing-function-commas": {
+ "version": "6.22.0",
+ "resolved": "http://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-to-generator": {
+ "version": "6.24.1",
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "http://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.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
+ "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-parameters": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "http://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.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "6.24.1",
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-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.18"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "2.5.0",
+ "regenerator-runtime": "0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "http://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.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "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"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "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.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base64url": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/base64url/download/base64url-2.0.0.tgz",
+ "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "binary-extensions": {
+ "version": "1.10.0",
+ "resolved": "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.10.0.tgz",
+ "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "2.10.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz",
+ "integrity": "sha1-AkpVFylTCIV/FPkfEQb8O1VfRGs="
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "boxen": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npm.taobao.org/boxen/download/boxen-1.2.2.tgz",
+ "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=",
+ "dev": true,
+ "requires": {
+ "ansi-align": "2.0.0",
+ "camelcase": "4.1.0",
+ "chalk": "2.3.0",
+ "cli-boxes": "1.0.0",
+ "string-width": "2.1.1",
+ "term-size": "1.2.0",
+ "widest-line": "1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "bson": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz",
+ "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw="
+ },
+ "buf-compare": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/buf-compare/download/buf-compare-1.0.1.tgz",
+ "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=",
+ "dev": true
+ },
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
+ },
+ "build": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/build/download/build-0.1.4.tgz",
+ "integrity": "sha1-cH/gJv/O3crL/c3zVur9pk8VEEY=",
+ "dev": true,
+ "requires": {
+ "cssmin": "0.3.2",
+ "jsmin": "1.0.1",
+ "jxLoader": "0.1.1",
+ "moo-server": "1.3.0",
+ "promised-io": "0.3.5",
+ "timespan": "2.3.0",
+ "uglify-js": "1.3.5",
+ "walker": "1.0.7",
+ "winston": "2.4.0",
+ "wrench": "1.3.9"
+ }
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "caching-transform": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/caching-transform/download/caching-transform-1.0.1.tgz",
+ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=",
+ "dev": true,
+ "requires": {
+ "md5-hex": "1.3.0",
+ "mkdirp": "0.5.1",
+ "write-file-atomic": "1.3.4"
+ },
+ "dependencies": {
+ "md5-hex": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/md5-hex/download/md5-hex-1.3.0.tgz",
+ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=",
+ "dev": true,
+ "requires": {
+ "md5-o-matic": "0.1.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-1.3.4.tgz",
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
+ }
+ }
+ }
+ },
+ "call-matcher": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/call-matcher/download/call-matcher-1.0.1.tgz",
+ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.5.0",
+ "deep-equal": "1.0.1",
+ "espurify": "1.7.0",
+ "estraverse": "4.2.0"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+ },
+ "call-signature": {
+ "version": "0.0.2",
+ "resolved": "http://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz",
+ "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ }
+ },
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/capture-stack-trace/download/capture-stack-trace-1.0.0.tgz",
+ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/ci-info/download/ci-info-1.1.1.tgz",
+ "integrity": "sha1-R7RN8RjEjSWXtW00Ln4leRBgFxo=",
+ "dev": true
+ },
+ "clean-stack": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/clean-stack/download/clean-stack-1.3.0.tgz",
+ "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=",
+ "dev": true
+ },
+ "clean-yaml-object": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/clean-yaml-object/download/clean-yaml-object-0.1.0.tgz",
+ "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=",
+ "dev": true
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/cli-boxes/download/cli-boxes-1.0.0.tgz",
+ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.1.0.tgz",
+ "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=",
+ "dev": true
+ },
+ "cli-truncate": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/cli-truncate/download/cli-truncate-1.1.0.tgz",
+ "integrity": "sha1-Ky39g8U8/TVyuH/E1DCoCK+wQIY=",
+ "dev": true,
+ "requires": {
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "co-with-promise": {
+ "version": "4.6.0",
+ "resolved": "http://registry.npm.taobao.org/co-with-promise/download/co-with-promise-4.6.0.tgz",
+ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "1.0.0"
+ }
+ },
+ "code-excerpt": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/code-excerpt/download/code-excerpt-2.1.0.tgz",
+ "integrity": "sha1-XcwIHoj0p+O1VOnjXX7yMtR/gUc=",
+ "dev": true,
+ "requires": {
+ "convert-to-spaces": "1.0.2"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "1.9.1",
+ "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz",
+ "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz",
+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.11.0",
+ "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz",
+ "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=",
+ "optional": true
+ },
+ "common-path-prefix": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/common-path-prefix/download/common-path-prefix-1.0.0.tgz",
+ "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concordance": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/concordance/download/concordance-3.0.0.tgz",
+ "integrity": "sha1-sihq9UQF/JlfxzRbCxBtjdBzyyk=",
+ "dev": true,
+ "requires": {
+ "date-time": "2.1.0",
+ "esutils": "2.0.2",
+ "fast-diff": "1.1.2",
+ "function-name-support": "0.2.0",
+ "js-string-escape": "1.0.1",
+ "lodash.clonedeep": "4.5.0",
+ "lodash.flattendeep": "4.4.0",
+ "lodash.merge": "4.6.0",
+ "md5-hex": "2.0.0",
+ "semver": "5.4.1",
+ "well-known-symbols": "1.0.0"
+ }
+ },
+ "configstore": {
+ "version": "3.1.1",
+ "resolved": "http://registry.npm.taobao.org/configstore/download/configstore-3.1.1.tgz",
+ "integrity": "sha1-CU7mYquD+tmRdnjeEU+q6o/NypA=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "4.2.0",
+ "graceful-fs": "4.1.11",
+ "make-dir": "1.1.0",
+ "unique-string": "1.0.0",
+ "write-file-atomic": "2.3.0",
+ "xdg-basedir": "3.0.0"
+ }
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
+ },
+ "content-type": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+ "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
+ },
+ "convert-source-map": {
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz",
+ "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=",
+ "dev": true
+ },
+ "convert-to-spaces": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/convert-to-spaces/download/convert-to-spaces-1.0.2.tgz",
+ "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=",
+ "dev": true
+ },
+ "cookies": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.0.tgz",
+ "integrity": "sha1-C8lh2RDDUlSYD8fJ7/XaEgEbvwA=",
+ "requires": {
+ "depd": "1.1.1",
+ "keygrip": "1.0.1"
+ }
+ },
+ "core-assert": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/core-assert/download/core-assert-0.2.1.tgz",
+ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=",
+ "dev": true,
+ "requires": {
+ "buf-compare": "1.0.1",
+ "is-error": "2.2.1"
+ }
+ },
+ "core-js": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz",
+ "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "create-error-class": {
+ "version": "3.0.2",
+ "resolved": "http://registry.npm.taobao.org/create-error-class/download/create-error-class-3.0.2.tgz",
+ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "dev": true,
+ "requires": {
+ "capture-stack-trace": "1.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "requires": {
+ "boom": "2.10.1"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "cssmin": {
+ "version": "0.3.2",
+ "resolved": "http://registry.npm.taobao.org/cssmin/download/cssmin-0.3.2.tgz",
+ "integrity": "sha1-3c5MVHtRCuDVlKjx+/iq+OLFwA0=",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
+ },
+ "cycle": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/cycle/download/cycle-1.0.3.tgz",
+ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "date-time": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/date-time/download/date-time-2.1.0.tgz",
+ "integrity": "sha1-AobRtMdpYzs8oT4eYlWNLb3C66I=",
+ "dev": true,
+ "requires": {
+ "time-zone": "1.0.0"
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+ },
+ "deref": {
+ "version": "0.7.1",
+ "resolved": "http://registry.npm.taobao.org/deref/download/deref-0.7.1.tgz",
+ "integrity": "sha1-/gbyAyyjwiLFjHweld24BzL4RoE=",
+ "requires": {
+ "deep-extend": "0.4.2"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "diff": {
+ "version": "3.4.0",
+ "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.4.0.tgz",
+ "integrity": "sha1-sdhVB9rzlkgo3lSzfQ1zumfdpWw=",
+ "dev": true
+ },
+ "discontinuous-range": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/discontinuous-range/download/discontinuous-range-1.0.0.tgz",
+ "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo="
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "http://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
+ },
+ "ecdsa-sig-formatter": {
+ "version": "1.0.9",
+ "resolved": "http://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.9.tgz",
+ "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=",
+ "requires": {
+ "base64url": "2.0.0",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "empower-core": {
+ "version": "0.6.2",
+ "resolved": "http://registry.npm.taobao.org/empower-core/download/empower-core-0.6.2.tgz",
+ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=",
+ "dev": true,
+ "requires": {
+ "call-signature": "0.0.2",
+ "core-js": "2.5.0"
+ }
+ },
+ "equal-length": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/equal-length/download/equal-length-1.0.1.tgz",
+ "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "error-inject": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz",
+ "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc="
+ },
+ "es6-error": {
+ "version": "4.0.2",
+ "resolved": "http://registry.npm.taobao.org/es6-error/download/es6-error-4.0.2.tgz",
+ "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg=",
+ "dev": true
+ },
+ "es6-promise": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz",
+ "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "espower-location-detector": {
+ "version": "1.0.0",
+ "resolved": "http://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.2",
+ "path-is-absolute": "1.0.1",
+ "source-map": "0.5.7",
+ "xtend": "4.0.1"
+ }
+ },
+ "esprima": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz",
+ "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ="
+ },
+ "espurify": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/espurify/download/espurify-1.7.0.tgz",
+ "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.5.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "http://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "eyes": {
+ "version": "0.1.8",
+ "resolved": "http://registry.npm.taobao.org/eyes/download/eyes-0.1.8.tgz",
+ "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
+ },
+ "fast-diff": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz",
+ "integrity": "sha1-S2LEK44D3j+EhGC2OQeZIGldAVQ=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "find-cache-dir": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz",
+ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "make-dir": "1.1.0",
+ "pkg-dir": "2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ },
+ "fn-name": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/fn-name/download/fn-name-2.0.1.tgz",
+ "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.2.5",
+ "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.2.5.tgz",
+ "integrity": "sha1-/9PhTL3V6qcvYbY2jB9oUWwqJsw=",
+ "requires": {
+ "debug": "2.6.9"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.16"
+ }
+ },
+ "format-util": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/format-util/download/format-util-1.0.3.tgz",
+ "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU="
+ },
+ "formatio": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/formatio/download/formatio-1.2.0.tgz",
+ "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
+ "dev": true,
+ "requires": {
+ "samsam": "1.3.0"
+ }
+ },
+ "formidable": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/formidable/download/formidable-1.1.1.tgz",
+ "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak="
+ },
+ "fresh": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
+ "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "function-name-support": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/function-name-support/download/function-name-support-0.2.0.tgz",
+ "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=",
+ "dev": true
+ },
+ "get-port": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/get-port/download/get-port-3.2.0.tgz",
+ "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "global-dirs": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.0.tgz",
+ "integrity": "sha1-ENNAOeDfBCcuJizyQiT3IJQ0308=",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.4"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "http://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ },
+ "dependencies": {
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "http://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": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ }
+ }
+ },
+ "got": {
+ "version": "6.7.1",
+ "resolved": "http://registry.npm.taobao.org/got/download/got-6.7.1.tgz",
+ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "3.0.2",
+ "duplexer3": "0.1.4",
+ "get-stream": "3.0.0",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.0",
+ "safe-buffer": "5.1.1",
+ "timed-out": "4.0.1",
+ "unzip-response": "2.0.1",
+ "url-parse-lax": "1.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ }
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-color": {
+ "version": "0.1.7",
+ "resolved": "http://registry.npm.taobao.org/has-color/download/has-color-0.1.7.tgz",
+ "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "has-yarn": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/has-yarn/download/has-yarn-1.0.0.tgz",
+ "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=",
+ "dev": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "http://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.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "hooks-fixed": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.0.tgz",
+ "integrity": "sha1-oB2JTVKsf2WZu7H2PfycQR33DLo="
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=",
+ "dev": true
+ },
+ "http-assert": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.3.0.tgz",
+ "integrity": "sha1-oxpc+IyHPsu1eWkH1NbxMujAHko=",
+ "requires": {
+ "deep-equal": "1.0.1",
+ "http-errors": "1.6.2"
+ }
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1"
+ }
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.13.1"
+ }
+ },
+ "hullabaloo-config-manager": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/hullabaloo-config-manager/download/hullabaloo-config-manager-1.1.1.tgz",
+ "integrity": "sha1-HZEXgTEprQNf2ehHfq8GaREmn+M=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "4.2.0",
+ "es6-error": "4.0.2",
+ "graceful-fs": "4.1.11",
+ "indent-string": "3.2.0",
+ "json5": "0.5.1",
+ "lodash.clonedeep": "4.5.0",
+ "lodash.clonedeepwith": "4.5.0",
+ "lodash.isequal": "4.5.0",
+ "lodash.merge": "4.6.0",
+ "md5-hex": "2.0.0",
+ "package-hash": "2.0.0",
+ "pkg-dir": "2.0.0",
+ "resolve-from": "3.0.0",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
+ }
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/ignore-by-default/download/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
+ "dev": true
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "import-local": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/import-local/download/import-local-0.1.1.tgz",
+ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "2.0.0",
+ "resolve-cwd": "2.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "irregular-plurals": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/irregular-plurals/download/irregular-plurals-1.4.0.tgz",
+ "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=",
+ "dev": true
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "http://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": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "1.10.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-ci": {
+ "version": "1.0.10",
+ "resolved": "http://registry.npm.taobao.org/is-ci/download/is-ci-1.0.10.tgz",
+ "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=",
+ "dev": true,
+ "requires": {
+ "ci-info": "1.1.1"
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-error": {
+ "version": "2.2.1",
+ "resolved": "http://registry.npm.taobao.org/is-error/download/is-error-2.2.1.tgz",
+ "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=",
+ "dev": true
+ },
+ "is-es6-generator-function": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-es6-generator-function/download/is-es6-generator-function-1.0.0.tgz",
+ "integrity": "sha1-+3+MoUPZC2PSSPswo5b295ql23s=",
+ "requires": {
+ "is-generator-function-name": "1.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://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-fn": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-1.0.0.tgz",
+ "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.6.tgz",
+ "integrity": "sha1-nnFlPNFf/zQcecQVFGChMdMen8Q="
+ },
+ "is-generator-function-name": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-generator-function-name/download/is-generator-function-name-1.0.0.tgz",
+ "integrity": "sha1-JU//n/VrXdmnjBKUU6sZ5ZO2Lz4="
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz",
+ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
+ "requires": {
+ "global-dirs": "0.1.0",
+ "is-path-inside": "1.0.0"
+ }
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-npm/download/is-npm-1.0.0.tgz",
+ "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-observable": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/is-observable/download/is-observable-0.2.0.tgz",
+ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "0.2.4"
+ },
+ "dependencies": {
+ "symbol-observable": {
+ "version": "0.2.4",
+ "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-0.2.4.tgz",
+ "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=",
+ "dev": true
+ }
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.0.tgz",
+ "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-redirect/download/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "is-url": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npm.taobao.org/is-url/download/is-url-1.2.2.tgz",
+ "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "js-string-escape": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/js-string-escape/download/js-string-escape-1.0.1.tgz",
+ "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ },
+ "js-yaml": {
+ "version": "3.10.0",
+ "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "jsmin": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/jsmin/download/jsmin-1.0.1.tgz",
+ "integrity": "sha1-570NzWSWw79IYyNb9GGj2YqjuYw=",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "json-schema-faker": {
+ "version": "0.5.0-rc9",
+ "resolved": "http://registry.npm.taobao.org/json-schema-faker/download/json-schema-faker-0.5.0-rc9.tgz",
+ "integrity": "sha1-yv8wpFX0+LJnxZdGuzqXVBQIfBE=",
+ "requires": {
+ "deref": "0.7.1",
+ "json-schema-ref-parser": "3.3.1",
+ "randexp": "0.4.6",
+ "tslib": "1.8.0"
+ }
+ },
+ "json-schema-ref-parser": {
+ "version": "3.3.1",
+ "resolved": "http://registry.npm.taobao.org/json-schema-ref-parser/download/json-schema-ref-parser-3.3.1.tgz",
+ "integrity": "sha1-hudRuAmTV79gGnz+QtEBI+6QajI=",
+ "requires": {
+ "call-me-maybe": "1.0.1",
+ "debug": "3.1.0",
+ "es6-promise": "4.1.1",
+ "js-yaml": "3.10.0",
+ "ono": "4.0.2",
+ "z-schema": "3.19.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "es6-promise": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.1.1.tgz",
+ "integrity": "sha1-iBHpCRXZoNujYnTwskLb2nj5ySo="
+ }
+ }
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsonwebtoken": {
+ "version": "8.1.0",
+ "resolved": "http://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.1.0.tgz",
+ "integrity": "sha1-xjl80uX9WD1lwAeoPce7eOaYK4M=",
+ "requires": {
+ "jws": "3.1.4",
+ "lodash.includes": "4.3.0",
+ "lodash.isboolean": "3.0.3",
+ "lodash.isinteger": "4.0.4",
+ "lodash.isnumber": "3.0.3",
+ "lodash.isplainobject": "4.0.6",
+ "lodash.isstring": "4.0.1",
+ "lodash.once": "4.1.1",
+ "ms": "2.0.0",
+ "xtend": "4.0.1"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "just-extend": {
+ "version": "1.1.27",
+ "resolved": "http://registry.npm.taobao.org/just-extend/download/just-extend-1.1.27.tgz",
+ "integrity": "sha1-7G55QQ/5FORyZSq/oOYDwD1g6QU=",
+ "dev": true
+ },
+ "jwa": {
+ "version": "1.1.5",
+ "resolved": "http://registry.npm.taobao.org/jwa/download/jwa-1.1.5.tgz",
+ "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=",
+ "requires": {
+ "base64url": "2.0.0",
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.9",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "jws": {
+ "version": "3.1.4",
+ "resolved": "http://registry.npm.taobao.org/jws/download/jws-3.1.4.tgz",
+ "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=",
+ "requires": {
+ "base64url": "2.0.0",
+ "jwa": "1.1.5",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "jxLoader": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/jxLoader/download/jxLoader-0.1.1.tgz",
+ "integrity": "sha1-ATTqUUTlM7WU/B/yX/GU4jXFPs0=",
+ "dev": true,
+ "requires": {
+ "js-yaml": "0.3.7",
+ "moo-server": "1.3.0",
+ "promised-io": "0.3.5",
+ "walker": "1.0.7"
+ },
+ "dependencies": {
+ "js-yaml": {
+ "version": "0.3.7",
+ "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-0.3.7.tgz",
+ "integrity": "sha1-1znY7oZGHlSzVNan19HyrZoWf2I=",
+ "dev": true
+ }
+ }
+ },
+ "kareem": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.5.0.tgz",
+ "integrity": "sha1-4+QQHZ3P3imXadr0tNtk2JXRdEg="
+ },
+ "keygrip": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz",
+ "integrity": "sha1-sC+kgW7vIajEs1yp5Skh/8iaMOk="
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ },
+ "koa": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.3.0.tgz",
+ "integrity": "sha1-nh6OTaQBg5xXuFJ+rcV/dhJ1Vac=",
+ "requires": {
+ "accepts": "1.3.3",
+ "content-disposition": "0.5.2",
+ "content-type": "1.0.2",
+ "cookies": "0.7.0",
+ "debug": "2.6.8",
+ "delegates": "1.0.0",
+ "depd": "1.1.1",
+ "destroy": "1.0.4",
+ "error-inject": "1.0.0",
+ "escape-html": "1.0.3",
+ "fresh": "0.5.0",
+ "http-assert": "1.3.0",
+ "http-errors": "1.6.2",
+ "is-generator-function": "1.0.6",
+ "koa-compose": "4.0.0",
+ "koa-convert": "1.2.0",
+ "koa-is-json": "1.0.0",
+ "mime-types": "2.1.16",
+ "on-finished": "2.3.0",
+ "only": "0.0.2",
+ "parseurl": "1.3.1",
+ "statuses": "1.3.1",
+ "type-is": "1.6.15",
+ "vary": "1.1.1"
+ }
+ },
+ "koa-better-body": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/koa-better-body/download/koa-better-body-3.0.4.tgz",
+ "integrity": "sha1-3kn1ROTW4dmFj2xIgK7fK4rIh1k=",
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "formidable": "1.1.1",
+ "koa-body-parsers": "git+https://github.com/tunnckoCore/body-parsers.git#b515504ef0bfe3e04aa3dd13502d3d90c2d60956"
+ }
+ },
+ "koa-better-router": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/koa-better-router/download/koa-better-router-2.1.1.tgz",
+ "integrity": "sha1-hJhmRlkgS+37fLcvmcjKHxfWYo8=",
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-es6-generator-function": "1.0.0",
+ "koa-compose": "3.2.1",
+ "koa-convert": "1.2.0",
+ "lazy-cache": "2.0.2",
+ "methods": "1.1.2",
+ "path-match": "1.2.4"
+ },
+ "dependencies": {
+ "koa-compose": {
+ "version": "3.2.1",
+ "resolved": "http://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
+ "requires": {
+ "any-promise": "1.3.0"
+ }
+ }
+ }
+ },
+ "koa-body-parsers": {
+ "version": "git+https://github.com/tunnckoCore/body-parsers.git#b515504ef0bfe3e04aa3dd13502d3d90c2d60956",
+ "requires": {
+ "raw-body": "2.3.2"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs="
+ },
+ "raw-body": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ }
+ }
+ }
+ },
+ "koa-compose": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.0.0.tgz",
+ "integrity": "sha1-KAClE9nDYe8NY4UrA45Pby1adzw="
+ },
+ "koa-convert": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz",
+ "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
+ "requires": {
+ "co": "4.6.0",
+ "koa-compose": "3.2.1"
+ },
+ "dependencies": {
+ "koa-compose": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
+ "requires": {
+ "any-promise": "1.3.0"
+ }
+ }
+ }
+ },
+ "koa-is-json": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz",
+ "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ="
+ },
+ "koa-router": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-7.2.1.tgz",
+ "integrity": "sha1-tApKs8attLQIld69AKnGQDBOMDk=",
+ "requires": {
+ "debug": "2.6.8",
+ "http-errors": "1.6.2",
+ "koa-compose": "3.2.1",
+ "methods": "1.1.2",
+ "path-to-regexp": "1.7.0"
+ },
+ "dependencies": {
+ "koa-compose": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
+ "requires": {
+ "any-promise": "1.3.0"
+ }
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "last-line-stream": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/last-line-stream/download/last-line-stream-1.0.0.tgz",
+ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/latest-version/download/latest-version-3.1.0.tgz",
+ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "dev": true,
+ "requires": {
+ "package-json": "4.0.1"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "http://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.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "http://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"
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.clonedeepwith": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.clonedeepwith/download/lodash.clonedeepwith-4.5.0.tgz",
+ "integrity": "sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ=",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "http://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "dev": true
+ },
+ "lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.difference/download/lodash.difference-4.5.0.tgz",
+ "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
+ "dev": true
+ },
+ "lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.flatten/download/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
+ "dev": true
+ },
+ "lodash.flattendeep": {
+ "version": "4.4.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.flattendeep/download/lodash.flattendeep-4.4.0.tgz",
+ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+ "dev": true
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "http://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ },
+ "lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz",
+ "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
+ },
+ "lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "http://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+ },
+ "lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "http://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
+ },
+ "lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "http://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "http://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
+ },
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
+ },
+ "lodash.merge": {
+ "version": "4.6.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.0.tgz",
+ "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=",
+ "dev": true
+ },
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz",
+ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
+ },
+ "lolex": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/lolex/download/lolex-2.3.0.tgz",
+ "integrity": "sha1-1rrQ8Kpcrr/8/rsJ+yyqibqv9Rw=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz",
+ "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "make-dir": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.1.0.tgz",
+ "integrity": "sha1-GbQ2n+SMEW9Twq+VrRAsDjnoXVE=",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "http://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.4"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "matcher": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/matcher/download/matcher-1.0.0.tgz",
+ "integrity": "sha1-qvDEgW62m5IJRnQXViXzRmsOPhk=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
+ },
+ "md5-hex": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/md5-hex/download/md5-hex-2.0.0.tgz",
+ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=",
+ "dev": true,
+ "requires": {
+ "md5-o-matic": "0.1.1"
+ }
+ },
+ "md5-o-matic": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/md5-o-matic/download/md5-o-matic-0.1.1.tgz",
+ "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=",
+ "dev": true
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "http://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.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "http://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": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "http://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.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ }
+ }
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
+ },
+ "mime-db": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz",
+ "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
+ },
+ "mime-types": {
+ "version": "2.1.16",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz",
+ "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
+ "requires": {
+ "mime-db": "1.29.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz",
+ "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "mongodb": {
+ "version": "2.2.31",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.31.tgz",
+ "integrity": "sha1-GUBEXGYeGSF7s7+CRdmFSq71SNs=",
+ "requires": {
+ "es6-promise": "3.2.1",
+ "mongodb-core": "2.1.15",
+ "readable-stream": "2.2.7"
+ }
+ },
+ "mongodb-core": {
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.15.tgz",
+ "integrity": "sha1-hB9TuH//9MdFgYnDXIroJ+EWl2Q=",
+ "requires": {
+ "bson": "1.0.4",
+ "require_optional": "1.0.1"
+ }
+ },
+ "mongoose": {
+ "version": "4.11.7",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.11.7.tgz",
+ "integrity": "sha512-tRYcThB+qx8yzVdG7rY8mlBUrF5CEJADl4Vlp3MMI9vVpgyFtOJfC2/IZiGmNFNThJjNIESBUxgoFrCRVDcLCw==",
+ "requires": {
+ "async": "2.1.4",
+ "bson": "1.0.4",
+ "hooks-fixed": "2.0.0",
+ "kareem": "1.5.0",
+ "mongodb": "2.2.31",
+ "mpath": "0.3.0",
+ "mpromise": "0.5.5",
+ "mquery": "2.3.1",
+ "ms": "2.0.0",
+ "muri": "1.2.2",
+ "regexp-clone": "0.0.1",
+ "sliced": "1.0.1"
+ }
+ },
+ "moo-server": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/moo-server/download/moo-server-1.3.0.tgz",
+ "integrity": "sha1-XceVaVZaENbv7VQ5SR5p0jkuWPE=",
+ "dev": true
+ },
+ "mpath": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.3.0.tgz",
+ "integrity": "sha1-elj3iem1/TyUUgY0FXlg8mvV70Q="
+ },
+ "mpromise": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz",
+ "integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY="
+ },
+ "mquery": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.1.tgz",
+ "integrity": "sha1-mrNnSXFIAP8LtTpoHOS8TV8HyHs=",
+ "requires": {
+ "bluebird": "2.10.2",
+ "debug": "2.6.8",
+ "regexp-clone": "0.0.1",
+ "sliced": "0.0.5"
+ },
+ "dependencies": {
+ "sliced": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz",
+ "integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "multimatch": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz",
+ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
+ "dev": true,
+ "requires": {
+ "array-differ": "1.0.0",
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "minimatch": "3.0.4"
+ }
+ },
+ "muri": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/muri/-/muri-1.2.2.tgz",
+ "integrity": "sha1-YxmBMmUNsIoEzHnM0A3Tia/SYxw="
+ },
+ "native-promise-only": {
+ "version": "0.8.1",
+ "resolved": "http://registry.npm.taobao.org/native-promise-only/download/native-promise-only-0.8.1.tgz",
+ "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
+ },
+ "nise": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/nise/download/nise-1.2.0.tgz",
+ "integrity": "sha1-B51srbvLErow448cmZ82rU1rqlM=",
+ "dev": true,
+ "requires": {
+ "formatio": "1.2.0",
+ "just-extend": "1.1.27",
+ "lolex": "1.6.0",
+ "path-to-regexp": "1.7.0",
+ "text-encoding": "0.6.4"
+ },
+ "dependencies": {
+ "lolex": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/lolex/download/lolex-1.6.0.tgz",
+ "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "http://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.1"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "nyc": {
+ "version": "11.3.0",
+ "resolved": "http://registry.npm.taobao.org/nyc/download/nyc-11.3.0.tgz",
+ "integrity": "sha1-pCvBezz6QfexXrYCvJiyYz3ddvA=",
+ "dev": true,
+ "requires": {
+ "archy": "1.0.0",
+ "arrify": "1.0.1",
+ "caching-transform": "1.0.1",
+ "convert-source-map": "1.5.0",
+ "debug-log": "1.0.1",
+ "default-require-extensions": "1.0.0",
+ "find-cache-dir": "0.1.1",
+ "find-up": "2.1.0",
+ "foreground-child": "1.5.6",
+ "glob": "7.1.2",
+ "istanbul-lib-coverage": "1.1.1",
+ "istanbul-lib-hook": "1.1.0",
+ "istanbul-lib-instrument": "1.9.1",
+ "istanbul-lib-report": "1.1.2",
+ "istanbul-lib-source-maps": "1.2.2",
+ "istanbul-reports": "1.1.3",
+ "md5-hex": "1.3.0",
+ "merge-source-map": "1.0.4",
+ "micromatch": "2.3.11",
+ "mkdirp": "0.5.1",
+ "resolve-from": "2.0.0",
+ "rimraf": "2.6.2",
+ "signal-exit": "3.0.2",
+ "spawn-wrap": "1.3.8",
+ "test-exclude": "4.1.1",
+ "yargs": "10.0.3",
+ "yargs-parser": "8.0.0"
+ },
+ "dependencies": {
+ "align-text": {
+ "version": "0.1.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "append-transform": {
+ "version": "0.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "1.0.0"
+ }
+ },
+ "archy": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "async": {
+ "version": "1.5.2",
+ "bundled": true,
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "bundled": true,
+ "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-messages": {
+ "version": "6.23.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "core-js": "2.5.1",
+ "regenerator-runtime": "0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "bundled": true,
+ "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",
+ "bundled": true,
+ "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.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "bundled": true,
+ "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",
+ "bundled": true,
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "caching-transform": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "md5-hex": "1.3.0",
+ "mkdirp": "0.5.1",
+ "write-file-atomic": "1.3.4"
+ }
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": 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.5.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.5.1",
+ "bundled": true,
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "4.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "which": "1.3.0"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "debug-log": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "default-require-extensions": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "strip-bom": "2.0.0"
+ }
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "execa": {
+ "version": "0.7.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "find-cache-dir": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pkg-dir": "1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "foreground-child": {
+ "version": "1.5.6",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cross-spawn": "4.0.2",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "bundled": true,
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "bundled": true,
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "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.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "append-transform": "0.4.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.9.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.1.1",
+ "semver": "5.4.1"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "1.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "istanbul-lib-coverage": "1.1.1",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.2",
+ "source-map": "0.5.7"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "handlebars": "4.0.11"
+ }
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ },
+ "dependencies": {
+ "path-exists": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "bundled": true,
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "md5-hex": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "md5-o-matic": "0.1.1"
+ }
+ },
+ "md5-o-matic": {
+ "version": "0.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "mem": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-key": "2.0.1"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.3"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "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.5",
+ "bundled": true,
+ "dev": true
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "bundled": true,
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "bundled": true,
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ }
+ }
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "bundled": true,
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ }
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.11.0",
+ "bundled": true,
+ "dev": true
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "bundled": true,
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "semver": {
+ "version": "5.4.1",
+ "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
+ },
+ "slide": {
+ "version": "1.1.6",
+ "bundled": true,
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "bundled": true,
+ "dev": true
+ },
+ "spawn-wrap": {
+ "version": "1.3.8",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "foreground-child": "1.5.6",
+ "mkdirp": "0.5.1",
+ "os-homedir": "1.0.2",
+ "rimraf": "2.6.2",
+ "signal-exit": "3.0.2",
+ "which": "1.3.0"
+ }
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "bundled": true,
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "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"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "test-exclude": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
+ }
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "yargs": {
+ "version": "3.10.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "which": {
+ "version": "1.3.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": 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.2",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yargs": {
+ "version": "10.0.3",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.0.0"
+ },
+ "dependencies": {
+ "cliui": {
+ "version": "3.2.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "8.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "4.1.0",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "observable-to-promise": {
+ "version": "0.5.0",
+ "resolved": "http://registry.npm.taobao.org/observable-to-promise/download/observable-to-promise-0.5.0.tgz",
+ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=",
+ "dev": true,
+ "requires": {
+ "is-observable": "0.2.0",
+ "symbol-observable": "1.0.4"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
+ },
+ "only": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
+ "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q="
+ },
+ "ono": {
+ "version": "4.0.2",
+ "resolved": "http://registry.npm.taobao.org/ono/download/ono-4.0.2.tgz",
+ "integrity": "sha1-Lhj/fCG56sDKt5T3owglBwANbTY=",
+ "requires": {
+ "format-util": "1.0.3"
+ }
+ },
+ "option-chain": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/option-chain/download/option-chain-1.0.0.tgz",
+ "integrity": "sha1-k41zvU4Xg/lI00AjZEraI2aeMPI=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz",
+ "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
+ "dev": true
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ }
+ },
+ "package-hash": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/package-hash/download/package-hash-2.0.0.tgz",
+ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "lodash.flattendeep": "4.4.0",
+ "md5-hex": "2.0.0",
+ "release-zalgo": "1.0.0"
+ }
+ },
+ "package-json": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/package-json/download/package-json-4.0.1.tgz",
+ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "dev": true,
+ "requires": {
+ "got": "6.7.1",
+ "registry-auth-token": "3.3.1",
+ "registry-url": "3.1.0",
+ "semver": "5.4.1"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "parse-ms": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/parse-ms/download/parse-ms-1.0.1.tgz",
+ "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "http://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": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-match": {
+ "version": "1.2.4",
+ "resolved": "http://registry.npm.taobao.org/path-match/download/path-match-1.2.4.tgz",
+ "integrity": "sha1-pidH88fgwlFHYml/JEQ1hbCRAOo=",
+ "requires": {
+ "http-errors": "1.4.0",
+ "path-to-regexp": "1.7.0"
+ },
+ "dependencies": {
+ "http-errors": {
+ "version": "1.4.0",
+ "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.4.0.tgz",
+ "integrity": "sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8=",
+ "requires": {
+ "inherits": "2.0.1",
+ "statuses": "1.3.1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "path-to-regexp": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-2.1.0.tgz",
+ "integrity": "sha1-fjD59bE0vWoo/8Lj7x5HB1rFJZs="
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ }
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-1.0.0.tgz",
+ "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-1.0.0.tgz",
+ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=",
+ "dev": true,
+ "requires": {
+ "pinkie": "1.0.0"
+ }
+ },
+ "pkg-conf": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/pkg-conf/download/pkg-conf-2.0.0.tgz",
+ "integrity": "sha1-BxyHZQQDvM+5xif1h1G/5HwGcnk=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "load-json-file": "2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0"
+ }
+ },
+ "plur": {
+ "version": "2.1.2",
+ "resolved": "http://registry.npm.taobao.org/plur/download/plur-2.1.2.tgz",
+ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=",
+ "dev": true,
+ "requires": {
+ "irregular-plurals": "1.4.0"
+ }
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "pretty-ms": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/pretty-ms/download/pretty-ms-2.1.0.tgz",
+ "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=",
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2",
+ "parse-ms": "1.0.1",
+ "plur": "1.0.0"
+ },
+ "dependencies": {
+ "plur": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/plur/download/plur-1.0.0.tgz",
+ "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
+ "dev": true
+ }
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+ "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+ },
+ "promised-io": {
+ "version": "0.3.5",
+ "resolved": "http://registry.npm.taobao.org/promised-io/download/promised-io-0.3.5.tgz",
+ "integrity": "sha1-StIXuzZYvKrplGsXqGaOzYUeE1Y=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "randexp": {
+ "version": "0.4.6",
+ "resolved": "http://registry.npm.taobao.org/randexp/download/randexp-0.4.6.tgz",
+ "integrity": "sha1-6YatXl4x2uE93W97MBmqfIf2DKM=",
+ "requires": {
+ "discontinuous-range": "1.0.0",
+ "ret": "0.1.15"
+ }
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz",
+ "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
+ },
+ "rc": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npm.taobao.org/rc/download/rc-1.2.2.tgz",
+ "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz",
+ "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=",
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ }
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.2.7",
+ "set-immediate-shim": "1.0.1"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
+ },
+ "dependencies": {
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.3.3",
+ "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz",
+ "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz",
+ "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A=="
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz",
+ "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
+ },
+ "regexp-clone": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz",
+ "integrity": "sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk="
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ },
+ "registry-auth-token": {
+ "version": "3.3.1",
+ "resolved": "http://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-3.3.1.tgz",
+ "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.2",
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/registry-url/download/registry-url-3.1.0.tgz",
+ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
+ "dev": true,
+ "requires": {
+ "rc": "1.2.2"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "0.5.0"
+ }
+ },
+ "release-zalgo": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/release-zalgo/download/release-zalgo-1.0.0.tgz",
+ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+ "dev": true,
+ "requires": {
+ "es6-error": "4.0.2"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ }
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.16",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.1.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.1.0"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+ }
+ }
+ },
+ "require-precompiled": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/require-precompiled/download/require-precompiled-0.1.0.tgz",
+ "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=",
+ "dev": true
+ },
+ "require_optional": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
+ "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
+ "requires": {
+ "resolve-from": "2.0.0",
+ "semver": "5.4.1"
+ }
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "3.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ }
+ }
+ },
+ "resolve-from": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
+ "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
+ },
+ "rxjs": {
+ "version": "5.5.2",
+ "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-5.5.2.tgz",
+ "integrity": "sha1-KNQD8AcRIZZ/GK1mVWMlXVQjasM=",
+ "requires": {
+ "symbol-observable": "1.0.4"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ },
+ "samsam": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/samsam/download/samsam-1.3.0.tgz",
+ "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
+ "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/semver-diff/download/semver-diff-2.1.0.tgz",
+ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true,
+ "requires": {
+ "semver": "5.4.1"
+ }
+ },
+ "set-getter": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/set-getter/download/set-getter-0.1.0.tgz",
+ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
+ "requires": {
+ "to-object-path": "0.3.0"
+ }
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "http://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": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "sinon": {
+ "version": "3.3.0",
+ "resolved": "http://registry.npm.taobao.org/sinon/download/sinon-3.3.0.tgz",
+ "integrity": "sha1-kTIRG0u+E8dJwoSCEIZCUBZQabE=",
+ "dev": true,
+ "requires": {
+ "build": "0.1.4",
+ "diff": "3.4.0",
+ "formatio": "1.2.0",
+ "lodash.get": "4.4.2",
+ "lolex": "2.3.0",
+ "native-promise-only": "0.8.1",
+ "nise": "1.2.0",
+ "path-to-regexp": "1.7.0",
+ "samsam": "1.3.0",
+ "text-encoding": "0.6.4",
+ "type-detect": "4.0.5"
+ },
+ "dependencies": {
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz",
+ "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0"
+ }
+ },
+ "sliced": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
+ "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
+ },
+ "slide": {
+ "version": "1.1.6",
+ "resolved": "http://registry.npm.taobao.org/slide/download/slide-1.1.6.tgz",
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+ "dev": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "requires": {
+ "hoek": "2.16.3"
+ }
+ },
+ "sort-keys": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz",
+ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
+ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "sshpk": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "http://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz",
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+ "dev": true
+ },
+ "stack-utils": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/stack-utils/download/stack-utils-1.0.1.tgz",
+ "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "http://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": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://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_decoder": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-bom-buf": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-bom-buf/download/strip-bom-buf-1.0.0.tgz",
+ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "symbol-observable": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.4.tgz",
+ "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0="
+ },
+ "term-size": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/term-size/download/term-size-1.2.0.tgz",
+ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "dev": true,
+ "requires": {
+ "execa": "0.7.0"
+ }
+ },
+ "text-encoding": {
+ "version": "0.6.4",
+ "resolved": "http://registry.npm.taobao.org/text-encoding/download/text-encoding-0.6.4.tgz",
+ "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
+ "dev": true
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.2.7",
+ "xtend": "4.0.1"
+ }
+ },
+ "time-require": {
+ "version": "0.1.2",
+ "resolved": "http://registry.npm.taobao.org/time-require/download/time-require-0.1.2.tgz",
+ "integrity": "sha1-+eEss3D8JgXhFARYK6VO9corLZg=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.4.0",
+ "date-time": "0.1.1",
+ "pretty-ms": "0.2.2",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.0.0.tgz",
+ "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.4.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-0.4.0.tgz",
+ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.0.0",
+ "has-color": "0.1.7",
+ "strip-ansi": "0.1.1"
+ }
+ },
+ "date-time": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/date-time/download/date-time-0.1.1.tgz",
+ "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=",
+ "dev": true
+ },
+ "parse-ms": {
+ "version": "0.1.2",
+ "resolved": "http://registry.npm.taobao.org/parse-ms/download/parse-ms-0.1.2.tgz",
+ "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=",
+ "dev": true
+ },
+ "pretty-ms": {
+ "version": "0.2.2",
+ "resolved": "http://registry.npm.taobao.org/pretty-ms/download/pretty-ms-0.2.2.tgz",
+ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=",
+ "dev": true,
+ "requires": {
+ "parse-ms": "0.1.2"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.1.1",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.1.1.tgz",
+ "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=",
+ "dev": true
+ }
+ }
+ },
+ "time-zone": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/time-zone/download/time-zone-1.0.0.tgz",
+ "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "dev": true
+ },
+ "timespan": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/timespan/download/timespan-2.3.0.tgz",
+ "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=",
+ "dev": true
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "requires": {
+ "punycode": "1.4.1"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-off-newlines": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz",
+ "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
+ "dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.8.0",
+ "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.8.0.tgz",
+ "integrity": "sha1-3GBOutZLy/aW1hPabJVKoOfqHrY="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
+ "type-detect": {
+ "version": "4.0.5",
+ "resolved": "http://registry.npm.taobao.org/type-detect/download/type-detect-4.0.5.tgz",
+ "integrity": "sha1-1w5byB223io4G8rKDG4MvcdjXeI=",
+ "dev": true
+ },
+ "type-is": {
+ "version": "1.6.15",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.16"
+ }
+ },
+ "uglify-js": {
+ "version": "1.3.5",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-1.3.5.tgz",
+ "integrity": "sha1-S1v/+Rhu/7qoiOTJ6UvZ/EyUkp0=",
+ "dev": true
+ },
+ "uid2": {
+ "version": "0.0.3",
+ "resolved": "http://registry.npm.taobao.org/uid2/download/uid2-0.0.3.tgz",
+ "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=",
+ "dev": true
+ },
+ "underscore": {
+ "version": "1.8.3",
+ "resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz",
+ "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "1.0.0"
+ }
+ },
+ "unique-temp-dir": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/unique-temp-dir/download/unique-temp-dir-1.0.0.tgz",
+ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1",
+ "os-tmpdir": "1.0.2",
+ "uid2": "0.0.3"
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "unzip-response": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npm.taobao.org/unzip-response/download/unzip-response-2.0.1.tgz",
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "dev": true
+ },
+ "update-notifier": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/update-notifier/download/update-notifier-2.3.0.tgz",
+ "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=",
+ "dev": true,
+ "requires": {
+ "boxen": "1.2.2",
+ "chalk": "2.3.0",
+ "configstore": "3.1.1",
+ "import-lazy": "2.1.0",
+ "is-installed-globally": "0.1.0",
+ "is-npm": "1.0.0",
+ "latest-version": "3.1.0",
+ "semver-diff": "2.1.0",
+ "xdg-basedir": "3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "chalk": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "1.0.4"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "validator": {
+ "version": "9.1.1",
+ "resolved": "http://registry.npm.taobao.org/validator/download/validator-9.1.1.tgz",
+ "integrity": "sha1-O90QZcvSj52WrIBt7gEDDTL9l+8="
+ },
+ "vary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz",
+ "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ }
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "http://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.11"
+ }
+ },
+ "well-known-symbols": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/well-known-symbols/download/well-known-symbols-1.0.0.tgz",
+ "integrity": "sha1-c8eK6Bp3Jqj6WY4ogIAcixYiVRg=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz",
+ "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "widest-line": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/widest-line/download/widest-line-1.0.0.tgz",
+ "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "http://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.1"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "winston": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/winston/download/winston-2.4.0.tgz",
+ "integrity": "sha1-gIBQuT1SZh7Z+2wms/DIJnCLCu4=",
+ "dev": true,
+ "requires": {
+ "async": "1.0.0",
+ "colors": "1.0.3",
+ "cycle": "1.0.3",
+ "eyes": "0.1.8",
+ "isstream": "0.1.2",
+ "stack-trace": "0.0.10"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-1.0.0.tgz",
+ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
+ "dev": true
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "wrench": {
+ "version": "1.3.9",
+ "resolved": "http://registry.npm.taobao.org/wrench/download/wrench-1.3.9.tgz",
+ "integrity": "sha1-bxPsNRRTF+spLKX2UxORskQRFBE=",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.3.0.tgz",
+ "integrity": "sha1-H/YVdcLipOjlENb6TiQ8zhg5mas=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "write-json-file": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz",
+ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=",
+ "dev": true,
+ "requires": {
+ "detect-indent": "5.0.0",
+ "graceful-fs": "4.1.11",
+ "make-dir": "1.1.0",
+ "pify": "3.0.0",
+ "sort-keys": "2.0.0",
+ "write-file-atomic": "2.3.0"
+ },
+ "dependencies": {
+ "detect-indent": {
+ "version": "5.0.0",
+ "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz",
+ "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=",
+ "dev": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "write-pkg": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/write-pkg/download/write-pkg-3.1.0.tgz",
+ "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=",
+ "dev": true,
+ "requires": {
+ "sort-keys": "2.0.0",
+ "write-json-file": "2.3.0"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "z-schema": {
+ "version": "3.19.0",
+ "resolved": "http://registry.npm.taobao.org/z-schema/download/z-schema-3.19.0.tgz",
+ "integrity": "sha1-2G6Q5dAhE8e4gkrkd91XII0Xpag=",
+ "requires": {
+ "commander": "2.11.0",
+ "lodash.get": "4.4.2",
+ "lodash.isequal": "4.5.0",
+ "validator": "9.1.1"
+ }
+ }
+ }
+}
diff --git a/server/package.json b/server/package.json
index c36bdb9..19e3487 100644
--- a/server/package.json
+++ b/server/package.json
@@ -4,9 +4,9 @@
"description": "",
"main": "app.js",
"scripts": {
- "compose": "npm run proxy && npm run init && sh",
- "dev": "tsc -w & nodemon --inspect=0.0.0.0:5858 --delay 100ms -w ./dist dist/app.js",
- "init": "npm i",
+ "compose": "yarn run proxy && yarn run init && bash",
+ "dev": "tsc -w & nodemon --inspect=0.0.0.0:5858 --delay 100ms -w ./dist ./dist/app.js",
+ "init": "yarn install --check-files",
"proxy": "npm set registry https://registry.npm.taobao.org",
"start": "pm2 start ./dist/app.js",
"test": "tsc -w & nyc ava -w --verbose",
@@ -15,15 +15,20 @@
"author": "yalishizhude",
"license": "ISC",
"dependencies": {
+ "ajv": "^5.3.0",
+ "axios": "^0.16.2",
"babel-eslint": "^7.1.1",
+ "json-schema-faker": "^0.5.0-rc11",
+ "jsonwebtoken": "^8.0.1",
"koa": "^2.3.0",
+ "koa-better-body": "^3.0.4",
"koa-better-router": "^2.1.1",
- "koa-bodyparser": "^2.5.0",
"koa-router": "^7.2.1",
- "lodash": "^4.17.4",
"mongoose": "^4.11.0",
+ "path-to-regexp": "^2.0.0",
"request": "^2.81.0",
- "rxjs": "^5.4.3"
+ "rxjs": "^5.4.3",
+ "underscore": "^1.8.3"
},
"devDependencies": {
"ava": "^0.22.0",
diff --git a/server/report/59c0b3ab733f5b0116b9ba04.css b/server/report/59c0b3ab733f5b0116b9ba04.css
deleted file mode 100644
index ccf01cd..0000000
--- a/server/report/59c0b3ab733f5b0116b9ba04.css
+++ /dev/null
@@ -1,49 +0,0 @@
-h2 {
- margin-bottom: 10px;
-}
-
-hr {
- margin: 0 0 20px 0;
-}
-
-pre {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- font-size: 13px;
- line-height: 19px;
- overflow: auto;
- padding: 6px 10px;
- border-radius: 3px;
- display: inline-block;
- margin: 0;
-}
-
-table {
- border-collapse: collapse;
- border: none;
-}
-
-table tr {
- border-top: 1px solid #ccc;
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-table tr:nth-child(2n) {
- background-color: #f8f8f8;
-}
-
-table td {
- border: 1px solid #ccc;
- text-align: left;
- margin: 0;
- padding: 6px 13px;
-}
-
-.body {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
- background-color: white;
- border: 1px solid #E2E2E2;
- padding: 10px;
-}
\ No newline at end of file
diff --git a/server/report/59c0b3ab733f5b0116b9ba04.html b/server/report/59c0b3ab733f5b0116b9ba04.html
deleted file mode 100644
index f7f350a..0000000
--- a/server/report/59c0b3ab733f5b0116b9ba04.html
+++ /dev/null
@@ -1,384 +0,0 @@
-
-
-
-
-
-
-API文档
-
-
-
- aa
-
-
-GET /ab
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- id
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- ewfwf
-
-
-GET /wefwf
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 4t3t
-
-
-GET /ewfwf
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 111
-
-
-GET /11
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- list
- |
-
- Array
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 断点
-
-
-GET /
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- lsit
- |
-
- Array
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- d
-
-
-GET /11111
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- a
- |
-
- Number
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
-
-
\ No newline at end of file
diff --git a/server/report/59c0befaf566d5014a71a315.css b/server/report/59c0befaf566d5014a71a315.css
deleted file mode 100644
index ccf01cd..0000000
--- a/server/report/59c0befaf566d5014a71a315.css
+++ /dev/null
@@ -1,49 +0,0 @@
-h2 {
- margin-bottom: 10px;
-}
-
-hr {
- margin: 0 0 20px 0;
-}
-
-pre {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- font-size: 13px;
- line-height: 19px;
- overflow: auto;
- padding: 6px 10px;
- border-radius: 3px;
- display: inline-block;
- margin: 0;
-}
-
-table {
- border-collapse: collapse;
- border: none;
-}
-
-table tr {
- border-top: 1px solid #ccc;
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-table tr:nth-child(2n) {
- background-color: #f8f8f8;
-}
-
-table td {
- border: 1px solid #ccc;
- text-align: left;
- margin: 0;
- padding: 6px 13px;
-}
-
-.body {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
- background-color: white;
- border: 1px solid #E2E2E2;
- padding: 10px;
-}
\ No newline at end of file
diff --git a/server/report/59c0befaf566d5014a71a315.html b/server/report/59c0befaf566d5014a71a315.html
deleted file mode 100644
index 12e3bf3..0000000
--- a/server/report/59c0befaf566d5014a71a315.html
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-API文档
-
-
-
- aa
-
-
-GET /q
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
-
-
\ No newline at end of file
diff --git a/server/report/59ce094017622729b35a8137.css b/server/report/59ce094017622729b35a8137.css
deleted file mode 100644
index ccf01cd..0000000
--- a/server/report/59ce094017622729b35a8137.css
+++ /dev/null
@@ -1,49 +0,0 @@
-h2 {
- margin-bottom: 10px;
-}
-
-hr {
- margin: 0 0 20px 0;
-}
-
-pre {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- font-size: 13px;
- line-height: 19px;
- overflow: auto;
- padding: 6px 10px;
- border-radius: 3px;
- display: inline-block;
- margin: 0;
-}
-
-table {
- border-collapse: collapse;
- border: none;
-}
-
-table tr {
- border-top: 1px solid #ccc;
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-table tr:nth-child(2n) {
- background-color: #f8f8f8;
-}
-
-table td {
- border: 1px solid #ccc;
- text-align: left;
- margin: 0;
- padding: 6px 13px;
-}
-
-.body {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
- background-color: white;
- border: 1px solid #E2E2E2;
- padding: 10px;
-}
\ No newline at end of file
diff --git a/server/report/59ce094017622729b35a8137.html b/server/report/59ce094017622729b35a8137.html
deleted file mode 100644
index 9df0950..0000000
--- a/server/report/59ce094017622729b35a8137.html
+++ /dev/null
@@ -1,722 +0,0 @@
-
-
-
-
-
-
-API文档
-
-
-
- 登录
-
-
-POST /api/user/login
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- account
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- password
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- token
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- user
- |
-
- Object
- |
-
-
- |
-
-
- |
-
-
-
- |
- account
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- id
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 查询用户
-
-
-GET /api/user
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- user
- |
-
- Object
- |
-
-
- |
-
-
- |
-
-
-
- |
- apiInform
- |
-
- Boolean
- |
-
-
- |
-
-
- |
-
-
-
- |
- testInform
- |
-
- Boolean
- |
-
-
- |
-
-
- |
-
-
-
- |
- email
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- weixin
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- avatar
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- account
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- name
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- id
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 编辑用户
-
-
-PUT /api/user
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- avatar
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- email
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- weixin
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- testInform
- |
-
- Boolean
- |
-
-
- |
-
-
- |
-
-
-
- |
- apiInform
- |
-
- Boolean
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 查询项目列表
-
-
-GET /api/project
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- |
- list
- |
-
- Array
- |
-
-
- |
-
-
- |
-
-
-
- |
- object
- |
-
- Object
- |
-
-
- |
-
-
- |
-
-
-
- |
- api
- |
-
- Object
- |
-
-
- |
-
-
- |
-
-
-
- |
- unpass
- |
-
- Number
- |
-
-
- |
-
-
- |
-
-
-
- |
- untest
- |
-
- Number
- |
-
-
- |
-
-
- |
-
-
-
- |
- total
- |
-
- Number
- |
-
-
- |
-
-
- |
-
-
-
- |
- isTest
- |
-
- Boolean
- |
-
-
- |
-
-
- |
-
-
-
- |
- name
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- imgUrl
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- |
- id
- |
-
- String
- |
-
-
- |
-
-
- |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
- 用户登录
-
-
-POST /api/login
-
-
-
-
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 请求示例
-
-
-
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
-
-
- 返回示例
-
-
-
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
-
- |
-
-
- |
-
-
-
-
-
\ No newline at end of file
diff --git a/server/report/59e71a3fe93127042dedd3ea.css b/server/report/59e71a3fe93127042dedd3ea.css
deleted file mode 100644
index ccf01cd..0000000
--- a/server/report/59e71a3fe93127042dedd3ea.css
+++ /dev/null
@@ -1,49 +0,0 @@
-h2 {
- margin-bottom: 10px;
-}
-
-hr {
- margin: 0 0 20px 0;
-}
-
-pre {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- font-size: 13px;
- line-height: 19px;
- overflow: auto;
- padding: 6px 10px;
- border-radius: 3px;
- display: inline-block;
- margin: 0;
-}
-
-table {
- border-collapse: collapse;
- border: none;
-}
-
-table tr {
- border-top: 1px solid #ccc;
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-table tr:nth-child(2n) {
- background-color: #f8f8f8;
-}
-
-table td {
- border: 1px solid #ccc;
- text-align: left;
- margin: 0;
- padding: 6px 13px;
-}
-
-.body {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
- background-color: white;
- border: 1px solid #E2E2E2;
- padding: 10px;
-}
\ No newline at end of file
diff --git a/server/report/59e71a3fe93127042dedd3ea.html b/server/report/59e71a3fe93127042dedd3ea.html
deleted file mode 100644
index 736c859..0000000
--- a/server/report/59e71a3fe93127042dedd3ea.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-API文档
-
-
-
-
-
\ No newline at end of file
diff --git a/server/src/agent/AgentCtrl.ts b/server/src/agent/AgentCtrl.ts
new file mode 100644
index 0000000..e25f400
--- /dev/null
+++ b/server/src/agent/AgentCtrl.ts
@@ -0,0 +1,50 @@
+/**
+ * 无页面测试服务端API
+ */
+import BaseCtrl from '../util/BaseCtrl'
+import axios from 'axios'
+import * as http from 'http'
+import * as https from 'https'
+
+export default class AgentCtrl extends BaseCtrl {
+ forward(url: string, method: string = 'GET', data: any, headers: any, header: any = {}) {
+ let request: any = {
+ data,
+ method,
+ headers
+ }
+ // 判断是否需要登录
+ let login = this.of({})
+ if (header.loginurl) {
+ login = this.from(axios({
+ data: JSON.parse(header.logindata),
+ method: header.loginmethod,
+ url: header.loginurl,
+ respToken: header.resulttokenfield,
+ reqToken: header.sendtokenfield
+ })).
+ do((info: any) => {
+ if (info.config.respToken) {
+ request.headers[info.config.reqToken] = info.data[info.config.respToken]
+ } else {
+ request.headers['Cookie'] = info.headers['set-cookie'].join('')
+ }
+ })
+ }
+ if (/^http/.test(url)) {
+ request.url = url
+ } else {
+ request.url = 'http://' + url
+ }
+ return login
+ .switchMap(() => this.from(axios(request)))
+ .map((result: any) => {
+ return {
+ data: result.data,
+ status: result.status,
+ statusText: result.statusText,
+ headers: result.headers
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/server/src/agent/router.ts b/server/src/agent/router.ts
new file mode 100644
index 0000000..cdc8334
--- /dev/null
+++ b/server/src/agent/router.ts
@@ -0,0 +1,9 @@
+import Router from '../util/Router'
+import Ctrl from './AgentCtrl'
+
+let agentRouter = new Router()
+let agentCtrl = new Ctrl()
+
+export default agentRouter.router
+ .post('/debug', (ctx: any) => agentRouter.handle(ctx, agentCtrl.forward(ctx.request.fields.url, ctx.request.fields.method, ctx.request.fields.payload, ctx.request.fields.header, ctx.header)))
+.routes()
\ No newline at end of file
diff --git a/server/src/app.ts b/server/src/app.ts
index f19dd23..9a5aeb5 100644
--- a/server/src/app.ts
+++ b/server/src/app.ts
@@ -1,18 +1,42 @@
+import * as fs from 'fs'
import * as Koa from 'koa'
-import * as bodyParser from 'koa-bodyparser'
+import * as body from 'koa-better-body'
+import { uploadPath as uploadDir } from './util/config'
-import router from './router'
+import projectRouter from './project/router'
+import interfaceRouter from './interface/router'
+import memberRouter from './member/router'
+import authRouter from './auth/router'
+import systemRouter from './system/router'
+import messageRouter from './message/router'
+import agentRouter from './agent/router'
+import mock from './mock/mock'
+import authCtrl from './auth/AuthCtrl'
+import SystemCtrl from './system/SystemCtrl'
+import engine from './thirdparty/ThirdPartyEngine'
+// 初始化系统配置
+let systemCtrl = new SystemCtrl()
+systemCtrl.initSystem()
+systemCtrl.initMember()
+// 启动第三方消息引擎
+new engine()
const app = new Koa()
-app.use(bodyParser())
-app.use(router)
-
-app.use((ctx:any) => {
- ctx.body = 'api server'
+app.use(body({ uploadDir }))
+app.use(authCtrl.authorize)
+app.use(authRouter)
+app.use(projectRouter)
+app.use(interfaceRouter)
+app.use(memberRouter)
+app.use(systemRouter)
+app.use(messageRouter)
+app.use(agentRouter)
+app.use(mock)
+app.use((ctx: any) => {
+ ctx.status = 404
})
app.listen(2018)
-console.log('Listening on 2018...')
+console.log('API server listening on 2018...')
-export default app
diff --git a/server/src/auth/AuthCtrl.ts b/server/src/auth/AuthCtrl.ts
new file mode 100644
index 0000000..c68b756
--- /dev/null
+++ b/server/src/auth/AuthCtrl.ts
@@ -0,0 +1,74 @@
+import { MemberModel } from '../member/model'
+import { Observable } from 'rxjs/Rx'
+import { mongoose } from '../util/db'
+import BaseCtrl from '../util/BaseCtrl'
+import { encrypt, hash } from '../util/crypto'
+import { key } from '../util/config'
+import * as jwt from 'jsonwebtoken'
+
+export default class AuthCtrl extends BaseCtrl{
+ login(account: string, password: string) {
+ let loginTime = new Date().getTime()
+ return Observable.fromPromise(MemberModel.findOneAndUpdate({
+ account,
+ password: encrypt(password)
+ }, { $set: { loginTime } }).select('_id account name avatarUrl password isAdmin').exec())
+ .map((user: any) => {
+ if (user) {
+ let token = jwt.sign(Object.assign(user.toObject(), { loginTime }), key)
+ return {
+ token,
+ user: {
+ id: user._id,
+ account: user.account,
+ name: user.name,
+ isAdmin: user.isAdmin,
+ avatar: user.avatarUrl
+ }
+ }
+ } else {
+ return {
+ errCode: 401,
+ errMsg: '用户名或密码错误'
+ }
+ }
+ })
+ }
+ logout(id: string) {
+ return Observable.fromPromise(MemberModel.findOneAndUpdate({ _id: mongoose.Types.ObjectId(id) }, { $set: { loginTime: '' } }).exec())
+ .map(() => ({}))
+ }
+ static authorize(ctx: any, next: any) {
+ const whiteRoute = ['/api/user/login', '/api/user/logout', '/api/setting/upload/img', '/api/agent', '/api/report']
+ if (whiteRoute.find((val: string) => ctx.path.startsWith(val) || /^\/\w{24}/.test(ctx.path))) {
+ ctx.user = {}
+ return next()
+ } else if (/(\.html|\.png|\.jpg|\.css|\.svg)$/.test(ctx.path)) {
+ return next()
+ } else {
+ if (ctx.headers.authorization) {
+ let user = jwt.decode(ctx.headers.authorization) || { _id: new mongoose.Types.ObjectId() }
+ return MemberModel.findOne({
+ _id: mongoose.Types.ObjectId(user._id || ''),
+ account: user.account,
+ isAdmin: user.isAdmin,
+ password: user.password,
+ loginTime: user.loginTime
+ }).then((user: any) => {
+ if (!user) {
+ ctx.status = 401
+ ctx.body = '请登录'
+ } else {
+ ctx.user = user
+ return next()
+ }
+ }, (e: any) => {
+ ctx.body = e
+ })
+ } else {
+ ctx.status = 401
+ ctx.body = '请登录'
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/server/src/auth/router.ts b/server/src/auth/router.ts
new file mode 100644
index 0000000..c47bc83
--- /dev/null
+++ b/server/src/auth/router.ts
@@ -0,0 +1,10 @@
+import Router from '../util/Router'
+import Ctrl from './AuthCtrl'
+
+let authRouter = new Router()
+let authCtrl = new Ctrl()
+
+export default authRouter.router
+ .post('/user/login', (ctx: any) => authRouter.handle(ctx, authCtrl.login(ctx.request.fields.account, ctx.request.fields.password)))
+ .get('/user/logout', (ctx: any) => authRouter.handle(ctx, authCtrl.logout(ctx.user?ctx.user._id:'')))
+ .routes()
\ No newline at end of file
diff --git a/server/src/interface/InterfaceCtrl.ts b/server/src/interface/InterfaceCtrl.ts
new file mode 100644
index 0000000..792ef4c
--- /dev/null
+++ b/server/src/interface/InterfaceCtrl.ts
@@ -0,0 +1,486 @@
+import { InterfaceModel, InterfaceHistoryModel } from './model'
+import { ProjectModel, role } from '../project/model'
+import { MemberInterface, MemberModel } from '../member/model'
+import { Observable } from 'rxjs/Rx'
+import BaseCtrl from '../util/BaseCtrl'
+import { mongoose } from '../util/db'
+import ProjectCtrl from '../project/ProjectCtrl'
+import engine from '../thirdparty/ThirdPartyEngine'
+import * as fs from 'fs'
+import * as path from 'path'
+
+let projectCtrl = new ProjectCtrl()
+
+const gId = (): string => {
+ return 'a' + Math.random().toString().substring(2)
+}
+const json2list = (json: any) => {
+ const isArray = (x: any): boolean => {
+ return Object.prototype.toString.call(x).indexOf('Array') > -1
+ }
+ const isObject = (x: any): boolean => {
+ return Object.prototype.toString.call(x).indexOf('Object') > -1
+ }
+ const travel = (obj: any, name: string, ancestor: string[], list: any[]) => {
+ let current: any = {
+ id: ancestor.length > 0 ? gId() : 'root',
+ name,
+ ancestor,
+ required: true,
+ className: 'bg-' + ancestor.length
+ }
+ if (!name) current.noName = true
+ let noName: boolean = false
+ ancestor.length === 0 ? current.isRoot = true : void 0
+ if (isObject(obj)) {
+ current.type = 'object'
+ } else if (isArray(obj)) {
+ current.type = 'array'
+ noName = true
+ current.property = JSON.stringify({minItems: obj.length})
+ }
+ list.push(current)
+ for (let p in obj) {
+ if (isObject(obj[p])) {
+ travel(obj[p], noName ? '' : p, ancestor.concat(current.id), list)
+ } else if (isArray(obj[p])) {
+ travel(obj[p], noName ? '' : p, ancestor.concat(current.id), list)
+ } else {
+ let child: any = {
+ id: gId(),
+ name: noName ? '' : p,
+ ancestor: ancestor.concat(current.id),
+ type: typeof obj[p],
+ required: true,
+ className: 'bg-' + ancestor.concat(current.id).length
+ }
+ if (noName) child.noName = true
+ list.push(child)
+ }
+ }
+ }
+ let paramList: any = []
+ travel(json, 'root', [], paramList)
+ return paramList
+}
+const list2schema = (list: any[]) => {
+ let append2parent = (ancestor: string[], origin: any, node: any, required: boolean): any => {
+ if (ancestor.length === 0) {
+ // 没有祖先,该节点为根节点
+ for (let e in node) {
+ origin[e] = node[e]
+ }
+ } else {
+ const parentId = ancestor[ancestor.length - 1]
+ if (origin.type === 'object') {
+ origin.properties = origin.properties || {}
+ if (origin.id === parentId) {
+ origin.properties[node.name] = node
+ if (required) {
+ origin.required = origin.required || []
+ origin.required.push(node.name)
+ }
+ } else if (ancestor.indexOf(origin.id) > -1) {
+ for (let p in origin.properties) {
+ let current = origin.properties[p]
+ append2parent(ancestor, current, node, required)
+ }
+ }
+ } else if (origin.type === 'array') {
+ origin.items = origin.items || []
+ if (origin.id === parentId) {
+ origin.items.push(node)
+ if (void 0 === origin.minItems || '' === origin.minItems) {
+ origin.minItems = origin.items.length
+ }
+ } else if (ancestor.indexOf(origin.id) > -1) {
+ origin.items.forEach((current: any) => {
+ append2parent(ancestor, current, node, required)
+ })
+ }
+ }
+ }
+ }
+ let result = {}
+ list.forEach((row: any) => {
+ // 过滤空白项
+ if (row.name && row.name.trim() === '' && !row.noName && !row.isRoot) return
+ let node = {
+ name: row.name,
+ type: row.type,
+ id: row.id,
+ description: row.description
+ }
+ if (row.property) {
+ try {
+ Object.assign(node, JSON.parse(row.property))
+ } catch (e) {
+ console.error('schema属性转换失败' + e)
+ }
+ }
+ append2parent(row.ancestor, result, node, row.required)
+ })
+ return result
+}
+export default class InterfaceCtrl extends BaseCtrl {
+ module = '接口'
+ /**
+ * 查询接口是否已存在
+ * @param pid 项目id
+ * @param url 请求路径
+ * @param method 请求方法
+ * @param uid 用户id
+ * @param isAdmin 是否管理员
+ */
+ isExist(pid: string, url: string, method: string, uid: string, isAdmin: boolean) {
+ return this.from(this.get(pid, uid, isAdmin))
+ .map((result: any) => {
+ let map: any = {}
+ result.apiList.forEach((api: any) => {
+ map[api.method.toLowerCase() + '-' + api.url.replace(/(\:)\w*/ig, '$1')] = api
+ })
+ let common: any = map[method.toLowerCase() + '-' + url.replace(/(\:)\w*/ig, '$1')] || { id: '' }
+ return common
+ })
+ }
+ /**
+ * 查询项目下的接口列表
+ * @param pid 项目id
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ get(pid: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap((authorized: boolean) => {
+ return Observable.fromPromise(ProjectModel.aggregate()
+ .match({ _id: mongoose.Types.ObjectId(pid) })
+ .lookup({
+ from: InterfaceModel.collection.collectionName,
+ localField: '_id',
+ foreignField: 'pid',
+ as: 'list'
+ })
+ .project({
+ _id: 0,
+ id: '$_id',
+ name: 1,
+ total: { $size: '$list' },
+ apiList: {
+ $map: {
+ input: '$list',
+ as: 'i',
+ in: {
+ id: '$$i._id',
+ name: '$$i.name',
+ module: '$$i.module',
+ version: '$$i.version',
+ method: '$$i.method',
+ url: '$$i.url',
+ isTest: '$$i.isTest',
+ testStatusId: '$$i.testStatusId',
+ testStatusMsg: '$$i.testStatusMsg'
+ }
+ }
+ }
+ })
+ .exec())
+ .map((list: any) => list.pop() || {})
+ })
+ }
+ /**
+ * 查询某个接口
+ * @param pid 项目id
+ * @param iid 接口id
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ getById(pid: string, iid: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap((authorized: boolean) => {
+ return Observable.fromPromise(InterfaceModel.aggregate()
+ .match({ _id: mongoose.Types.ObjectId(iid) })
+ .append({
+ $addFields: {
+ id: '$_id',
+ 'request.dataList': '$request.paramList',
+ 'response.dataList': '$response.paramList',
+ 'request.paramList': '$request.urlParams'
+ }
+ })
+ .project({ _id: 0 })
+ .exec())
+ .map((x: any) => x.pop())
+ })
+ }
+ /**
+ * 查询指定版本接口信息
+ * @param iid 接口id
+ * @param version 接口版本
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ getHistoryById(pid: string, iid: string, version: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap((authorized: boolean) => {
+ return Observable.fromPromise(InterfaceHistoryModel.aggregate()
+ .match({ iid: mongoose.Types.ObjectId(iid), version })
+ .append({
+ $addFields: {
+ id: '$_id',
+ 'request.dataList': '$request.paramList',
+ 'response.dataList': '$response.paramList',
+ 'request.paramList': '$request.urlParams'
+ }
+ })
+ .project({ _id: 0 })
+ .exec())
+ .map((res: any) => {
+ return res.pop()
+ })
+ })
+ }
+ /**
+ * 查询接口历史版本列表
+ * @param iid 接口id
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ getVersionById(pid: string, iid: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap((authorized: boolean) => {
+ return Observable.fromPromise(InterfaceHistoryModel.aggregate()
+ .match({ iid: mongoose.Types.ObjectId(iid) })
+ .project({
+ version: 1,
+ updateTime: { $dateToString: { format: '%Y-%m-%d %H:%M:%S', date: '$updateTime' } },
+ updateMember: '$editor'
+ })
+ .exec())
+ .map((versionList: any) => ({ versionList }))
+ })
+ }
+ /**
+ * 获取接口模块
+ * @param pid 项目id
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ getModule(pid: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap(() => {
+ return Observable.fromPromise(InterfaceModel.find({ pid: mongoose.Types.ObjectId(pid) })
+ .distinct('module')
+ .exec())
+ .map((moduleList) => {
+ return { moduleList }
+ })
+ })
+ }
+ /**
+ * 新增接口
+ * @param pid 项目id
+ * @param ifce接口数据
+ */
+ post(pid: string, ifc: any, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, pid, uid, [role.developer, role.master])
+ .switchMap(() => {
+ return this.isExist(pid, ifc.url, ifc.method, uid, isAdmin)
+ })
+ .switchMap((common: any) => {
+ if (common.id) {
+ return this.throw({ errCode: 222, errMsg: '该API已经被创建', id: common.id, name: common.name })
+ } else {
+ ifc.pid = pid
+ ifc.creator = uname
+ ifc.request.urlParams = ifc.request.paramList
+ ifc.request.paramList = ifc.request.dataList
+ ifc.response.paramList = ifc.response.dataList
+ ifc.createdTime = new Date().toISOString().replace('T', ' ').replace(/\..*/, '')
+ return Observable.fromPromise(InterfaceModel.create(ifc))
+ }
+ })
+ .do((ifc: any) => {
+ projectCtrl.getMemberList(pid)
+ .subscribe((memberList: any) => {
+ engine.notify(engine.c, ifc)
+ this.newCreateMessage(ifc.id, ifc.name, uname, memberList, ifc.url + ' ' + ifc.method)
+ })
+ })
+ .map((doc: any) => ({ id: doc.id }))
+ }
+ /**
+ * 修改接口
+ * @param pid 项目id
+ * @param iid 接口id
+ * @param ifc 接口数据
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ put(pid: string, iid: string, ifc: any, uid: string, isAdmin: boolean, uname: string) {
+ ifc.request.urlParams = ifc.request.paramList
+ ifc.request.paramList = ifc.request.dataList
+ ifc.response.paramList = ifc.response.dataList
+ return this.verifyAuth(isAdmin, pid, uid, [role.developer, role.master])
+ .switchMap(() => {
+ return this.isExist(pid, ifc.url, ifc.method, uid, isAdmin)
+ })
+ .switchMap((common: any) => {
+ if (common.id && common.id.toString() !== iid) return this.throw({ errCode: 222, errMsg: '该API已经存在', id: common.id, name: common.name })
+ else return Observable.fromPromise(InterfaceModel.findOneAndUpdate({ _id: mongoose.Types.ObjectId(iid) }, { $set: ifc }).exec())
+ })
+ .switchMap((doc: any) => {
+ if (doc) {
+ let log = doc.toObject()
+ log.iid = this.objectId(iid)
+ log.editor = uname
+ delete log._id
+ delete log.version
+ projectCtrl.getMemberList(pid)
+ .subscribe((memberList: any) => {
+ engine.notify(engine.u, ifc)
+ this.newUpdateMessage(iid, ifc.name, uname, memberList, ifc.url + ' ' + ifc.method)
+ })
+ return Observable.fromPromise(InterfaceHistoryModel.create(log))
+ } else {
+ return Observable.throw('更新接口失败')
+ }
+ })
+ }
+ /**
+ * 删除一个接口
+ * @param pid 项目id
+ * @param iid 接口id
+ * @param uid 用户id
+ * @param isAdmin 管理员权限
+ */
+ delete(pid: string, iid: string, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, pid, uid, [role.developer, role.master])
+ .switchMap(() => {
+ return Observable.fromPromise(InterfaceModel.findOneAndRemove({ _id: mongoose.Types.ObjectId(iid) }).exec())
+ .do((doc: any) => {
+ projectCtrl.getMemberList(pid)
+ .subscribe((memberList: any) => {
+ engine.notify(engine.d, doc)
+ this.newDeleteMessage(iid, doc.name, uname, memberList, doc.url + ' ' + doc.method)
+ })
+ InterfaceHistoryModel.remove({ iid: mongoose.Types.ObjectId(iid) }).exec()
+ })
+ })
+ }
+ /**
+ * 修改模块名称
+ * @param pid
+ * @param module 当前模块名称
+ * @param name 新模块名称
+ * @param uid 用户id
+ * @param isAdmin
+ * @param uname
+ */
+ updateModule(pid: string, module:string, name: string, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, pid, uid, [role.developer, role.master])
+ .switchMap((common: any) => {
+ return Observable.fromPromise(InterfaceModel.updateMany({ pid, module }, { module:name }).exec())
+ })
+ }
+ /**
+ * 删除模块
+ * @param pid
+ * @param module
+ * @param uid
+ * @param isAdmin
+ * @param uname
+ */
+ deleteModule(pid: string, module: string, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, pid, uid, [role.developer, role.master])
+ .switchMap(() => {
+ return Observable.fromPromise(InterfaceModel.remove({pid, module}).exec())
+ .do((doc: any) => {
+ projectCtrl.getMemberList(pid)
+ .subscribe((memberList: any) => {
+ this.newDeleteMessage(this.objectId(pid), '批量删除', uname, memberList, `模块 "${module}" 被删除`)
+ })
+ InterfaceHistoryModel.remove({ module }).exec()
+ })
+ })
+ }
+ /**
+ * 导入json数据
+ * @param pid 项目id
+ * @param module 模块名
+ * @param files 导入文件
+ * @param isAdmin 管理员权限
+ * @param uid 用户id
+ */
+ import(pid: string, module: string, files: any, isAdmin: boolean = false, uname: string) {
+ try {
+ if (isAdmin) {
+ let f = files.pop()
+ let name = path.join('/', 'app', f.path)
+ fs.renameSync(name, name + '.json')
+ const file = JSON.parse(fs.readFileSync(name + '.json').toString())
+ let list: any[] = []
+ const ifcList = file.item.reverse()
+ for (let i = 0; i < ifcList.length; i++) {
+ const item = file.item[i]
+ const { name } = item
+ const description = item.request.description
+ const method = item.request.method
+ let urlList = item.request.url.raw.replace(/http(s)?:\/\//, '').split('/')
+ let querystring = (item.request.url.raw.split('?')[1]||'').split('&')
+ let urlParams = []
+ for (let i = 0; i < querystring.length; i++) {
+ urlParams.push({
+ name: querystring[i].split('=')[0]
+ })
+ }
+ urlList.shift()
+ const url = '/' + urlList.join('/')
+ const reqHeaderList = item.request.header
+ const resHeaderList = item.response.header
+ const payload = item.request.body.raw || "{}"
+ const body = item.response.body || "{}"
+ try {
+ const reqDataList = json2list(JSON.parse(payload))
+ const reqDataSchema = list2schema(reqDataList)
+ const resDataList = json2list(JSON.parse(body))
+ const resDataSchema = list2schema(resDataList)
+ let ifc = {
+ pid,
+ url,
+ name,
+ module: module || 'unknown',
+ remark: description,
+ createdTime: new Date(),
+ creator: uname,
+ editor: uname,
+ state: {
+ id: 0,
+ name: '待测试'
+ },
+ method,
+ request: {
+ urlParams,
+ headerList: reqHeaderList,
+ dataSchema: reqDataSchema
+ },
+ response: {
+ headerList: resHeaderList,
+ dataSchema: resDataSchema
+ }
+ }
+ list.push(ifc)
+ } catch(e) {
+ console.error(e)
+ return Observable.of({errCode: 400, message:'解析接口 "'+name+'" 失败!\n' + e})
+ }
+ }
+ InterfaceModel.deleteMany(module ? { pid, module } : {pid}).exec()
+ return Observable.fromPromise(InterfaceModel.insertMany(list))
+ } else {
+ return Observable.throw({ status: 403, message: '没有上传权限' })
+ }
+ } catch (e) {
+ return Observable.throw(e)
+ }
+ }
+}
\ No newline at end of file
diff --git a/server/src/interface/model.ts b/server/src/interface/model.ts
new file mode 100644
index 0000000..e14328b
--- /dev/null
+++ b/server/src/interface/model.ts
@@ -0,0 +1,175 @@
+import { Schema, mongoose, Model } from '../util/db'
+
+let paramSchemaObj = {
+ _id: false,
+ headerList: {
+ type: [{
+ _id: false,
+ key: String,
+ value: String
+ }],
+ default: []
+ },
+ dataSchema: Schema.Types.Mixed
+ // paramList: {
+ // type: [{
+ // _id: false,
+ // id: String,
+ // name: String,
+ // required: Boolean,
+ // ancestor: [String],
+ // type: {
+ // type: String,
+ // enum: ['String', 'Number', 'Boolean', 'Object', 'Array'],
+ // set(v: string) {
+ // return `${v[0].toUpperCase()}${v.slice(1)}`
+ // }
+ // },
+ // mock: String,
+ // remark: String
+ // }],
+ // default: []
+ // }
+}
+
+let requestSchema = new Schema(Object.assign({
+ urlParams: {
+ type: [{
+ _id: false,
+ id: String,
+ name: String,
+ required: Boolean,
+ mock: String,
+ remark: String
+ }],
+ default: []
+ }
+}, paramSchemaObj))
+
+let responseSchema = new Schema(Object.assign({
+ errList: {
+ type: [{
+ _id: false,
+ enabled: Boolean,
+ data: String,
+ remark: String,
+ probability: {
+ type: Number,
+ min: 0,
+ max: 100
+ }
+ }],
+ default: []
+ }
+}, paramSchemaObj))
+
+let InterfaceSchemaObj = {
+ iid: Schema.Types.ObjectId,
+ pid: {
+ type: Schema.Types.ObjectId,
+ required: true,
+ set: (v: string | any) => mongoose.Types.ObjectId(v)
+ },
+ url: {
+ type: String,
+ match: /^\//,
+ required: true
+ },
+ name: {
+ type: String,
+ maxlength: 40,
+ required: true
+ },
+ version: {
+ type: String,
+ default: () => new Date().getTime().toString(36)
+ },
+ module: String,
+ remark: {
+ type: String,
+ maxlength: 2000,
+ default: ''
+ },
+ createdTime: {
+ type: Date,
+ required: true
+ },
+ updateTime: {
+ type: Date,
+ required: true,
+ default: () => new Date()
+ },
+ creator: String,
+ editor: String,
+ isTest: {
+ type: Boolean,
+ default: false
+ },
+ testStatusId: Boolean,
+ testStatusMsg: String,
+ needTest: {
+ type: Boolean,
+ default: false
+ },
+ delay: Number, //单位:毫秒
+ state: {
+ type: Object,
+ enum: [{
+ _id: false,
+ id: 0,
+ name: '待测试'
+ }, {
+ _id: false,
+ id: -1,
+ name: '测试不通过'
+ }, {
+ _id: false,
+ id: 1,
+ name: '测试通过'
+ }]
+ },
+ method: {
+ type: String,
+ required: true,
+ uppercase: true
+ },
+ request: requestSchema,
+ response: responseSchema
+}
+
+enum method {
+ get = 'GET',
+ post = 'POST',
+ put = 'PUT',
+ delete = 'DELETE'
+}
+enum dataType {
+ string = 'String',
+ number = 'Number',
+ boolean = 'Boolean',
+ object = 'Object',
+ array = 'Array'
+}
+
+let InterfaceSchema = new Schema(InterfaceSchemaObj)
+let InterfaceHistorySchema = new Schema(InterfaceSchemaObj)
+
+let InterfaceModel = mongoose.model('interface', InterfaceSchema)
+let InterfaceHistoryModel = mongoose.model('interfacehistory', InterfaceHistorySchema)
+
+class Interface extends Model {
+ name = this.random()
+ url = '/' + this.random()
+ method = method.get
+ version = this.random(4)
+}
+
+export {
+ InterfaceSchema,
+ InterfaceHistorySchema,
+ InterfaceModel,
+ InterfaceHistoryModel,
+ method,
+ dataType,
+ Interface
+}
\ No newline at end of file
diff --git a/server/src/interface/router.ts b/server/src/interface/router.ts
new file mode 100644
index 0000000..74e9aef
--- /dev/null
+++ b/server/src/interface/router.ts
@@ -0,0 +1,21 @@
+import Router from '../util/Router'
+import Ctrl from './InterfaceCtrl'
+
+let interfaceRouter = new Router()
+let interfaceCtrl = new Ctrl()
+
+export default interfaceRouter.router
+ .get('/project/:pid/api', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.get(ctx.params.pid,ctx.user._id, ctx.user.isAdmin)))
+ .get('/project/:pid/api/exist', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.isExist(ctx.params.pid, ctx.query.url, ctx.query.method, ctx.user._id, ctx.user.isAdmin)))
+ .get('/project/:pid/api/module', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.getModule(ctx.params.pid,ctx.user._id, ctx.user.isAdmin)))
+ .del('/project/:pid/api/module/:module', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.deleteModule(ctx.params.pid, ctx.params.module, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .put('/project/:pid/api/module/:module', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.updateModule(ctx.params.pid, ctx.params.module, ctx.request.fields.name, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .get('/project/:pid/api/:id', (ctx: any) => interfaceRouter.handle(ctx,
+ ctx.query.version ? interfaceCtrl.getHistoryById(ctx.params.pid, ctx.params.id, ctx.query.version, ctx.user._id, ctx.user.isAdmin)
+ :interfaceCtrl.getById(ctx.params.pid, ctx.params.id,ctx.user._id, ctx.user.isAdmin)))
+ .get('/project/:pid/api/:id/version', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.getVersionById(ctx.params.pid, ctx.params.id,ctx.user._id, ctx.user.isAdmin)))
+ .post('/project/:pid/api', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.post(ctx.params.pid, ctx.request.fields,ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .put('/project/:pid/api/:id', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.put(ctx.params.pid, ctx.params.id, ctx.request.fields, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .del('/project/:pid/api/:id', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.delete(ctx.params.pid, ctx.params.id, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .post('/api/import', (ctx: any) => interfaceRouter.handle(ctx, interfaceCtrl.import(ctx.headers.pid, ctx.headers.module, ctx.request.files, ctx.user.isAdmin, ctx.user.name)))
+.routes()
\ No newline at end of file
diff --git a/server/src/member/MemberCtrl.ts b/server/src/member/MemberCtrl.ts
new file mode 100644
index 0000000..5f7a488
--- /dev/null
+++ b/server/src/member/MemberCtrl.ts
@@ -0,0 +1,87 @@
+import { MemberModel, MemberInterface } from './model'
+import { Observable } from 'rxjs/Rx'
+import { encrypt } from '../util/crypto'
+import { mongoose } from '../util/db'
+import BaseCtrl from '../util/BaseCtrl'
+import {avatar, staticPath} from '../util/config'
+import * as fs from 'fs'
+import * as path from 'path'
+
+export default class MemberCtrl extends BaseCtrl {
+ private createAvatar(id:string):string {
+ const str = avatar.replace('TEXT', id.substring(0,1)).replace('COLOR', '#'+Math.random().toString(16).substring(2, 8))
+ const filename = path.join(staticPath, id+'.svg')
+ fs.writeFileSync(filename, str)
+ return path.join('/', 'api', filename)
+ }
+ resetPassword(payload:any, user:any, id:string) {
+ if(user && user.isAdmin) {
+ return Observable.from(MemberModel.update({_id: mongoose.Types.ObjectId(id)}, {
+ $set: {
+ password: encrypt(payload.newPassword)
+ }
+ }).exec())
+ } else {
+ return Observable.throw({
+ errorCode: 222,
+ errorMsg: '没有管理员权限'
+ })
+ }
+ }
+ get() {
+ return this.from(MemberModel.aggregate().project({
+ _id: 0,
+ id: "$_id",
+ isAdmin: 1,
+ account: 1,
+ name: 1
+ }))
+ .map((memberList: any) => {
+ return { memberList }
+ })
+ }
+ getInfo(id: string) {
+ return Observable.from(MemberModel.findOne({_id: mongoose.Types.ObjectId(id)}).exec())
+ .map((doc:any) => {
+ let u = doc._doc
+ return {
+ id: u.id,
+ name: u.name,
+ account: u.account,
+ avatar: u.avatar || '',
+ email: u.email || '',
+ weixin: u.weixin || '',
+ apiInform: u.apiInform || '',
+ testInform: u.testInform || ''
+ }
+ })
+ }
+ post(member: any) {
+ member.password = encrypt(member.password)
+ member.avatarUrl = this.createAvatar(member.account)
+ return Observable.fromPromise(new MemberModel(member).save())
+ .map((x: any) => ({ id: x._id }))
+ }
+ put(id: string, member: any) {
+ try {
+ if (member.password) {
+ member.password = encrypt(member.password)
+ }
+ if(member.reportStyle) {
+ fs.writeFileSync('template', 'template.css')
+ }
+ if(member.reportTemplate) {
+ fs.writeFileSync('template', 'template.body.html')
+ }
+ return Observable.fromPromise(MemberModel.update({ _id: mongoose.Types.ObjectId(id) }, {$set:member})
+ .exec())
+ .map((x: any) => ({ id: x._id }))
+ } catch (e) {
+ return Observable.throw(e)
+ }
+ }
+ delete(_id: string) {
+ return Observable.fromPromise(MemberModel.remove({ _id }).exec())
+ .map((res: any) => ({ num: res.result.n }))
+ }
+}
\ No newline at end of file
diff --git a/server/src/team/member.md.ts b/server/src/member/model.ts
similarity index 83%
rename from server/src/team/member.md.ts
rename to server/src/member/model.ts
index 1506732..ad603a6 100644
--- a/server/src/team/member.md.ts
+++ b/server/src/member/model.ts
@@ -22,24 +22,25 @@ let MemberSchema = new Schema({
},
avatarUrl: String,
email: String,
- openid: String,
- interfaceNotify: Boolean,
- testNotify: Boolean
+ weixin: String,
+ apiInform: Boolean,
+ testInform: Boolean,
+ loginTime: {
+ type: Number,
+ set(v:number) {
+ return Math.round(v)
+ }
+ }
})
let MemberModel = mongoose.model('member', MemberSchema)
-enum role {
- user = 'user',
- admin = 'admin'
-}
interface MemberInterface {
id: string,
account: string,
name: string,
password: string,
- role: role,
avatarUrl: string,
email: string,
openid: string,
@@ -51,7 +52,6 @@ class Member extends Model {
account: string = this.random()
name: string = this.random()
password: string = this.random()
- role: role = Math.random() > .5 ? role.admin : role.user
avatarUrl?: string
email?: string
openid?: string
@@ -62,7 +62,6 @@ class Member extends Model {
export {
MemberSchema,
MemberModel,
- role,
MemberInterface,
Member
}
diff --git a/server/src/member/router.ts b/server/src/member/router.ts
new file mode 100644
index 0000000..45d9f75
--- /dev/null
+++ b/server/src/member/router.ts
@@ -0,0 +1,15 @@
+import Router from '../util/Router'
+import Ctrl from './MemberCtrl'
+
+let memberRouter = new Router()
+let memberCtrl = new Ctrl()
+
+export default memberRouter.router
+ .get('/member', (ctx: any) => memberRouter.handle(ctx, memberCtrl.get()))
+ .get('/user', (ctx: any) => memberRouter.handle(ctx, memberCtrl.getInfo(ctx.user._id)))
+ .put('/user', (ctx: any) => memberRouter.handle(ctx, memberCtrl.put(ctx.user._id, ctx.request.fields)))
+ .post('/member', (ctx: any) => memberRouter.handle(ctx, memberCtrl.post(ctx.request.fields)))
+ .put('/member/:id', (ctx: any) => memberRouter.handle(ctx, memberCtrl.put(ctx.params.id, ctx.request.fields)))
+ .put('/member/:id/reset', (ctx: any) => memberRouter.handle(ctx, memberCtrl.resetPassword(ctx.request.fields, ctx.user, ctx.params.id)))
+ .del('/member/:id', (ctx: any) => memberRouter.handle(ctx, memberCtrl.delete(ctx.params.id)))
+ .routes()
\ No newline at end of file
diff --git a/server/src/message/MessageCtrl.ts b/server/src/message/MessageCtrl.ts
new file mode 100644
index 0000000..d732546
--- /dev/null
+++ b/server/src/message/MessageCtrl.ts
@@ -0,0 +1,98 @@
+import BaseCtrl from '../util/BaseCtrl'
+import { MessageModel } from './model'
+
+export default class MessageCtrl extends BaseCtrl {
+ protected model = MessageModel
+ /**
+ * 通过用户id获取消息
+ * @param uid 用户id
+ * @param page 当前页
+ * @param size 分页大小,最大50
+ */
+ get(uid: string, page: number = 1, size: number = 10, unread: boolean = false) {
+ const $limit = Math.min(size, 50)
+ let total = 0
+ let match = {
+ $match: {
+ readableUserList: {
+ $in: [uid]
+ }
+ }
+ }
+ let excludeMath = {
+ $match: {
+ $and: [
+ {
+ readableUserList: {
+ $in: [uid]
+ }
+ }, {
+ readUserList: {
+ $not: {
+ $in: [uid]
+ }
+ }
+ }
+ ]
+ }
+ }
+ return this.aggregate([unread ? excludeMath : match, {
+ $count: 'total'
+ }])
+ .switchMap((t: any) => {
+ total = t[0] ? t[0].total : 0
+ return this.aggregate([unread ? excludeMath : match, {
+ $addFields: {
+ id: '$_id',
+ isRead: {
+ $in: [uid, '$readUserList']
+ },
+ datetime: {
+ $dateToString: {
+ format: '%Y-%m-%d %H:%M:%S',
+ date: '$createdTime'
+ }
+ }
+ }
+ }, {
+ $sort: { createdTime: -1 }
+ },
+ { $skip: (page - 1) * size },
+ { $limit }
+ ])
+ })
+ .map((list: any) => {
+ return { list, total, page }
+ })
+ }
+ put(uid: string, msgId: string[]) {
+ return this.update({
+ _id: { $in: this.objectId(msgId) }
+ }, {
+ $addToSet: {
+ readUserList: uid
+ }
+ })
+ }
+ putAll(uid: string) {
+ return this.update({
+ $and: [
+ {
+ readableUserList: {
+ $in: [this.objectId(uid)]
+ }
+ }, {
+ readUserList: {
+ $not: {
+ $in: [this.objectId(uid)]
+ }
+ }
+ }
+ ]
+ }, {
+ $push: { readUserList: this.objectId(uid) }
+ }, {
+ multi: true
+ })
+ }
+}
\ No newline at end of file
diff --git a/server/src/message/model.ts b/server/src/message/model.ts
new file mode 100644
index 0000000..95bf194
--- /dev/null
+++ b/server/src/message/model.ts
@@ -0,0 +1,46 @@
+import { Schema, mongoose } from '../util/db'
+
+let MessageSchema = new Schema({
+ // 被操作对象的id
+ objectId: Schema.Types.ObjectId,
+ // 被操作的名称
+ objectName: String,
+ // 被操作的类型
+ module: String,
+ // 操作类型
+ operation: {
+ type: String,
+ enum: ['create', 'update', 'delete', 'test']
+ },
+ // 操作者
+ operator: {
+ type: String,
+ default: ''
+ },
+ // 操作内容描述
+ content: {
+ type: String,
+ default: ''
+ },
+ //可读用户列表
+ readableUserList: {
+ type: [Schema.Types.ObjectId],
+ default: []
+ },
+ //已读用户列表
+ readUserList: {
+ type: [Schema.Types.ObjectId],
+ default: []
+ },
+ createdTime: {
+ type: Date,
+ default: new Date()
+ }
+})
+
+let MessageModel = mongoose.model('message', MessageSchema)
+
+export {
+ MessageSchema,
+ MessageModel
+}
\ No newline at end of file
diff --git a/server/src/message/router.ts b/server/src/message/router.ts
new file mode 100644
index 0000000..846f92f
--- /dev/null
+++ b/server/src/message/router.ts
@@ -0,0 +1,11 @@
+import Router from '../util/Router'
+import Ctrl from './MessageCtrl'
+
+let router = new Router()
+let ctrl= new Ctrl()
+
+export default router.router
+ .get('/message', (ctx: any) => router.handle(ctx, ctrl.get(ctx.user._id, parseInt(ctx.request.query.page)||1, parseInt(ctx.request.query.size)||10, ctx.request.query.unread)))
+ .put('/message/:id', (ctx: any) => router.handle(ctx, ctrl.put(ctx.user._id, [ctx.params.id])))
+ .put('/message', (ctx: any) => router.handle(ctx, ctrl.putAll(ctx.user._id)))
+.routes()
\ No newline at end of file
diff --git a/server/src/mock.ts b/server/src/mock.ts
deleted file mode 100644
index b228350..0000000
--- a/server/src/mock.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import * as path2reg from 'path-to-regexp'
-import { InterfaceModel, Interface } from './project/interface.md'
-import { Observable } from 'rxjs/Rx'
-import { mongoose } from './util/db'
-
-export default (ctx: any, next: any) => {
- let { method, path, query, headers, body } = ctx.request
- let _path = path.replace('/', '').split('/')
- let pid = _path.shift()
- path = '/' + _path.join('/')
- if(/\w{24}/.test(pid)) {
- return Observable.fromPromise(InterfaceModel.find({ pid: mongoose.Types.ObjectId(pid), method }))
- .switchMap((res: Interface[]) => Observable.from(res))
- .combineLatest(Observable.of({ path, query, body, headers }))
- .throttleTime(500)
- .map(([ifc, { path, query, body, headers }]) => {
- let re = path2reg(ifc.url)
- let match = re.exec(path)
- if (match) {
- ctx.body = match
- } else {
- next()
- }
- })
- .toPromise()
- } else {
- return next()
- }
-}
\ No newline at end of file
diff --git a/server/src/mock/mock.ts b/server/src/mock/mock.ts
new file mode 100644
index 0000000..d86aea0
--- /dev/null
+++ b/server/src/mock/mock.ts
@@ -0,0 +1,133 @@
+import * as path2reg from 'path-to-regexp'
+import { InterfaceModel, Interface } from '../interface/model'
+import { Observable } from 'rxjs/Rx'
+import { mongoose } from '../util/db'
+import Probability from './probability'
+import * as Ajv from 'ajv'
+import * as jsf from 'json-schema-faker'
+
+let tuple2single = (sch: any) => {
+ if (sch.type === 'object') {
+ for (let p in sch.properties) {
+ if (sch.properties[p].type === 'object' || sch.properties[p].type === 'array') {
+ tuple2single(sch.properties[p])
+ }
+ }
+ } else if (sch.type === 'array') {
+ if (sch.items.length === 1) {
+ sch.items = sch.items[0]
+ if (sch.items.type === 'object') {
+ for (let p in sch.items.properties) {
+ tuple2single(sch.items.properties[p])
+ }
+ }
+ if (sch.items.type === 'array') {
+ tuple2single(sch.items.items)
+ }
+ } else {
+ sch.items.forEach((it: any) => {
+ if (it.type === 'object' || it.type === 'array') {
+ tuple2single(it)
+ }
+ })
+ }
+ }
+}
+
+export default (ctx: any, next: any) => {
+ let { method, path, query, headers, body } = ctx.request
+ let _path = path.replace('/', '').split('/')
+ let pid = _path.shift()
+ path = '/' + _path.join('/')
+ if (/\w{24}/.test(pid)) {
+ return Observable.fromPromise(InterfaceModel.find({ pid: mongoose.Types.ObjectId(pid), method }))
+ .throttleTime(500)
+ .map((ifcList: any) => {
+ let keys: any = []
+ let match: any
+ let ifc: any = []
+ // 排序,优先匹配实参路径,如 /yy,/:xx 优先匹配/yy
+ ifcList.sort((a: any, b: any) => b.url.localeCompare(a.url))
+ for(let i=0; i {
+ param[key.name] = match[index + 1]
+ })
+ let paramValid: any = []
+ // 校验请求体
+ let errorMsg = validate(ifc.request.dataSchema, ctx.request.fields || {})
+ if (errorMsg.length) {
+ ctx.body = {
+ errorCode: 400,
+ errorMsg
+ }
+ } else {
+ return new Promise((resolve, rejct) => {
+ setTimeout(() => {
+ if(ifc.response.headerList) {
+ ifc.response.headerList.forEach((it: any) => {
+ ctx.set(it.key, it.value)
+ })
+ }
+ // if (ifc.response.errList && ifc.response.errList.length) {
+ // let list:any = []
+ // ifc.response.errList.forEach((item: any) => {
+ // if (item.enabled) {
+ // let response
+ // try {
+ // response = eval(item.data)
+ // } catch (e) {
+ // console.error(e)
+ // response = item.data
+ // }
+ // list.push({
+ // p: item.probability + '%',
+ // fn: () => ctx.body = item.response
+ // })
+ // }
+ // })
+ // let p = new Probability(list)
+ // p.roll()
+ // }
+ tuple2single(ifc.response.dataSchema)
+ Observable.from(jsf.resolve(ifc.response.dataSchema))
+ .subscribe((data: any) => {
+ ctx.body = data
+ resolve()
+ })
+ }, ifc.delay)
+ })
+ }
+ } else {
+ next()
+ }
+ })
+ .toPromise()
+ } else {
+ return next()
+ }
+}
+
+let validate = (schema: any, data: any) => {
+ if (schema) {
+ let ajv = new Ajv()
+ let validate = ajv.compile(schema)
+ let valid = validate(data)
+ return valid ? '' : validate.errors
+ } else {
+ return ''
+ }
+}
\ No newline at end of file
diff --git a/server/src/mock/probability.ts b/server/src/mock/probability.ts
new file mode 100644
index 0000000..8d8e698
--- /dev/null
+++ b/server/src/mock/probability.ts
@@ -0,0 +1,33 @@
+export default class Probability {
+ private probas: number[] = []
+ private functions: any = []
+ constructor(args: any[]) {
+ let sum = 0
+ args.concat([{ p: 0, f: () => { } }]).forEach((item: any, i) => {
+ let p = Math.abs(parseFloat(item.p)),
+ f = item.f
+ if (isNaN(p) || typeof f !== 'function') {
+ throw new TypeError('Probability.js: Invalid probability object in argument ' + i + '.')
+ }
+ if (/%/.test(item.p)) {
+ p = p / 100.0
+ }
+ sum += p
+ if (sum > 1.0) {
+ throw new TypeError('Probability.js: Probability exceeds "1.0" (=100%) in argument ' + i + ': p="' + p + '" (=' + p * 100 + '%), sum="' + sum + '" (=' + sum * 100 + '%).')
+ }
+ this.probas[i] = sum;
+ this.functions[i] = f;
+ })
+ }
+ roll() {
+ let random = Math.random();
+ let fn = () => { }
+ for (let i = 0; i < this.probas.length; i++) {
+ if (random >= this.probas[i] && random < this.probas[i + 1]) {
+ fn = this.functions[i]
+ }
+ }
+ return fn.apply(this, arguments);
+ }
+}
diff --git a/server/src/project/ProjectCtrl.ts b/server/src/project/ProjectCtrl.ts
new file mode 100644
index 0000000..8f307d1
--- /dev/null
+++ b/server/src/project/ProjectCtrl.ts
@@ -0,0 +1,266 @@
+import { ProjectModel,role } from './model'
+import { TestModel } from '../test/model'
+import { MemberModel } from '../member/model'
+import { InterfaceModel } from '../interface/model'
+import { Observable } from 'rxjs/Rx'
+import { Schema, mongoose } from '../util/db'
+import exp from './export'
+import BaseCtrl from '../util/BaseCtrl'
+import * as _ from 'underscore'
+
+export default class ProjectCtrl extends BaseCtrl {
+ module = '项目'
+ /**
+ * 项目成员可查看所属项目,管理员可查看所有项目
+ */
+ get(uId: string, isAdmin: boolean) {
+ let gg = ProjectModel.aggregate()
+ if (!isAdmin) {
+ gg.append({
+ $addFields: {
+ memberList: { $concatArrays: ['$developerList', '$masterList', '$guestList'] }
+ }
+ })
+ .match({ memberList: { $in: [mongoose.Types.ObjectId(uId)] } })
+ }
+ return Observable.fromPromise(gg
+ .lookup({
+ from: InterfaceModel.collection.collectionName,
+ localField: '_id',
+ foreignField: 'pid',
+ as: 'list'
+ })
+ .project({
+ id: '$_id',
+ name: 1,
+ logo: 1,
+ masterList: 1,
+ api: {
+ total: { $size: '$list' },
+ pass: { $literal: 0 },
+ untest: { $size: '$list' }
+ }
+ })
+ .exec())
+ .map((list: any) => {
+ list.forEach((pro:any) => {
+ pro.editable = pro.deletable = false || isAdmin
+ Array.prototype.forEach.call(pro.masterList || [], (userId:any) => {
+ if(userId.toString()===uId.toString()) {
+ pro.editable = pro.deletable = true
+ }
+ })
+ delete pro.masterList
+ })
+ return {list}
+ })
+ }
+ getById(id: string, uId: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, id, uId)
+ .switchMap((authorized: boolean) => {
+ return Observable.fromPromise(ProjectModel.aggregate()
+ .match({ _id: mongoose.Types.ObjectId(id) })
+ .lookup({
+ from: MemberModel.collection.collectionName,
+ localField: 'masterList',
+ foreignField: '_id',
+ as: 'm'
+ })
+ .lookup({
+ from: MemberModel.collection.collectionName,
+ localField: 'developerList',
+ foreignField: '_id',
+ as: 'd'
+ })
+ .lookup({
+ from: MemberModel.collection.collectionName,
+ localField: 'guestList',
+ foreignField: '_id',
+ as: 'g'
+ })
+ .append({
+ $addFields: {
+ m: {
+ $map: {
+ input: '$m',
+ as: 'ml',
+ in: { id: '$$ml._id', name: '$$ml.name', role: 'master' }
+ }
+ },
+ d: {
+ $map: {
+ input: '$d',
+ as: 'dl',
+ in: { id: '$$dl._id', name: '$$dl.name', role: 'developer' }
+ }
+ },
+ g: {
+ $map: {
+ input: '$g',
+ as: 'gl',
+ in: { id: '$$gl._id', name: '$$gl.name', role: 'guest' }
+ }
+ }
+ }
+ })
+ .project({
+ _id: 0,
+ id: '$_id',
+ logo: 1,
+ name: 1,
+ description: 1,
+ openTest: 1,
+ testUrl: 1,
+ towerInform: 1,
+ dingInform: 1,
+ members: { $concatArrays: ['$m', '$d', '$g'] }
+ })
+ .exec())
+ .map((res: any) => {
+ return res.pop()
+ })
+ })
+ }
+ getRole() {
+ return Observable.of({
+ "roleList": [
+ {
+ "name": "master",
+ "editProject": true,
+ "editApi": true,
+ "readApi": true
+ },
+ {
+ "name": "developer",
+ "editProject": false,
+ "editApi": true,
+ "readApi": true
+ },
+ {
+ "name": "guest",
+ "editProject": false,
+ "editApi": false,
+ "readApi": true
+ }
+ ]
+ })
+ }
+ getMemberList(id: string) {
+ return Observable.from(ProjectModel.findOne({_id: mongoose.Types.ObjectId(id)}))
+ .map((project:any) => {
+ let list = project.masterList.concat(project.developerList, project.guestList)
+ let idStr:any = []
+ list.forEach((item:any) => idStr.push(item.toString()))
+ return idStr
+ })
+ }
+ post(project: any, uname: string) {
+ try {
+ project.creator = uname
+ project.createdTime = new Date()
+ return Observable.zip(Observable.of(project), this.devideMember(project.members), (x, y) => Object.assign(x, y))
+ .switchMap((p: any) => {
+ return Observable.fromPromise(ProjectModel.create(p))
+ .map((proj: any) => ({ id: proj._id }))
+ })
+ .do((pro: any) => {
+ this.newCreateMessage(pro.id, project.name, uname, _.pluck(project.members, 'id'))
+ })
+ } catch (e) {
+ return Observable.throw(e)
+ }
+ }
+ put(_id: string, project: any, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, _id, uid, [role.master])
+ .switchMap(() => {
+ return Observable.zip(Observable.of(project), this.devideMember(project.members), (x, y) => Object.assign(x, y))
+ .switchMap((p: any) => {
+ return Observable.fromPromise(ProjectModel.updateOne({ _id }, { $set: p }).exec())
+ .map((res: any) => ({ num: res.n }))
+ })
+ .do((pro: any) => {
+ this.newUpdateMessage(_id, project.name, uname, _.pluck(project.members, 'id'))
+ })
+ })
+ }
+ delete(id: string, uid: string, isAdmin: boolean, uname: string) {
+ return this.verifyAuth(isAdmin, id, uid, [role.master])
+ .switchMap((authorized: boolean) => {
+ if (authorized) {
+ return Observable.fromPromise(ProjectModel.findOneAndRemove({ _id: mongoose.Types.ObjectId(id) }).exec())
+ .do((pro: any) => {
+ let list = pro.masterList.concat(pro.developerList, pro.guestList)
+ this.newDeleteMessage(id, pro.name, uname, _.pluck(list, 'id'))
+ })
+ .map((res: any) => {
+ let num = res ? 1 : 0
+ return { num }
+ })
+ .do(() => {
+ InterfaceModel.remove({ pid: mongoose.Types.ObjectId(id) }).exec()
+ })
+ } else {
+ return Observable.throw({ status: 403, message: '没有操作权限' })
+ }
+ })
+ }
+ export(pid: string, uid: string, isAdmin: boolean) {
+ return this.verifyAuth(isAdmin, pid, uid)
+ .switchMap((authorized: boolean) => {
+ return exp.gen(pid)
+ .map((url: any) => {
+ return { url }
+ })
+ })
+ }
+ report(file: string) {
+ return exp.readFile(file)
+ }
+ copy(id: string, name: string, uname: string) {
+ // 复制项目
+ return this.from(ProjectModel.findOne({
+ _id: this.objectId(id)
+ }))
+ .switchMap((project: any) => {
+ let pro = project.toJSON()
+ delete pro._id
+ pro.name = name
+ pro.creator = uname
+ pro.createdTime = new Date()
+ return this.from(ProjectModel.create(pro))
+ })
+ .switchMap((resp:any) => {
+ const pid = this.objectId(resp._doc._id)
+ return this.from(InterfaceModel.find({pid: this.objectId(id)}))
+ .map((ifcList:any) => {
+ let list:any = []
+ ifcList.forEach((ifc:any) => {
+ let obj = ifc.toJSON()
+ delete obj._id
+ obj.pid = pid
+ list.push(obj)
+ })
+ return list
+ })
+ })
+ .switchMap((ifcList:any) => {
+ return ifcList.length?this.from(InterfaceModel.create(ifcList)):this.of()
+ })
+ // 复制API
+ }
+ private devideMember(memberList: any = []) {
+ return Observable.of(memberList)
+ .map((list: any) => {
+ let obj: any = {
+ masterList: [],
+ developerList: [],
+ guestList: []
+ }
+ memberList.forEach((it: any) => {
+ obj[it.role + 'List'].push(mongoose.Types.ObjectId(it.id))
+ })
+ return obj
+ })
+ }
+}
+
diff --git a/server/src/project/export.ts b/server/src/project/export.ts
index 7ebc695..1214e21 100644
--- a/server/src/project/export.ts
+++ b/server/src/project/export.ts
@@ -1,12 +1,14 @@
-import { InterfaceModel } from './interface.md'
+import { InterfaceModel } from '../interface/model'
import { mongoose } from '../util/db'
import { Observable } from 'rxjs/Rx'
import * as _ from 'lodash'
import * as fs from 'fs'
import * as path from 'path'
+import * as jsf from 'json-schema-faker'
-const src = 'template'
+const prefix = 'api'
const dist = 'report'
+const src = 'template'
const title = 'API文档'
const getFile = (name: string) => {
@@ -31,40 +33,53 @@ const setFile = (name: string, data: string) => {
const exist = (name: string) => fs.existsSync(path.join('template', name))
const getIfc = (ifc: any) => {
- let obj:any = {
+ let obj: any = {
name: ifc.name,
method: ifc.method,
- desc: ifc.desc,
+ desc: ifc.remark,
url: ifc.url,
+ urlParams: ifc.request.urlParams || [],
requestParams: [],
requestExample: '',
responseParams: [],
responseExample: '',
exceptions: []
}
+ ifc.request.paramList = ifc.request.dataSchema ? schema2list(ifc.request.dataSchema) : []
ifc.request.paramList.forEach((it: any) => {
- obj.requestParams.push({
- name: it.name,
- desc: it.desc,
- type: it.type,
- validator: it.validator
- })
+ if (!it.noName && !it.isRoot) {
+ obj.requestParams.push({
+ name: it.name,
+ desc: it.description,
+ type: it.type
+ })
+ }
})
+ ifc.response.paramList = schema2list(ifc.response.dataSchema)
ifc.response.paramList.forEach((it: any) => {
- obj.requestParams.push({
- name: it.name,
- desc: it.desc,
- type: it.type,
- validator: it.validator
- })
+ if (!it.noName && !it.isRoot) {
+ obj.responseParams.push({
+ name: it.name,
+ desc: it.description,
+ type: it.type
+ })
+ }
})
- ifc.exceptionList.forEach((it: any) => {
+ ifc.response.errList.forEach((it: any) => {
obj.exceptions.push({
- param: it.param,
- desc: it.desc
+ param: it.mock,
+ desc: it.remark
})
})
- return obj
+ let obs: any = Observable.from(jsf.resolve(ifc.response.dataSchema))
+ if (ifc.request.paramList.length > 0) {
+ obs.combineLatest(Observable.from(jsf.resolve(ifc.request.dataSchema)))
+ }
+ return obs.map((res: any, req: any) => {
+ obj.responseExample = JSON.stringify(res, null, 2)
+ if (req) obj.requestExample = JSON.stringify(req, null, 2)
+ return obj
+ })
}
export default {
@@ -73,22 +88,93 @@ export default {
let htmlTpl = getFile('default.html')
let bodyTpl = exist('template.body.html') ? getFile('template.body.html') : getFile('default.body.html')
let css = exist('template.css') ? getFile('template.css') : getFile('default.css')
- let head = _.template(headTpl)({ css: `${pid}.css`, title })
- Observable.fromPromise(InterfaceModel.find({ pid: mongoose.Types.ObjectId(pid) }))
- .map((interfaceList: any) => {
+ let head = _.template(headTpl)({ css: `${pid}.css`, title , style: css})
+ return Observable.fromPromise(InterfaceModel.find({ pid: mongoose.Types.ObjectId(pid) }))
+ .switchMap((interfaceList: any) => {
+ let obs: any = []
+ interfaceList.forEach((ifc: any) => {
+ obs.push(getIfc(ifc))
+ })
+ return Observable.combineLatest.apply(null, obs)
+ })
+ .map((ifcList: any) => {
let str = ''
- interfaceList.forEach((ifc: any) => str += _.template(bodyTpl)(getIfc(ifc)))
+ ifcList.forEach((ifc: any) => str += _.template(bodyTpl)(ifc))
return str
})
.catch((e: any) => {
console.error(e)
return Observable.of(e)
})
- .do((body: any) => {
- let html = _.template(htmlTpl)({ head, body })
- setFile(`${pid}.css`, css)
- setFile(`${pid}.html`, html)
+ .map((body: any) => {
+ let content = _.template(htmlTpl)({ head, body })
+ const file = path.join(dist, pid)
+ setFile(file + '.html', content)
+ setFile(file + '.docx', content)
+ return path.join('/', prefix, dist, `${pid}.html`)
+ })
+ },
+ readFile(filePath: string) {
+ return Observable.of(fs.readFileSync(path.join(dist, filePath)))
+ }
+}
+
+interface Param {
+ id: string,
+ ancestor: string[],
+ name: string,
+ type: string,
+ required: boolean,
+ isRoot?: boolean,
+ property?: string,
+ description?: string,
+ className?: string
+}
+
+const schema2list = (schemaObj: any): Param[] => {
+ let travel = (schema: any, list: Param[], ancestor: string[], required: boolean = false, noName: boolean = false) => {
+ const exclude = ['id', 'name', 'type', 'required', 'description', 'properties', 'items']
+ let row: any = {
+ id: schema.id || Math.random().toString(36).substring(2, 10),
+ name: schema.name,
+ description: schema.description,
+ type: schema.type,
+ required,
+ ancestor,
+ isRoot: ancestor.length === 0,
+ className: 'bg-' + ancestor.length
+ }
+ noName ? row.noName = true : void 0
+ let property: any = {}
+ // 整数特殊处理
+ if (schema.type === 'integer') {
+ row.type = 'number'
+ property.type = 'integer'
+ }
+ for (let p in schema) {
+ if (exclude.indexOf(p) < 0) {
+ property[p] = schema[p]
+ }
+ }
+ if (Object.keys(property).length > 0) {
+ row.property = JSON.stringify(property)
+ }
+ list.push(row)
+ if (schema.type === 'array') {
+ schema.items = schema.items || []
+ schema.items.forEach((item: any, index: number) => {
+ let min = schema.minItems || 0
+ travel(item, list, ancestor.concat(schema.id), min > index, true)
})
- .subscribe()
+ } else if (schema.type === 'object') {
+ schema.properties = schema.properties || {}
+ for (let p in schema.properties) {
+ schema.required = schema.required || []
+ travel(schema.properties[p], list, ancestor.concat(schema.id), schema.required.indexOf(schema.properties[p].name) > -1)
+ }
+ }
}
+ let dataList: Param[] = []
+ travel(schemaObj, dataList, [], false)
+ return dataList
}
\ No newline at end of file
diff --git a/server/src/project/interface.ctrl.ts b/server/src/project/interface.ctrl.ts
deleted file mode 100644
index 33ffa16..0000000
--- a/server/src/project/interface.ctrl.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import { InterfaceModel } from './interface.md'
-import { InterfaceLogInterface, InterfaceLogModel } from './interfaceArchive.md'
-import { ProjectModel } from './project.md'
-import { MemberInterface, MemberModel } from '../team/member.md'
-import { Observable } from 'rxjs/Rx'
-import { mongoose } from '../util/db'
-import { rename } from '../util/fun'
-import * as _ from 'lodash'
-
-export interface version extends InterfaceLogInterface {
- version: string
- updateTime: string
- updateMember: string
- editorId: string
-}
-
-export const interfaceCtrl = {
- /**
- * 查询项目下的接口列表
- * @param pid 项目id
- */
- get(pid: string) {
- return Observable.fromPromise(ProjectModel.aggregate()
- .lookup({
- from: InterfaceModel.collection.collectionName,
- localField: '_id',
- foreignField: 'pid',
- as: 'apiList'
- })
- .append({
- $addFields: {
- id: '$_id',
- total: { $size: '$apiList' }
- }
- })
- .exec())
- .map((list: any) => {
- let result = list.pop() || {}
- result.apiList = rename(result.apiList, [['_id', 'id']])
- return result
- })
- },
- /**
- * 查询某个接口
- * @param pid 项目id
- * @param iid 接口id
- */
- getById(pid: string, iid: string) {
- return Observable.fromPromise(InterfaceModel.aggregate()
- .match({ _id: mongoose.Types.ObjectId(iid) })
- .append({
- $addFields: {
- id: '$_id',
- currentVersion: '$version',
- latestVersion: '$version',
- }
- })
- .exec())
- .map((x: any) => x.pop())
- },
- /**
- * 查询指定版本接口信息
- * @param iid 接口id
- * @param version 接口版本
- */
- getHistoryById(iid: string, version: string) {
- return Observable.fromPromise(InterfaceLogModel.aggregate()
- .match({ iid: mongoose.Types.ObjectId(iid), version })
- .append({
- $addFields: {
- id: '$_id',
- currentVersion: '$version'
- }
- })
- .exec())
- .map((res:any) => res.pop())
- },
- /**
- * 查询接口历史版本列表
- * @param iid 接口id
- */
- getVersionById(iid: string) {
- return Observable.fromPromise(InterfaceLogModel.aggregate()
- .match({ iid: mongoose.Types.ObjectId(iid) })
- .lookup({
- from: MemberModel.collection.collectionName,
- localField: 'editorId',
- foreignField: '_id',
- as: 'm'
- })
- .unwind('$m')
- .project({
- version: 1,
- updateTime: { $dateToString: { format: '%Y-%m-%d %H:%M:%S', date: '$updateTime' } },
- updateMember: '$m.name'
- })
- .exec())
- .map((versionList: any) => ({ versionList }))
- },
- /**
- * 新增接口
- * @param pid 项目id
- * @param ifc 接口数据
- */
- post(pid: string, ifc: any) {
- ifc.pid = mongoose.Types.ObjectId(pid)
- return Observable.fromPromise(new InterfaceModel(ifc).save())
- },
- /**
- * 修改接口
- * @param pid 项目id
- * @param iid 接口id
- * @param ifc 接口数据
- */
- put(pid: string, iid: string, ifc: any) {
- return Observable.fromPromise(InterfaceModel.findOneAndUpdate({ _id: mongoose.Types.ObjectId(iid) }, {$set:ifc}).exec())
- .switchMap((doc: any) => {
- if(doc) {
- let log = doc.toObject()
- log.iid = iid
- delete log._id
- return Observable.fromPromise(new InterfaceLogModel(log).save())
- } else {
- return Observable.throw('更新接口失败')
- }
- })
- },
- /**
- * 删除一个接口
- * @param pid 项目id
- * @param iid 接口id
- */
- delete(pid: string, iid: string) {
- return Observable.fromPromise(InterfaceModel.remove({ _id: mongoose.Types.ObjectId(iid) }).exec())
- .do(() => InterfaceLogModel.remove({ iid: mongoose.Types.ObjectId(iid) }).exec())
- .do(() => ProjectModel.findByIdAndUpdate(mongoose.Types.ObjectId(pid), {
- $pull: {
- testInterfaceList: mongoose.Types.ObjectId(iid)
- }
- }))
- }
-}
\ No newline at end of file
diff --git a/server/src/project/interface.md.ts b/server/src/project/interface.md.ts
deleted file mode 100644
index 355cbac..0000000
--- a/server/src/project/interface.md.ts
+++ /dev/null
@@ -1,215 +0,0 @@
-import { Schema, mongoose, Model } from '../util/db'
-
-let InterfaceSchema = new Schema({
- pid: {
- type: Schema.Types.ObjectId,
- required: true,
- set: (v:string|any) => mongoose.Types.ObjectId(v)
- },
- url: {
- type: String,
- match: /^\//,
- required: true
- },
- name: {
- type: String,
- maxlength: 40,
- required: true
- },
- version: {
- type: String,
- required: true
- },
- desc: {
- type: String,
- maxlength: 200,
- default: ''
- },
- createdTime: {
- type: Date,
- required: true,
- default: new Date(),
- },
- updateTime: {
- type: Date,
- required: true,
- default: new Date()
- },
- creatorId: {
- type: Schema.Types.ObjectId,
- required: true
- },
- editorId: {
- type: Schema.Types.ObjectId,
- required: true,
- alias: 'updateMember'
- },
- isTest: {
- type: Boolean,
- default: false
- },
- testStatusId: Boolean,
- testStatusMsg: String,
- needTest: {
- type: Boolean,
- default: false
- },
- delay: Number,
- state: {
- type: Object,
- enum: [{
- _id: false,
- id: 0,
- name: '待测试'
- }, {
- _id: false,
- id: -1,
- name: '测试不通过'
- }, {
- _id: false,
- id: 1,
- name: '测试通过'
- }]
- },
- method: {
- type: String,
- enum: ['GET', 'POST', 'PUT', 'DELETE'],
- required: true
- },
- exceptionList: [{
- _id: false,
- enabled: Boolean,
- result: String,
- desc: String,
- probability: {
- type: Number,
- min: 0,
- max: 100
- }
- }],
- request: {
- headerList: [{
- _id: false,
- id: String,
- key: String,
- value: String
- }],
- paramList: [{
- _id: false,
- id: String,
- isNecessary: Boolean,
- dataType: {
- type: String,
- enum: ['String', 'Number', 'Boolean', 'Object', 'Array']
- },
- mockData: String,
- validator: String,
- desc: String
- }]
- },
- response: {
- headerList: [{
- _id: false,
- id: String,
- key: String,
- value: String
- }],
- paramList: [{
- _id: false,
- id: String,
- isNecessary: Boolean,
- dataType: {
- type: String,
- enum: ['String', 'Number', 'Boolean', 'Object', 'Array']
- },
- mockData: String,
- validator: String,
- desc: String
- }]
- }
-})
-
-enum method {
- get = 'GET',
- post = 'POST',
- put = 'PUT',
- delete = 'DELETE'
-}
-enum dataType {
- string = 'String',
- number = 'Number',
- boolean = 'Boolean',
- object = 'Object',
- array = 'Array'
-}
-
-interface InterfaceInterface {
- pid: string,
- id: string,
- url: string,
- name: string
- version: string,
- desc: string,
- createdTime: string,
- updateTime: string,
- creatorId: string,
- editorId: string,
- delay?: number,
- state?: {
- id: number,
- name: string
- },
- method: method,
- exceptionList?: [{
- enabled: boolean,
- result: string,
- desc: string,
- probability: number
- }],
- request?: {
- headerList: [{
- key: string,
- value: string
- }],
- paramList: [{
- id: string,
- isNecessary: boolean,
- dataType: dataType,
- mockData: string,
- validator: string,
- desc: string
- }]
- },
- response?: {
- headerList: [{
- key: string,
- value: string
- }],
- paramList: [{
- id: string,
- isNecessary: boolean,
- dataType: dataType,
- mockData: string,
- validator: string,
- desc: string
- }]
- }
-}
-
-const InterfaceModel = mongoose.model('interface', InterfaceSchema)
-
-class Interface extends Model{
- name = this.random()
- url = '/' + this.random()
- method = method.get
- version = this.random(4)
-}
-
-export {
- InterfaceSchema,
- InterfaceInterface,
- InterfaceModel,
- method,
- dataType,
- Interface
-}
\ No newline at end of file
diff --git a/server/src/project/interface.test.ts b/server/src/project/interface.test.ts
deleted file mode 100644
index a6ed280..0000000
--- a/server/src/project/interface.test.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import test from 'ava'
-import { Observable } from 'rxjs/Rx'
-import { interfaceCtrl } from './interface.ctrl'
-import { Interface } from './interface.md'
-import { projectCtrl } from './project.ctrl'
-import { Project } from './project.md'
-import { memberCtrl } from '../team/member.ctrl'
-import { Member } from '../team/member.md'
-
-let project = new Project()
-let member = new Member()
-let ifc = new Interface()
-
-test.before('Create project,member', (t: any) => {
- return memberCtrl.post(member)
- .switchMap((x: any) => {
- member.id = x.id
- ifc.editorId = x.id
- ifc.creatorId = x.id
- t.truthy(member.id)
- project.memberList = [{
- id: x.id,
- role: 'master'
- }]
- return projectCtrl.post(project).do((x: any) => {
- project.id = x.id
- t.truthy(project.id)
- })
- })
-})
-
-test.after('Delete project.member', (t: any) => {
- projectCtrl.delete(project.id).subscribe()
- memberCtrl.delete(member.id).subscribe()
-})
-
-test.serial('interface.post', (t: any) => {
- return interfaceCtrl.post(project.id, ifc)
- .do((res: any) => {
- ifc.id = res.id
- t.truthy(res.id)
- })
-})
-
-test.serial('interface.get', (t: any) => {
- return interfaceCtrl.get(project.id)
- .do((res: any) => {
- t.truthy(res.apiList.length > 0)
- })
-})
-
-test.serial('interface.getVersionById', (t: any) => {
- return interfaceCtrl.getVersionById(ifc.id)
- .do((res: any) => {
- t.truthy(res.versionList)
- })
-})
-
-test.serial('interface.put', (t:any) => {
- return interfaceCtrl.put(project.id, ifc.id, {name: 'nihao'})
- .do((res: any) => {
- t.truthy(res)
- })
-})
-
-// test.serial('interface.getHistoryById', (t: any) => {
-// return interfaceCtrl.getHistoryById(ifc.id, ifc.version)
-// .do((res: any) => {
-// t.deepEqual(res.name, ifc.name)
-// })
-// })
-
-test.serial('interface.delete', (t: any) => {
- return interfaceCtrl.delete(project.id, ifc.id)
- .do((res: any) => {
- t.truthy(res)
- })
-})
\ No newline at end of file
diff --git a/server/src/project/interfaceArchive.md.ts b/server/src/project/interfaceArchive.md.ts
deleted file mode 100644
index ea78244..0000000
--- a/server/src/project/interfaceArchive.md.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Schema, mongoose } from '../util/db'
-import { InterfaceSchema, InterfaceInterface } from './interface.md'
-
-const InterfaceLogSchema = InterfaceSchema.clone()
-
-InterfaceLogSchema.iid = {
- type: Schema.Types.ObjectId
-}
-
-delete InterfaceLogSchema.needTest
-
-const InterfaceLogModel = mongoose.model('interfaceLog', InterfaceLogSchema)
-
-interface InterfaceLogInterface extends InterfaceInterface{
- iid: string
-}
-
-export {
- InterfaceLogSchema,
- InterfaceLogModel,
- InterfaceLogInterface
-}
\ No newline at end of file
diff --git a/server/src/project/model.ts b/server/src/project/model.ts
new file mode 100644
index 0000000..a420dde
--- /dev/null
+++ b/server/src/project/model.ts
@@ -0,0 +1,116 @@
+import { Schema, mongoose, Model } from '../util/db'
+import { MemberSchema } from '../member/model'
+import { TestSchema, TestInterface } from '../test/model'
+
+let informObj = {
+ createEnabled: {
+ type: Boolean,
+ default: false
+ },
+ updateEnabled: {
+ type: Boolean,
+ default: false
+ },
+ deleteEnabled: {
+ type: Boolean,
+ default: false
+ },
+ testEnabled: {
+ type: Boolean,
+ default: false
+ },
+ memberList: {
+ type: Array,
+ default: []
+ }
+}
+
+let schemaObj = {
+ name: {
+ type: String,
+ maxlength: 20,
+ required: true
+ },
+ logo: {
+ type: String,
+ default: ''
+ },
+ description: {
+ type: String,
+ maxlength: 200
+ },
+ testUrl: {
+ type: String,
+ maxlength: 200,
+ alias: 'testAddress'
+ },
+ creator: {
+ type: String,
+ maxlength: 20,
+ default: ''
+ },
+ createdTime: {
+ type: Date
+ },
+ dingInform: Object.assign({
+ token: {
+ type: String,
+ default: ''
+ }
+ }, informObj),
+ towerInform: Object.assign({
+ projectId: {
+ type: String,
+ default: ''
+ },
+ username: {
+ type: String,
+ default: ''
+ },
+ password: {
+ type: String,
+ default: ''
+ }
+ }, informObj),
+ openTest: {
+ type: Boolean,
+ default: false
+ },
+ masterList: [Schema.Types.ObjectId],
+ developerList: [Schema.Types.ObjectId],
+ guestList: [Schema.Types.ObjectId],
+}
+
+let ProjectSchema = new Schema(schemaObj)
+
+enum role {
+ guest = 'guest',
+ master = 'master',
+ developer = 'developer'
+}
+
+let ProjectModel = mongoose.model('project', ProjectSchema)
+
+interface ProjectInterface {
+ _id?: string,
+ id: string,
+ name: string,
+ desc: string,
+ testUrl: string
+ apiChangedInform: boolean,
+ testFailedInform: boolean,
+ openTest: boolean
+}
+
+class Project extends Model {
+ name = this.random()
+ desc = this.random(30)
+}
+
+export {
+ ProjectSchema,
+ ProjectModel,
+ ProjectInterface,
+ role,
+ Project
+}
\ No newline at end of file
diff --git a/server/src/project/project.ctrl.ts b/server/src/project/project.ctrl.ts
deleted file mode 100644
index 1a93b89..0000000
--- a/server/src/project/project.ctrl.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { ProjectModel, ProjectInterface, role } from './project.md'
-import { TestModel } from '../test/test.md'
-import { MemberModel } from '../team/member.md'
-import { InterfaceModel } from './interface.md'
-import { GroupModel } from '../team/group.md'
-import { Observable } from 'rxjs/Rx'
-import { Schema, mongoose } from '../util/db'
-import { rename } from '../util/fun'
-
-export const projectCtrl = {
- get() {
- return Observable.fromPromise(ProjectModel.aggregate()
- .lookup({
- from: TestModel.collection.collectionName,
- localField: '_id',
- foreignField: 'pid',
- as: 'testList'
- })
- .lookup({
- from: InterfaceModel.collection.collectionName,
- localField: '_id',
- foreignField: 'pid',
- as: 'interfaceList'
- })
- .exec())
- .map((res: any) => {
- let result:any = {
- total: res.length,
- list: []
- }
- res.forEach((p:any) => {
- let test = p.testList.pop() || {}
- let api:any = {
- total: p.interfaceList.length,
- pass: test.successTest || 0,
- }
- api.untest = api.total - api.pass
- result.list.push({
- id: p._id,
- name: p.name,
- api
- })
- })
- return result
- })
- },
- getById(id: string) {
- return Observable.fromPromise(ProjectModel.aggregate()
- .match({ _id: mongoose.Types.ObjectId(id) })
- .lookup({
- from: MemberModel.collection.collectionName,
- localField: 'masterList',
- foreignField: '_id',
- as: 'm'
- })
- .lookup({
- from: MemberModel.collection.collectionName,
- localField: 'developerList',
- foreignField: '_id',
- as: 'd'
- })
- .lookup({
- from: MemberModel.collection.collectionName,
- localField: 'guestList',
- foreignField: '_id',
- as: 'g'
- })
- .append({
- $addFields: {
- m: {
- $map: {
- input: '$m',
- as: 'ml',
- in: {id: '$$ml._id', name: '$$ml.name', role: 'master'}
- }
- },
- d: {
- $map: {
- input: '$d',
- as: 'dl',
- in: {id: '$$dl._id', name: '$$dl.name', role: 'developer'}
- }
- },
- g: {
- $map: {
- input: '$g',
- as: 'gl',
- in: {id: '$$gl._id', name: '$$gl.name', role: 'guest'}
- }
- }
- }
- })
- .project({
- _id:0,
- id: '$_id',
- name: 1,
- descriptions: '$desc',
- openTest: 1,
- testFailedInform: 1,
- apiChangedInform: 1,
- members: {$concatArrays:['$m', '$d', '$g']}
- })
- .exec())
- .map((res: any) => {
- return res.pop()
- })
- },
- post(project: any) {
- project.masterList = []
- project.developerList = []
- project.guestList = []
- project.members.forEach((it:any) => project[it.role+'List'].push(it))
- return Observable.fromPromise(ProjectModel.create(project))
- .map((proj: ProjectInterface) => ({ id: proj._id }))
- },
- put(_id:string, project: any) {
- try {
- return Observable.fromPromise(ProjectModel.updateOne({ _id}, project).exec())
- .map((res:any) => ({num: res.n}))
- } catch(e) {
- return Observable.throw(e)
- }
- },
- delete(id: string) {
- return Observable.fromPromise(ProjectModel.remove({ _id: mongoose.Types.ObjectId(id) }))
- .map((res: any) => ({
- num: res.result.n
- }))
- }
-}
\ No newline at end of file
diff --git a/server/src/project/project.md.ts b/server/src/project/project.md.ts
deleted file mode 100644
index df483df..0000000
--- a/server/src/project/project.md.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Schema, mongoose, Model } from '../util/db'
-import { MemberSchema } from '../team/member.md'
-import { TestSchema, TestInterface } from '../test/test.md'
-
-let ProjectSchema = new Schema({
- name: {
- type: String,
- maxlength: 20,
- required: true
- },
- desc: {
- type: String,
- maxlength: 200,
- alias: 'description'
- },
- testUrl: {
- type: String,
- maxlength: 200,
- alias: 'testAddress'
- },
- apiChangedInform: {
- type: Boolean,
- default: false
- },
- testFailedInform: {
- type: Boolean,
- default: false
- },
- openTest: {
- type: Boolean,
- default: false
- },
- masterList: [Schema.Types.ObjectId],
- developerList: [Schema.Types.ObjectId],
- GuestList: [Schema.Types.ObjectId],
-})
-
-enum role {
- guest = 'guest',
- master = 'master',
- developer = 'developer'
-}
-
-let ProjectModel = mongoose.model('project', ProjectSchema)
-
-interface ProjectInterface {
- _id?: string,
- id: string,
- name: string,
- desc: string,
- testUrl: string
- memberList: string[],
- apiChangedInform: boolean,
- testFailedInform: boolean,
- openTest: boolean
-}
-
-class Project extends Model {
- name = this.random()
- desc = this.random(30)
-}
-
-export {
- ProjectSchema,
- ProjectModel,
- ProjectInterface,
- role,
- Project
-}
\ No newline at end of file
diff --git a/server/src/project/project.test.ts b/server/src/project/project.test.ts
deleted file mode 100644
index 0f13e3e..0000000
--- a/server/src/project/project.test.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import test from 'ava'
-import { Observable } from 'rxjs/Rx'
-import { projectCtrl } from './project.ctrl'
-import { Project, role } from './project.md'
-import { Member } from '../team/member.md'
-import { memberCtrl } from '../team/member.ctrl'
-import { Interface } from './interface.md'
-import { Test } from '../test/test.md'
-
-
-let member = new Member()
-let project = new Project()
-
-test.before('create member,project', (t: any) => {
- return memberCtrl.post(member)
- .do((res: any) => {
- member.id = res.id
- t.truthy(res.id)
- project.memberList = [{
- role: role.master,
- id: res.id
- }]
- })
-})
-
-test.serial('project.post', (t: any) => {
- return projectCtrl.post(project).do((res: any) => {
- project.id = res.id
- t.truthy(res.id)
- })
-})
-
-test.serial('project.put', (t: any) => {
- return projectCtrl.put(project.id, {
- name: 'hello'
- })
- .do((res: any) => {
- t.truthy(res.num)
- })
-})
-
-test.serial('project.getById', (t: any) => {
- return projectCtrl.getById(project.id).do((res: any) => {
- t.deepEqual(project.id, res.id)
- t.truthy(res.members.length>0)
- })
-})
-
-test('project.put.error', (t:any) => {
- t.plan(1)
- return projectCtrl.put('', {
- name: '111'
- }).catch((res:any) => {
- t.truthy(res)
- return Observable.of()
- }).switchMap(() => t.pass())
-})
-
-test('project.post.error', (t:any) => {
- t.plan(1)
- return projectCtrl.post({}).catch((res:any) => {
- t.truthy(res)
- return Observable.of()
- }).switchMap(() => t.pass())
-})
-
-test.serial('project.get', (t: any) => {
- return projectCtrl.get().do((res:any) => {
- t.truthy(res)
- })
-})
-
-// test.serial('project.delete', (t: any) => {
-// return projectCtrl.delete(project.id).do((res: any) => t.deepEqual(res.num, 1))
-// })
\ No newline at end of file
diff --git a/server/src/project/router.ts b/server/src/project/router.ts
new file mode 100644
index 0000000..4447e86
--- /dev/null
+++ b/server/src/project/router.ts
@@ -0,0 +1,17 @@
+import Router from '../util/Router'
+import Ctrl from './ProjectCtrl'
+
+let projectRouter = new Router()
+let projectCtrl = new Ctrl()
+
+export default projectRouter.router
+ .get('/project', (ctx: any) => projectRouter.handle(ctx, projectCtrl.get(ctx.user._id, ctx.user.isAdmin)))
+ .get('/project/:id', (ctx: any) => projectRouter.handle(ctx, projectCtrl.getById(ctx.params.id, ctx.user._id, ctx.user.isAdmin)))
+ .post('/project', (ctx: any) => projectRouter.handle(ctx, projectCtrl.post(ctx.request.fields, ctx.user.name)))
+ .post('/project/:id', (ctx: any) => projectRouter.handle(ctx, projectCtrl.copy(ctx.params.id, ctx.request.fields.name, ctx.user.name)))
+ .put('/project/:id', (ctx: any) => projectRouter.handle(ctx, projectCtrl.put(ctx.params.id, ctx.request.fields, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .del('/project/:id', (ctx: any) => projectRouter.handle(ctx, projectCtrl.delete(ctx.params.id, ctx.user._id, ctx.user.isAdmin, ctx.user.name)))
+ .get('/project/:id/doc', (ctx: any) => projectRouter.handle(ctx, projectCtrl.export(ctx.params.id, ctx.user._id, ctx.user.isAdmin)))
+ .get('/report/:file', (ctx: any) => projectRouter.handleStatic(ctx, projectCtrl.report(ctx.params.file)))
+ .get('/role', (ctx: any) => projectRouter.handle(ctx, projectCtrl.getRole()))
+ .routes()
\ No newline at end of file
diff --git a/server/src/router.ts b/server/src/router.ts
deleted file mode 100644
index 72131d3..0000000
--- a/server/src/router.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import * as Router from 'koa-router'
-import { Observable } from 'rxjs/Rx'
-import { projectCtrl } from './project/project.ctrl'
-import { interfaceCtrl } from './project/interface.ctrl'
-import { memberCtrl } from './team/member.ctrl'
-import { groupCtrl } from './team/group.ctrl'
-
-let router = new Router({
- prefix: '/api'
-})
-
-const handle = (ctx: any, ob: Observable): Promise => ob.catch((e: any) => {
- ctx.body = {
- errCode: 110,
- errMsg: e.message || '操作失败'
- }
- console.error(e)
- return Observable.of()
-})
- .do((res: any) => ctx.body = Object.assign({
- errCode: 0
- }, res))
- .toPromise()
-
-router
-// 项目
- .get('/project', (ctx:any) => handle(ctx, projectCtrl.get()))
- .get('/project/:id', (ctx:any) => handle(ctx, projectCtrl.getById(ctx.params.id)))
- .post('/project', (ctx:any) => handle(ctx, projectCtrl.post(ctx.request.body)))
- .put('/project/:id', (ctx:any) => handle(ctx, projectCtrl.put(ctx.params.id, ctx.request.body)))
- .del('/project/:id', (ctx:any) => handle(ctx, projectCtrl.delete(ctx.params.id)))
- // 接口
- .get('/project/:pid/api', (ctx:any) => handle(ctx, interfaceCtrl.get(ctx.params.pid)))
- .get('/project/:pid/api/:id', (ctx:any) => handle(ctx, interfaceCtrl.getById(ctx.params.pid, ctx.params.id)))
- .get('/project/:pid/api/:id/version', (ctx:any) => handle(ctx, interfaceCtrl.getVersionById(ctx.params.iid)))
- .post('/project/:pid', (ctx:any) => handle(ctx, interfaceCtrl.post(ctx.params.id, ctx.request.body)))
- .put('/project/:pid/api/:id', (ctx:any) => handle(ctx, interfaceCtrl.put(ctx.params.pid, ctx.params.id, ctx.request.body)))
- .del('/project/:pid/api/:id', (ctx:any) => handle(ctx, interfaceCtrl.delete(ctx.param.pid, ctx.params.id)))
-// 成员
- .get('/group', (ctx:any) => handle(ctx, groupCtrl.get()))
- .get('/role', (ctx:any) => handle(ctx, groupCtrl.getRole()))
- .get('/member', (ctx:any) => handle(ctx, memberCtrl.get()))
- .post('/member', (ctx:any) => handle(ctx, memberCtrl.post(ctx.request.body)))
- .post('/user/login', (ctx:any) => handle(ctx, memberCtrl.login(ctx.request.body.user, ctx.request.body.password)))
-
-export default router.routes()
\ No newline at end of file
diff --git a/server/src/shim.d.ts b/server/src/shim.d.ts
index 1d17cdd..dc1de31 100644
--- a/server/src/shim.d.ts
+++ b/server/src/shim.d.ts
@@ -1,12 +1,23 @@
/* node modules */
declare module 'process'
declare module 'crypto'
+declare module 'fs'
+declare module 'path'
+declare module 'events'
+declare module 'https'
+declare module 'http'
/* 3rd modules */
declare module 'koa'
-declare module 'koa-bodyparser'
+declare module 'koa-better-body'
declare module 'koa-router'
declare module 'mongoose'
declare module 'sinon'
declare module 'ava'
-declare module 'lodash'
\ No newline at end of file
+declare module 'path-to-regexp'
+declare module 'lodash'
+declare module 'jsonwebtoken'
+declare module 'ajv'
+declare module 'underscore'
+declare module 'axios'
+declare module 'json-schema-faker'
\ No newline at end of file
diff --git a/server/src/system/SystemCtrl.ts b/server/src/system/SystemCtrl.ts
new file mode 100644
index 0000000..1858546
--- /dev/null
+++ b/server/src/system/SystemCtrl.ts
@@ -0,0 +1,102 @@
+import { Observable } from 'rxjs/Rx'
+import * as fs from 'fs'
+import { staticPath, adminPassword } from '../util/config'
+import * as path from 'path'
+import BaseCtrl from '../util/BaseCtrl'
+import { SystemModel } from './model'
+import MemberCtrl from '../member/MemberCtrl'
+import { encrypt } from '../util/crypto'
+
+export default class SystemCtrl extends BaseCtrl {
+ initSystem() {
+ Observable.from(SystemModel.findOne().exec())
+ .debounceTime(1000)
+ .subscribe((doc: any) => {
+ if (!doc) {
+ new SystemModel().save(() => {
+ console.log('初始化系统配置成功')
+ }, (e: any) => {
+ console.error('初始化系统配置失败:', e)
+ })
+ }
+ })
+ }
+ initMember() {
+ let memberCtrl = new MemberCtrl()
+ memberCtrl.get()
+ .subscribe((doc: any) => {
+ if (!doc.memberList || !doc.memberList.length) {
+ memberCtrl.post({
+ password: adminPassword,
+ account: 'admin',
+ name: '系统管理员',
+ isAdmin: true
+ })
+ .subscribe({
+ next() {
+ console.log('创建管理员账户成功!账号:admin 密码:' + adminPassword)
+ } ,
+ error(e: any) {
+ console.error('创建管理员失败', JSON.stringify(e, null, 2))
+ }
+ })
+ }
+ })
+ }
+ get() {
+ return Observable.fromPromise(SystemModel.findOne().exec())
+ .map((doc: any) => {
+ let reportStyle
+ let reportTemplate
+ const templatePath = 'template'
+ let cssPath = path.join(templatePath, 'template.css')
+ let htmlPath = path.join(templatePath, 'template.html')
+ if (!fs.existsSync(cssPath)) {
+ cssPath = path.join(templatePath, 'default.css')
+ }
+ if (!fs.existsSync(htmlPath)) {
+ htmlPath = path.join(templatePath, 'default.body.html')
+ }
+ reportStyle = fs.readFileSync(cssPath).toString()
+ reportTemplate = fs.readFileSync(htmlPath).toString()
+ return Object.assign({
+ reportStyle,
+ reportTemplate
+ }, doc._doc)
+ })
+ }
+ put(configInfo: any, isAdmin: boolean) {
+ if (isAdmin) {
+ try {
+ fs.writeFileSync(path.join('template', 'template.css'), configInfo.reportStyle)
+ fs.writeFileSync(path.join('template', 'template.body.html'), configInfo.reportTemplate)
+ return Observable.from(SystemModel.update(configInfo).exec())
+ } catch (e) {
+ return Observable.throw(e)
+ }
+ } else {
+ return Observable.throw({
+ errorCode: '403',
+ errorMsg: '没有操作权限'
+ })
+ }
+ }
+ upload(files: any, isAdmin: boolean = false) {
+ try {
+ if (isAdmin) {
+ let file = files.pop()
+ let name = path.join(staticPath, file.name.replace(/.*\/(.*)/ig, '$1'))
+ fs.renameSync(file.path, name)
+ let imgUrl = '/api/' + name
+ return Observable.of({ imgUrl })
+ } else {
+ return Observable.throw({ status: 403, message: '没有上传权限' })
+ }
+ } catch (e) {
+ return Observable.throw(e)
+ }
+ }
+ readFile(filePath: string) {
+ return Observable.of(fs.readFileSync(path.join(staticPath, filePath)))
+ }
+}
\ No newline at end of file
diff --git a/server/src/system/model.ts b/server/src/system/model.ts
new file mode 100644
index 0000000..60aec46
--- /dev/null
+++ b/server/src/system/model.ts
@@ -0,0 +1,52 @@
+import { Schema, mongoose } from '../util/db'
+
+let SystemSchema = new Schema({
+ companyLogo: {
+ type: String,
+ default: ''
+ },
+ companyName: {
+ type: String,
+ default: ''
+ },
+ backupSize: {
+ type: Number,
+ default: 0
+ },
+ testAuto: {
+ type: Boolean,
+ default: 0
+ },
+ testInterval: {
+ type: String,
+ enum: ['', 'hourly', 'daily', 'monthly', 'weekly'],
+ default: ''
+ },
+ testTime: {
+ type: Number,
+ default: ''
+ }
+})
+
+let SystemModel = mongoose.model('system', SystemSchema)
+
+enum SystemInterval {
+ hourly = 'hourly',
+ daily = 'daily',
+ monthly = 'monthly',
+ weekly = 'weekly'
+}
+
+enum SystemInformOperation {
+ addInterface = "addInterface",
+ editInterface = "editInterface",
+ deleteInterface = "deleteInterface",
+ autoTestInterface = "autoTestInterface"
+}
+
+export {
+ SystemSchema,
+ SystemModel,
+ SystemInterval,
+ SystemInformOperation
+}
diff --git a/server/src/system/router.ts b/server/src/system/router.ts
new file mode 100644
index 0000000..aee3f58
--- /dev/null
+++ b/server/src/system/router.ts
@@ -0,0 +1,13 @@
+import Router from '../util/Router'
+import Ctrl from './SystemCtrl'
+import { staticPath } from '../util/config'
+
+let systemRouter = new Router()
+let systemCtrl = new Ctrl()
+
+export default systemRouter.router
+ .get(`/${staticPath}/:file`, (ctx: any) => systemRouter.handleStatic(ctx, systemCtrl.readFile(ctx.params.file)))
+ .get('/setting', (ctx:any) => systemRouter.handle(ctx, systemCtrl.get()))
+ .put('/setting', (ctx:any) => systemRouter.handle(ctx, systemCtrl.put(ctx.request.fields, ctx.user.isAdmin)))
+ .post('/upload/img', (ctx: any) => systemRouter.handle(ctx, systemCtrl.upload(ctx.request.files, ctx.user.isAdmin)))
+ .routes()
\ No newline at end of file
diff --git a/server/src/system/system.md.ts b/server/src/system/system.md.ts
deleted file mode 100644
index fafc8c7..0000000
--- a/server/src/system/system.md.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Schema, mongoose } from '../util/db'
-
-let SystemSchema = new Schema({
- coverUrl: String,
- name: String,
- backupSize: Number,
- autoTestEnabled: Boolean,
- autoTestInterval: {
- interval: {
- type: String,
- enum: ['hourly', 'daily', 'monthly', 'weekly']
- },
- time: Number
- }
-})
-
-let SystemModel = mongoose.model('system', SystemSchema)
-
-enum SystemInterval {
- hourly = 'hourly',
- daily = 'daily',
- monthly = 'monthly',
- weekly = 'weekly'
-}
-
-interface SystemInterface {
- coverUrl?: string,
- name?: string,
- backupSize?: number,
- autoTestEnabled?: boolean,
- autoTestInterval?: {
- interval: SystemInterval
- time: number
- }
-}
-
-export {
- SystemSchema,
- SystemModel,
- SystemInterface,
- SystemInterval
-}
diff --git a/server/src/team/group.ctrl.ts b/server/src/team/group.ctrl.ts
deleted file mode 100644
index 5fdb887..0000000
--- a/server/src/team/group.ctrl.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { GroupModel, GroupInterface } from './group.md'
-import { Observable } from 'rxjs/Rx'
-import { MemberModel } from './member.md'
-import { rename } from '../util/fun'
-
-export const groupCtrl = {
- get() {
- return Observable.fromPromise(GroupModel.aggregate()
- .lookup({
- from: MemberModel.collection.collectionName,
- localField: 'memberList',
- foreignField: '_id',
- as: 'members'
- })
- .project({
- _id: 0,
- id: '$_id',
- members: {
- $map: {
- input: '$members',
- as: 'm',
- in: {
- id: '$$m._id',
- name: '$$m.name'
- }
- }
- }
- })
- .exec())
- .map((groups: any) => ({groups}))
- },
- getRole() {
- return Observable.of({
- "roleList": [
- {
- "name": "master",
- "editProject": true,
- "editApi": true,
- "readApi": true
- },
- {
- "name": "developer",
- "editProject": false,
- "editApi": true,
- "readApi": true
- },
- {
- "name": "guest",
- "editProject": false,
- "editApi": false,
- "readApi": true
- }
- ]
- })
- },
- post(group: any) {
- return Observable.fromPromise(new GroupModel(group).save())
- },
- put(group: any) {
- return Observable.fromPromise(GroupModel.updateOne({ _id: group.id }, group).exec())
- .switchMap((res: any) => res.n > 0 ? Observable.of({ num: res.n }) : Observable.throw('更新小组失败'))
- },
- delete(id: string) {
- return Observable.fromPromise(GroupModel.remove({ _id: id }))
- .map(() => ({ num: 1 }))
- }
-}
\ No newline at end of file
diff --git a/server/src/team/group.md.ts b/server/src/team/group.md.ts
deleted file mode 100644
index 77de693..0000000
--- a/server/src/team/group.md.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { Schema, mongoose, Model } from '../util/db'
-
-let GroupSchema = new Schema({
- name: {
- type: String,
- maxlength: 20,
- required: true
- },
- memberList: [Schema.Types.ObjectId]
-})
-
-let GroupModel = mongoose.model('group', GroupSchema)
-
-// 用于限制返回值
-interface GroupInterface {
- id: string,
- name: string,
- memberList: string[]
-}
-
-// 用于生成数据
-class Group extends Model{
- name: string = this.random()
- memberList: string[] = []
-}
-
-export {
- GroupSchema,
- GroupModel,
- GroupInterface,
- Group
-}
\ No newline at end of file
diff --git a/server/src/team/group.test.ts b/server/src/team/group.test.ts
deleted file mode 100644
index 13075d5..0000000
--- a/server/src/team/group.test.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import test from 'ava'
-import { groupCtrl } from './group.ctrl'
-import { Group } from './group.md'
-import { Member } from './member.md'
-import { memberCtrl } from './member.ctrl'
-import { Observable } from 'rxjs/Rx'
-
-let group = new Group()
-let member = new Member()
-let ready: any
-
-test.before('create Member', (t: any) => {
- return memberCtrl.post(member)
- .do((res: any) => {
- t.truthy(res.id)
- group.memberList = [res.id]
- })
-})
-
-test.serial('group.getRole', (t: any) => {
- return groupCtrl.getRole()
- .do((res: any) => {
- t.truthy(res.roleList.length > 0)
- })
-})
-
-test.serial('group.post', (t: any) => {
- return groupCtrl.post(group)
- .do((res: any) => {
- group.id = res.id
- t.truthy(res.id)
- })
-})
-
-
-test.serial('group.get', (t: any) => {
- return groupCtrl.get()
- .do((res: any) => {
- t.truthy(res.groups.length > 0)
- let g = res.groups.filter((x: any) => x.id == group.id)[0]
- t.truthy(g.members.length === 1)
- t.truthy(g.members.id)
- })
-})
-
-test.serial('group.put', (t: any) => {
- group.name = 'test4api'
- return groupCtrl.put(group)
- .switchMap((res: any) => groupCtrl.get().do((rest: any) => {
- let newGroup = rest.groups.filter((x: any) => x.id == group.id)[0]
- t.truthy(newGroup.name === 'test4api')
- }))
-})
-
-test.serial('group.delete', (t: any) => {
- return groupCtrl.delete(group.id)
- .do((res: any) => {
- t.truthy(res)
- })
-})
-
-test('group.post.error', (t:any) => {
- return groupCtrl.post({})
- .catch((e:any) => {
- t.truthy(e)
- return Observable.of()
- })
-})
-
-test('group.put.error', (t:any) => {
- return groupCtrl.put({})
- .catch((e:any) => {
- t.truthy(e)
- return Observable.of()
- })
-})
\ No newline at end of file
diff --git a/server/src/team/member.ctrl.ts b/server/src/team/member.ctrl.ts
deleted file mode 100644
index 0c75bc1..0000000
--- a/server/src/team/member.ctrl.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { MemberModel, MemberInterface } from './member.md'
-import { Observable } from 'rxjs/Rx'
-import { encrypt } from '../util/crypto'
-
-export const memberCtrl = {
- getMap() {
- let map: any = {}
- return Observable.zip(Observable.fromPromise(MemberModel.find({}))
- .switchMap((list: any) => Observable.from(list))
- .map((x: any) => ({ [x._id]: x }))
- .toArray(), (arg: any) => Object.assign.apply(null, arg))
- },
- get() {
- return Observable.fromPromise(MemberModel.aggregate().project({
- "id": "$_id",
- "isAdmin": 1,
- "account": 1,
- "name": 1
- }))
- .map((list: MemberInterface[]) => ({ list }))
- },
- post(member: any) {
- member.password = encrypt(member.password)
- return Observable.fromPromise(new MemberModel(member).save())
- .map((x: any) => ({ id: x._id }))
- },
- delete(_id: string) {
- return Observable.fromPromise(MemberModel.remove({ _id }).exec())
- .map((res: any) => ({ num: res.result.n }))
- },
- login(account: string, password: string) {
- return Observable.fromPromise(MemberModel.findOne({
- account,
- password
- }))
- .map((res: MemberInterface | undefined) => {
- let result = {}
- if (res) {
- result = {
- user: {
- name: res.account,
- role: res.role,
- avatar: ''
- }
- }
- } else {
- result = {
- code: -1,
- message: '用户名或密码错误'
- }
- }
- return result
- })
- }
-}
\ No newline at end of file
diff --git a/server/src/team/member.test.ts b/server/src/team/member.test.ts
deleted file mode 100644
index 3b62ce8..0000000
--- a/server/src/team/member.test.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import test from 'ava'
-import { memberCtrl } from './member.ctrl'
-import { Member } from './member.md'
-
-let member = new Member()
-
-test.serial('memeber.post', (t: any) => {
- return memberCtrl.post(member).do((res: any) => t.truthy(res.id))
-})
-
-test.serial('member.get', (t: any) => {
- return memberCtrl.get()
- .do((res: any) => {
- member.id = res.list.filter((x: any) => member.account === x.account)[0].id
- })
- .do((res: any) => t.truthy(res.list.length > 0))
-})
-
-test.serial('member.getMap', (t: any) => {
- return memberCtrl.getMap()
- .do((res:any) => {
- t.truthy(res[member.id])
- })
-})
-
-test.serial('member.delete', (t: any) => {
- return memberCtrl.delete(member.id)
- .do((res: any) => t.deepEqual(res.num, 1))
-})
\ No newline at end of file
diff --git a/server/src/test/model.ts b/server/src/test/model.ts
new file mode 100644
index 0000000..b006581
--- /dev/null
+++ b/server/src/test/model.ts
@@ -0,0 +1,55 @@
+import { Schema, mongoose, Model } from '../util/db'
+
+const TestSchema = new Schema({
+ pid: {
+ type: Schema.Types.ObjectId,
+ required: true
+ },
+ startTime: Date,
+ endTime: {
+ type: Date,
+ default: new Date
+ },
+ totalTime: Number,
+ operatorId: String,
+ totalTest: {
+ type:Number,
+ default: 0
+ },
+ successTest: {
+ type: Number,
+ default: 0
+ },
+ result: {
+ type: String,
+ default: ''
+ },
+ errorLog: String
+})
+
+interface TestInterface {
+ pid: string,
+ startTime: Date,
+ endTime: Date,
+ totalTime: number,
+ operatorId: string,
+ totalTest: number,
+ successTest: number,
+ result: string,
+ errorLog: string
+}
+
+class Test extends Model {
+ startTime = new Date
+ totalTest = Math.ceil(Math.random() * 1000)
+ successTest = Math.ceil(Math.random() * 100)
+}
+
+const TestModel = mongoose.model('Test', TestSchema)
+
+export {
+ TestSchema,
+ TestModel,
+ TestInterface,
+ Test
+}
\ No newline at end of file
diff --git a/server/src/thirdparty/BaseExternalMessage.ts b/server/src/thirdparty/BaseExternalMessage.ts
new file mode 100644
index 0000000..df0d24c
--- /dev/null
+++ b/server/src/thirdparty/BaseExternalMessage.ts
@@ -0,0 +1,15 @@
+import * as axios from 'axios'
+import {Observable} from 'rxjs/Rx'
+
+export default abstract class BaseExternalMessage {
+ protected baseUrl = ''
+ protected request = axios
+ protected obs = Observable
+ protected from = Observable.from
+ protected token = ''
+ constructor(token: string) {
+ this.token = token
+ }
+ abstract send(content: string, toUser?: String[]):void
+}
+
diff --git a/server/src/thirdparty/Dingding.ts b/server/src/thirdparty/Dingding.ts
new file mode 100644
index 0000000..ec9dc40
--- /dev/null
+++ b/server/src/thirdparty/Dingding.ts
@@ -0,0 +1,23 @@
+import BaseExternalMessage from './BaseExternalMessage'
+
+export default class Dingding extends BaseExternalMessage{
+ protected baseUrl = 'https://oapi.dingtalk.com'
+ send(text: string, user?: string[]) {
+ const url = `/robot/send?access_token=${this.token}`
+ this.from(this.request({
+ url: this.baseUrl + url,
+ method: 'POST',
+ data: {
+ msgtype: 'markdown',
+ markdown: {
+ title: 'API变更',
+ text
+ }
+ }
+ }))
+ .debounceTime(2000)
+ .subscribe(() => {}, (e:any) => {
+ console.error('发送钉钉消息失败:', e)
+ })
+ }
+}
diff --git a/server/src/thirdparty/ThirdPartyEngine.ts b/server/src/thirdparty/ThirdPartyEngine.ts
new file mode 100644
index 0000000..9385451
--- /dev/null
+++ b/server/src/thirdparty/ThirdPartyEngine.ts
@@ -0,0 +1,56 @@
+/**
+ * 接收接口事件,并调用对应第三方接口
+ */
+import Tower from './Tower'
+import Dingding from './Dingding'
+import * as events from 'events'
+import {ProjectModel} from '../project/model'
+import SystemCtrl from '../system/SystemCtrl'
+import { Observable } from 'rxjs/Rx'
+
+enum operation {
+ create = 'create',
+ delete = 'delete',
+ update = 'update',
+ test = 'test'
+}
+
+export default class ThirdPartyEngine {
+ private static systemCtrl = new SystemCtrl()
+ static c = operation.create
+ static d = operation.delete
+ static u = operation.update
+ static t = operation.test
+
+ static notify(type: operation, ifc: any):void {
+ // 生成消息内容
+ let genContent = this.systemCtrl.get()
+ .map((cfg: any) => {
+ let content =
+ `API名称:${ifc.name}\n
+ 修改者:${ifc.editor}\n
+ 操作:${type}\n
+ [详情](${cfg.apiUrl}/project/${ifc.pid}/api/${ifc.id}/detail)
+ `
+ return content
+ })
+ // 生成需要执行的任务
+ let genTask = Observable.from(ProjectModel.findOne({_id:ifc.pid}))
+ .map((project: any) => {
+ let taskList = []
+ if (project.dingInform.token && project.dingInform[type+'Enabled']) {
+ taskList.push(new Dingding(project.dingInform.token))
+ }
+ if (project.towerInform.token && project.towerInform[type+'Enabled']) {
+ taskList.push(new Dingding(project.towerInform.totken))
+ }
+ return taskList
+ })
+ Observable.combineLatest(genContent, genTask)
+ .subscribe((todo: any) => {
+ todo[1].forEach((task: any) => {
+ task.send(todo[0])
+ })
+ })
+ }
+}
\ No newline at end of file
diff --git a/server/src/thirdparty/Tower.ts b/server/src/thirdparty/Tower.ts
new file mode 100644
index 0000000..581f7a1
--- /dev/null
+++ b/server/src/thirdparty/Tower.ts
@@ -0,0 +1,21 @@
+import BaseExternalMessage from './BaseExternalMessage'
+
+export default class Tower extends BaseExternalMessage {
+ protected baseUrl = 'https://api.tower.im/v1'
+ private headers = {}
+ protected getMessage(id: string) {
+ this.from(this.request({
+ baseUrl: this.baseUrl,
+ url: `/todolists/${id}`
+ }))
+ }
+ send(content: string, user?:string[]) {
+ this.from(this.request({
+ baseUrl: this.baseUrl,
+ url: ''
+ }))
+ .subscribe(() => {}, (e:any) => {
+ console.error('生成tower任务失败:', e)
+ })
+ }
+}
\ No newline at end of file
diff --git a/server/src/util/BaseCtrl.ts b/server/src/util/BaseCtrl.ts
new file mode 100644
index 0000000..7540df3
--- /dev/null
+++ b/server/src/util/BaseCtrl.ts
@@ -0,0 +1,144 @@
+import { ProjectModel, role } from '../project/model'
+import { Observable } from 'rxjs/Rx'
+import { mongoose } from './db'
+import { MessageModel } from '../message/model'
+import * as _ from 'underscore'
+
+export default class BaseCtrl {
+ protected model: any
+ protected throw = Observable.throw
+ protected from = Observable.from
+ protected of = Observable.of
+ protected module: string
+
+ protected operate(op: string, ...arg:any[]) {
+ return this.from(this.model[op](...arg).exec())
+ }
+ protected aggregate(...arg: any[]) {
+ return this.operate('aggregate', ...arg)
+ }
+ protected update(...arg: any[]) {
+ return this.operate('update', ...arg)
+ }
+ /**
+ * 记录操作,生成系统消息
+ * @param id 数据id
+ * @param name 数据名
+ * @param content 操作内容
+ * @param operation 操作
+ */
+ protected newMessage(objectId: string, objectName: string, operation: string, operator: string, readableUserList: string[], content?: string) {
+ if (this.module) {
+ MessageModel.create({
+ objectId,
+ objectName,
+ module: this.module,
+ content,
+ operator,
+ readableUserList,
+ operation
+ }).then(() => { }, (e: any) => console.error(e))
+ } else {
+ console.error('请先设置模块')
+ }
+ }
+
+ protected newCreateMessage(id: string, name: string, operator: string, userList: string[], content?: string) {
+ return this.newMessage(id, name, 'create', operator, userList, content)
+ }
+
+ protected newUpdateMessage(id: string, name: string, operator: string, userList: string[], content?: string) {
+ return this.newMessage(id, name, 'update', operator, userList, content)
+ }
+
+ protected newDeleteMessage(id: string, name: string, operator: string, userList: string[], content?: string) {
+ return this.newMessage(id, name, 'delete', operator, userList, content)
+ }
+
+ protected newTestMessage(id: string, name: string, operator: string, userList: string[], content?: string) {
+ return this.newMessage(id, name, 'test', operator, userList, content)
+ }
+
+ /**
+ * 数据模型
+ */
+ protected objectId(id?: string | string[]) {
+ if (id) {
+ if (typeof id === 'string' && id.length === 24) {
+ return mongoose.Types.ObjectId(id)
+ } else if (_.isArray(id)) {
+ let list:string[] = []
+ Array.prototype.forEach.call(id, (i:string)=> {
+ list.push(mongoose.Types.ObjectId(i))
+ })
+ return list
+ } else {
+ return id
+ }
+ } else {
+ return mongoose.Types.ObjectId()
+ }
+ }
+ /**
+ * 根据项目id和用户id查询对应角色
+ * @param pid 项目id
+ * @param uid 用户id
+ */
+ protected getProjectRole(pid: string, uid: string): Observable {
+ return Observable.from(ProjectModel.aggregate()
+ .match({ _id: mongoose.Types.ObjectId(pid) })
+ .project({
+ m: {
+ $map: {
+ input: '$masterList',
+ as: 'ml',
+ in: { id: '$$ml', role: 'master' }
+ }
+ },
+ d: {
+ $map: {
+ input: '$developerList',
+ as: 'dl',
+ in: { id: '$$dl', role: 'developer' }
+ }
+ },
+ g: {
+ $map: {
+ input: '$guestList',
+ as: 'gl',
+ in: { id: '$$gl', role: 'guest' }
+ }
+ }
+ })
+ .project({ members: { $concatArrays: ['$m', '$d', '$g'] } })
+ .exec())
+ .map((projectList: any = []) => {
+ let project = projectList.pop() || { members: [] }
+ let member = project.members.filter((x: { id: string, role: string }) => x.id.toString() == uid.toString()).pop() || {}
+ return member.role
+ })
+ }
+ /**
+ * 根据项目id和用户id,查询是否属于该角色是否具有对应权限
+ * @param pid 项目id
+ * @param uid 用户id
+ * @param roleList 角色列表
+ */
+ protected verifyProjectRole(pid: string, uid: string, roleList?: role[]) {
+ return this.getProjectRole(pid, uid)
+ .map((r: string) => {
+ return r ? (roleList || [r]).includes(r) : false
+ })
+ }
+ /**
+ * 查询用户是否具有权限
+ * @param isAdmin 是否管理员
+ * @param pid 项目id
+ * @param uid 用户id
+ * @param roleList 角色列表
+ */
+ protected verifyAuth(isAdmin: boolean, pid: string, uid: string, roleList?: role[]) {
+ return Observable.from(isAdmin ? Observable.of(true) : this.verifyProjectRole(pid, uid, roleList))
+ .switchMap((authorized: boolean) => authorized ? Observable.of(true) : Observable.throw({ status: 403, message: '操作权限不够' }))
+ }
+}
diff --git a/server/src/util/Cache.ts b/server/src/util/Cache.ts
new file mode 100644
index 0000000..ea5b747
--- /dev/null
+++ b/server/src/util/Cache.ts
@@ -0,0 +1,46 @@
+import * as _ from 'lodash'
+
+export default class CacheFactory {
+ private static cacheStore: any = {}
+ /**
+ * 从缓存池获取缓存
+ * @param name 缓存名称
+ */
+ static of(name: string) {
+ return this.cacheStore[name] = this.cacheStore[name] || new Cache()
+ }
+}
+
+class Cache {
+ private memCache: any = {}
+
+ private getSize(...arg: any[]): number {
+ let total = 0
+ Array.prototype.forEach.call(arg, (it: any) => {
+ total += _.isArray(arg[0]) ? it.length : it.keys().length
+ })
+ return total
+ }
+
+ remove(key?: string): void {
+ if (key) delete this.memCache[key]
+ else this.memCache = {}
+ }
+
+ set(key: string, value: any = '') {
+ this.memCache[key] = value
+ }
+
+ append(key: string, ...arg: any[]) {
+ let cache = this.memCache[key] = this.memCache[key] || []
+ if (_.isArray(cache)) {
+ Array.prototype.forEach.call(arg, (it: any) => cache.push(it))
+ } else {
+ cache = Object.assign(arg)
+ }
+ }
+
+ get(key: string, dft: any): any {
+ return key ? this.memCache[key] : dft || ''
+ }
+}
\ No newline at end of file
diff --git a/server/src/util/Router.ts b/server/src/util/Router.ts
new file mode 100644
index 0000000..a4c3f8d
--- /dev/null
+++ b/server/src/util/Router.ts
@@ -0,0 +1,78 @@
+import * as koaRouter from 'koa-router'
+import { Observable } from 'rxjs/Rx'
+
+export default class Router {
+ router = new koaRouter({
+ prefix: '/api'
+ })
+ constructor() {
+ this.router
+ .param('pid', (id: string, ctx: any, next: any) => {
+ if (!/\w{24}/.test(id)) {
+ return ctx.throw(404, '项目id格式不正确')
+ } else {
+ return next()
+ }
+ })
+ .param('id', (id: string, ctx: any, next: any) => {
+ if (!/\w{24}/.test(id)) {
+ return ctx.throw(404, 'id格式不正确')
+ } else {
+ return next()
+ }
+ })
+ }
+
+ public handleProxy(ctx: any, ob: Observable): Promise {
+ return ob.catch((e: any) => {
+ ctx.body = {
+ data:e.response.data,
+ headers: e.response.headers,
+ status: e.response.status,
+ statusText: e.response.statusText
+ }
+ return Observable.of()
+ })
+ .do((res: any) => ctx.body = res)
+ .toPromise()
+ }
+
+ public handle(ctx: any, ob: Observable): Promise {
+ return ob.catch((e: any) => {
+ console.error('请求出错', e)
+ if (e.status) {
+ ctx.throw(e.status, e.message || '操作失败')
+ } else {
+ ctx.body = {
+ errCode: e.errCode || 110,
+ errMsg: e.response.data || e.errMsg || e.errors || '操作失败'
+ }
+ }
+ return Observable.of()
+ })
+ .do((res: any) => {
+ ctx.body = Object.assign({ errCode: 0 }, res)
+ })
+ .toPromise()
+ }
+
+ public handleStatic(ctx: any, ob: Observable): Promise {
+ return ob.catch((e: any) => {
+ console.error(e)
+ ctx.throw(404, '未找到资源')
+ return Observable.of()
+ })
+ .do((res: any) => {
+ if (/(\.png|\.jpg|\.jpeg)$/.test(ctx.path)) {
+ ctx.type = 'image/' + ctx.path.replace(/.*\.(.*)$/, '$1')
+ } else if (/.svg/.test(ctx.path)) {
+ ctx.type = 'image/svg+xml'
+ } else {
+ ctx.type = 'text/' + ctx.path.replace(/.*\.(html|css)$/, '$1')
+ }
+ ctx.body = res
+ })
+ .toPromise()
+ }
+
+}
\ No newline at end of file
diff --git a/server/src/util/config.ts b/server/src/util/config.ts
index 5f1ea72..4b7d822 100644
--- a/server/src/util/config.ts
+++ b/server/src/util/config.ts
@@ -1,6 +1,53 @@
-import {env} from 'process'
+import { env } from 'process'
+import * as path from 'path'
+import * as fs from 'fs'
+import * as crypto from 'crypto'
-export const dbAddr = env.DB_HOST || 'api-db'
+export const dbAddr = env.DB_HOST || 'localhost'
export const dbPort = env.DB_PORT || 27017
-export const dbName = 'api'
-export const salt = 'Api is good for developers'
\ No newline at end of file
+export const dbName = env.DB_DATABASE || 'api'
+export const adminPassword = env.DEFAULT_ADMIN_PASSWORD || new Date().toISOString().substring(0, 10).replace(/-/g, '')
+export const uploadPath = 'upload'
+export const staticPath = 'static'
+export const avatar = ``
+
+export let key = ''
+
+try {
+ if (!fs.existsSync('key')) {
+ key = Math.random().toString(32).substring(2, 10)
+ fs.writeFileSync('key', key)
+ } else {
+ key = fs.readFileSync('key').toString()
+ }
+} catch (e) {
+ console.error('初始化系统文件失败', e)
+}
+
+[uploadPath, staticPath].forEach((path: string) => {
+ try {
+ if (!fs.existsSync(path)) {
+ fs.mkdirSync(path)
+ }
+ } catch (e) {
+ console.error('创建目录%s失败,可能导致系统无法正常使用', path, e)
+ }
+})
\ No newline at end of file
diff --git a/server/src/util/crypto.ts b/server/src/util/crypto.ts
index aaa0dd4..f72b0df 100644
--- a/server/src/util/crypto.ts
+++ b/server/src/util/crypto.ts
@@ -1,10 +1,25 @@
import * as crypto from 'crypto'
-import { salt } from './config'
+import { key } from './config'
-const cipher = crypto.createCipher('aes192', salt);
-export const encrypt = (text: string) => {
- let encrypted = cipher.update(text, 'utf8', 'hex');
+const encrypt = (text: string='') => {
+ let cipher = crypto.createCipher('aes192', key)
+ let encrypted = cipher.update(text, 'utf8', 'hex')
encrypted += cipher.final('hex');
return encrypted
-}
\ No newline at end of file
+}
+
+const decrypt = (text: string='') => {
+ let decipher = crypto.createDecipher('aes192', key)
+ let decrypted = decipher.update(text, 'hex', 'utf8')
+ decrypted += decipher.final('hex')
+ return decrypted
+}
+
+const hash = (text: string) => crypto.createHash('md5').update(text).digest('base64')
+
+export {
+ encrypt,
+ decrypt,
+ hash
+}
diff --git a/server/template/default.body.html b/server/template/default.body.html
index 09848d7..cc5f57d 100644
--- a/server/template/default.body.html
+++ b/server/template/default.body.html
@@ -1,11 +1,29 @@
<%= name %>
-
-<%= method %> <%= url %>
<%= desc %>
+<%= method %> <%= url %>
+0 ? '' : 'style="display:none"'%> >
+ URL参数
+
+
+ | 参数 |
+ 说明 |
+
+ <% urlParams.forEach(it => { %>
+
+ |
+ <%= it.name %>
+ |
+
+ <%= it.remark %>
+ |
+
+ <% }) %>
+
+
0 ? '' : 'style="display:none"'%> >
请求参数
@@ -13,7 +31,6 @@
| 参数 |
类型 |
说明 |
- 校验 |
<% requestParams.forEach(it => { %>
@@ -26,14 +43,13 @@
|
<%= it.desc %>
|
-
- <%= it.rule %>
- |
<% }) %>
- 请求示例
- <%=requestExample%>
+ >
+
请求示例
+
<%=requestExample%>
+
0 ? '' : 'style="display:none"'%> >
返回参数
@@ -42,7 +58,6 @@
| 参数 |
类型 |
说明 |
- 校验 |
<% responseParams.forEach(it => { %>
@@ -55,14 +70,13 @@
|
<%=it.desc%>
|
-
- <%=it.rule%>
- |
<% }) %>
-
返回示例
- <%=responseExample%>
+ >
+
返回示例
+
<%=responseExample%>
+
0 ? '' : 'style="display:none"'%> >
异常处理
@@ -80,4 +94,5 @@
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/server/template/default.css b/server/template/default.css
index ccf01cd..53548f2 100644
--- a/server/template/default.css
+++ b/server/template/default.css
@@ -15,6 +15,7 @@ pre {
padding: 6px 10px;
border-radius: 3px;
display: inline-block;
+ white-space: pre;
margin: 0;
}
diff --git a/server/template/default.head.html b/server/template/default.head.html
index 45d4b54..916f967 100644
--- a/server/template/default.head.html
+++ b/server/template/default.head.html
@@ -2,4 +2,6 @@
<%=title%>
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/server/template/default.html b/server/template/default.html
index 6e9b198..7a408b7 100644
--- a/server/template/default.html
+++ b/server/template/default.html
@@ -1,5 +1,5 @@
-
+
<%=head%>
diff --git a/server/template/template.body.html b/server/template/template.body.html
deleted file mode 100644
index 09848d7..0000000
--- a/server/template/template.body.html
+++ /dev/null
@@ -1,83 +0,0 @@
-
- <%= name %>
-
-
-<%= method %> <%= url %>
-
- <%= desc %>
-
-0 ? '' : 'style="display:none"'%> >
- 请求参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
- <% requestParams.forEach(it => { %>
-
- |
- <%= it.name %>
- |
-
- <%= it.type %>
- |
-
- <%= it.desc %>
- |
-
- <%= it.rule %>
- |
-
- <% }) %>
-
- 请求示例
- <%=requestExample%>
-
-0 ? '' : 'style="display:none"'%> >
- 返回参数
-
-
- | 参数 |
- 类型 |
- 说明 |
- 校验 |
-
- <% responseParams.forEach(it => { %>
-
- |
- <%=it.name%>
- |
-
- <%=it.type%>
- |
-
- <%=it.desc%>
- |
-
- <%=it.rule%>
- |
-
- <% }) %>
-
- 返回示例
- <%=responseExample%>
-
-0 ? '' : 'style="display:none"'%> >
- 异常处理
-
-
- | 返回值 |
- 说明 |
-
-
- |
- <%=exceptions.response%>
- |
-
- <%=exceptions.desc%>
- |
-
-
-
\ No newline at end of file
diff --git a/server/template/template.css b/server/template/template.css
deleted file mode 100644
index ccf01cd..0000000
--- a/server/template/template.css
+++ /dev/null
@@ -1,49 +0,0 @@
-h2 {
- margin-bottom: 10px;
-}
-
-hr {
- margin: 0 0 20px 0;
-}
-
-pre {
- background-color: #f8f8f8;
- border: 1px solid #ccc;
- font-size: 13px;
- line-height: 19px;
- overflow: auto;
- padding: 6px 10px;
- border-radius: 3px;
- display: inline-block;
- margin: 0;
-}
-
-table {
- border-collapse: collapse;
- border: none;
-}
-
-table tr {
- border-top: 1px solid #ccc;
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-table tr:nth-child(2n) {
- background-color: #f8f8f8;
-}
-
-table td {
- border: 1px solid #ccc;
- text-align: left;
- margin: 0;
- padding: 6px 13px;
-}
-
-.body {
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
- background-color: white;
- border: 1px solid #E2E2E2;
- padding: 10px;
-}
\ No newline at end of file
diff --git a/server/yarn.lock b/server/yarn.lock
new file mode 100644
index 0000000..a81f6fa
--- /dev/null
+++ b/server/yarn.lock
@@ -0,0 +1,4044 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ava/babel-plugin-throws-helper@^2.0.0":
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/@ava/babel-plugin-throws-helper/download/@ava/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c"
+
+"@ava/babel-preset-stage-4@^1.1.0":
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/@ava/babel-preset-stage-4/download/@ava/babel-preset-stage-4-1.1.0.tgz#ae60be881a0babf7d35f52aba770d1f6194f76bd"
+ dependencies:
+ babel-plugin-check-es2015-constants "^6.8.0"
+ babel-plugin-syntax-trailing-function-commas "^6.20.0"
+ babel-plugin-transform-async-to-generator "^6.16.0"
+ babel-plugin-transform-es2015-destructuring "^6.19.0"
+ babel-plugin-transform-es2015-function-name "^6.9.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.18.0"
+ babel-plugin-transform-es2015-parameters "^6.21.0"
+ babel-plugin-transform-es2015-spread "^6.8.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.8.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.11.0"
+ babel-plugin-transform-exponentiation-operator "^6.8.0"
+ package-hash "^1.2.0"
+
+"@ava/babel-preset-transform-test-files@^3.0.0":
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/@ava/babel-preset-transform-test-files/download/@ava/babel-preset-transform-test-files-3.0.0.tgz#cded1196a8d8d9381a509240ab92e91a5ec069f7"
+ dependencies:
+ "@ava/babel-plugin-throws-helper" "^2.0.0"
+ babel-plugin-espower "^2.3.2"
+
+"@ava/write-file-atomic@^2.2.0":
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/@ava/write-file-atomic/download/@ava/write-file-atomic-2.2.0.tgz#d625046f3495f1f5e372135f473909684b429247"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ slide "^1.1.5"
+
+"@concordance/react@^1.0.0":
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/@concordance/react/download/@concordance/react-1.0.0.tgz#fcf3cad020e5121bfd1c61d05bc3516aac25f734"
+ dependencies:
+ arrify "^1.0.1"
+
+abbrev@1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+
+accepts@^1.2.2:
+ version "1.3.4"
+ resolved "http://registry.npm.taobao.org/accepts/download/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f"
+ dependencies:
+ mime-types "~2.1.16"
+ negotiator "0.6.1"
+
+ajv@^4.9.1:
+ version "4.11.8"
+ resolved "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
+ajv@^5.1.0, ajv@^5.3.0:
+ version "5.5.2"
+ resolved "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ansi-align@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/ansi-align/download/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
+ dependencies:
+ string-width "^2.0.0"
+
+ansi-escapes@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+ansi-styles@^3.1.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178"
+
+any-promise@^1.1.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+
+anymatch@^1.3.0:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ dependencies:
+ micromatch "^2.1.5"
+ normalize-path "^2.0.0"
+
+append-transform@^0.4.0:
+ version "0.4.0"
+ resolved "http://registry.npm.taobao.org/append-transform/download/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+ dependencies:
+ default-require-extensions "^1.0.0"
+
+aproba@^1.0.3:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+
+archy@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
+
+are-we-there-yet@~1.1.2:
+ version "1.1.4"
+ resolved "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-exclude@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/arr-exclude/download/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631"
+
+arr-flatten@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+
+array-differ@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/array-differ/download/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1, array-uniq@^1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+arrify@^1.0.0, arrify@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+asn1@~0.2.3:
+ version "0.2.3"
+ resolved "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+assert-plus@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
+async@2.1.4:
+ version "2.1.4"
+ resolved "http://registry.npm.taobao.org/async/download/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
+ dependencies:
+ lodash "^4.14.0"
+
+async@^1.4.0:
+ version "1.5.2"
+ resolved "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+async@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/async/download/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+auto-bind@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/auto-bind/download/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961"
+
+ava-init@^0.2.0:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/ava-init/download/ava-init-0.2.1.tgz#75ac4c8553326290d2866e63b62fa7035684bd58"
+ dependencies:
+ arr-exclude "^1.0.0"
+ execa "^0.7.0"
+ has-yarn "^1.0.0"
+ read-pkg-up "^2.0.0"
+ write-pkg "^3.1.0"
+
+ava@^0.22.0:
+ version "0.22.0"
+ resolved "http://registry.npm.taobao.org/ava/download/ava-0.22.0.tgz#4c28a1fdef7e749ba0c8131ac18a7ca489eef049"
+ dependencies:
+ "@ava/babel-preset-stage-4" "^1.1.0"
+ "@ava/babel-preset-transform-test-files" "^3.0.0"
+ "@ava/write-file-atomic" "^2.2.0"
+ "@concordance/react" "^1.0.0"
+ ansi-escapes "^2.0.0"
+ ansi-styles "^3.1.0"
+ arr-flatten "^1.0.1"
+ array-union "^1.0.1"
+ array-uniq "^1.0.2"
+ arrify "^1.0.0"
+ auto-bind "^1.1.0"
+ ava-init "^0.2.0"
+ babel-core "^6.17.0"
+ bluebird "^3.0.0"
+ caching-transform "^1.0.0"
+ chalk "^2.0.1"
+ chokidar "^1.4.2"
+ clean-stack "^1.1.1"
+ clean-yaml-object "^0.1.0"
+ cli-cursor "^2.1.0"
+ cli-spinners "^1.0.0"
+ cli-truncate "^1.0.0"
+ co-with-promise "^4.6.0"
+ code-excerpt "^2.1.0"
+ common-path-prefix "^1.0.0"
+ concordance "^3.0.0"
+ convert-source-map "^1.2.0"
+ core-assert "^0.2.0"
+ currently-unhandled "^0.4.1"
+ debug "^2.2.0"
+ dot-prop "^4.1.0"
+ empower-core "^0.6.1"
+ equal-length "^1.0.0"
+ figures "^2.0.0"
+ find-cache-dir "^1.0.0"
+ fn-name "^2.0.0"
+ get-port "^3.0.0"
+ globby "^6.0.0"
+ has-flag "^2.0.0"
+ hullabaloo-config-manager "^1.1.0"
+ ignore-by-default "^1.0.0"
+ import-local "^0.1.1"
+ indent-string "^3.0.0"
+ is-ci "^1.0.7"
+ is-generator-fn "^1.0.0"
+ is-obj "^1.0.0"
+ is-observable "^0.2.0"
+ is-promise "^2.1.0"
+ js-yaml "^3.8.2"
+ last-line-stream "^1.0.0"
+ lodash.clonedeepwith "^4.5.0"
+ lodash.debounce "^4.0.3"
+ lodash.difference "^4.3.0"
+ lodash.flatten "^4.2.0"
+ loud-rejection "^1.2.0"
+ make-dir "^1.0.0"
+ matcher "^1.0.0"
+ md5-hex "^2.0.0"
+ meow "^3.7.0"
+ ms "^2.0.0"
+ multimatch "^2.1.0"
+ observable-to-promise "^0.5.0"
+ option-chain "^1.0.0"
+ package-hash "^2.0.0"
+ pkg-conf "^2.0.0"
+ plur "^2.0.0"
+ pretty-ms "^2.0.0"
+ require-precompiled "^0.1.0"
+ resolve-cwd "^2.0.0"
+ safe-buffer "^5.1.1"
+ slash "^1.0.0"
+ source-map-support "^0.4.0"
+ stack-utils "^1.0.0"
+ strip-ansi "^4.0.0"
+ strip-bom-buf "^1.0.0"
+ supports-color "^4.0.0"
+ time-require "^0.1.2"
+ trim-off-newlines "^1.0.1"
+ unique-temp-dir "^1.0.0"
+ update-notifier "^2.1.0"
+
+aws-sign2@~0.6.0:
+ version "0.6.0"
+ resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+
+aws4@^1.2.1, aws4@^1.6.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+
+axios@^0.16.2:
+ version "0.16.2"
+ resolved "http://registry.npm.taobao.org/axios/download/axios-0.16.2.tgz#ba4f92f17167dfbab40983785454b9ac149c3c6d"
+ dependencies:
+ follow-redirects "^1.2.3"
+ is-buffer "^1.1.5"
+
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@^6.17.0, babel-core@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ dependencies:
+ 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.0"
+ debug "^2.6.8"
+ json5 "^0.5.1"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ path-is-absolute "^1.0.1"
+ private "^0.1.7"
+ slash "^1.0.0"
+ source-map "^0.5.6"
+
+babel-eslint@^7.1.1:
+ version "7.2.3"
+ resolved "http://registry.npm.taobao.org/babel-eslint/download/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
+ dependencies:
+ babel-code-frame "^6.22.0"
+ babel-traverse "^6.23.1"
+ babel-types "^6.23.0"
+ babylon "^6.17.0"
+
+babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
+ dependencies:
+ 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.6"
+ trim-right "^1.0.1"
+
+babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ dependencies:
+ babel-helper-explode-assignable-expression "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-call-delegate@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-explode-assignable-expression@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-hoist-variables@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-regex@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ lodash "^4.17.4"
+
+babel-helper-remap-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ dependencies:
+ 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-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-check-es2015-constants@^6.8.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-espower@^2.3.2:
+ version "2.3.2"
+ resolved "http://registry.npm.taobao.org/babel-plugin-espower/download/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e"
+ dependencies:
+ babel-generator "^6.1.0"
+ babylon "^6.1.0"
+ call-matcher "^1.0.0"
+ core-js "^2.0.0"
+ espower-location-detector "^1.0.0"
+ espurify "^1.6.0"
+ estraverse "^4.1.1"
+
+babel-plugin-syntax-async-functions@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+
+babel-plugin-syntax-exponentiation-operator@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+
+babel-plugin-syntax-trailing-function-commas@^6.20.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+
+babel-plugin-transform-async-to-generator@^6.16.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ dependencies:
+ 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-es2015-destructuring@^6.19.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.9.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-modules-commonjs@^6.18.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
+ dependencies:
+ 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-parameters@^6.21.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ dependencies:
+ 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-spread@^6.8.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.8.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-unicode-regex@^6.11.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ regexpu-core "^2.0.0"
+
+babel-plugin-transform-exponentiation-operator@^6.8.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ dependencies:
+ 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-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-register@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ dependencies:
+ 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@^6.22.0, babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ dependencies:
+ 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@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ dependencies:
+ 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"
+
+babel-types@^6.18.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@^6.1.0, babylon@^6.17.0, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
+base64url@2.0.0, base64url@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/base64url/download/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+binary-extensions@^1.0.0:
+ version "1.11.0"
+ resolved "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+
+block-stream@*:
+ version "0.0.9"
+ resolved "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ dependencies:
+ inherits "~2.0.0"
+
+bluebird@3.5.0:
+ version "3.5.0"
+ resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
+
+bluebird@^3.0.0:
+ version "3.5.1"
+ resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
+
+boom@2.x.x:
+ version "2.10.1"
+ resolved "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+boom@4.x.x:
+ version "4.3.1"
+ resolved "http://registry.npm.taobao.org/boom/download/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
+ dependencies:
+ hoek "4.x.x"
+
+boom@5.x.x:
+ version "5.2.0"
+ resolved "http://registry.npm.taobao.org/boom/download/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
+ dependencies:
+ hoek "4.x.x"
+
+boxen@^1.2.1:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/boxen/download/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
+ dependencies:
+ ansi-align "^2.0.0"
+ camelcase "^4.0.0"
+ chalk "^2.0.1"
+ cli-boxes "^1.0.0"
+ string-width "^2.0.0"
+ term-size "^1.2.0"
+ widest-line "^2.0.0"
+
+brace-expansion@^1.1.7:
+ version "1.1.8"
+ resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+bson@~1.0.4:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/bson/download/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c"
+
+buf-compare@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/buf-compare/download/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a"
+
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+
+buffer-shims@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/buffer-shims/download/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+
+build@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/build/download/build-0.1.4.tgz#707fe026ffceddcacbfdcdf356eafda64f151046"
+ dependencies:
+ cssmin "0.3.x"
+ jsmin "1.x"
+ jxLoader "*"
+ moo-server "*"
+ promised-io "*"
+ timespan "2.x"
+ uglify-js "1.x"
+ walker "1.x"
+ winston "*"
+ wrench "1.3.x"
+
+builtin-modules@^1.0.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+bytes@3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+
+caching-transform@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/caching-transform/download/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1"
+ dependencies:
+ md5-hex "^1.2.0"
+ mkdirp "^0.5.1"
+ write-file-atomic "^1.1.4"
+
+call-matcher@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/call-matcher/download/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8"
+ dependencies:
+ core-js "^2.0.0"
+ deep-equal "^1.0.0"
+ espurify "^1.6.0"
+ estraverse "^4.0.0"
+
+call-me-maybe@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+
+call-signature@0.0.2:
+ version "0.0.2"
+ resolved "http://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996"
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+
+camelcase@^4.0.0, camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+
+capture-stack-trace@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/capture-stack-trace/download/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chalk@^0.4.0:
+ version "0.4.0"
+ resolved "http://registry.npm.taobao.org/chalk/download/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"
+ dependencies:
+ ansi-styles "~1.0.0"
+ has-color "~0.1.0"
+ strip-ansi "~0.1.0"
+
+chalk@^1.1.3:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ 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"
+
+chalk@^2.0.1:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+chokidar@^1.4.2:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
+ci-info@^1.0.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/ci-info/download/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
+
+clean-stack@^1.1.1:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/clean-stack/download/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31"
+
+clean-yaml-object@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/clean-yaml-object/download/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68"
+
+cli-boxes@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/cli-boxes/download/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-spinners@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06"
+
+cli-truncate@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/cli-truncate/download/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
+ dependencies:
+ slice-ansi "^1.0.0"
+ string-width "^2.0.0"
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+co-with-promise@^4.6.0:
+ version "4.6.0"
+ resolved "http://registry.npm.taobao.org/co-with-promise/download/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7"
+ dependencies:
+ pinkie-promise "^1.0.0"
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+code-excerpt@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/code-excerpt/download/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147"
+ dependencies:
+ convert-to-spaces "^1.0.1"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.1.1:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+
+colors@1.0.x:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+
+combined-stream@^1.0.5, combined-stream@~1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@^2.7.1:
+ version "2.12.2"
+ resolved "http://registry.npm.taobao.org/commander/download/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
+
+common-path-prefix@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/common-path-prefix/download/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0"
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concordance@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/concordance/download/concordance-3.0.0.tgz#b2286af54405fc995fc7345b0b106d8dd073cb29"
+ dependencies:
+ date-time "^2.1.0"
+ esutils "^2.0.2"
+ fast-diff "^1.1.1"
+ function-name-support "^0.2.0"
+ js-string-escape "^1.0.1"
+ lodash.clonedeep "^4.5.0"
+ lodash.flattendeep "^4.4.0"
+ lodash.merge "^4.6.0"
+ md5-hex "^2.0.0"
+ semver "^5.3.0"
+ well-known-symbols "^1.0.0"
+
+configstore@^3.0.0:
+ version "3.1.1"
+ resolved "http://registry.npm.taobao.org/configstore/download/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90"
+ dependencies:
+ dot-prop "^4.1.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ unique-string "^1.0.0"
+ write-file-atomic "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+
+content-disposition@~0.5.0:
+ version "0.5.2"
+ resolved "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+
+content-type@^1.0.0:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+
+convert-source-map@^1.2.0, convert-source-map@^1.3.0, convert-source-map@^1.5.0:
+ version "1.5.1"
+ resolved "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+
+convert-to-spaces@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/convert-to-spaces/download/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715"
+
+cookies@~0.7.0:
+ version "0.7.1"
+ resolved "http://registry.npm.taobao.org/cookies/download/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b"
+ dependencies:
+ depd "~1.1.1"
+ keygrip "~1.0.2"
+
+core-assert@^0.2.0:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/core-assert/download/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f"
+ dependencies:
+ buf-compare "^1.0.0"
+ is-error "^2.2.0"
+
+core-js@^2.0.0, core-js@^2.4.0, core-js@^2.5.0:
+ version "2.5.3"
+ resolved "http://registry.npm.taobao.org/core-js/download/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+create-error-class@^3.0.0:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/create-error-class/download/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ dependencies:
+ capture-stack-trace "^1.0.0"
+
+cross-spawn@^4:
+ version "4.0.2"
+ resolved "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
+ dependencies:
+ lru-cache "^4.0.1"
+ which "^1.2.9"
+
+cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cryptiles@2.x.x:
+ version "2.0.5"
+ resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ dependencies:
+ boom "2.x.x"
+
+cryptiles@3.x.x:
+ version "3.1.2"
+ resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
+ dependencies:
+ boom "5.x.x"
+
+crypto-random-string@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+
+cssmin@0.3.x:
+ version "0.3.2"
+ resolved "http://registry.npm.taobao.org/cssmin/download/cssmin-0.3.2.tgz#ddce4c547b510ae0d594a8f1fbf8aaf8e2c5c00d"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ dependencies:
+ array-find-index "^1.0.1"
+
+cycle@1.0.x:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/cycle/download/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+date-time@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/date-time/download/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07"
+
+date-time@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/date-time/download/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2"
+ dependencies:
+ time-zone "^1.0.0"
+
+debug-log@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/debug-log/download/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
+
+debug@*, debug@^3.0.0, debug@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+debug@2.6.9, debug@^2.2.0, debug@^2.6.8:
+ version "2.6.9"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ dependencies:
+ ms "2.0.0"
+
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+deep-equal@^1.0.0, deep-equal@~1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
+
+deep-extend@^0.4.0, deep-extend@~0.4.0:
+ version "0.4.2"
+ resolved "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+
+default-require-extensions@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/default-require-extensions/download/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+ dependencies:
+ strip-bom "^2.0.0"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+
+depd@1.1.1, depd@^1.1.0, depd@~1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
+
+deref@^0.7.0:
+ version "0.7.2"
+ resolved "http://registry.npm.taobao.org/deref/download/deref-0.7.2.tgz#c9a85734d67d5c523c5dc058d942d688e7691e0b"
+ dependencies:
+ deep-extend "^0.4.0"
+
+destroy@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ dependencies:
+ repeating "^2.0.0"
+
+detect-indent@^5.0.0:
+ version "5.0.0"
+ resolved "http://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
+
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+
+diff@^3.1.0:
+ version "3.4.0"
+ resolved "http://registry.npm.taobao.org/diff/download/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
+
+discontinuous-range@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/discontinuous-range/download/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
+
+dot-prop@^4.1.0:
+ version "4.2.0"
+ resolved "http://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
+ dependencies:
+ is-obj "^1.0.0"
+
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+ecdsa-sig-formatter@1.0.9:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1"
+ dependencies:
+ base64url "^2.0.0"
+ safe-buffer "^5.0.1"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+
+empower-core@^0.6.1:
+ version "0.6.2"
+ resolved "http://registry.npm.taobao.org/empower-core/download/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144"
+ dependencies:
+ call-signature "0.0.2"
+ core-js "^2.0.0"
+
+equal-length@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/equal-length/download/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c"
+
+error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-inject@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/error-inject/download/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37"
+
+es6-error@^4.0.1, es6-error@^4.0.2:
+ version "4.0.2"
+ resolved "http://registry.npm.taobao.org/es6-error/download/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98"
+
+es6-promise@3.2.1:
+ version "3.2.1"
+ resolved "http://registry.npm.taobao.org/es6-promise/download/es6-promise-3.2.1.tgz#ec56233868032909207170c39448e24449dd1fc4"
+
+es6-promise@^4.1.1:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a"
+
+escape-html@~1.0.1:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+espower-location-detector@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5"
+ dependencies:
+ is-url "^1.2.1"
+ path-is-absolute "^1.0.0"
+ source-map "^0.5.0"
+ xtend "^4.0.0"
+
+esprima@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+
+espurify@^1.6.0:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/espurify/download/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226"
+ dependencies:
+ core-js "^2.0.0"
+
+estraverse@^4.0.0, estraverse@^4.1.1:
+ version "4.2.0"
+ resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+esutils@^2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+execa@^0.7.0:
+ version "0.7.0"
+ resolved "http://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ dependencies:
+ fill-range "^2.1.0"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend@~3.0.0, extend@~3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+
+eyes@0.1.x:
+ version "0.1.8"
+ resolved "http://registry.npm.taobao.org/eyes/download/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
+
+fast-deep-equal@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
+
+fast-diff@^1.1.1:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+
+fill-range@^2.1.0:
+ version "2.2.3"
+ resolved "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^1.1.3"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+find-cache-dir@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
+ dependencies:
+ commondir "^1.0.1"
+ mkdirp "^0.5.1"
+ pkg-dir "^1.0.0"
+
+find-cache-dir@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^1.0.0"
+ pkg-dir "^2.0.0"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
+fn-name@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/fn-name/download/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
+
+follow-redirects@^1.2.3:
+ version "1.2.6"
+ resolved "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.2.6.tgz#4dcdc7e4ab3dd6765a97ff89c3b4c258117c79bf"
+ dependencies:
+ debug "^3.1.0"
+
+for-in@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ dependencies:
+ for-in "^1.0.1"
+
+foreground-child@^1.5.3, foreground-child@^1.5.6:
+ version "1.5.6"
+ resolved "http://registry.npm.taobao.org/foreground-child/download/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"
+ dependencies:
+ cross-spawn "^4"
+ signal-exit "^3.0.0"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~2.1.1:
+ version "2.1.4"
+ resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.12"
+
+form-data@~2.3.1:
+ version "2.3.1"
+ resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.12"
+
+format-util@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/format-util/download/format-util-1.0.3.tgz#032dca4a116262a12c43f4c3ec8566416c5b2d95"
+
+formatio@1.2.0, formatio@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/formatio/download/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb"
+ dependencies:
+ samsam "1.x"
+
+formidable@^1.0.17:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/formidable/download/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9"
+
+fresh@^0.5.2:
+ version "0.5.2"
+ resolved "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+fsevents@^1.0.0:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/fsevents/download/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+ dependencies:
+ nan "^2.3.0"
+ node-pre-gyp "^0.6.39"
+
+fstream-ignore@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/fstream-ignore/download/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+ dependencies:
+ fstream "^1.0.0"
+ inherits "2"
+ minimatch "^3.0.0"
+
+fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
+ version "1.0.11"
+ resolved "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+function-name-support@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/function-name-support/download/function-name-support-0.2.0.tgz#55d3bfaa6eafd505a50f9bc81fdf57564a0bb071"
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ dependencies:
+ 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"
+
+get-caller-file@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
+get-port@^3.0.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/get-port/download/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
+ version "7.1.2"
+ resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-dirs@^0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
+ dependencies:
+ ini "^1.3.4"
+
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+
+globby@^6.0.0:
+ version "6.1.0"
+ resolved "http://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
+ dependencies:
+ array-union "^1.0.1"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+got@^6.7.1:
+ version "6.7.1"
+ resolved "http://registry.npm.taobao.org/got/download/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ dependencies:
+ create-error-class "^3.0.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-redirect "^1.0.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ unzip-response "^2.0.1"
+ url-parse-lax "^1.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+ version "4.1.11"
+ resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+handlebars@^4.0.3:
+ version "4.0.11"
+ resolved "http://registry.npm.taobao.org/handlebars/download/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+har-schema@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+
+har-validator@~4.2.1:
+ version "4.2.1"
+ resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
+ dependencies:
+ ajv "^4.9.1"
+ har-schema "^1.0.5"
+
+har-validator@~5.0.3:
+ version "5.0.3"
+ resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
+ dependencies:
+ ajv "^5.1.0"
+ har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-color@~0.1.0:
+ version "0.1.7"
+ resolved "http://registry.npm.taobao.org/has-color/download/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f"
+
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+
+has-yarn@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/has-yarn/download/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7"
+
+hawk@3.1.3, hawk@~3.1.3:
+ version "3.1.3"
+ resolved "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ dependencies:
+ boom "2.x.x"
+ cryptiles "2.x.x"
+ hoek "2.x.x"
+ sntp "1.x.x"
+
+hawk@~6.0.2:
+ version "6.0.2"
+ resolved "http://registry.npm.taobao.org/hawk/download/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
+ dependencies:
+ boom "4.x.x"
+ cryptiles "3.x.x"
+ hoek "4.x.x"
+ sntp "2.x.x"
+
+hoek@2.x.x:
+ version "2.16.3"
+ resolved "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+hoek@4.x.x:
+ version "4.2.0"
+ resolved "http://registry.npm.taobao.org/hoek/download/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d"
+
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
+hooks-fixed@2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/hooks-fixed/download/hooks-fixed-2.0.2.tgz#20076daa07e77d8a6106883ce3f1722e051140b0"
+
+hosted-git-info@^2.1.4:
+ version "2.5.0"
+ resolved "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
+
+http-assert@^1.1.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/http-assert/download/http-assert-1.3.0.tgz#a31a5cf88c873ecbb5796907d4d6f132e8c01e4a"
+ dependencies:
+ deep-equal "~1.0.1"
+ http-errors "~1.6.1"
+
+http-errors@1.6.2, http-errors@^1.2.8, http-errors@^1.3.1, http-errors@~1.6.1:
+ version "1.6.2"
+ resolved "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
+ dependencies:
+ depd "1.1.1"
+ inherits "2.0.3"
+ setprototypeof "1.0.3"
+ statuses ">= 1.3.1 < 2"
+
+http-errors@~1.4.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/http-errors/download/http-errors-1.4.0.tgz#6c0242dea6b3df7afda153c71089b31c6e82aabf"
+ dependencies:
+ inherits "2.0.1"
+ statuses ">= 1.2.1 < 2"
+
+http-signature@~1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ dependencies:
+ assert-plus "^0.2.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+hullabaloo-config-manager@^1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/hullabaloo-config-manager/download/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3"
+ dependencies:
+ dot-prop "^4.1.0"
+ es6-error "^4.0.2"
+ graceful-fs "^4.1.11"
+ indent-string "^3.1.0"
+ json5 "^0.5.1"
+ lodash.clonedeep "^4.5.0"
+ lodash.clonedeepwith "^4.5.0"
+ lodash.isequal "^4.5.0"
+ lodash.merge "^4.6.0"
+ md5-hex "^2.0.0"
+ package-hash "^2.0.0"
+ pkg-dir "^2.0.0"
+ resolve-from "^3.0.0"
+ safe-buffer "^5.0.1"
+
+iconv-lite@0.4.19:
+ version "0.4.19"
+ resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+
+ignore-by-default@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/ignore-by-default/download/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
+
+import-lazy@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
+
+import-local@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/import-local/download/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8"
+ dependencies:
+ pkg-dir "^2.0.0"
+ resolve-cwd "^2.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ dependencies:
+ repeating "^2.0.0"
+
+indent-string@^3.0.0, indent-string@^3.1.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+
+ini@^1.3.4, ini@~1.3.0:
+ version "1.3.5"
+ resolved "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+
+invariant@^2.2.2:
+ version "2.2.2"
+ resolved "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
+ dependencies:
+ loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
+irregular-plurals@^1.0.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/irregular-plurals/download/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+
+is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ dependencies:
+ builtin-modules "^1.0.0"
+
+is-ci@^1.0.7:
+ version "1.0.10"
+ resolved "http://registry.npm.taobao.org/is-ci/download/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
+ dependencies:
+ ci-info "^1.0.0"
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-error@^2.2.0:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/is-error/download/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c"
+
+is-es6-generator-function@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-es6-generator-function/download/is-es6-generator-function-1.0.0.tgz#fb7f8ca143d90b63d248fb30a396f6f79aa5db7b"
+ dependencies:
+ is-generator-function-name "~1.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+is-finite@^1.0.0, is-finite@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+is-generator-fn@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
+
+is-generator-function-name@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-generator-function-name/download/is-generator-function-name-1.0.0.tgz#254fff9ff56b5dd9a78c129453ab19e593b62f3e"
+
+is-generator-function@^1.0.3:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.6.tgz#9e71653cd15fff341c79c4151460a131d31e9fc4"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-installed-globally@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
+ dependencies:
+ global-dirs "^0.1.0"
+ is-path-inside "^1.0.0"
+
+is-npm@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-npm/download/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-obj@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+
+is-observable@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/is-observable/download/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2"
+ dependencies:
+ symbol-observable "^0.2.2"
+
+is-path-inside@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ dependencies:
+ path-is-inside "^1.0.1"
+
+is-plain-obj@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
+is-redirect@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-redirect/download/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+
+is-retry-allowed@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
+
+is-stream@^1.0.0, is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+is-url@^1.2.1:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/is-url/download/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26"
+
+is-utf8@^0.2.0, is-utf8@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
+isstream@0.1.x, isstream@~0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+istanbul-lib-coverage@^1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da"
+
+istanbul-lib-hook@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-hook/download/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b"
+ dependencies:
+ append-transform "^0.4.0"
+
+istanbul-lib-instrument@^1.9.1:
+ version "1.9.1"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e"
+ dependencies:
+ babel-generator "^6.18.0"
+ babel-template "^6.16.0"
+ babel-traverse "^6.18.0"
+ babel-types "^6.18.0"
+ babylon "^6.18.0"
+ istanbul-lib-coverage "^1.1.1"
+ semver "^5.3.0"
+
+istanbul-lib-report@^1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425"
+ dependencies:
+ istanbul-lib-coverage "^1.1.1"
+ mkdirp "^0.5.1"
+ path-parse "^1.0.5"
+ supports-color "^3.1.2"
+
+istanbul-lib-source-maps@^1.2.2:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c"
+ dependencies:
+ debug "^3.1.0"
+ istanbul-lib-coverage "^1.1.1"
+ mkdirp "^0.5.1"
+ rimraf "^2.6.1"
+ source-map "^0.5.3"
+
+istanbul-reports@^1.1.3:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10"
+ dependencies:
+ handlebars "^4.0.3"
+
+js-string-escape@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/js-string-escape/download/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
+
+js-tokens@^3.0.0, js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+
+js-yaml@0.3.x:
+ version "0.3.7"
+ resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-0.3.7.tgz#d739d8ee86461e54b354d6a7d7d1f2ad9a167f62"
+
+js-yaml@^3.8.2, js-yaml@^3.9.1:
+ version "3.10.0"
+ resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+
+jsmin@1.x:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/jsmin/download/jsmin-1.0.1.tgz#e7bd0dcd6496c3bf4863235bf461a3d98aa3b98c"
+
+json-schema-faker@^0.5.0-rc11:
+ version "0.5.0-rc9"
+ resolved "http://registry.npm.taobao.org/json-schema-faker/download/json-schema-faker-0.5.0-rc9.tgz#caff30a455f4f8b267c59746bb3a975414087c11"
+ dependencies:
+ deref "^0.7.0"
+ json-schema-ref-parser "^3.1.2"
+ randexp "^0.4.5"
+ tslib "^1.7.1"
+
+json-schema-ref-parser@^3.1.2:
+ version "3.3.1"
+ resolved "http://registry.npm.taobao.org/json-schema-ref-parser/download/json-schema-ref-parser-3.3.1.tgz#86e751b8099357bf601a7cfe42d10123ee906a32"
+ dependencies:
+ call-me-maybe "^1.0.1"
+ debug "^3.0.0"
+ es6-promise "^4.1.1"
+ js-yaml "^3.9.1"
+ ono "^4.0.2"
+ z-schema "^3.18.2"
+
+json-schema-traverse@^0.3.0:
+ version "0.3.1"
+ resolved "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+json5@^0.5.1:
+ version "0.5.1"
+ resolved "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+
+jsonwebtoken@^8.0.1:
+ version "8.1.0"
+ resolved "http://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.1.0.tgz#c6397cd2e5fd583d65c007a83dc7bb78e6982b83"
+ dependencies:
+ jws "^3.1.4"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.0.0"
+ xtend "^4.0.1"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+just-extend@^1.1.26:
+ version "1.1.27"
+ resolved "http://registry.npm.taobao.org/just-extend/download/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905"
+
+jwa@^1.1.4:
+ version "1.1.5"
+ resolved "http://registry.npm.taobao.org/jwa/download/jwa-1.1.5.tgz#a0552ce0220742cd52e153774a32905c30e756e5"
+ dependencies:
+ base64url "2.0.0"
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.9"
+ safe-buffer "^5.0.1"
+
+jws@^3.1.4:
+ version "3.1.4"
+ resolved "http://registry.npm.taobao.org/jws/download/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2"
+ dependencies:
+ base64url "^2.0.0"
+ jwa "^1.1.4"
+ safe-buffer "^5.0.1"
+
+jxLoader@*:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/jxLoader/download/jxLoader-0.1.1.tgz#0134ea5144e533b594fc1ff25ff194e235c53ecd"
+ dependencies:
+ js-yaml "0.3.x"
+ moo-server "1.3.x"
+ promised-io "*"
+ walker "1.x"
+
+kareem@1.5.0:
+ version "1.5.0"
+ resolved "http://registry.npm.taobao.org/kareem/download/kareem-1.5.0.tgz#e3e4101d9dcfde299769daf4b4db64d895d17448"
+
+keygrip@~1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/keygrip/download/keygrip-1.0.2.tgz#ad3297c557069dea8bcfe7a4fa491b75c5ddeb91"
+
+kind-of@^3.0.2:
+ version "3.2.2"
+ resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ dependencies:
+ is-buffer "^1.1.5"
+
+koa-better-body@^3.0.4:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/koa-better-body/download/koa-better-body-3.0.4.tgz#de49f544e4d6e1d9858f6c4880aedf2b8ac88759"
+ dependencies:
+ extend-shallow "^2.0.1"
+ formidable "^1.0.17"
+ koa-body-parsers "git+https://github.com/tunnckoCore/body-parsers.git"
+
+koa-better-router@^2.1.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/koa-better-router/download/koa-better-router-2.1.1.tgz#8498664659204bedfb7cb72f99c8ca1f17d6628f"
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-es6-generator-function "^1.0.0"
+ koa-compose "^3.1.0"
+ koa-convert "^1.2.0"
+ lazy-cache "^2.0.1"
+ methods "^1.1.2"
+ path-match "^1.2.4"
+
+"koa-body-parsers@git+https://github.com/tunnckoCore/body-parsers.git":
+ version "3.0.0"
+ resolved "git+https://github.com/tunnckoCore/body-parsers.git#b515504ef0bfe3e04aa3dd13502d3d90c2d60956"
+ dependencies:
+ raw-body "^2.1.0"
+
+koa-compose@^3.0.0, koa-compose@^3.1.0:
+ version "3.2.1"
+ resolved "http://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"
+ dependencies:
+ any-promise "^1.1.0"
+
+koa-compose@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/koa-compose/download/koa-compose-4.0.0.tgz#2800a513d9c361ef0d63852b038e4f6f2d5a773c"
+
+koa-convert@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"
+ dependencies:
+ co "^4.6.0"
+ koa-compose "^3.0.0"
+
+koa-is-json@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/koa-is-json/download/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14"
+
+koa-router@^7.2.1:
+ version "7.3.0"
+ resolved "http://registry.npm.taobao.org/koa-router/download/koa-router-7.3.0.tgz#241f0449ac5cd1071831a9a3d80b521fafb6baa1"
+ dependencies:
+ debug "^3.1.0"
+ http-errors "^1.3.1"
+ koa-compose "^3.0.0"
+ methods "^1.0.1"
+ path-to-regexp "^1.1.1"
+ urijs "^1.19.0"
+
+koa@^2.3.0:
+ version "2.4.1"
+ resolved "http://registry.npm.taobao.org/koa/download/koa-2.4.1.tgz#d449cfb970a7e9da571f699eda40bb9e32eb1484"
+ dependencies:
+ accepts "^1.2.2"
+ content-disposition "~0.5.0"
+ content-type "^1.0.0"
+ cookies "~0.7.0"
+ debug "*"
+ delegates "^1.0.0"
+ depd "^1.1.0"
+ destroy "^1.0.3"
+ error-inject "~1.0.0"
+ escape-html "~1.0.1"
+ fresh "^0.5.2"
+ http-assert "^1.1.0"
+ http-errors "^1.2.8"
+ is-generator-function "^1.0.3"
+ koa-compose "^4.0.0"
+ koa-convert "^1.2.0"
+ koa-is-json "^1.0.0"
+ mime-types "^2.0.7"
+ on-finished "^2.1.0"
+ only "0.0.2"
+ parseurl "^1.3.0"
+ statuses "^1.2.0"
+ type-is "^1.5.5"
+ vary "^1.0.0"
+
+last-line-stream@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/last-line-stream/download/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600"
+ dependencies:
+ through2 "^2.0.0"
+
+latest-version@^3.0.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/latest-version/download/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
+ dependencies:
+ package-json "^4.0.0"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lazy-cache@^2.0.1:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
+ dependencies:
+ set-getter "^0.1.0"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ dependencies:
+ invert-kv "^1.0.0"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+
+lodash.clonedeepwith@^4.5.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.clonedeepwith/download/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4"
+
+lodash.debounce@^4.0.3:
+ version "4.0.8"
+ resolved "http://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+
+lodash.difference@^4.3.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.difference/download/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
+
+lodash.flatten@^4.2.0:
+ version "4.4.0"
+ resolved "http://registry.npm.taobao.org/lodash.flatten/download/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+
+lodash.flattendeep@^4.4.0:
+ version "4.4.0"
+ resolved "http://registry.npm.taobao.org/lodash.flattendeep/download/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
+
+lodash.get@4.4.2, lodash.get@^4.0.0, lodash.get@^4.4.2:
+ version "4.4.2"
+ resolved "http://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "http://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "http://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+
+lodash.isequal@^4.0.0, lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "http://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "http://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "http://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+
+lodash.merge@^4.6.0:
+ version "4.6.0"
+ resolved "http://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
+
+lodash.once@^4.0.0:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+
+lodash@^4.14.0, lodash@^4.17.4:
+ version "4.17.4"
+ resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+
+lolex@^1.6.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/lolex/download/lolex-1.6.0.tgz#3a9a0283452a47d7439e72731b9e07d7386e49f6"
+
+lolex@^2.1.2:
+ version "2.3.1"
+ resolved "http://registry.npm.taobao.org/lolex/download/lolex-2.3.1.tgz#3d2319894471ea0950ef64692ead2a5318cff362"
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+loose-envify@^1.0.0:
+ version "1.3.1"
+ resolved "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ dependencies:
+ js-tokens "^3.0.0"
+
+loud-rejection@^1.0.0, loud-rejection@^1.2.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lowercase-keys@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
+
+lru-cache@^4.0.1:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+make-dir@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/make-dir/download/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51"
+ dependencies:
+ pify "^3.0.0"
+
+makeerror@1.0.x:
+ version "1.0.11"
+ resolved "http://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
+ dependencies:
+ tmpl "1.0.x"
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+matcher@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/matcher/download/matcher-1.0.0.tgz#aaf0c4816eb69b92094674175625f3466b0e3e19"
+ dependencies:
+ escape-string-regexp "^1.0.4"
+
+md5-hex@^1.2.0, md5-hex@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/md5-hex/download/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4"
+ dependencies:
+ md5-o-matic "^0.1.1"
+
+md5-hex@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/md5-hex/download/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33"
+ dependencies:
+ md5-o-matic "^0.1.1"
+
+md5-o-matic@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/md5-o-matic/download/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+
+mem@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/mem/download/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+meow@^3.7.0:
+ version "3.7.0"
+ resolved "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+merge-source-map@^1.0.2:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f"
+ dependencies:
+ source-map "^0.5.6"
+
+methods@^1.0.1, methods@^1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+
+micromatch@^2.1.5, micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+mime-db@~1.30.0:
+ version "1.30.0"
+ resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
+
+mime-types@^2.0.7, mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7:
+ version "2.1.17"
+ resolved "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
+ dependencies:
+ mime-db "~1.30.0"
+
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+
+minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+minimist@~0.0.1:
+ version "0.0.10"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
+ version "0.5.1"
+ resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ dependencies:
+ minimist "0.0.8"
+
+mongodb-core@2.1.17:
+ version "2.1.17"
+ resolved "http://registry.npm.taobao.org/mongodb-core/download/mongodb-core-2.1.17.tgz#a418b337a14a14990fb510b923dee6a813173df8"
+ dependencies:
+ bson "~1.0.4"
+ require_optional "~1.0.0"
+
+mongodb@2.2.33:
+ version "2.2.33"
+ resolved "http://registry.npm.taobao.org/mongodb/download/mongodb-2.2.33.tgz#b537c471d34a6651b48f36fdbf29750340e08b50"
+ dependencies:
+ es6-promise "3.2.1"
+ mongodb-core "2.1.17"
+ readable-stream "2.2.7"
+
+mongoose@^4.11.0:
+ version "4.13.7"
+ resolved "http://registry.npm.taobao.org/mongoose/download/mongoose-4.13.7.tgz#f760c770e6c8cdf34a6fe8b7443882b5fced1032"
+ dependencies:
+ async "2.1.4"
+ bson "~1.0.4"
+ hooks-fixed "2.0.2"
+ kareem "1.5.0"
+ lodash.get "4.4.2"
+ mongodb "2.2.33"
+ mpath "0.3.0"
+ mpromise "0.5.5"
+ mquery "2.3.3"
+ ms "2.0.0"
+ muri "1.3.0"
+ regexp-clone "0.0.1"
+ sliced "1.0.1"
+
+moo-server@*, moo-server@1.3.x:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/moo-server/download/moo-server-1.3.0.tgz#5dc79569565a10d6efed5439491e69d2392e58f1"
+
+mpath@0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/mpath/download/mpath-0.3.0.tgz#7a58f789e9b5fd3c94520634157960f26bd5ef44"
+
+mpromise@0.5.5:
+ version "0.5.5"
+ resolved "http://registry.npm.taobao.org/mpromise/download/mpromise-0.5.5.tgz#f5b24259d763acc2257b0a0c8c6d866fd51732e6"
+
+mquery@2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/mquery/download/mquery-2.3.3.tgz#221412e5d4e7290ca5582dd16ea8f190a506b518"
+ dependencies:
+ bluebird "3.5.0"
+ debug "2.6.9"
+ regexp-clone "0.0.1"
+ sliced "0.0.5"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+ms@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+
+multimatch@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/multimatch/download/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
+ dependencies:
+ array-differ "^1.0.0"
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ minimatch "^3.0.0"
+
+muri@1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/muri/download/muri-1.3.0.tgz#aeccf3db64c56aa7c5b34e00f95b7878527a4721"
+
+nan@^2.3.0:
+ version "2.8.0"
+ resolved "http://registry.npm.taobao.org/nan/download/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
+
+native-promise-only@^0.8.1:
+ version "0.8.1"
+ resolved "http://registry.npm.taobao.org/native-promise-only/download/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
+
+negotiator@0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+nise@^1.0.1:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/nise/download/nise-1.2.0.tgz#079d6cadbbcb12ba30e38f1c999f36ad4d6baa53"
+ dependencies:
+ formatio "^1.2.0"
+ just-extend "^1.1.26"
+ lolex "^1.6.0"
+ path-to-regexp "^1.7.0"
+ text-encoding "^0.6.4"
+
+node-pre-gyp@^0.6.39:
+ version "0.6.39"
+ resolved "http://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
+ dependencies:
+ detect-libc "^1.0.2"
+ hawk "3.1.3"
+ mkdirp "^0.5.1"
+ nopt "^4.0.1"
+ npmlog "^4.0.2"
+ rc "^1.1.7"
+ request "2.81.0"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^2.2.1"
+ tar-pack "^3.4.0"
+
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.4.0"
+ resolved "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.0, normalize-path@^2.0.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ dependencies:
+ path-key "^2.0.0"
+
+npmlog@^4.0.2:
+ version "4.1.2"
+ resolved "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ dependencies:
+ 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@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+nyc@^11.1.0:
+ version "11.4.1"
+ resolved "http://registry.npm.taobao.org/nyc/download/nyc-11.4.1.tgz#13fdf7e7ef22d027c61d174758f6978a68f4f5e5"
+ dependencies:
+ archy "^1.0.0"
+ arrify "^1.0.1"
+ caching-transform "^1.0.0"
+ convert-source-map "^1.3.0"
+ debug-log "^1.0.1"
+ default-require-extensions "^1.0.0"
+ find-cache-dir "^0.1.1"
+ find-up "^2.1.0"
+ foreground-child "^1.5.3"
+ glob "^7.0.6"
+ istanbul-lib-coverage "^1.1.1"
+ istanbul-lib-hook "^1.1.0"
+ istanbul-lib-instrument "^1.9.1"
+ istanbul-lib-report "^1.1.2"
+ istanbul-lib-source-maps "^1.2.2"
+ istanbul-reports "^1.1.3"
+ md5-hex "^1.2.0"
+ merge-source-map "^1.0.2"
+ micromatch "^2.3.11"
+ mkdirp "^0.5.0"
+ resolve-from "^2.0.0"
+ rimraf "^2.5.4"
+ signal-exit "^3.0.1"
+ spawn-wrap "^1.4.2"
+ test-exclude "^4.1.1"
+ yargs "^10.0.3"
+ yargs-parser "^8.0.0"
+
+oauth-sign@~0.8.1, oauth-sign@~0.8.2:
+ version "0.8.2"
+ resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+observable-to-promise@^0.5.0:
+ version "0.5.0"
+ resolved "http://registry.npm.taobao.org/observable-to-promise/download/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f"
+ dependencies:
+ is-observable "^0.2.0"
+ symbol-observable "^1.0.4"
+
+on-finished@^2.1.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0, once@^1.3.3:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+only@0.0.2:
+ version "0.0.2"
+ resolved "http://registry.npm.taobao.org/only/download/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
+
+ono@^4.0.2:
+ version "4.0.2"
+ resolved "http://registry.npm.taobao.org/ono/download/ono-4.0.2.tgz#2e18ff7c21b9eac0cab794f7a3082507000d6d36"
+ dependencies:
+ format-util "^1.0.3"
+
+optimist@^0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+option-chain@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/option-chain/download/option-chain-1.0.0.tgz#938d73bd4e1783f948d34023644ada23669e30f2"
+
+os-homedir@^1.0.0, os-homedir@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+os-locale@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/os-locale/download/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ dependencies:
+ execa "^0.7.0"
+ lcid "^1.0.0"
+ mem "^1.1.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+osenv@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/osenv/download/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+
+p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
+package-hash@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/package-hash/download/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44"
+ dependencies:
+ md5-hex "^1.3.0"
+
+package-hash@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/package-hash/download/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d"
+ dependencies:
+ graceful-fs "^4.1.11"
+ lodash.flattendeep "^4.4.0"
+ md5-hex "^2.0.0"
+ release-zalgo "^1.0.0"
+
+package-json@^4.0.0:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/package-json/download/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
+ dependencies:
+ got "^6.7.1"
+ registry-auth-token "^3.0.1"
+ registry-url "^3.0.3"
+ semver "^5.1.0"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-ms@^0.1.0:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/parse-ms/download/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e"
+
+parse-ms@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/parse-ms/download/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d"
+
+parseurl@^1.3.0:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-is-inside@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+path-key@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+
+path-match@^1.2.4:
+ version "1.2.4"
+ resolved "http://registry.npm.taobao.org/path-match/download/path-match-1.2.4.tgz#a62747f3c7e0c2514762697f24443585b09100ea"
+ dependencies:
+ http-errors "~1.4.0"
+ path-to-regexp "^1.0.0"
+
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+path-to-regexp@^1.0.0, path-to-regexp@^1.1.1, path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ dependencies:
+ isarray "0.0.1"
+
+path-to-regexp@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-2.1.0.tgz#7e30f9f5b134bd6a28ffc2e3ef1e47075ac5259b"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
+performance-now@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+
+pinkie-promise@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670"
+ dependencies:
+ pinkie "^1.0.0"
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/pinkie/download/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pkg-conf@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/pkg-conf/download/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279"
+ dependencies:
+ find-up "^2.0.0"
+ load-json-file "^2.0.0"
+
+pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ dependencies:
+ find-up "^1.0.0"
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ dependencies:
+ find-up "^2.1.0"
+
+plur@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/plur/download/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156"
+
+plur@^2.0.0:
+ version "2.1.2"
+ resolved "http://registry.npm.taobao.org/plur/download/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a"
+ dependencies:
+ irregular-plurals "^1.0.0"
+
+prepend-http@^1.0.1:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+pretty-ms@^0.2.1:
+ version "0.2.2"
+ resolved "http://registry.npm.taobao.org/pretty-ms/download/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6"
+ dependencies:
+ parse-ms "^0.1.0"
+
+pretty-ms@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/pretty-ms/download/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc"
+ dependencies:
+ is-finite "^1.0.1"
+ parse-ms "^1.0.0"
+ plur "^1.0.0"
+
+private@^0.1.7:
+ version "0.1.8"
+ resolved "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+promised-io@*:
+ version "0.3.5"
+ resolved "http://registry.npm.taobao.org/promised-io/download/promised-io-0.3.5.tgz#4ad217bb3658bcaae9946b17a8668ecd851e1356"
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+qs@~6.4.0:
+ version "6.4.0"
+ resolved "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+
+qs@~6.5.1:
+ version "6.5.1"
+ resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
+
+randexp@^0.4.5:
+ version "0.4.6"
+ resolved "http://registry.npm.taobao.org/randexp/download/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
+ dependencies:
+ discontinuous-range "1.0.0"
+ ret "~0.1.10"
+
+randomatic@^1.1.3:
+ version "1.1.7"
+ resolved "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+raw-body@^2.1.0:
+ version "2.3.2"
+ resolved "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
+ dependencies:
+ bytes "3.0.0"
+ http-errors "1.6.2"
+ iconv-lite "0.4.19"
+ unpipe "1.0.0"
+
+rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/rc/download/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077"
+ dependencies:
+ deep-extend "~0.4.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+readable-stream@2.2.7:
+ version "2.2.7"
+ resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1"
+ dependencies:
+ buffer-shims "~1.0.0"
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~1.0.0"
+ util-deprecate "~1.0.1"
+
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.0.3"
+ util-deprecate "~1.0.1"
+
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+regenerate@^1.2.1:
+ version "1.3.3"
+ resolved "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regexp-clone@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/regexp-clone/download/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589"
+
+regexpu-core@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ dependencies:
+ regenerate "^1.2.1"
+ regjsgen "^0.2.0"
+ regjsparser "^0.1.4"
+
+registry-auth-token@^3.0.1:
+ version "3.3.1"
+ resolved "http://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006"
+ dependencies:
+ rc "^1.1.6"
+ safe-buffer "^5.0.1"
+
+registry-url@^3.0.3:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/registry-url/download/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+ dependencies:
+ rc "^1.0.1"
+
+regjsgen@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+
+regjsparser@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+ dependencies:
+ jsesc "~0.5.0"
+
+release-zalgo@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/release-zalgo/download/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
+ dependencies:
+ es6-error "^4.0.1"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ dependencies:
+ is-finite "^1.0.0"
+
+request@2.81.0:
+ version "2.81.0"
+ resolved "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+ dependencies:
+ aws-sign2 "~0.6.0"
+ aws4 "^1.2.1"
+ caseless "~0.12.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.0"
+ forever-agent "~0.6.1"
+ form-data "~2.1.1"
+ har-validator "~4.2.1"
+ hawk "~3.1.3"
+ http-signature "~1.1.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.7"
+ oauth-sign "~0.8.1"
+ performance-now "^0.2.0"
+ qs "~6.4.0"
+ safe-buffer "^5.0.1"
+ stringstream "~0.0.4"
+ tough-cookie "~2.3.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.0.0"
+
+request@^2.81.0:
+ version "2.83.0"
+ resolved "http://registry.npm.taobao.org/request/download/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.6.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.1"
+ forever-agent "~0.6.1"
+ form-data "~2.3.1"
+ har-validator "~5.0.3"
+ hawk "~6.0.2"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.17"
+ oauth-sign "~0.8.2"
+ performance-now "^2.1.0"
+ qs "~6.5.1"
+ safe-buffer "^5.1.1"
+ stringstream "~0.0.5"
+ tough-cookie "~2.3.3"
+ tunnel-agent "^0.6.0"
+ uuid "^3.1.0"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
+require-precompiled@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/require-precompiled/download/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa"
+
+require_optional@~1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
+ dependencies:
+ resolve-from "^2.0.0"
+ semver "^5.1.0"
+
+resolve-cwd@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ dependencies:
+ resolve-from "^3.0.0"
+
+resolve-from@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@2, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
+ version "2.6.2"
+ resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
+rxjs@^5.4.3:
+ version "5.5.5"
+ resolved "http://registry.npm.taobao.org/rxjs/download/rxjs-5.5.5.tgz#e164f11d38eaf29f56f08c3447f74ff02dd84e97"
+ dependencies:
+ symbol-observable "1.0.1"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.1"
+ resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+
+samsam@1.x, samsam@^1.1.3:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/samsam/download/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
+
+semver-diff@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/semver-diff/download/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
+ dependencies:
+ semver "^5.0.3"
+
+"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
+ version "5.4.1"
+ resolved "http://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+set-getter@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/set-getter/download/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
+ dependencies:
+ to-object-path "^0.3.0"
+
+set-immediate-shim@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
+setprototypeof@1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+signal-exit@^3.0.0, signal-exit@^3.0.1, signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+sinon@^3.2.1:
+ version "3.3.0"
+ resolved "http://registry.npm.taobao.org/sinon/download/sinon-3.3.0.tgz#9132111b4bbe13c749c2848210864250165069b1"
+ dependencies:
+ build "^0.1.4"
+ diff "^3.1.0"
+ formatio "1.2.0"
+ lodash.get "^4.4.2"
+ lolex "^2.1.2"
+ native-promise-only "^0.8.1"
+ nise "^1.0.1"
+ path-to-regexp "^1.7.0"
+ samsam "^1.1.3"
+ text-encoding "0.6.4"
+ type-detect "^4.0.0"
+
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+
+slice-ansi@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+
+sliced@0.0.5:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/sliced/download/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f"
+
+sliced@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/sliced/download/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
+
+slide@^1.1.5:
+ version "1.1.6"
+ resolved "http://registry.npm.taobao.org/slide/download/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
+
+sntp@1.x.x:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ dependencies:
+ hoek "2.x.x"
+
+sntp@2.x.x:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/sntp/download/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
+ dependencies:
+ hoek "4.x.x"
+
+sort-keys@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+source-map-support@^0.4.0, source-map-support@^0.4.15:
+ version "0.4.18"
+ resolved "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ dependencies:
+ source-map "^0.5.6"
+
+source-map@^0.4.4:
+ version "0.4.4"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
+ version "0.5.7"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+
+spawn-wrap@^1.4.2:
+ version "1.4.2"
+ resolved "http://registry.npm.taobao.org/spawn-wrap/download/spawn-wrap-1.4.2.tgz#cff58e73a8224617b6561abdc32586ea0c82248c"
+ dependencies:
+ 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@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
+ dependencies:
+ spdx-license-ids "^1.0.2"
+
+spdx-expression-parse@~1.0.0:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
+
+spdx-license-ids@^1.0.2:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+sshpk@^1.7.0:
+ version "1.13.1"
+ resolved "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+stack-trace@0.0.x:
+ version "0.0.10"
+ resolved "http://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
+
+stack-utils@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/stack-utils/download/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
+
+"statuses@>= 1.2.1 < 2", "statuses@>= 1.3.1 < 2", statuses@^1.2.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
+
+string-width@^1.0.1, string-width@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.0.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string_decoder@~1.0.0, string_decoder@~1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+ dependencies:
+ safe-buffer "~5.1.0"
+
+stringstream@~0.0.4, stringstream@~0.0.5:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@~0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
+
+strip-bom-buf@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/strip-bom-buf/download/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572"
+ dependencies:
+ is-utf8 "^0.2.1"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+supports-color@^3.1.2:
+ version "3.2.3"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ dependencies:
+ has-flag "^2.0.0"
+
+symbol-observable@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
+
+symbol-observable@^0.2.2:
+ version "0.2.4"
+ resolved "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40"
+
+symbol-observable@^1.0.4:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.1.0.tgz#5c68fd8d54115d9dfb72a84720549222e8db9b32"
+
+tar-pack@^3.4.0:
+ version "3.4.1"
+ resolved "http://registry.npm.taobao.org/tar-pack/download/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
+ dependencies:
+ debug "^2.2.0"
+ fstream "^1.0.10"
+ fstream-ignore "^1.0.5"
+ once "^1.3.3"
+ readable-stream "^2.1.4"
+ rimraf "^2.5.1"
+ tar "^2.2.1"
+ uid-number "^0.0.6"
+
+tar@^2.2.1:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.2"
+ inherits "2"
+
+term-size@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/term-size/download/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
+ dependencies:
+ execa "^0.7.0"
+
+test-exclude@^4.1.1:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/test-exclude/download/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26"
+ dependencies:
+ arrify "^1.0.1"
+ micromatch "^2.3.11"
+ object-assign "^4.1.0"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+
+text-encoding@0.6.4, text-encoding@^0.6.4:
+ version "0.6.4"
+ resolved "http://registry.npm.taobao.org/text-encoding/download/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+through2@^2.0.0:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ dependencies:
+ readable-stream "^2.1.5"
+ xtend "~4.0.1"
+
+time-require@^0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/time-require/download/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98"
+ dependencies:
+ chalk "^0.4.0"
+ date-time "^0.1.1"
+ pretty-ms "^0.2.1"
+ text-table "^0.2.0"
+
+time-zone@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/time-zone/download/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d"
+
+timed-out@^4.0.0:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+
+timespan@2.x:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/timespan/download/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929"
+
+tmpl@1.0.x:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
+
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ dependencies:
+ kind-of "^3.0.2"
+
+tough-cookie@~2.3.0, tough-cookie@~2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561"
+ dependencies:
+ punycode "^1.4.1"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+
+trim-off-newlines@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
+
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+
+tslib@^1.7.1:
+ version "1.8.1"
+ resolved "http://registry.npm.taobao.org/tslib/download/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+type-detect@^4.0.0:
+ version "4.0.5"
+ resolved "http://registry.npm.taobao.org/type-detect/download/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
+
+type-is@^1.5.5:
+ version "1.6.15"
+ resolved "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.15"
+
+uglify-js@1.x:
+ version "1.3.5"
+ resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-1.3.5.tgz#4b5bfff9186effbaa888e4c9e94bd9fc4c94929d"
+
+uglify-js@^2.6:
+ version "2.8.29"
+ resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+uid-number@^0.0.6:
+ version "0.0.6"
+ resolved "http://registry.npm.taobao.org/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+
+uid2@0.0.3:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/uid2/download/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82"
+
+underscore@^1.8.3:
+ version "1.8.3"
+ resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+
+unique-string@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+ dependencies:
+ crypto-random-string "^1.0.0"
+
+unique-temp-dir@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/unique-temp-dir/download/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385"
+ dependencies:
+ mkdirp "^0.5.1"
+ os-tmpdir "^1.0.1"
+ uid2 "0.0.3"
+
+unpipe@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+
+unzip-response@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/unzip-response/download/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+
+update-notifier@^2.1.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/update-notifier/download/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451"
+ dependencies:
+ boxen "^1.2.1"
+ chalk "^2.0.1"
+ configstore "^3.0.0"
+ import-lazy "^2.1.0"
+ is-installed-globally "^0.1.0"
+ is-npm "^1.0.0"
+ latest-version "^3.0.0"
+ semver-diff "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+urijs@^1.19.0:
+ version "1.19.0"
+ resolved "http://registry.npm.taobao.org/urijs/download/urijs-1.19.0.tgz#d8aa284d0e7469703a6988ad045c4cbfdf08ada0"
+
+url-parse-lax@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ dependencies:
+ prepend-http "^1.0.1"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+uuid@^3.0.0, uuid@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
+ dependencies:
+ spdx-correct "~1.0.0"
+ spdx-expression-parse "~1.0.0"
+
+validator@^9.0.0:
+ version "9.2.0"
+ resolved "http://registry.npm.taobao.org/validator/download/validator-9.2.0.tgz#ad216eed5f37cac31a6fe00ceab1f6b88bded03e"
+
+vary@^1.0.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+walker@1.x:
+ version "1.0.7"
+ resolved "http://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
+ dependencies:
+ makeerror "1.0.x"
+
+well-known-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/well-known-symbols/download/well-known-symbols-1.0.0.tgz#73c78ae81a7726a8fa598e2880801c8b16225518"
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+
+which@^1.2.9, which@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
+ dependencies:
+ string-width "^1.0.2"
+
+widest-line@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/widest-line/download/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273"
+ dependencies:
+ string-width "^2.1.1"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+winston@*:
+ version "2.4.0"
+ resolved "http://registry.npm.taobao.org/winston/download/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee"
+ dependencies:
+ async "~1.0.0"
+ colors "1.0.x"
+ cycle "1.0.x"
+ eyes "0.1.x"
+ isstream "0.1.x"
+ stack-trace "0.0.x"
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+wrench@1.3.x:
+ version "1.3.9"
+ resolved "http://registry.npm.taobao.org/wrench/download/wrench-1.3.9.tgz#6f13ec35145317eb292ca5f6531391b244111411"
+
+write-file-atomic@^1.1.4:
+ version "1.3.4"
+ resolved "http://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ slide "^1.1.5"
+
+write-file-atomic@^2.0.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+write-json-file@^2.2.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
+ dependencies:
+ detect-indent "^5.0.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ pify "^3.0.0"
+ sort-keys "^2.0.0"
+ write-file-atomic "^2.0.0"
+
+write-pkg@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/write-pkg/download/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9"
+ dependencies:
+ sort-keys "^2.0.0"
+ write-json-file "^2.2.0"
+
+xdg-basedir@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
+
+xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
+yargs-parser@^8.0.0:
+ version "8.1.0"
+ resolved "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs@^10.0.3:
+ version "10.0.3"
+ resolved "http://registry.npm.taobao.org/yargs/download/yargs-10.0.3.tgz#6542debd9080ad517ec5048fb454efe9e4d4aaae"
+ dependencies:
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.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"
+ yargs-parser "^8.0.0"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
+z-schema@^3.18.2:
+ version "3.19.0"
+ resolved "http://registry.npm.taobao.org/z-schema/download/z-schema-3.19.0.tgz#d86e90e5d02113c7b8824ae477dd57208d17a5a8"
+ dependencies:
+ lodash.get "^4.0.0"
+ lodash.isequal "^4.0.0"
+ validator "^9.0.0"
+ optionalDependencies:
+ commander "^2.7.1"
diff --git a/service.yml b/service.yml
new file mode 100644
index 0000000..89f79c9
--- /dev/null
+++ b/service.yml
@@ -0,0 +1,44 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: bestapi-service
+spec:
+ selector:
+ pod: bestapi
+ type: NodePort
+ ports:
+ - name: font
+ protocol: TCP
+ port: 2017
+ targetPort: 2017
+ - name: back
+ protocol: TCP
+ port: 2018
+ targetPort: 2018
+ - name: database
+ protocol: TCP
+ port: 27017
+ targetPort: 27017
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ name: bestapi-pod
+ labels:
+ pod: bestapi
+spec:
+ containers:
+ - image: mongo:3
+ name: api-db
+ imagePullPolicy: IfNotPresent
+ - image: yalishizhude/bestapi-server:deploy
+ name: api-server
+ # imagePullPolicy: IfNotPresent
+ imagePullPolicy: Always
+ - image: yalishizhude/bestapi-web:deploy
+ name: api-web
+ # imagePullPolicy: IfNotPresent
+ imagePullPolicy: Always
+ nodeSelector:
+ zone: master
+
\ No newline at end of file
diff --git a/web/1.log b/web/1.log
deleted file mode 100644
index ed8d51a..0000000
--- a/web/1.log
+++ /dev/null
@@ -1,393 +0,0 @@
-
-> api-web@1.0.0 dev /app
-> node build/dev-server.js
-
-[HPM] Proxy created: /api -> http://api-server:2018
-> Starting dev server...
-ts-loader: Using typescript@2.5.2 and /app/tsconfig.json
- DONE Compiled successfully in 7614ms2:23:41 PM
-
-> Listening at http://localhost:2017
-
- WAIT Compiling...2:48:28 PM
-
- DONE Compiled successfully in 1659ms2:48:30 PM
-
- WAIT Compiling...2:48:30 PM
-
- DONE Compiled successfully in 1248ms2:48:32 PM
-
- WAIT Compiling...2:50:59 PM
-
- DONE Compiled successfully in 1604ms2:51:01 PM
-
- WAIT Compiling...2:51:01 PM
-
- DONE Compiled successfully in 997ms2:51:02 PM
-
- WAIT Compiling...3:30:45 PM
-
- DONE Compiled successfully in 1477ms3:30:47 PM
-
- WAIT Compiling...3:30:47 PM
-
- DONE Compiled successfully in 1298ms3:30:49 PM
-
- WAIT Compiling...3:31:39 PM
-
- DONE Compiled successfully in 511ms3:31:40 PM
-
- WAIT Compiling...3:31:40 PM
-
- DONE Compiled successfully in 1748ms3:31:42 PM
-
- WAIT Compiling...4:15:21 PM
-
- DONE Compiled successfully in 1551ms4:15:23 PM
-
- WAIT Compiling...4:15:23 PM
-
- DONE Compiled successfully in 1201ms4:15:24 PM
-
- WAIT Compiling...5:14:35 PM
-
- DONE Compiled successfully in 1265ms5:14:36 PM
-
- WAIT Compiling...5:14:37 PM
-
- DONE Compiled successfully in 1324ms5:14:38 PM
-
- WAIT Compiling...5:52:40 PM
-
- DONE Compiled successfully in 1419ms5:52:42 PM
-
- WAIT Compiling...5:52:42 PM
-
- DONE Compiled successfully in 1173ms5:52:43 PM
-
- WAIT Compiling...5:54:37 PM
-
- DONE Compiled successfully in 1362ms5:54:39 PM
-
- WAIT Compiling...5:54:39 PM
-
- DONE Compiled successfully in 1288ms5:54:40 PM
-
- WAIT Compiling...5:58:25 PM
-
- DONE Compiled successfully in 1459ms5:58:27 PM
-
- WAIT Compiling...5:58:27 PM
-
- DONE Compiled successfully in 1011ms5:58:28 PM
-
- WAIT Compiling...9:12:06 AM
-
- DONE Compiled successfully in 1384ms9:12:08 AM
-
- WAIT Compiling...9:12:08 AM
-
- DONE Compiled successfully in 1292ms9:12:09 AM
-
- WAIT Compiling...9:42:37 AM
-
- DONE Compiled successfully in 1286ms9:42:39 AM
-
- WAIT Compiling...9:42:39 AM
-
- DONE Compiled successfully in 1623ms9:42:41 AM
-
- WAIT Compiling...9:59:53 AM
-
- DONE Compiled successfully in 1234ms9:59:55 AM
-
- WAIT Compiling...9:59:55 AM
-
- DONE Compiled successfully in 1420ms9:59:56 AM
-
- WAIT Compiling...10:22:54 AM
-
- ERROR Failed to compile with 2 errors10:22:55 AM
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(273,7): error TS2304: Cannot find name 'level'.
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(277,14): error TS2304: Cannot find name 'level'.
-
- WAIT Compiling...10:22:55 AM
-
- ERROR Failed to compile with 3 errors10:22:57 AM
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(273,7): error TS2304: Cannot find name 'level'.
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(277,14): error TS2304: Cannot find name 'level'.
-
- error in ./src/components/project/proApiDetail.vue
-
-
- ✘ http://eslint.org/docs/rules/no-undef 'level' is not defined
- /app/src/components/project/proApiDetail.vue:273:7
- level = row.level + 1
- ^
-
- ✘ http://eslint.org/docs/rules/no-undef 'level' is not defined
- /app/src/components/project/proApiDetail.vue:277:14
- level: level,
- ^
-
-
-✘ 2 problems (2 errors, 0 warnings)
-
-
-Errors:
- 2 http://eslint.org/docs/rules/no-undef
-
- @ ./src/router.ts 35:20-64
- @ ./src/main.ts
- @ multi ./build/dev-client ./src/main.ts
-
- WAIT Compiling...10:23:29 AM
-
- ERROR Failed to compile with 3 errors10:23:31 AM
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(273,7): error TS2304: Cannot find name 'level'.
-
- error in /app/src/components/project/proApiDetail.vue.ts
-
-(277,14): error TS2304: Cannot find name 'level'.
-
- error in ./src/components/project/proApiDetail.vue
-
-
- ✘ http://eslint.org/docs/rules/no-undef 'level' is not defined
- /app/src/components/project/proApiDetail.vue:273:7
- level = row.level + 1
- ^
-
- ✘ http://eslint.org/docs/rules/no-undef 'level' is not defined
- /app/src/components/project/proApiDetail.vue:277:14
- level: level,
- ^
-
-
-✘ 2 problems (2 errors, 0 warnings)
-
-
-Errors:
- 2 http://eslint.org/docs/rules/no-undef
-
- @ ./src/router.ts 35:20-64
- @ ./src/main.ts
- @ multi ./build/dev-client ./src/main.ts
-
- WAIT Compiling...10:23:31 AM
-
- DONE Compiled successfully in 1010ms10:23:32 AM
-
- WAIT Compiling...5:18:15 PM
-
- DONE Compiled successfully in 1285ms5:18:16 PM
-
- WAIT Compiling...5:18:16 PM
-
- DONE Compiled successfully in 1620ms5:18:18 PM
-
- WAIT Compiling...5:20:53 PM
-
- DONE Compiled successfully in 176ms5:20:53 PM
-
- WAIT Compiling...5:20:53 PM
-
- ERROR Failed to compile with 1 errors5:20:56 PM
-
- error in /app/src/components/project/proApiList.vue.ts
-
-(88,18): error TS2339: Property 'refreshApiList' does not exist on type 'proApiList'.
-
- WAIT Compiling...5:20:56 PM
-
- ERROR Failed to compile with 1 errors5:20:57 PM
-
- error in /app/src/components/project/proApiList.vue.ts
-
-(88,18): error TS2339: Property 'refreshApiList' does not exist on type 'proApiList'.
-
- WAIT Compiling...5:21:23 PM
-
- ERROR Failed to compile with 1 errors5:21:24 PM
-
- error in /app/src/components/project/proApiList.vue.ts
-
-(88,18): error TS2339: Property 'refreshApiList' does not exist on type 'proApiList'.
-
- WAIT Compiling...5:21:24 PM
-
- DONE Compiled successfully in 1805ms5:21:26 PM
-
- WAIT Compiling...5:48:10 PM
-
- DONE Compiled successfully in 3879ms5:48:14 PM
-
- WAIT Compiling...5:48:14 PM
-
- DONE Compiled successfully in 1824ms5:48:16 PM
-
- WAIT Compiling...9:03:08 AM
-
- DONE Compiled successfully in 2009ms9:03:11 AM
-
- WAIT Compiling...9:03:11 AM
-
- DONE Compiled successfully in 1845ms9:03:13 AM
-
- WAIT Compiling...9:32:57 AM
-
- DONE Compiled successfully in 819ms9:32:58 AM
-
- WAIT Compiling...9:32:58 AM
-
- DONE Compiled successfully in 2031ms9:33:00 AM
-
- WAIT Compiling...4:48:14 PM
-
- DONE Compiled successfully in 3167ms4:48:17 PM
-
- WAIT Compiling...4:48:17 PM
-
- DONE Compiled successfully in 1285ms4:48:19 PM
-
- WAIT Compiling...9:18:29 AM
-
- DONE Compiled successfully in 7074ms9:18:36 AM
-
- WAIT Compiling...9:18:36 AM
-
- DONE Compiled successfully in 1794ms9:18:38 AM
-
- WAIT Compiling...2:08:24 PM
-
- DONE Compiled successfully in 1870ms2:08:27 PM
-
- WAIT Compiling...2:08:27 PM
-
- DONE Compiled successfully in 1216ms2:08:28 PM
-
- WAIT Compiling...4:07:13 PM
-
- DONE Compiled successfully in 353ms4:07:14 PM
-
- WAIT Compiling...5:57:10 PM
-
- DONE Compiled successfully in 3984ms5:57:15 PM
-
- WAIT Compiling...5:57:15 PM
-
- DONE Compiled successfully in 1418ms5:57:17 PM
-
- WAIT Compiling...6:04:00 PM
-
- DONE Compiled successfully in 392ms6:04:01 PM
-
- WAIT Compiling...6:04:01 PM
-
- DONE Compiled successfully in 1158ms6:04:02 PM
-
- WAIT Compiling...6:04:02 PM
-
- DONE Compiled successfully in 1269ms6:04:04 PM
-
- WAIT Compiling...1:49:16 PM
-
- DONE Compiled successfully in 7953ms1:49:24 PM
-
- WAIT Compiling...1:49:24 PM
-
- DONE Compiled successfully in 1138ms1:49:26 PM
-
- WAIT Compiling...4:42:13 PM
-
- DONE Compiled successfully in 1099ms4:42:14 PM
-
- WAIT Compiling...4:42:14 PM
-
- DONE Compiled successfully in 2236ms4:42:16 PM
-
- WAIT Compiling...5:04:17 PM
-
- DONE Compiled successfully in 1138ms5:04:19 PM
-
- WAIT Compiling...5:04:19 PM
-
- DONE Compiled successfully in 2025ms5:04:21 PM
-
- WAIT Compiling...8:57:33 AM
-
- DONE Compiled successfully in 950ms8:57:34 AM
-
- WAIT Compiling...8:57:34 AM
-
- DONE Compiled successfully in 1904ms8:57:36 AM
-
- WAIT Compiling...1:40:03 PM
-
- DONE Compiled successfully in 1281ms1:40:04 PM
-
- WAIT Compiling...1:40:04 PM
-
- DONE Compiled successfully in 2353ms1:40:07 PM
-
- WAIT Compiling...1:43:51 PM
-
- ERROR Failed to compile with 1 errors1:43:52 PM
-
- error in ./src/components/project/index.vue
-
-Module build failed: TypeError: Cannot read property 'content' of null
- at Object.module.exports (/app/node_modules/vue-loader/lib/selector.js:18:27)
-
- @ ./src/components/project/index.vue 8:2-102
- @ ./src/router.ts
- @ ./src/main.ts
- @ multi ./build/dev-client ./src/main.ts
-
- WAIT Compiling...1:43:52 PM
-
- DONE Compiled successfully in 2147ms1:43:55 PM
-
- WAIT Compiling...1:47:07 PM
-
- DONE Compiled successfully in 885ms1:47:08 PM
-
- WAIT Compiling...1:47:09 PM
-
- DONE Compiled successfully in 2022ms1:47:11 PM
-
- WAIT Compiling...2:04:53 PM
-
- DONE Compiled successfully in 166ms2:04:54 PM
-
- WAIT Compiling...2:04:54 PM
-
- DONE Compiled successfully in 1482ms2:04:55 PM
-
- WAIT Compiling...2:04:55 PM
-
- DONE Compiled successfully in 1337ms2:04:57 PM
-
- WAIT Compiling...2:05:52 PM
-
- DONE Compiled successfully in 1390ms2:05:54 PM
-
- WAIT Compiling...2:05:54 PM
-
- DONE Compiled successfully in 1587ms2:05:56 PM
-
diff --git a/web/Dockerfile b/web/Dockerfile
index fd8fadf..09ec375 100644
--- a/web/Dockerfile
+++ b/web/Dockerfile
@@ -1,11 +1,5 @@
-# vue-cli
-FROM node:7
-RUN mkdir /app
-RUN chmod 777 /app
-WORKDIR /app
-EXPOSE 8080 2017
-VOLUME ["/app"]
-
+FROM nginx:1.12-alpine
COPY ./Hongkong /etc/localtime
-RUN npm set registry https://registry.npm.taobao.org
-RUN npm i -g typescript
+COPY ./nginx.conf /etc/nginx/conf.d
+COPY ./dist /usr/share/nginx/html
+ENTRYPOINT nginx -g 'daemon off;'
\ No newline at end of file
diff --git a/web/Dockerfile4dev b/web/Dockerfile4dev
new file mode 100644
index 0000000..cecb4ca
--- /dev/null
+++ b/web/Dockerfile4dev
@@ -0,0 +1,13 @@
+# vue-cli
+FROM node:8
+RUN mkdir /app
+RUN chmod 777 /app
+WORKDIR /app
+EXPOSE 8080 2017
+VOLUME ["/app"]
+
+COPY ./Hongkong /etc/localtime
+RUN npm set registry https://registry.npm.taobao.org
+RUN yarn global add typescript
+ENV SERVER_HOST=api-server-dev
+RUN echo "请执行 npm run init 安装依赖"
\ No newline at end of file
diff --git a/web/build/webpack.prod.conf.js b/web/build/webpack.prod.conf.js
index 99713cc..54a3aaa 100644
--- a/web/build/webpack.prod.conf.js
+++ b/web/build/webpack.prod.conf.js
@@ -35,7 +35,7 @@ var webpackConfig = merge(baseWebpackConfig, {
compress: {
warnings: false
},
- sourceMap: true
+ sourceMap: false
}),
// extract css into its own file
new ExtractTextPlugin({
diff --git a/web/config/index.js b/web/config/index.js
index 4a8538c..ce5ff9f 100644
--- a/web/config/index.js
+++ b/web/config/index.js
@@ -29,7 +29,7 @@ module.exports = {
assetsPublicPath: '/',
proxyTable: {
'/api': {
- target: 'http://' + (process.env.SERVER_HOST||'api-server') + ':' + (process.env.SERVER_PORT||'2018'),
+ target: 'http://' + (process.env.SERVER_HOST || 'localhost') + ':' + (process.env.SERVER_PORT || '2018'),
secure: false
}
},
diff --git a/web/nginx.conf b/web/nginx.conf
new file mode 100644
index 0000000..ee23758
--- /dev/null
+++ b/web/nginx.conf
@@ -0,0 +1,19 @@
+gzip on;
+gzip_min_length 1k;
+gzip_buffers 16 64k;
+gzip_http_version 1.1;
+gzip_comp_level 9;
+gzip_types application/javascript text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
+gzip_vary on;
+
+server {
+ listen 2017;
+ root /usr/share/nginx/html;
+ index index.html;
+ location /api {
+ proxy_pass http://localhost:2018;
+ }
+ location / {
+ try_files $uri $uri/ /index.html;
+ }
+}
\ No newline at end of file
diff --git a/web/npm-shrinkwrap.json b/web/npm-shrinkwrap.json
index 71c91ff..c5fd5d1 100644
--- a/web/npm-shrinkwrap.json
+++ b/web/npm-shrinkwrap.json
@@ -1,2516 +1,3635 @@
{
"name": "api-web",
"version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
"dependencies": {
- "@types/lodash": {
- "version": "4.14.74",
- "from": "@types/lodash@>=4.14.74 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/@types/lodash/download/@types/lodash-4.14.74.tgz"
- },
"abbrev": {
"version": "1.0.9",
- "from": "abbrev@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz",
+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
"dev": true
},
"accepts": {
"version": "1.3.4",
- "from": "accepts@>=1.3.3 <1.4.0",
- "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.4.tgz",
+ "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.17",
+ "negotiator": "0.6.1"
+ }
},
"acorn": {
- "version": "5.1.2",
- "from": "acorn@>=5.1.1 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.1.2.tgz",
+ "version": "5.2.1",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.2.1.tgz",
+ "integrity": "sha1-MXrHghgmwixwLWYYmrg1lnXxNdc=",
"dev": true
},
"acorn-dynamic-import": {
"version": "2.0.2",
- "from": "acorn-dynamic-import@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz",
+ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
"dependencies": {
"acorn": {
"version": "4.0.13",
- "from": "acorn@>=4.0.3 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"acorn-globals": {
"version": "3.1.0",
- "from": "acorn-globals@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-3.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn-globals/download/acorn-globals-3.1.0.tgz",
+ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
"dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
"dependencies": {
"acorn": {
"version": "4.0.13",
- "from": "acorn@>=4.0.4 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"acorn-jsx": {
"version": "3.0.1",
- "from": "acorn-jsx@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz",
+ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
- "from": "acorn@>=3.0.4 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
"after": {
"version": "0.8.2",
- "from": "after@0.8.2",
- "resolved": "https://registry.npm.taobao.org/after/download/after-0.8.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/after/download/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
"dev": true
},
"ajv": {
"version": "4.11.8",
- "from": "ajv@>=4.7.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
},
"ajv-keywords": {
"version": "1.5.1",
- "from": "ajv-keywords@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-1.5.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
"dev": true
},
"align-text": {
"version": "0.1.4",
- "from": "align-text@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
},
"alphanum-sort": {
"version": "1.0.2",
- "from": "alphanum-sort@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
"amdefine": {
"version": "1.0.1",
- "from": "amdefine@>=0.0.4",
- "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
"ansi-escapes": {
"version": "1.4.0",
- "from": "ansi-escapes@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
"dev": true
},
"ansi-html": {
"version": "0.0.7",
- "from": "ansi-html@0.0.7",
- "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
"dev": true
},
"ansi-regex": {
"version": "2.1.1",
- "from": "ansi-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
- "from": "ansi-styles@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"anymatch": {
"version": "1.3.2",
- "from": "anymatch@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz",
+ "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
+ "dev": true,
+ "requires": {
+ "micromatch": "2.3.11",
+ "normalize-path": "2.1.1"
+ }
},
"argparse": {
"version": "1.0.9",
- "from": "argparse@>=1.0.7 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
},
"arr-diff": {
"version": "2.0.0",
- "from": "arr-diff@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ }
},
"arr-flatten": {
"version": "1.1.0",
- "from": "arr-flatten@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
"dev": true
},
"array-find-index": {
"version": "1.0.2",
- "from": "array-find-index@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
"array-flatten": {
"version": "1.1.1",
- "from": "array-flatten@1.1.1",
- "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
"array-slice": {
"version": "0.2.3",
- "from": "array-slice@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
"dev": true
},
"array-union": {
"version": "1.0.2",
- "from": "array-union@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "1.0.3"
+ }
},
"array-uniq": {
"version": "1.0.3",
- "from": "array-uniq@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
"version": "0.2.1",
- "from": "array-unique@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"arraybuffer.slice": {
"version": "0.0.6",
- "from": "arraybuffer.slice@0.0.6",
- "resolved": "https://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz",
+ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
"dev": true
},
"arrify": {
"version": "1.0.1",
- "from": "arrify@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
"asap": {
"version": "2.0.6",
- "from": "asap@>=2.0.3 <2.1.0",
- "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
- "dev": true
- },
- "asn1": {
- "version": "0.2.3",
- "from": "asn1@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
"dev": true
},
"asn1.js": {
- "version": "4.9.1",
- "from": "asn1.js@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.1.tgz",
- "dev": true
+ "version": "4.9.2",
+ "resolved": "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.2.tgz",
+ "integrity": "sha1-gRfvT37YfNj4kES1v/l6wkOhbJo=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
},
"assert": {
"version": "1.4.1",
- "from": "assert@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz",
- "dev": true
- },
- "assert-plus": {
- "version": "0.2.0",
- "from": "assert-plus@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ }
},
"assertion-error": {
"version": "1.0.2",
- "from": "assertion-error@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assertion-error/download/assertion-error-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/assertion-error/download/assertion-error-1.0.2.tgz",
+ "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=",
"dev": true
},
"async": {
- "version": "2.5.0",
- "from": "async@>=2.1.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/async/download/async-2.5.0.tgz",
- "dev": true
+ "version": "2.6.0",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-2.6.0.tgz",
+ "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
},
"async-each": {
"version": "1.0.1",
- "from": "async-each@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
- "async-validator": {
- "version": "1.6.9",
- "from": "async-validator@1.6.9",
- "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.6.9.tgz"
- },
- "asynckit": {
- "version": "0.4.0",
- "from": "asynckit@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz",
+ "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=",
"dev": true
},
+ "async-validator": {
+ "version": "1.8.2",
+ "resolved": "http://registry.npm.taobao.org/async-validator/download/async-validator-1.8.2.tgz",
+ "integrity": "sha1-t3WXIm6WJC+NUxwNRq4pX2JCK6Q=",
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
+ },
"autoprefixer": {
"version": "6.7.7",
- "from": "autoprefixer@>=6.7.2 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "from": "aws-sign2@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
- "dev": true
- },
- "aws4": {
- "version": "1.6.0",
- "from": "aws4@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000783",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"axios": {
"version": "0.16.2",
- "from": "axios@>=0.16.2 <0.17.0",
- "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.16.2.tgz"
+ "resolved": "http://registry.npm.taobao.org/axios/download/axios-0.16.2.tgz",
+ "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=",
+ "requires": {
+ "follow-redirects": "1.2.6",
+ "is-buffer": "1.1.6"
+ }
},
"babel-code-frame": {
"version": "6.26.0",
- "from": "babel-code-frame@>=6.26.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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.0",
- "from": "babel-core@>=6.22.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz",
+ "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
+ "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": "http://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": "7.2.3",
- "from": "babel-eslint@>=7.1.1 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-7.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-eslint/download/babel-eslint-7.2.3.tgz",
+ "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0"
+ }
},
"babel-generator": {
"version": "6.26.0",
- "from": "babel-generator@>=6.26.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz",
+ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "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",
- "from": "babel-helper-bindify-decorators@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-builder-binary-assignment-operator-visitor": {
"version": "6.24.1",
- "from": "babel-helper-builder-binary-assignment-operator-visitor@>=6.24.1 <7.0.0",
- "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",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-call-delegate": {
"version": "6.24.1",
- "from": "babel-helper-call-delegate@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-define-map": {
"version": "6.26.0",
- "from": "babel-helper-define-map@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "babel-helper-explode-assignable-expression@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-explode-class": {
"version": "6.24.1",
- "from": "babel-helper-explode-class@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-function-name": {
"version": "6.24.1",
- "from": "babel-helper-function-name@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-get-function-arity": {
"version": "6.24.1",
- "from": "babel-helper-get-function-arity@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-hoist-variables": {
"version": "6.24.1",
- "from": "babel-helper-hoist-variables@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-optimise-call-expression": {
"version": "6.24.1",
- "from": "babel-helper-optimise-call-expression@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-regex": {
"version": "6.26.0",
- "from": "babel-helper-regex@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "babel-helper-remap-async-to-generator@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-replace-supers": {
"version": "6.24.1",
- "from": "babel-helper-replace-supers@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-helper-vue-jsx-merge-props": {
- "version": "2.0.2",
- "from": "babel-helper-vue-jsx-merge-props@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.2.tgz"
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
+ "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
},
"babel-helpers": {
"version": "6.24.1",
- "from": "babel-helpers@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-loader": {
"version": "6.4.1",
- "from": "babel-loader@>=6.2.10 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-6.4.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-loader/download/babel-loader-6.4.1.tgz",
+ "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "0.1.1",
+ "loader-utils": "0.2.17",
+ "mkdirp": "0.5.1",
+ "object-assign": "4.1.1"
+ }
},
"babel-messages": {
"version": "6.23.0",
- "from": "babel-messages@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-check-es2015-constants": {
"version": "6.22.0",
- "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-istanbul": {
"version": "4.1.5",
- "from": "babel-plugin-istanbul@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-4.1.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-4.1.5.tgz",
+ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=",
"dev": true,
+ "requires": {
+ "find-up": "2.1.0",
+ "istanbul-lib-instrument": "1.9.1",
+ "test-exclude": "4.1.1"
+ },
"dependencies": {
"find-up": {
"version": "2.1.0",
- "from": "find-up@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
}
}
},
"babel-plugin-syntax-async-functions": {
"version": "6.13.0",
- "from": "babel-plugin-syntax-async-functions@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-syntax-async-generators@>=6.5.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "resolved": "http://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-properties": {
"version": "6.13.0",
- "from": "babel-plugin-syntax-class-properties@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-syntax-decorators@>=6.13.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "resolved": "http://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-dynamic-import": {
"version": "6.18.0",
- "from": "babel-plugin-syntax-dynamic-import@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-syntax-exponentiation-operator@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "resolved": "http://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-jsx": {
"version": "6.18.0",
- "from": "babel-plugin-syntax-jsx@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-syntax-object-rest-spread@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-syntax-trailing-function-commas@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "resolved": "http://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",
- "from": "babel-plugin-transform-async-generator-functions@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-async-to-generator": {
"version": "6.24.1",
- "from": "babel-plugin-transform-async-to-generator@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-class-properties": {
"version": "6.24.1",
- "from": "babel-plugin-transform-class-properties@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-decorators": {
"version": "6.24.1",
- "from": "babel-plugin-transform-decorators@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-arrow-functions": {
"version": "6.22.0",
- "from": "babel-plugin-transform-es2015-arrow-functions@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-block-scoped-functions": {
"version": "6.22.0",
- "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.22.0 <7.0.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",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-block-scoping": {
"version": "6.26.0",
- "from": "babel-plugin-transform-es2015-block-scoping@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "babel-plugin-transform-es2015-classes@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-computed-properties": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-computed-properties@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-destructuring": {
"version": "6.23.0",
- "from": "babel-plugin-transform-es2015-destructuring@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-duplicate-keys": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-for-of": {
"version": "6.23.0",
- "from": "babel-plugin-transform-es2015-for-of@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-function-name": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-function-name@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-literals": {
"version": "6.22.0",
- "from": "babel-plugin-transform-es2015-literals@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-amd": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-amd@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-commonjs": {
"version": "6.26.0",
- "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
+ "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
+ "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",
- "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-modules-umd": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-modules-umd@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-object-super": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-object-super@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-parameters": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-parameters@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-shorthand-properties": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-spread": {
"version": "6.22.0",
- "from": "babel-plugin-transform-es2015-spread@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-sticky-regex": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-sticky-regex@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-es2015-template-literals": {
"version": "6.22.0",
- "from": "babel-plugin-transform-es2015-template-literals@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-typeof-symbol": {
"version": "6.23.0",
- "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.23.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-plugin-transform-es2015-unicode-regex": {
"version": "6.24.1",
- "from": "babel-plugin-transform-es2015-unicode-regex@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-runtime": "6.26.0",
+ "regexpu-core": "2.0.0"
+ }
},
"babel-plugin-transform-exponentiation-operator": {
"version": "6.24.1",
- "from": "babel-plugin-transform-exponentiation-operator@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-object-rest-spread": {
"version": "6.26.0",
- "from": "babel-plugin-transform-object-rest-spread@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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.13.0",
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-regenerator": {
"version": "6.26.0",
- "from": "babel-plugin-transform-regenerator@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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.1"
+ }
},
"babel-plugin-transform-runtime": {
"version": "6.23.0",
- "from": "babel-plugin-transform-runtime@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz",
+ "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0"
+ }
},
"babel-plugin-transform-strict-mode": {
"version": "6.24.1",
- "from": "babel-plugin-transform-strict-mode@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0",
+ "babel-types": "6.26.0"
+ }
},
"babel-plugin-transform-vue-jsx": {
"version": "3.5.0",
- "from": "babel-plugin-transform-vue-jsx@>=3.5.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.5.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.5.0.tgz",
+ "integrity": "sha1-axrSk1GtdTkZQDZ18L+LKkPhdnE=",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2"
+ }
},
"babel-preset-env": {
- "version": "1.6.0",
- "from": "babel-preset-env@>=1.3.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.6.0.tgz",
+ "version": "1.6.1",
+ "resolved": "http://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.6.1.tgz",
+ "integrity": "sha1-oYtWTMm5r99KrleuPBsNmRiOb0g=",
"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.24.1",
+ "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.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "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.24.1",
+ "babel-plugin-transform-exponentiation-operator": "6.24.1",
+ "babel-plugin-transform-regenerator": "6.26.0",
+ "browserslist": "2.10.0",
+ "invariant": "2.2.2",
+ "semver": "5.4.1"
+ },
"dependencies": {
"browserslist": {
- "version": "2.4.0",
- "from": "browserslist@>=2.1.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-2.4.0.tgz",
- "dev": true
+ "version": "2.10.0",
+ "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-2.10.0.tgz",
+ "integrity": "sha1-usXuHMacqdlkA/+4o6vcW2rtY0Y=",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "1.0.30000783",
+ "electron-to-chromium": "1.3.28"
+ }
}
}
},
"babel-preset-es2015": {
"version": "6.24.1",
- "from": "babel-preset-es2015@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-es2015/download/babel-preset-es2015-6.24.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-preset-es2015/download/babel-preset-es2015-6.24.1.tgz",
+ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "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.26.0",
+ "babel-plugin-transform-es2015-classes": "6.24.1",
+ "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+ "babel-plugin-transform-es2015-destructuring": "6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+ "babel-plugin-transform-es2015-for-of": "6.23.0",
+ "babel-plugin-transform-es2015-function-name": "6.24.1",
+ "babel-plugin-transform-es2015-literals": "6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+ "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+ "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+ "babel-plugin-transform-es2015-object-super": "6.24.1",
+ "babel-plugin-transform-es2015-parameters": "6.24.1",
+ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+ "babel-plugin-transform-es2015-spread": "6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+ "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.24.1",
+ "babel-plugin-transform-regenerator": "6.26.0"
+ }
},
"babel-preset-stage-2": {
"version": "6.24.1",
- "from": "babel-preset-stage-2@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "babel-preset-stage-3@>=6.24.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz",
- "dev": true
+ "resolved": "http://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.26.0"
+ }
},
"babel-register": {
"version": "6.26.0",
- "from": "babel-register@>=6.22.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-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.3",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.18"
+ }
},
"babel-runtime": {
"version": "6.26.0",
- "from": "babel-runtime@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz"
+ "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "2.5.3",
+ "regenerator-runtime": "0.11.1"
+ }
},
"babel-template": {
"version": "6.26.0",
- "from": "babel-template@>=6.26.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "babel-traverse@>=6.26.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://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",
- "from": "babel-types@>=6.26.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
},
"babylon": {
"version": "6.18.0",
- "from": "babylon@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+ "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
"dev": true
},
"backo2": {
"version": "1.0.2",
- "from": "backo2@1.0.2",
- "resolved": "https://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
"dev": true
},
"balanced-match": {
"version": "1.0.0",
- "from": "balanced-match@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base64-arraybuffer": {
"version": "0.1.5",
- "from": "base64-arraybuffer@0.1.5",
- "resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
"dev": true
},
"base64-js": {
"version": "1.2.1",
- "from": "base64-js@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.2.1.tgz",
+ "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=",
"dev": true
},
"base64id": {
"version": "1.0.0",
- "from": "base64id@1.0.0",
- "resolved": "https://registry.npm.taobao.org/base64id/download/base64id-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/base64id/download/base64id-1.0.0.tgz",
+ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
- "bcrypt-pbkdf": {
- "version": "1.0.1",
- "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
- "dev": true,
- "optional": true
- },
"better-assert": {
"version": "1.0.2",
- "from": "better-assert@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/better-assert/download/better-assert-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/better-assert/download/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ }
},
"big.js": {
"version": "3.2.0",
- "from": "big.js@>=3.1.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz",
+ "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
"dev": true
},
"binary-extensions": {
- "version": "1.10.0",
- "from": "binary-extensions@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.10.0.tgz",
+ "version": "1.11.0",
+ "resolved": "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
"dev": true
},
"blob": {
"version": "0.0.4",
- "from": "blob@0.0.4",
- "resolved": "https://registry.npm.taobao.org/blob/download/blob-0.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/blob/download/blob-0.0.4.tgz",
+ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
"dev": true
},
"bluebird": {
- "version": "2.11.0",
- "from": "bluebird@>=2.10.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-2.11.0.tgz",
+ "version": "3.5.1",
+ "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz",
+ "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=",
"dev": true
},
"bn.js": {
"version": "4.11.8",
- "from": "bn.js@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz",
+ "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
"dev": true
},
"body-parser": {
- "version": "1.18.1",
- "from": "body-parser@>=1.16.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.18.1.tgz",
+ "version": "1.18.2",
+ "resolved": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
"dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "content-type": "1.0.4",
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "on-finished": "2.3.0",
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
+ "type-is": "1.6.15"
+ },
"dependencies": {
- "qs": {
- "version": "6.5.1",
- "from": "qs@6.5.1",
- "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz",
- "dev": true
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
"boolbase": {
"version": "1.0.0",
- "from": "boolbase@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
- "dev": true
- },
- "boom": {
- "version": "2.10.1",
- "from": "boom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
"brace-expansion": {
"version": "1.1.8",
- "from": "brace-expansion@>=1.1.7 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
},
"braces": {
"version": "1.8.5",
- "from": "braces@>=1.8.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
},
"brorand": {
"version": "1.1.0",
- "from": "brorand@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
"browser-stdout": {
"version": "1.3.0",
- "from": "browser-stdout@1.3.0",
- "resolved": "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz",
+ "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
"dev": true
},
"browserify-aes": {
- "version": "1.0.8",
- "from": "browserify-aes@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.0.8.tgz",
- "dev": true
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.1.1.tgz",
+ "integrity": "sha1-OLerVe24Bv8tzaGn8WIHc6R3xJ8=",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.3",
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"browserify-cipher": {
"version": "1.0.0",
- "from": "browserify-cipher@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.0.tgz",
+ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "1.1.1",
+ "browserify-des": "1.0.0",
+ "evp_bytestokey": "1.0.3"
+ }
},
"browserify-des": {
"version": "1.0.0",
- "from": "browserify-des@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.0.tgz",
+ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
},
"browserify-rsa": {
"version": "4.0.1",
- "from": "browserify-rsa@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "randombytes": "2.0.5"
+ }
},
"browserify-sign": {
"version": "4.0.4",
- "from": "browserify-sign@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.0"
+ }
},
"browserify-zlib": {
- "version": "0.1.4",
- "from": "browserify-zlib@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.1.4.tgz",
- "dev": true
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+ "dev": true,
+ "requires": {
+ "pako": "1.0.6"
+ }
},
"browserslist": {
"version": "1.7.7",
- "from": "browserslist@>=1.7.6 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000783",
+ "electron-to-chromium": "1.3.28"
+ }
},
"buffer": {
"version": "4.9.1",
- "from": "buffer@>=4.3.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "1.2.1",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ }
},
"buffer-xor": {
"version": "1.0.3",
- "from": "buffer-xor@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
"builtin-modules": {
"version": "1.1.1",
- "from": "builtin-modules@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"builtin-status-codes": {
"version": "3.0.0",
- "from": "builtin-status-codes@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
"bytes": {
"version": "3.0.0",
- "from": "bytes@3.0.0",
- "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+ },
"caller-path": {
"version": "0.1.0",
- "from": "caller-path@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+ "dev": true,
+ "requires": {
+ "callsites": "0.2.0"
+ }
},
"callsite": {
"version": "1.0.0",
- "from": "callsite@1.0.0",
- "resolved": "https://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
"dev": true
},
"callsites": {
"version": "0.2.0",
- "from": "callsites@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
"dev": true
},
"camel-case": {
"version": "3.0.0",
- "from": "camel-case@>=3.0.0 <3.1.0",
- "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2",
+ "upper-case": "1.1.3"
+ }
},
"camelcase": {
"version": "2.1.1",
- "from": "camelcase@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
"dev": true
},
"camelcase-keys": {
"version": "2.1.0",
- "from": "camelcase-keys@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ }
},
"caniuse-api": {
"version": "1.6.1",
- "from": "caniuse-api@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000783",
+ "lodash.memoize": "4.1.2",
+ "lodash.uniq": "4.5.0"
+ }
},
"caniuse-db": {
- "version": "1.0.30000733",
- "from": "caniuse-db@>=1.0.30000634 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000733.tgz",
+ "version": "1.0.30000783",
+ "resolved": "http://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000783.tgz",
+ "integrity": "sha1-FrMNRyZqT1FcxprgMWtnDJYDzb4=",
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30000733",
- "from": "caniuse-lite@>=1.0.30000718 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000733.tgz",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "from": "caseless@>=0.12.0 <0.13.0",
- "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
+ "version": "1.0.30000783",
+ "resolved": "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000783.tgz",
+ "integrity": "sha1-m1SZ+xtQPSNF0SqmuGEoUvQnb/0=",
"dev": true
},
"center-align": {
"version": "0.1.3",
- "from": "center-align@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
},
"chai": {
"version": "3.5.0",
- "from": "chai@>=3.5.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/chai/download/chai-3.5.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/chai/download/chai-3.5.0.tgz",
+ "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
+ "dev": true,
+ "requires": {
+ "assertion-error": "1.0.2",
+ "deep-eql": "0.1.3",
+ "type-detect": "1.0.0"
+ }
},
"chalk": {
"version": "1.1.3",
- "from": "chalk@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ },
"dependencies": {
"supports-color": {
"version": "2.0.0",
- "from": "supports-color@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
}
},
"character-parser": {
"version": "2.2.0",
- "from": "character-parser@>=2.1.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz",
+ "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
+ "dev": true,
+ "requires": {
+ "is-regex": "1.0.4"
+ }
},
"chokidar": {
"version": "1.7.0",
- "from": "chokidar@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.2",
+ "async-each": "1.0.1",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
},
"cipher-base": {
"version": "1.0.4",
- "from": "cipher-base@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
+ "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"circular-json": {
"version": "0.3.3",
- "from": "circular-json@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz",
+ "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=",
"dev": true
},
"clap": {
- "version": "1.2.2",
- "from": "clap@>=1.0.9 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/clap/download/clap-1.2.2.tgz",
- "dev": true
+ "version": "1.2.3",
+ "resolved": "http://registry.npm.taobao.org/clap/download/clap-1.2.3.tgz",
+ "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
},
"clean-css": {
- "version": "4.1.8",
- "from": "clean-css@>=4.1.0 <4.2.0",
- "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.1.8.tgz",
- "dev": true
+ "version": "4.1.9",
+ "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-4.1.9.tgz",
+ "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
},
"cli-cursor": {
"version": "1.0.2",
- "from": "cli-cursor@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "1.0.1"
+ }
},
"cli-spinners": {
- "version": "1.0.0",
- "from": "cli-spinners@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.0.0.tgz",
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.1.0.tgz",
+ "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=",
"dev": true
},
"cli-width": {
"version": "2.2.0",
- "from": "cli-width@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
"cliui": {
"version": "2.1.0",
- "from": "cliui@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ },
"dependencies": {
"wordwrap": {
"version": "0.0.2",
- "from": "wordwrap@0.0.2",
- "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
}
}
},
"clone": {
- "version": "1.0.2",
- "from": "clone@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz",
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.3.tgz",
+ "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
},
"co": {
"version": "4.6.0",
- "from": "co@>=4.6.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"coa": {
"version": "1.0.4",
- "from": "coa@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz",
+ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "dev": true,
+ "requires": {
+ "q": "1.5.1"
+ }
},
"code-point-at": {
"version": "1.1.0",
- "from": "code-point-at@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"color": {
"version": "0.11.4",
- "from": "color@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npm.taobao.org/color/download/color-0.11.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/color/download/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.3",
+ "color-convert": "1.9.1",
+ "color-string": "0.3.0"
+ }
},
"color-convert": {
- "version": "1.9.0",
- "from": "color-convert@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.0.tgz",
- "dev": true
+ "version": "1.9.1",
+ "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz",
+ "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
},
"color-name": {
"version": "1.1.3",
- "from": "color-name@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-string": {
"version": "0.3.0",
- "from": "color-string@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
},
"colormin": {
"version": "1.1.2",
- "from": "colormin@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "0.11.4",
+ "css-color-names": "0.0.4",
+ "has": "1.0.1"
+ }
},
"colors": {
"version": "1.1.2",
- "from": "colors@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
"dev": true
},
"combine-lists": {
"version": "1.0.1",
- "from": "combine-lists@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.5",
- "from": "combined-stream@>=1.0.5 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz",
+ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
},
"commander": {
- "version": "2.11.0",
- "from": "commander@*",
- "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz"
+ "version": "2.12.2",
+ "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.12.2.tgz",
+ "integrity": "sha1-D1lGxCftnsDZGka7ne9T5UZQ5VU="
},
"commondir": {
"version": "1.0.1",
- "from": "commondir@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"component-bind": {
"version": "1.0.0",
- "from": "component-bind@1.0.0",
- "resolved": "https://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
"dev": true
},
"component-emitter": {
"version": "1.1.2",
- "from": "component-emitter@1.1.2",
- "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.1.2.tgz",
+ "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
"dev": true
},
"component-inherit": {
"version": "0.0.3",
- "from": "component-inherit@0.0.3",
- "resolved": "https://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
"concat-map": {
"version": "0.0.1",
- "from": "concat-map@0.0.1",
- "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-stream": {
"version": "1.6.0",
- "from": "concat-stream@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "typedarray": "0.0.6"
+ }
},
"config-chain": {
"version": "1.1.11",
- "from": "config-chain@>=1.1.5 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.11.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/config-chain/download/config-chain-1.1.11.tgz",
+ "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.5",
+ "proto-list": "1.2.4"
+ }
},
"connect": {
- "version": "3.6.3",
- "from": "connect@>=3.6.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/connect/download/connect-3.6.3.tgz",
+ "version": "3.6.5",
+ "resolved": "http://registry.npm.taobao.org/connect/download/connect-3.6.5.tgz",
+ "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=",
"dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.0.6",
+ "parseurl": "1.3.2",
+ "utils-merge": "1.0.1"
+ },
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"finalhandler": {
- "version": "1.0.4",
- "from": "finalhandler@1.0.4",
- "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz",
- "dev": true
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.6.tgz",
+ "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ }
}
}
},
"connect-history-api-fallback": {
- "version": "1.3.0",
- "from": "connect-history-api-fallback@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.3.0.tgz",
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.5.0.tgz",
+ "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
"dev": true
},
"console-browserify": {
"version": "1.1.0",
- "from": "console-browserify@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "0.1.4"
+ }
},
"consolidate": {
"version": "0.14.5",
- "from": "consolidate@>=0.14.0 <0.15.0",
- "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz",
+ "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
"dev": true,
- "dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.1.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz",
- "dev": true
- }
+ "requires": {
+ "bluebird": "3.5.1"
}
},
"constantinople": {
"version": "3.1.0",
- "from": "constantinople@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/constantinople/download/constantinople-3.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/constantinople/download/constantinople-3.1.0.tgz",
+ "integrity": "sha1-dWnKqKo/jVk11i4fqW+fcCzYHHk=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "is-expression": "2.1.0"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
- "from": "acorn@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
"constants-browserify": {
"version": "1.0.0",
- "from": "constants-browserify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
"content-disposition": {
"version": "0.5.2",
- "from": "content-disposition@0.5.2",
- "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
"dev": true
},
"content-type": {
"version": "1.0.4",
- "from": "content-type@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
+ "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
"dev": true
},
"convert-source-map": {
- "version": "1.5.0",
- "from": "convert-source-map@>=1.5.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz",
+ "version": "1.5.1",
+ "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
"dev": true
},
"cookie": {
"version": "0.3.1",
- "from": "cookie@0.3.1",
- "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
"dev": true
},
"cookie-signature": {
"version": "1.0.6",
- "from": "cookie-signature@1.0.6",
- "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"copy-webpack-plugin": {
- "version": "4.0.1",
- "from": "copy-webpack-plugin@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.0.1.tgz",
+ "version": "4.2.3",
+ "resolved": "http://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.2.3.tgz",
+ "integrity": "sha1-SjxhCJ87Y1d38PCvNGwziznWN1U=",
"dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "glob": "7.1.2",
+ "is-glob": "4.0.0",
+ "loader-utils": "0.2.17",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4"
+ },
"dependencies": {
"is-extglob": {
"version": "2.1.1",
- "from": "is-extglob@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-glob": {
- "version": "3.1.0",
- "from": "is-glob@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
- "dev": true
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
}
}
},
"core-js": {
- "version": "2.5.1",
- "from": "core-js@>=2.5.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz"
+ "version": "2.5.3",
+ "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.3.tgz",
+ "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
},
"core-util-is": {
"version": "1.0.2",
- "from": "core-util-is@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cosmiconfig": {
"version": "2.2.2",
- "from": "cosmiconfig@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz",
+ "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
"dev": true,
+ "requires": {
+ "is-directory": "0.3.1",
+ "js-yaml": "3.10.0",
+ "minimist": "1.2.0",
+ "object-assign": "4.1.1",
+ "os-homedir": "1.0.2",
+ "parse-json": "2.2.0",
+ "require-from-string": "1.2.1"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
- "from": "minimist@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"create-ecdh": {
"version": "4.0.0",
- "from": "create-ecdh@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.0.tgz",
+ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "elliptic": "6.4.0"
+ }
},
"create-hash": {
"version": "1.1.3",
- "from": "create-hash@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.1.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.1.3.tgz",
+ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "sha.js": "2.4.9"
+ }
},
"create-hmac": {
"version": "1.1.6",
- "from": "create-hmac@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.6.tgz",
+ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "create-hash": "1.1.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.9"
+ }
},
"cross-env": {
"version": "4.0.0",
- "from": "cross-env@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/cross-env/download/cross-env-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cross-env/download/cross-env-4.0.0.tgz",
+ "integrity": "sha1-Fgg4YtCCdaRiiwskOxIb7apV3YA=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "is-windows": "1.0.1"
+ }
},
"cross-spawn": {
"version": "5.1.0",
- "from": "cross-spawn@>=5.1.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
- "dev": true
- },
- "cryptiles": {
- "version": "2.0.5",
- "from": "cryptiles@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.1",
+ "shebang-command": "1.2.0",
+ "which": "1.3.0"
+ }
},
"crypto-browserify": {
- "version": "3.11.1",
- "from": "crypto-browserify@>=3.11.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.11.1.tgz",
- "dev": true
+ "version": "3.12.0",
+ "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.0",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.0",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "diffie-hellman": "5.0.2",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.14",
+ "public-encrypt": "4.0.0",
+ "randombytes": "2.0.5",
+ "randomfill": "1.0.3"
+ }
},
"css-color-names": {
"version": "0.0.4",
- "from": "css-color-names@0.0.4",
- "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
"dev": true
},
"css-loader": {
"version": "0.28.7",
- "from": "css-loader@>=0.28.0 <0.29.0",
- "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-0.28.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-loader/download/css-loader-0.28.7.tgz",
+ "integrity": "sha1-Xy7pid0y7dkHcX+VMxdlYWCZnBs=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "css-selector-tokenizer": "0.7.0",
+ "cssnano": "3.10.0",
+ "icss-utils": "2.1.0",
+ "loader-utils": "1.1.0",
+ "lodash.camelcase": "4.3.0",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-modules-extract-imports": "1.1.0",
+ "postcss-modules-local-by-default": "1.2.0",
+ "postcss-modules-scope": "1.1.0",
+ "postcss-modules-values": "1.3.0",
+ "postcss-value-parser": "3.3.0",
+ "source-list-map": "2.0.0"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"css-parse": {
"version": "1.7.0",
- "from": "css-parse@>=1.7.0 <1.8.0",
- "resolved": "https://registry.npm.taobao.org/css-parse/download/css-parse-1.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-parse/download/css-parse-1.7.0.tgz",
+ "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
"dev": true
},
"css-select": {
"version": "1.2.0",
- "from": "css-select@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
+ "requires": {
+ "boolbase": "1.0.0",
+ "css-what": "2.1.0",
+ "domutils": "1.5.1",
+ "nth-check": "1.0.1"
+ },
"dependencies": {
"domutils": {
"version": "1.5.1",
- "from": "domutils@1.5.1",
- "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0.1.0",
+ "domelementtype": "1.3.0"
+ }
}
}
},
"css-selector-tokenizer": {
"version": "0.7.0",
- "from": "css-selector-tokenizer@>=0.7.0 <0.8.0",
- "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
"dev": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.1",
+ "regexpu-core": "1.0.0"
+ },
"dependencies": {
"regexpu-core": {
"version": "1.0.0",
- "from": "regexpu-core@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
}
}
},
"css-what": {
"version": "2.1.0",
- "from": "css-what@>=2.1.0 <2.2.0",
- "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
"dev": true
},
"cssesc": {
"version": "0.1.0",
- "from": "cssesc@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
"dev": true
},
"cssnano": {
"version": "3.10.0",
- "from": "cssnano@>=2.6.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "6.7.7",
+ "decamelize": "1.2.0",
+ "defined": "1.0.0",
+ "has": "1.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-calc": "5.3.1",
+ "postcss-colormin": "2.2.2",
+ "postcss-convert-values": "2.6.1",
+ "postcss-discard-comments": "2.0.4",
+ "postcss-discard-duplicates": "2.1.0",
+ "postcss-discard-empty": "2.1.0",
+ "postcss-discard-overridden": "0.1.1",
+ "postcss-discard-unused": "2.2.3",
+ "postcss-filter-plugins": "2.0.2",
+ "postcss-merge-idents": "2.1.7",
+ "postcss-merge-longhand": "2.0.2",
+ "postcss-merge-rules": "2.1.2",
+ "postcss-minify-font-values": "1.0.5",
+ "postcss-minify-gradients": "1.0.5",
+ "postcss-minify-params": "1.2.2",
+ "postcss-minify-selectors": "2.1.1",
+ "postcss-normalize-charset": "1.1.1",
+ "postcss-normalize-url": "3.0.8",
+ "postcss-ordered-values": "2.2.3",
+ "postcss-reduce-idents": "2.4.0",
+ "postcss-reduce-initial": "1.0.1",
+ "postcss-reduce-transforms": "1.0.4",
+ "postcss-svgo": "2.1.6",
+ "postcss-unique-selectors": "2.0.2",
+ "postcss-value-parser": "3.3.0",
+ "postcss-zindex": "2.2.0"
+ }
},
"csso": {
"version": "2.3.2",
- "from": "csso@>=2.3.1 <2.4.0",
- "resolved": "https://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "1.2.3",
+ "source-map": "0.5.7"
+ }
},
"currently-unhandled": {
"version": "0.4.1",
- "from": "currently-unhandled@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
},
"custom-event": {
"version": "1.0.1",
- "from": "custom-event@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/custom-event/download/custom-event-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/custom-event/download/custom-event-1.0.1.tgz",
+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
"d": {
"version": "1.0.0",
- "from": "d@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/d/download/d-1.0.0.tgz",
- "dev": true
- },
- "dashdash": {
- "version": "1.14.1",
- "from": "dashdash@>=1.12.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"dev": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
- "dev": true
- }
+ "requires": {
+ "es5-ext": "0.10.37"
}
},
"date-now": {
"version": "0.1.4",
- "from": "date-now@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
"dev": true
},
"dateformat": {
"version": "1.0.12",
- "from": "dateformat@>=1.0.6 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/dateformat/download/dateformat-1.0.12.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/dateformat/download/dateformat-1.0.12.tgz",
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0"
+ }
},
"de-indent": {
"version": "1.0.2",
- "from": "de-indent@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
+ "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
"dev": true
},
"debug": {
- "version": "2.6.8",
- "from": "debug@>=2.4.5 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz"
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"decamelize": {
"version": "1.2.0",
- "from": "decamelize@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "decompress-response": {
- "version": "3.3.0",
- "from": "decompress-response@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz"
- },
"deep-eql": {
"version": "0.1.3",
- "from": "deep-eql@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/deep-eql/download/deep-eql-0.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/deep-eql/download/deep-eql-0.1.3.tgz",
+ "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
"dev": true,
+ "requires": {
+ "type-detect": "0.1.1"
+ },
"dependencies": {
"type-detect": {
"version": "0.1.1",
- "from": "type-detect@0.1.1",
- "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/type-detect/download/type-detect-0.1.1.tgz",
+ "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
"dev": true
}
}
},
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
+ },
"deep-is": {
"version": "0.1.3",
- "from": "deep-is@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
"deepmerge": {
- "version": "1.5.1",
- "from": "deepmerge@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.1.tgz"
+ "version": "1.5.2",
+ "resolved": "http://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
+ "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
},
"defined": {
"version": "1.0.0",
- "from": "defined@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
"dev": true
},
"del": {
"version": "2.2.2",
- "from": "del@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/del/download/del-2.2.2.tgz",
- "dev": true
- },
- "delayed-stream": {
- "version": "1.0.0",
- "from": "delayed-stream@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.0",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.2"
+ }
},
"depd": {
"version": "1.1.1",
- "from": "depd@>=1.1.1 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
"dev": true
},
+ "deref": {
+ "version": "0.7.2",
+ "resolved": "http://registry.npm.taobao.org/deref/download/deref-0.7.2.tgz",
+ "integrity": "sha1-yahXNNZ9XFI8XcBY2ULWiOdpHgs=",
+ "requires": {
+ "deep-extend": "0.4.2"
+ }
+ },
"des.js": {
"version": "1.0.0",
- "from": "des.js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
},
"destroy": {
"version": "1.0.4",
- "from": "destroy@>=1.0.4 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"detect-indent": {
"version": "4.0.0",
- "from": "detect-indent@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
},
"di": {
"version": "0.0.1",
- "from": "di@>=0.0.1 <0.0.2",
- "resolved": "https://registry.npm.taobao.org/di/download/di-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/di/download/di-0.0.1.tgz",
+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
"dev": true
},
"diff": {
"version": "3.2.0",
- "from": "diff@3.2.0",
- "resolved": "https://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz",
+ "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
"dev": true
},
"diffie-hellman": {
"version": "5.0.2",
- "from": "diffie-hellman@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.2.tgz",
+ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "miller-rabin": "4.0.1",
+ "randombytes": "2.0.5"
+ }
+ },
+ "discontinuous-range": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/discontinuous-range/download/discontinuous-range-1.0.0.tgz",
+ "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo="
},
"doctrine": {
- "version": "2.0.0",
- "from": "doctrine@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.0.0.tgz",
- "dev": true
+ "version": "2.0.2",
+ "resolved": "http://registry.npm.taobao.org/doctrine/download/doctrine-2.0.2.tgz",
+ "integrity": "sha1-aPls6O/FbMQmUfH6rbTxdSc7AHU=",
+ "dev": true,
+ "requires": {
+ "esutils": "2.0.2"
+ }
},
"doctypes": {
"version": "1.1.0",
- "from": "doctypes@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/doctypes/download/doctypes-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/doctypes/download/doctypes-1.1.0.tgz",
+ "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
"dev": true
},
"dom-converter": {
"version": "0.1.4",
- "from": "dom-converter@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.1.4.tgz",
+ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
"dev": true,
+ "requires": {
+ "utila": "0.3.3"
+ },
"dependencies": {
"utila": {
"version": "0.3.3",
- "from": "utila@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
"dev": true
}
}
},
"dom-serialize": {
"version": "2.2.1",
- "from": "dom-serialize@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz",
+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dev": true,
+ "requires": {
+ "custom-event": "1.0.1",
+ "ent": "2.2.0",
+ "extend": "3.0.1",
+ "void-elements": "2.0.1"
+ }
},
"dom-serializer": {
"version": "0.1.0",
- "from": "dom-serializer@>=0.0.0 <1.0.0",
- "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
"dev": true,
+ "requires": {
+ "domelementtype": "1.1.3",
+ "entities": "1.1.1"
+ },
"dependencies": {
"domelementtype": {
"version": "1.1.3",
- "from": "domelementtype@>=1.1.1 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
"dev": true
}
}
},
"domain-browser": {
"version": "1.1.7",
- "from": "domain-browser@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.1.7.tgz",
+ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
"dev": true
},
"domelementtype": {
"version": "1.3.0",
- "from": "domelementtype@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
"dev": true
},
"domhandler": {
"version": "2.4.1",
- "from": "domhandler@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.1.tgz",
+ "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0"
+ }
},
"domutils": {
"version": "1.6.2",
- "from": "domutils@>=1.5.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.6.2.tgz",
- "dev": true
- },
- "duplexer": {
- "version": "0.1.1",
- "from": "duplexer@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
- "dev": true
- },
- "duplexer3": {
- "version": "0.1.4",
- "from": "duplexer3@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz"
+ "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.6.2.tgz",
+ "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0.1.0",
+ "domelementtype": "1.3.0"
+ }
},
- "ecc-jsbn": {
+ "duplexer": {
"version": "0.1.1",
- "from": "ecc-jsbn@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz",
- "dev": true,
- "optional": true
+ "resolved": "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
},
"editorconfig": {
"version": "0.13.3",
- "from": "editorconfig@>=0.13.2 <0.14.0",
- "resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz",
+ "integrity": "sha1-5SGeWHlR1glY/ZTqmpoAjN7/GzQ=",
"dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "commander": "2.12.2",
+ "lru-cache": "3.2.0",
+ "semver": "5.4.1",
+ "sigmund": "1.0.1"
+ },
"dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.0.5 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz",
- "dev": true
- },
"lru-cache": {
"version": "3.2.0",
- "from": "lru-cache@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-3.2.0.tgz",
+ "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2"
+ }
}
}
},
"ee-first": {
"version": "1.1.1",
- "from": "ee-first@1.1.1",
- "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
"ejs": {
"version": "2.5.7",
- "from": "ejs@>=2.5.6 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.5.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/ejs/download/ejs-2.5.7.tgz",
+ "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.21",
- "from": "electron-to-chromium@>=1.2.7 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.21.tgz",
+ "version": "1.3.28",
+ "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.28.tgz",
+ "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=",
"dev": true
},
"element-ui": {
- "version": "1.4.4",
- "from": "element-ui@>=1.4.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-1.4.4.tgz"
+ "version": "1.4.12",
+ "resolved": "http://registry.npm.taobao.org/element-ui/download/element-ui-1.4.12.tgz",
+ "integrity": "sha1-o1U1jHCNeLuKW3/45ScL90e7YQM=",
+ "requires": {
+ "async-validator": "1.8.2",
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
+ "deepmerge": "1.5.2",
+ "throttle-debounce": "1.0.1"
+ }
},
"elliptic": {
"version": "6.4.0",
- "from": "elliptic@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.3",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
},
"emojis-list": {
"version": "2.1.0",
- "from": "emojis-list@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true
},
"encodeurl": {
"version": "1.0.1",
- "from": "encodeurl@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
"dev": true
},
"engine.io": {
"version": "1.8.3",
- "from": "engine.io@1.8.3",
- "resolved": "https://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz",
+ "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
"dev": true,
+ "requires": {
+ "accepts": "1.3.3",
+ "base64id": "1.0.0",
+ "cookie": "0.3.1",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "ws": "1.1.2"
+ },
"dependencies": {
"accepts": {
"version": "1.3.3",
- "from": "accepts@1.3.3",
- "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true,
+ "requires": {
+ "mime-types": "2.1.17",
+ "negotiator": "0.6.1"
+ }
},
"debug": {
"version": "2.3.3",
- "from": "debug@2.3.3",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
},
"ms": {
"version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"engine.io-client": {
"version": "1.8.3",
- "from": "engine.io-client@1.8.3",
- "resolved": "https://registry.npm.taobao.org/engine.io-client/download/engine.io-client-1.8.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/engine.io-client/download/engine.io-client-1.8.3.tgz",
+ "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
"dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parsejson": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "1.1.2",
+ "xmlhttprequest-ssl": "1.5.3",
+ "yeast": "0.1.2"
+ },
"dependencies": {
"component-emitter": {
"version": "1.2.1",
- "from": "component-emitter@1.2.1",
- "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"debug": {
"version": "2.3.3",
- "from": "debug@2.3.3",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
},
"ms": {
"version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"engine.io-parser": {
"version": "1.3.2",
- "from": "engine.io-parser@1.3.2",
- "resolved": "https://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz",
+ "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+ "dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.6",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.4",
+ "has-binary": "0.1.7",
+ "wtf-8": "1.0.0"
+ }
},
"enhanced-resolve": {
"version": "3.4.1",
- "from": "enhanced-resolve@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz",
+ "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.8"
+ }
},
"ent": {
"version": "2.2.0",
- "from": "ent@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz",
+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
"dev": true
},
"entities": {
"version": "1.1.1",
- "from": "entities@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
"dev": true
},
"errno": {
- "version": "0.1.4",
- "from": "errno@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.4.tgz",
- "dev": true
+ "version": "0.1.6",
+ "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.6.tgz",
+ "integrity": "sha1-w4bOimKD8U/AlWO3FWCQjJv1MCY=",
+ "dev": true,
+ "requires": {
+ "prr": "1.0.1"
+ }
},
"error-ex": {
"version": "1.3.1",
- "from": "error-ex@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
},
"error-stack-parser": {
"version": "2.0.1",
- "from": "error-stack-parser@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.1.tgz",
+ "integrity": "sha1-oyArj7AxFKqbQKDjZp5IsrZaAQo=",
+ "dev": true,
+ "requires": {
+ "stackframe": "1.0.4"
+ }
},
"es5-ext": {
- "version": "0.10.30",
- "from": "es5-ext@>=0.10.14 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.30.tgz",
- "dev": true
+ "version": "0.10.37",
+ "resolved": "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.37.tgz",
+ "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1"
+ }
},
"es6-iterator": {
- "version": "2.0.1",
- "from": "es6-iterator@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.1.tgz",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-symbol": "3.1.1"
+ }
},
"es6-map": {
"version": "0.1.5",
- "from": "es6-map@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-set": "0.1.5",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
},
"es6-promise": {
- "version": "4.0.5",
- "from": "es6-promise@>=4.0.3 <4.1.0",
- "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.0.5.tgz",
- "dev": true
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.1.1.tgz",
+ "integrity": "sha1-iBHpCRXZoNujYnTwskLb2nj5ySo="
},
"es6-set": {
"version": "0.1.5",
- "from": "es6-set@>=0.1.5 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "0.3.5"
+ }
},
"es6-symbol": {
"version": "3.1.1",
- "from": "es6-symbol@>=3.1.1 <3.2.0",
- "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37"
+ }
},
"es6-weak-map": {
"version": "2.0.2",
- "from": "es6-weak-map@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz",
+ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37",
+ "es6-iterator": "2.0.3",
+ "es6-symbol": "3.1.1"
+ }
},
"escape-html": {
"version": "1.0.3",
- "from": "escape-html@>=1.0.3 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
"escape-string-regexp": {
"version": "1.0.5",
- "from": "escape-string-regexp@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"escodegen": {
"version": "1.8.1",
- "from": "escodegen@>=1.8.0 <1.9.0",
- "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
+ "requires": {
+ "esprima": "2.7.3",
+ "estraverse": "1.9.3",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.2.0"
+ },
"dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
"estraverse": {
"version": "1.9.3",
- "from": "estraverse@>=1.9.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
"dev": true
},
"source-map": {
"version": "0.2.0",
- "from": "source-map@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
"escope": {
"version": "3.6.0",
- "from": "escope@>=3.6.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "requires": {
+ "es6-map": "0.1.5",
+ "es6-weak-map": "2.0.2",
+ "esrecurse": "4.2.0",
+ "estraverse": "4.2.0"
+ }
},
"eslint": {
"version": "3.19.0",
- "from": "eslint@>=3.19.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-3.19.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/eslint/download/eslint-3.19.0.tgz",
+ "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.26.0",
+ "chalk": "1.1.3",
+ "concat-stream": "1.6.0",
+ "debug": "2.6.9",
+ "doctrine": "2.0.2",
+ "escope": "3.6.0",
+ "espree": "3.5.2",
+ "esquery": "1.0.0",
+ "estraverse": "4.2.0",
+ "esutils": "2.0.2",
+ "file-entry-cache": "2.0.0",
+ "glob": "7.1.2",
+ "globals": "9.18.0",
+ "ignore": "3.3.7",
+ "imurmurhash": "0.1.4",
+ "inquirer": "0.12.0",
+ "is-my-json-valid": "2.16.1",
+ "is-resolvable": "1.0.1",
+ "js-yaml": "3.10.0",
+ "json-stable-stringify": "1.0.1",
+ "levn": "0.3.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "optionator": "0.8.2",
+ "path-is-inside": "1.0.2",
+ "pluralize": "1.2.1",
+ "progress": "1.1.8",
+ "require-uncached": "1.0.3",
+ "shelljs": "0.7.8",
+ "strip-bom": "3.0.0",
+ "strip-json-comments": "2.0.1",
+ "table": "3.8.3",
+ "text-table": "0.2.0",
+ "user-home": "2.0.0"
+ },
"dependencies": {
- "glob": {
- "version": "7.1.2",
- "from": "glob@>=7.0.3 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
- "dev": true
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"strip-bom": {
"version": "3.0.0",
- "from": "strip-bom@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
}
}
},
"eslint-config-standard": {
"version": "6.2.1",
- "from": "eslint-config-standard@>=6.2.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-6.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-6.2.1.tgz",
+ "integrity": "sha1-06aKr8cZFjnn7kQec0hzkCY1QpI=",
"dev": true
},
"eslint-friendly-formatter": {
"version": "2.0.7",
- "from": "eslint-friendly-formatter@>=2.0.7 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-friendly-formatter/download/eslint-friendly-formatter-2.0.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/eslint-friendly-formatter/download/eslint-friendly-formatter-2.0.7.tgz",
+ "integrity": "sha1-ZX+VoZr0mJY2r+uxzJ3mzrvQiO4=",
"dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "extend": "3.0.1",
+ "minimist": "1.2.0",
+ "text-table": "0.2.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
- "from": "minimist@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"eslint-loader": {
"version": "1.9.0",
- "from": "eslint-loader@>=1.7.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-1.9.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/eslint-loader/download/eslint-loader-1.9.0.tgz",
+ "integrity": "sha1-fhvp/t3KMo09z67xrUnVvv/oOhM=",
"dev": true,
+ "requires": {
+ "loader-fs-cache": "1.0.1",
+ "loader-utils": "1.1.0",
+ "object-assign": "4.1.1",
+ "object-hash": "1.2.0",
+ "rimraf": "2.6.2"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"eslint-plugin-html": {
"version": "2.0.3",
- "from": "eslint-plugin-html@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-2.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-2.0.3.tgz",
+ "integrity": "sha1-fImIOrDIX6XSi2ZqFKTpBqqQuJc=",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "3.9.2"
+ }
},
"eslint-plugin-promise": {
- "version": "3.5.0",
- "from": "eslint-plugin-promise@>=3.4.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-3.5.0.tgz",
+ "version": "3.6.0",
+ "resolved": "http://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-3.6.0.tgz",
+ "integrity": "sha1-VLdljI9FSBPcKocK/4FS7ElpunU=",
"dev": true
},
"eslint-plugin-standard": {
"version": "2.3.1",
- "from": "eslint-plugin-standard@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-2.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-2.3.1.tgz",
+ "integrity": "sha1-Z2W9Km2ezce98bFFrkuzDit7hvg=",
"dev": true
},
"espree": {
- "version": "3.5.1",
- "from": "espree@>=3.4.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/espree/download/espree-3.5.1.tgz",
- "dev": true
+ "version": "3.5.2",
+ "resolved": "http://registry.npm.taobao.org/espree/download/espree-3.5.2.tgz",
+ "integrity": "sha1-dWrai5eenc/NswqtjRqTBKkF4co=",
+ "dev": true,
+ "requires": {
+ "acorn": "5.2.1",
+ "acorn-jsx": "3.0.1"
+ }
},
"esprima": {
- "version": "2.7.3",
- "from": "esprima@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
- "dev": true
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz",
+ "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ="
},
"esquery": {
"version": "1.0.0",
- "from": "esquery@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/esquery/download/esquery-1.0.0.tgz",
+ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0"
+ }
},
"esrecurse": {
"version": "4.2.0",
- "from": "esrecurse@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz",
+ "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
+ "dev": true,
+ "requires": {
+ "estraverse": "4.2.0",
+ "object-assign": "4.1.1"
+ }
},
"estraverse": {
"version": "4.2.0",
- "from": "estraverse@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
},
"esutils": {
"version": "2.0.2",
- "from": "esutils@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"etag": {
"version": "1.8.1",
- "from": "etag@>=1.8.0 <1.9.0",
- "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
"event-emitter": {
"version": "0.3.5",
- "from": "event-emitter@>=0.3.5 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1.0.0",
+ "es5-ext": "0.10.37"
+ }
},
"eventemitter3": {
"version": "1.2.0",
- "from": "eventemitter3@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-1.2.0.tgz",
+ "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
"dev": true
},
"events": {
"version": "1.1.1",
- "from": "events@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/events/download/events-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
"dev": true
},
"eventsource-polyfill": {
"version": "0.9.6",
- "from": "eventsource-polyfill@>=0.9.6 <0.10.0",
- "resolved": "https://registry.npm.taobao.org/eventsource-polyfill/download/eventsource-polyfill-0.9.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/eventsource-polyfill/download/eventsource-polyfill-0.9.6.tgz",
+ "integrity": "sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw=",
"dev": true
},
"evp_bytestokey": {
"version": "1.0.3",
- "from": "evp_bytestokey@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+ "dev": true,
+ "requires": {
+ "md5.js": "1.3.4",
+ "safe-buffer": "5.1.1"
+ }
},
"exit-hook": {
"version": "1.1.1",
- "from": "exit-hook@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz",
+ "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
"dev": true
},
"expand-braces": {
"version": "0.1.2",
- "from": "expand-braces@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz",
+ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
+ "requires": {
+ "array-slice": "0.2.3",
+ "array-unique": "0.2.1",
+ "braces": "0.1.5"
+ },
"dependencies": {
"braces": {
"version": "0.1.5",
- "from": "braces@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/braces/download/braces-0.1.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/braces/download/braces-0.1.5.tgz",
+ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+ "dev": true,
+ "requires": {
+ "expand-range": "0.1.1"
+ }
},
"expand-range": {
"version": "0.1.1",
- "from": "expand-range@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/expand-range/download/expand-range-0.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-0.1.1.tgz",
+ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+ "dev": true,
+ "requires": {
+ "is-number": "0.1.1",
+ "repeat-string": "0.2.2"
+ }
},
"is-number": {
"version": "0.1.1",
- "from": "is-number@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-0.1.1.tgz",
+ "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
"dev": true
},
"repeat-string": {
"version": "0.2.2",
- "from": "repeat-string@>=0.2.2 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-0.2.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-0.2.2.tgz",
+ "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
"dev": true
}
}
},
"expand-brackets": {
"version": "0.1.5",
- "from": "expand-brackets@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
},
"expand-range": {
"version": "1.8.2",
- "from": "expand-range@>=1.8.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
},
"express": {
- "version": "4.15.4",
- "from": "express@>=4.14.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/express/download/express-4.15.4.tgz",
+ "version": "4.16.2",
+ "resolved": "http://registry.npm.taobao.org/express/download/express-4.16.2.tgz",
+ "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
"dev": true,
+ "requires": {
+ "accepts": "1.3.4",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "finalhandler": "1.1.0",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "1.1.2",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "2.0.2",
+ "qs": "6.5.1",
+ "range-parser": "1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.1",
+ "serve-static": "1.13.1",
+ "setprototypeof": "1.1.0",
+ "statuses": "1.3.1",
+ "type-is": "1.6.15",
+ "utils-merge": "1.0.1",
+ "vary": "1.1.2"
+ },
"dependencies": {
- "qs": {
- "version": "6.5.0",
- "from": "qs@6.5.0",
- "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.0.tgz",
- "dev": true
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
"extend": {
"version": "3.0.1",
- "from": "extend@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
"extglob": {
"version": "0.3.2",
- "from": "extglob@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"extract-text-webpack-plugin": {
"version": "2.1.2",
- "from": "extract-text-webpack-plugin@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-2.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-2.1.2.tgz",
+ "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=",
"dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0",
+ "webpack-sources": "1.1.0"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
- }
- }
- },
- "extract-zip": {
- "version": "1.6.5",
- "from": "extract-zip@>=1.6.5 <1.7.0",
- "resolved": "https://registry.npm.taobao.org/extract-zip/download/extract-zip-1.6.5.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@2.2.0",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.0",
- "from": "mkdirp@0.5.0",
- "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "ms@0.7.1",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "from": "extsprintf@1.3.0",
- "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
- "dev": true
- },
"fast-deep-equal": {
"version": "1.0.0",
- "from": "fast-deep-equal@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fast-levenshtein": {
"version": "2.0.6",
- "from": "fast-levenshtein@>=2.0.4 <2.1.0",
- "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
"fastparse": {
"version": "1.1.1",
- "from": "fastparse@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz",
- "dev": true
- },
- "fd-slicer": {
- "version": "1.0.1",
- "from": "fd-slicer@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz",
+ "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
"dev": true
},
"figures": {
"version": "1.7.0",
- "from": "figures@>=1.3.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
+ }
},
"file-entry-cache": {
"version": "2.0.0",
- "from": "file-entry-cache@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "1.3.0",
+ "object-assign": "4.1.1"
+ }
},
"file-loader": {
"version": "0.11.2",
- "from": "file-loader@>=0.11.1 <0.12.0",
- "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-0.11.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-0.11.2.tgz",
+ "integrity": "sha1-T/HfKK84cZpgmAk7iMgscdF5SjQ=",
"dev": true,
+ "requires": {
+ "loader-utils": "1.1.0"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"filename-regex": {
"version": "2.0.1",
- "from": "filename-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
"dev": true
},
"filesize": {
- "version": "3.5.10",
- "from": "filesize@>=3.5.9 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.5.10.tgz",
+ "version": "3.5.11",
+ "resolved": "http://registry.npm.taobao.org/filesize/download/filesize-3.5.11.tgz",
+ "integrity": "sha1-GRkyZ0lDO7PPdzaL0VjKq8wZ6e4=",
"dev": true
},
"fill-range": {
"version": "2.2.3",
- "from": "fill-range@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
},
"finalhandler": {
- "version": "1.0.5",
- "from": "finalhandler@>=1.0.4 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.5.tgz",
- "dev": true
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.0.tgz",
+ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.2",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
},
"find-cache-dir": {
"version": "0.1.1",
- "from": "find-cache-dir@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz",
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "dev": true,
+ "requires": {
+ "commondir": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pkg-dir": "1.0.0"
+ }
},
"find-up": {
"version": "1.1.2",
- "from": "find-up@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"flat-cache": {
- "version": "1.2.2",
- "from": "flat-cache@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.2.2.tgz",
- "dev": true
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+ "dev": true,
+ "requires": {
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ }
},
"flatten": {
"version": "1.0.2",
- "from": "flatten@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
"dev": true
},
"follow-redirects": {
- "version": "1.2.4",
- "from": "follow-redirects@>=1.2.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.2.4.tgz"
+ "version": "1.2.6",
+ "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.2.6.tgz",
+ "integrity": "sha1-Tc3H5Ks91nZal/+Jw7TCWBF8eb8=",
+ "requires": {
+ "debug": "3.1.0"
+ }
},
"for-in": {
"version": "1.0.2",
- "from": "for-in@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"for-own": {
"version": "0.1.5",
- "from": "for-own@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "from": "forever-agent@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
},
- "form-data": {
- "version": "2.1.4",
- "from": "form-data@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
- "dev": true
+ "format-util": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/format-util/download/format-util-1.0.3.tgz",
+ "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU="
},
"formatio": {
"version": "1.2.0",
- "from": "formatio@1.2.0",
- "resolved": "https://registry.npm.taobao.org/formatio/download/formatio-1.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/formatio/download/formatio-1.2.0.tgz",
+ "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
+ "dev": true,
+ "requires": {
+ "samsam": "1.3.0"
+ }
},
"forwarded": {
"version": "0.1.2",
- "from": "forwarded@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"dev": true
},
"fresh": {
- "version": "0.5.0",
- "from": "fresh@0.5.0",
- "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.0.tgz",
+ "version": "0.5.2",
+ "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
},
"friendly-errors-webpack-plugin": {
"version": "1.6.1",
- "from": "friendly-errors-webpack-plugin@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/friendly-errors-webpack-plugin/download/friendly-errors-webpack-plugin-1.6.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/friendly-errors-webpack-plugin/download/friendly-errors-webpack-plugin-1.6.1.tgz",
+ "integrity": "sha1-4yeBxHIvVGoGqbXXp8+ihSA3XXA=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "error-stack-parser": "2.0.1",
+ "string-length": "1.0.1"
+ }
},
- "fs-extra": {
- "version": "0.26.7",
- "from": "fs-extra@>=0.26.4 <0.27.0",
- "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-0.26.7.tgz",
- "dev": true
+ "fs-access": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz",
+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+ "dev": true,
+ "requires": {
+ "null-check": "1.0.0"
+ }
},
"fs.realpath": {
"version": "1.0.0",
- "from": "fs.realpath@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"function-bind": {
"version": "1.1.1",
- "from": "function-bind@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"dev": true
},
"generate-function": {
"version": "2.0.0",
- "from": "generate-function@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz",
+ "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
"dev": true
},
"generate-object-property": {
"version": "1.2.0",
- "from": "generate-object-property@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "requires": {
+ "is-property": "1.0.2"
+ }
},
"get-caller-file": {
"version": "1.0.2",
- "from": "get-caller-file@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
"dev": true
},
"get-stdin": {
"version": "4.0.1",
- "from": "get-stdin@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
- "get-stream": {
- "version": "3.0.0",
- "from": "get-stream@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz"
- },
- "getpass": {
- "version": "0.1.7",
- "from": "getpass@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
- "dev": true
- }
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
- "glob": {
- "version": "6.0.4",
- "from": "glob@>=6.0.4 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-6.0.4.tgz",
- "dev": true
- },
"glob-base": {
"version": "0.3.0",
- "from": "glob-base@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
},
"glob-parent": {
"version": "2.0.0",
- "from": "glob-parent@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"globals": {
"version": "9.18.0",
- "from": "globals@>=9.18.0 <10.0.0",
- "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
"dev": true
},
"globby": {
"version": "5.0.0",
- "from": "globby@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "from": "glob@>=7.0.3 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
- "dev": true
- }
+ "requires": {
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
}
},
- "got": {
- "version": "7.1.0",
- "from": "got@>=7.0.0 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/got/download/got-7.1.0.tgz"
- },
"graceful-fs": {
"version": "4.1.11",
- "from": "graceful-fs@>=4.1.2 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+ "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
"graceful-readlink": {
"version": "1.0.1",
- "from": "graceful-readlink@>=1.0.0",
- "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
"growl": {
"version": "1.9.2",
- "from": "growl@1.9.2",
- "resolved": "https://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz",
+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
"dev": true
},
"gzip-size": {
"version": "3.0.0",
- "from": "gzip-size@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-3.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/gzip-size/download/gzip-size-3.0.0.tgz",
+ "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1"
+ }
},
"handlebars": {
- "version": "4.0.10",
- "from": "handlebars@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/handlebars/download/handlebars-4.0.10.tgz",
+ "version": "4.0.11",
+ "resolved": "http://registry.npm.taobao.org/handlebars/download/handlebars-4.0.11.tgz",
+ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
"dependencies": {
"async": {
"version": "1.5.2",
- "from": "async@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/async/download/async-1.5.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
},
"source-map": {
"version": "0.4.4",
- "from": "source-map@>=0.4.4 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
},
"uglify-js": {
"version": "2.8.29",
- "from": "uglify-js@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"optional": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
- "from": "source-map@~0.5.1",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true,
"optional": true
}
@@ -2518,2221 +3637,2933 @@
}
}
},
- "har-schema": {
- "version": "1.0.5",
- "from": "har-schema@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
- "dev": true
- },
- "har-validator": {
- "version": "4.2.1",
- "from": "har-validator@>=4.2.1 <4.3.0",
- "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
- "dev": true
- },
"has": {
"version": "1.0.1",
- "from": "has@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
},
"has-ansi": {
"version": "2.0.0",
- "from": "has-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"has-binary": {
"version": "0.1.7",
- "from": "has-binary@0.1.7",
- "resolved": "https://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz",
+ "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
"dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
}
}
},
"has-cors": {
"version": "1.1.0",
- "from": "has-cors@1.1.0",
- "resolved": "https://registry.npm.taobao.org/has-cors/download/has-cors-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-cors/download/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
"dev": true
},
"has-flag": {
"version": "1.0.0",
- "from": "has-flag@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
- "has-symbol-support-x": {
- "version": "1.4.1",
- "from": "has-symbol-support-x@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/has-symbol-support-x/download/has-symbol-support-x-1.4.1.tgz"
- },
- "has-to-string-tag-x": {
- "version": "1.4.1",
- "from": "has-to-string-tag-x@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz"
- },
"hash-base": {
"version": "2.0.2",
- "from": "hash-base@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-2.0.2.tgz",
+ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
},
"hash-sum": {
"version": "1.0.2",
- "from": "hash-sum@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
},
"hash.js": {
"version": "1.1.3",
- "from": "hash.js@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.3.tgz",
- "dev": true
- },
- "hasha": {
- "version": "2.2.0",
- "from": "hasha@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npm.taobao.org/hasha/download/hasha-2.2.0.tgz",
- "dev": true
- },
- "hawk": {
- "version": "3.1.3",
- "from": "hawk@>=3.1.3 <3.2.0",
- "resolved": "https://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.3.tgz",
+ "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
},
"he": {
"version": "1.1.1",
- "from": "he@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz",
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
"dev": true
},
"hmac-drbg": {
"version": "1.0.1",
- "from": "hmac-drbg@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
- "dev": true
- },
- "hoek": {
- "version": "2.16.3",
- "from": "hoek@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "1.1.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
},
"home-or-tmp": {
"version": "2.0.0",
- "from": "home-or-tmp@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
- "dev": true
+ "resolved": "http://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.2",
+ "os-tmpdir": "1.0.2"
+ }
},
"hosted-git-info": {
"version": "2.5.0",
- "from": "hosted-git-info@>=2.1.4 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=",
"dev": true
},
+ "hotkeys-js": {
+ "version": "2.0.7",
+ "resolved": "http://registry.npm.taobao.org/hotkeys-js/download/hotkeys-js-2.0.7.tgz",
+ "integrity": "sha1-GH9WqNooltg8pJNenjT5EhszEsw="
+ },
"html-comment-regex": {
"version": "1.1.1",
- "from": "html-comment-regex@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
"dev": true
},
"html-entities": {
"version": "1.2.1",
- "from": "html-entities@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
"dev": true
},
"html-minifier": {
- "version": "3.5.5",
- "from": "html-minifier@>=3.2.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.5.tgz",
- "dev": true
+ "version": "3.5.7",
+ "resolved": "http://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.7.tgz",
+ "integrity": "sha1-UR5pu1qOdnfRAS6+A4GaoCygYgg=",
+ "dev": true,
+ "requires": {
+ "camel-case": "3.0.0",
+ "clean-css": "4.1.9",
+ "commander": "2.12.2",
+ "he": "1.1.1",
+ "ncname": "1.0.0",
+ "param-case": "2.1.1",
+ "relateurl": "0.2.7",
+ "uglify-js": "3.2.2"
+ }
},
"html-webpack-plugin": {
"version": "2.30.1",
- "from": "html-webpack-plugin@>=2.28.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz",
+ "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=",
"dev": true,
- "dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.4.7 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz",
- "dev": true
- }
+ "requires": {
+ "bluebird": "3.5.1",
+ "html-minifier": "3.5.7",
+ "loader-utils": "0.2.17",
+ "lodash": "4.17.4",
+ "pretty-error": "2.1.1",
+ "toposort": "1.0.6"
}
},
"htmlparser2": {
"version": "3.9.2",
- "from": "htmlparser2@>=3.8.2 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.9.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.9.2.tgz",
+ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0",
+ "domhandler": "2.4.1",
+ "domutils": "1.6.2",
+ "entities": "1.1.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
},
"http-errors": {
"version": "1.6.2",
- "from": "http-errors@>=1.6.2 <1.7.0",
- "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1"
+ },
+ "dependencies": {
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
+ }
},
"http-proxy": {
"version": "1.16.2",
- "from": "http-proxy@>=1.16.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.16.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/http-proxy/download/http-proxy-1.16.2.tgz",
+ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "1.2.0",
+ "requires-port": "1.0.0"
+ }
},
"http-proxy-middleware": {
"version": "0.17.4",
- "from": "http-proxy-middleware@>=0.17.3 <0.18.0",
- "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.17.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.17.4.tgz",
+ "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
"dev": true,
+ "requires": {
+ "http-proxy": "1.16.2",
+ "is-glob": "3.1.0",
+ "lodash": "4.17.4",
+ "micromatch": "2.3.11"
+ },
"dependencies": {
"is-extglob": {
"version": "2.1.1",
- "from": "is-extglob@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-glob": {
"version": "3.1.0",
- "from": "is-glob@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
}
}
},
- "http-signature": {
- "version": "1.1.1",
- "from": "http-signature@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
- "dev": true
- },
"https-browserify": {
- "version": "0.0.1",
- "from": "https-browserify@0.0.1",
- "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-0.0.1.tgz",
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
"iconv-lite": {
"version": "0.4.19",
- "from": "iconv-lite@0.4.19",
- "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz",
+ "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
"dev": true
},
"icss-replace-symbols": {
"version": "1.1.0",
- "from": "icss-replace-symbols@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
"dev": true
},
"icss-utils": {
"version": "2.1.0",
- "from": "icss-utils@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
"dev": true,
+ "requires": {
+ "postcss": "6.0.14"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"postcss": {
- "version": "6.0.11",
- "from": "postcss@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.11.tgz",
+ "version": "6.0.14",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz",
+ "integrity": "sha1-VTTHIRRznnXQr88BfbhTCZ9WKIU=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
"ieee754": {
"version": "1.1.8",
- "from": "ieee754@>=1.1.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.8.tgz",
+ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
"dev": true
},
"ignore": {
- "version": "3.3.5",
- "from": "ignore@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.5.tgz",
+ "version": "3.3.7",
+ "resolved": "http://registry.npm.taobao.org/ignore/download/ignore-3.3.7.tgz",
+ "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=",
"dev": true
},
+ "immutable": {
+ "version": "3.8.2",
+ "resolved": "http://registry.npm.taobao.org/immutable/download/immutable-3.8.2.tgz",
+ "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM="
+ },
"imurmurhash": {
"version": "0.1.4",
- "from": "imurmurhash@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
"indent-string": {
"version": "2.1.0",
- "from": "indent-string@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
},
"indexes-of": {
"version": "1.0.1",
- "from": "indexes-of@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
"dev": true
},
"indexof": {
"version": "0.0.1",
- "from": "indexof@0.0.1",
- "resolved": "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
"inflight": {
"version": "1.0.6",
- "from": "inflight@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
},
"inherits": {
"version": "2.0.3",
- "from": "inherits@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ini": {
- "version": "1.3.4",
- "from": "ini@>=1.3.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.4.tgz",
+ "version": "1.3.5",
+ "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz",
+ "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
"dev": true
},
"inject-loader": {
"version": "3.0.1",
- "from": "inject-loader@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/inject-loader/download/inject-loader-3.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/inject-loader/download/inject-loader-3.0.1.tgz",
+ "integrity": "sha1-hEpFlhUM9rhkwveYBtQKLK7kwsc=",
+ "dev": true,
+ "requires": {
+ "babel-core": "6.26.0"
+ }
},
"inquirer": {
"version": "0.12.0",
- "from": "inquirer@>=0.12.0 <0.13.0",
- "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-0.12.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/inquirer/download/inquirer-0.12.0.tgz",
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "1.4.0",
+ "ansi-regex": "2.1.1",
+ "chalk": "1.1.3",
+ "cli-cursor": "1.0.2",
+ "cli-width": "2.2.0",
+ "figures": "1.7.0",
+ "lodash": "4.17.4",
+ "readline2": "1.0.1",
+ "run-async": "0.1.0",
+ "rx-lite": "3.1.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "through": "2.3.8"
+ }
},
"interpret": {
- "version": "1.0.4",
- "from": "interpret@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.0.4.tgz",
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/interpret/download/interpret-1.1.0.tgz",
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
"invariant": {
"version": "2.2.2",
- "from": "invariant@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
},
"invert-kv": {
"version": "1.0.0",
- "from": "invert-kv@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"ipaddr.js": {
- "version": "1.4.0",
- "from": "ipaddr.js@1.4.0",
- "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz",
+ "version": "1.5.2",
+ "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.5.2.tgz",
+ "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=",
"dev": true
},
"is-absolute-url": {
"version": "2.1.0",
- "from": "is-absolute-url@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
"dev": true
},
"is-arrayish": {
"version": "0.2.1",
- "from": "is-arrayish@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+ "resolved": "http://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",
- "from": "is-binary-path@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "1.11.0"
+ }
},
"is-buffer": {
- "version": "1.1.5",
- "from": "is-buffer@>=1.1.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.5.tgz"
+ "version": "1.1.6",
+ "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
},
"is-builtin-module": {
"version": "1.0.0",
- "from": "is-builtin-module@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
},
"is-directory": {
"version": "0.3.1",
- "from": "is-directory@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
"is-dotfile": {
"version": "1.0.3",
- "from": "is-dotfile@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
"dev": true
},
"is-equal-shallow": {
"version": "0.1.3",
- "from": "is-equal-shallow@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
},
"is-expression": {
"version": "2.1.0",
- "from": "is-expression@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-expression/download/is-expression-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-expression/download/is-expression-2.1.0.tgz",
+ "integrity": "sha1-kb6dR968/vB3l36XIr5tz7RGXvA=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "object-assign": "4.1.1"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
- "from": "acorn@>=3.3.0 <3.4.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
"is-extendable": {
"version": "0.1.1",
- "from": "is-extendable@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
"version": "1.0.0",
- "from": "is-extglob@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true
},
"is-finite": {
"version": "1.0.2",
- "from": "is-finite@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
- "dev": true
+ "resolved": "http://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.1"
+ }
},
"is-glob": {
"version": "2.0.1",
- "from": "is-glob@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"is-my-json-valid": {
"version": "2.16.1",
- "from": "is-my-json-valid@>=2.10.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-my-json-valid/download/is-my-json-valid-2.16.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-my-json-valid/download/is-my-json-valid-2.16.1.tgz",
+ "integrity": "sha1-WoRnd+LCYg0eaRBOXToDsfYIjxE=",
+ "dev": true,
+ "requires": {
+ "generate-function": "2.0.0",
+ "generate-object-property": "1.2.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
+ }
},
"is-number": {
"version": "2.1.0",
- "from": "is-number@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz",
- "dev": true
- },
- "is-object": {
- "version": "1.0.1",
- "from": "is-object@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-object/download/is-object-1.0.1.tgz"
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
},
"is-path-cwd": {
"version": "1.0.0",
- "from": "is-path-cwd@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
"dev": true
},
"is-path-in-cwd": {
"version": "1.0.0",
- "from": "is-path-in-cwd@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz",
+ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.1"
+ }
},
"is-path-inside": {
- "version": "1.0.0",
- "from": "is-path-inside@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.0.tgz",
- "dev": true
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
},
"is-plain-obj": {
"version": "1.1.0",
- "from": "is-plain-obj@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz"
+ "resolved": "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
},
"is-posix-bracket": {
"version": "0.1.1",
- "from": "is-posix-bracket@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
"dev": true
},
"is-primitive": {
"version": "2.0.0",
- "from": "is-primitive@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
"dev": true
},
"is-promise": {
"version": "2.1.0",
- "from": "is-promise@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
"is-property": {
"version": "1.0.2",
- "from": "is-property@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
"dev": true
},
"is-regex": {
"version": "1.0.4",
- "from": "is-regex@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1"
+ }
},
"is-resolvable": {
- "version": "1.0.0",
- "from": "is-resolvable@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.0.0.tgz",
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.0.1.tgz",
+ "integrity": "sha1-rMoc022+RLl0uSQyFVWnC6A7HPQ=",
"dev": true
},
- "is-retry-allowed": {
- "version": "1.1.0",
- "from": "is-retry-allowed@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz"
- },
- "is-stream": {
- "version": "1.1.0",
- "from": "is-stream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz"
- },
"is-svg": {
"version": "2.1.0",
- "from": "is-svg@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "from": "is-typedarray@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "1.1.1"
+ }
},
"is-utf8": {
"version": "0.2.1",
- "from": "is-utf8@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-windows": {
"version": "1.0.1",
- "from": "is-windows@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.1.tgz",
+ "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
"dev": true
},
"isarray": {
"version": "1.0.0",
- "from": "isarray@1.0.0",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isbinaryfile": {
"version": "3.0.2",
- "from": "isbinaryfile@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.2.tgz",
+ "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"dev": true
},
"isexe": {
"version": "2.0.0",
- "from": "isexe@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
"version": "2.1.0",
- "from": "isobject@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "from": "isstream@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
},
"istanbul": {
"version": "0.4.5",
- "from": "istanbul@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/istanbul/download/istanbul-0.4.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/istanbul/download/istanbul-0.4.5.tgz",
+ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
+ "requires": {
+ "abbrev": "1.0.9",
+ "async": "1.5.2",
+ "escodegen": "1.8.1",
+ "esprima": "2.7.3",
+ "glob": "5.0.15",
+ "handlebars": "4.0.11",
+ "js-yaml": "3.10.0",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "once": "1.4.0",
+ "resolve": "1.1.7",
+ "supports-color": "3.2.3",
+ "which": "1.3.0",
+ "wordwrap": "1.0.0"
+ },
"dependencies": {
"async": {
"version": "1.5.2",
- "from": "async@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/async/download/async-1.5.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"glob": {
"version": "5.0.15",
- "from": "glob@>=5.0.15 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"resolve": {
"version": "1.1.7",
- "from": "resolve@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
"istanbul-lib-coverage": {
"version": "1.1.1",
- "from": "istanbul-lib-coverage@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.1.1.tgz",
+ "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=",
"dev": true
},
"istanbul-lib-instrument": {
- "version": "1.8.0",
- "from": "istanbul-lib-instrument@>=1.7.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.8.0.tgz",
- "dev": true
- },
- "isurl": {
- "version": "1.0.0",
- "from": "isurl@>=1.0.0-alpha5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/isurl/download/isurl-1.0.0.tgz"
- },
- "iview": {
- "version": "2.3.2",
- "from": "iview@>=2.0.0-rc.18 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/iview/download/iview-2.3.2.tgz",
- "dependencies": {
- "async-validator": {
- "version": "1.8.1",
- "from": "async-validator@>=1.7.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.1.tgz"
- }
+ "version": "1.9.1",
+ "resolved": "http://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.9.1.tgz",
+ "integrity": "sha1-JQsws1MeXTJRKZ/dZLCyydtrVY4=",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.0",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.1.1",
+ "semver": "5.4.1"
}
},
"js-base64": {
- "version": "2.3.2",
- "from": "js-base64@>=2.1.9 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.3.2.tgz",
+ "version": "2.4.0",
+ "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.0.tgz",
+ "integrity": "sha1-nlZv7mJHUaHXIMlmzWIm0p1AJao=",
"dev": true
},
"js-beautify": {
- "version": "1.7.3",
- "from": "js-beautify@>=1.6.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/js-beautify/download/js-beautify-1.7.3.tgz",
- "dev": true
+ "version": "1.7.5",
+ "resolved": "http://registry.npm.taobao.org/js-beautify/download/js-beautify-1.7.5.tgz",
+ "integrity": "sha1-adllHvYNu2SfZVJ7U2dJUBOKeRk=",
+ "dev": true,
+ "requires": {
+ "config-chain": "1.1.11",
+ "editorconfig": "0.13.3",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6"
+ }
},
"js-stringify": {
"version": "1.0.2",
- "from": "js-stringify@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz",
+ "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
"dev": true
},
"js-tokens": {
"version": "3.0.2",
- "from": "js-tokens@>=3.0.2 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
},
"js-yaml": {
- "version": "3.7.0",
- "from": "js-yaml@>=3.7.0 <3.8.0",
- "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz",
- "dev": true
- },
- "jsbn": {
- "version": "0.1.1",
- "from": "jsbn@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
- "dev": true,
- "optional": true
+ "version": "3.10.0",
+ "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.10.0.tgz",
+ "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ }
},
"jsesc": {
"version": "1.3.0",
- "from": "jsesc@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
"json-loader": {
"version": "0.5.7",
- "from": "json-loader@>=0.5.4 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz",
+ "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=",
+ "dev": true
+ },
+ "json-schema-faker": {
+ "version": "0.5.0-rc9",
+ "resolved": "http://registry.npm.taobao.org/json-schema-faker/download/json-schema-faker-0.5.0-rc9.tgz",
+ "integrity": "sha1-yv8wpFX0+LJnxZdGuzqXVBQIfBE=",
+ "requires": {
+ "deref": "0.7.2",
+ "json-schema-ref-parser": "3.3.1",
+ "randexp": "0.4.6",
+ "tslib": "1.8.1"
+ }
},
- "json-schema": {
- "version": "0.2.3",
- "from": "json-schema@0.2.3",
- "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
- "dev": true
+ "json-schema-ref-parser": {
+ "version": "3.3.1",
+ "resolved": "http://registry.npm.taobao.org/json-schema-ref-parser/download/json-schema-ref-parser-3.3.1.tgz",
+ "integrity": "sha1-hudRuAmTV79gGnz+QtEBI+6QajI=",
+ "requires": {
+ "call-me-maybe": "1.0.1",
+ "debug": "3.1.0",
+ "es6-promise": "4.1.1",
+ "js-yaml": "3.10.0",
+ "ono": "4.0.2",
+ "z-schema": "3.19.0"
+ }
},
"json-schema-traverse": {
"version": "0.3.1",
- "from": "json-schema-traverse@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json-stable-stringify": {
"version": "1.0.1",
- "from": "json-stable-stringify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "from": "json-stringify-safe@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
},
"json3": {
"version": "3.3.2",
- "from": "json3@3.3.2",
- "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
"dev": true
},
"json5": {
"version": "0.5.1",
- "from": "json5@>=0.5.1 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
- "dev": true
- },
- "jsonfile": {
- "version": "2.4.0",
- "from": "jsonfile@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-2.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"jsonify": {
"version": "0.0.0",
- "from": "jsonify@>=0.0.0 <0.1.0",
- "resolved": "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"jsonpointer": {
"version": "4.0.1",
- "from": "jsonpointer@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
"dev": true
},
- "jsprim": {
- "version": "1.4.1",
- "from": "jsprim@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
- "dev": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@1.0.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
- "dev": true
- }
- }
- },
"jstransformer": {
"version": "1.0.0",
- "from": "jstransformer@1.0.0",
- "resolved": "https://registry.npm.taobao.org/jstransformer/download/jstransformer-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/jstransformer/download/jstransformer-1.0.0.tgz",
+ "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+ "dev": true,
+ "requires": {
+ "is-promise": "2.1.0",
+ "promise": "7.3.1"
+ }
},
"karma": {
"version": "1.7.1",
- "from": "karma@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma/download/karma-1.7.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/karma/download/karma-1.7.1.tgz",
+ "integrity": "sha1-hcwI6eCiLXzpzKN8ShvoJPaisa4=",
"dev": true,
+ "requires": {
+ "bluebird": "3.5.1",
+ "body-parser": "1.18.2",
+ "chokidar": "1.7.0",
+ "colors": "1.1.2",
+ "combine-lists": "1.0.1",
+ "connect": "3.6.5",
+ "core-js": "2.5.3",
+ "di": "0.0.1",
+ "dom-serialize": "2.2.1",
+ "expand-braces": "0.1.2",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "http-proxy": "1.16.2",
+ "isbinaryfile": "3.0.2",
+ "lodash": "3.10.1",
+ "log4js": "0.6.38",
+ "mime": "1.4.1",
+ "minimatch": "3.0.4",
+ "optimist": "0.6.1",
+ "qjobs": "1.1.5",
+ "range-parser": "1.2.0",
+ "rimraf": "2.6.2",
+ "safe-buffer": "5.1.1",
+ "socket.io": "1.7.3",
+ "source-map": "0.5.7",
+ "tmp": "0.0.31",
+ "useragent": "2.2.1"
+ },
"dependencies": {
- "bluebird": {
- "version": "3.5.0",
- "from": "bluebird@>=3.3.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz",
- "dev": true
- },
- "glob": {
- "version": "7.1.2",
- "from": "glob@>=7.1.1 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
- "dev": true
- },
"lodash": {
"version": "3.10.1",
- "from": "lodash@>=3.8.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
}
}
},
+ "karma-chrome-launcher": {
+ "version": "2.2.0",
+ "resolved": "http://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-2.2.0.tgz",
+ "integrity": "sha1-zxudBxNswY/iOTJ9JGVMPbw2is8=",
+ "dev": true,
+ "requires": {
+ "fs-access": "1.0.1",
+ "which": "1.3.0"
+ }
+ },
"karma-coverage": {
"version": "1.1.1",
- "from": "karma-coverage@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-coverage/download/karma-coverage-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/karma-coverage/download/karma-coverage-1.1.1.tgz",
+ "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=",
"dev": true,
+ "requires": {
+ "dateformat": "1.0.12",
+ "istanbul": "0.4.5",
+ "lodash": "3.10.1",
+ "minimatch": "3.0.4",
+ "source-map": "0.5.7"
+ },
"dependencies": {
"lodash": {
"version": "3.10.1",
- "from": "lodash@>=3.8.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
}
}
},
"karma-mocha": {
"version": "1.3.0",
- "from": "karma-mocha@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-mocha/download/karma-mocha-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/karma-mocha/download/karma-mocha-1.3.0.tgz",
+ "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
"dev": true,
+ "requires": {
+ "minimist": "1.2.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
- "from": "minimist@1.2.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
- "karma-phantomjs-launcher": {
- "version": "1.0.4",
- "from": "karma-phantomjs-launcher@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-phantomjs-launcher/download/karma-phantomjs-launcher-1.0.4.tgz",
- "dev": true
- },
- "karma-phantomjs-shim": {
- "version": "1.4.0",
- "from": "karma-phantomjs-shim@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-phantomjs-shim/download/karma-phantomjs-shim-1.4.0.tgz",
- "dev": true
- },
"karma-sinon-chai": {
- "version": "1.3.2",
- "from": "karma-sinon-chai@>=1.3.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-sinon-chai/download/karma-sinon-chai-1.3.2.tgz",
- "dev": true
+ "version": "1.3.3",
+ "resolved": "http://registry.npm.taobao.org/karma-sinon-chai/download/karma-sinon-chai-1.3.3.tgz",
+ "integrity": "sha1-pZfltKE2n+ez19dsCe0gYaOOdH8=",
+ "dev": true,
+ "requires": {
+ "lolex": "1.6.0"
+ }
},
"karma-sourcemap-loader": {
"version": "0.3.7",
- "from": "karma-sourcemap-loader@>=0.3.7 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/karma-sourcemap-loader/download/karma-sourcemap-loader-0.3.7.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/karma-sourcemap-loader/download/karma-sourcemap-loader-0.3.7.tgz",
+ "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
},
"karma-spec-reporter": {
"version": "0.0.30",
- "from": "karma-spec-reporter@0.0.30",
- "resolved": "https://registry.npm.taobao.org/karma-spec-reporter/download/karma-spec-reporter-0.0.30.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/karma-spec-reporter/download/karma-spec-reporter-0.0.30.tgz",
+ "integrity": "sha1-0Qtci7RByxxq31Z4X4nTlfLpCTo=",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2"
+ }
},
"karma-webpack": {
- "version": "2.0.4",
- "from": "karma-webpack@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/karma-webpack/download/karma-webpack-2.0.4.tgz",
+ "version": "2.0.6",
+ "resolved": "http://registry.npm.taobao.org/karma-webpack/download/karma-webpack-2.0.6.tgz",
+ "integrity": "sha1-lnkY5ZdQ6+D0CCkmNDX956yBvbQ=",
"dev": true,
+ "requires": {
+ "async": "0.9.2",
+ "loader-utils": "0.2.17",
+ "lodash": "3.10.1",
+ "source-map": "0.5.7",
+ "webpack-dev-middleware": "1.12.2"
+ },
"dependencies": {
"async": {
"version": "0.9.2",
- "from": "async@>=0.9.0 <0.10.0",
- "resolved": "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
"lodash": {
"version": "3.10.1",
- "from": "lodash@>=3.8.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
- "dev": true
- },
- "source-map": {
- "version": "0.1.43",
- "from": "source-map@>=0.1.41 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
"dev": true
}
}
},
- "kew": {
- "version": "0.7.0",
- "from": "kew@>=0.7.0 <0.8.0",
- "resolved": "https://registry.npm.taobao.org/kew/download/kew-0.7.0.tgz",
- "dev": true
- },
"kind-of": {
"version": "3.2.2",
- "from": "kind-of@>=3.0.2 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "dev": true
- },
- "klaw": {
- "version": "1.3.1",
- "from": "klaw@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/klaw/download/klaw-1.3.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
},
"lazy-cache": {
"version": "1.0.4",
- "from": "lazy-cache@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
"dev": true
},
"lcid": {
"version": "1.0.0",
- "from": "lcid@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
},
"levn": {
"version": "0.3.0",
- "from": "levn@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
},
"load-json-file": {
"version": "1.1.0",
- "from": "load-json-file@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
- "dev": true
+ "resolved": "http://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.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
},
"loader-fs-cache": {
"version": "1.0.1",
- "from": "loader-fs-cache@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.1.tgz",
+ "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "0.1.1",
+ "mkdirp": "0.5.1"
+ }
},
"loader-runner": {
"version": "2.3.0",
- "from": "loader-runner@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz",
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
"dev": true
},
"loader-utils": {
"version": "0.2.17",
- "from": "loader-utils@>=0.2.16 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
},
"locate-path": {
"version": "2.0.0",
- "from": "locate-path@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
+ "resolved": "http://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"
+ },
"dependencies": {
"path-exists": {
"version": "3.0.0",
- "from": "path-exists@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
}
}
},
"lodash": {
"version": "4.17.4",
- "from": "lodash@>=4.17.4 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz"
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
},
"lodash._baseassign": {
"version": "3.2.0",
- "from": "lodash._baseassign@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "3.0.1",
+ "lodash.keys": "3.1.2"
+ }
},
"lodash._basecopy": {
"version": "3.0.1",
- "from": "lodash._basecopy@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basecreate": {
"version": "3.0.3",
- "from": "lodash._basecreate@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash._basecreate/download/lodash._basecreate-3.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash._basecreate/download/lodash._basecreate-3.0.3.tgz",
+ "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
"dev": true
},
"lodash._getnative": {
"version": "3.9.1",
- "from": "lodash._getnative@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._isiterateecall": {
"version": "3.0.9",
- "from": "lodash._isiterateecall@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash.camelcase": {
"version": "4.3.0",
- "from": "lodash.camelcase@>=4.3.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
"dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
- "from": "lodash.clonedeep@>=4.5.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.create": {
"version": "3.1.1",
- "from": "lodash.create@3.1.1",
- "resolved": "https://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz",
+ "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "3.2.0",
+ "lodash._basecreate": "3.0.3",
+ "lodash._isiterateecall": "3.0.9"
+ }
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "http://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
"lodash.isarguments": {
"version": "3.1.0",
- "from": "lodash.isarguments@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
"version": "3.0.4",
- "from": "lodash.isarray@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+ },
"lodash.keys": {
"version": "3.1.2",
- "from": "lodash.keys@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "3.9.1",
+ "lodash.isarguments": "3.1.0",
+ "lodash.isarray": "3.0.4"
+ }
},
"lodash.memoize": {
"version": "4.1.2",
- "from": "lodash.memoize@>=4.1.2 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
"lodash.uniq": {
"version": "4.5.0",
- "from": "lodash.uniq@>=4.5.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
"dev": true
},
"log-symbols": {
"version": "1.0.2",
- "from": "log-symbols@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
},
"log4js": {
"version": "0.6.38",
- "from": "log4js@>=0.6.31 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz",
+ "resolved": "http://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz",
+ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "semver": "4.3.6"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
"version": "1.0.34",
- "from": "readable-stream@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"semver": {
"version": "4.3.6",
- "from": "semver@>=4.3.3 <4.4.0",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"string_decoder": {
"version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}
}
},
"lolex": {
"version": "1.6.0",
- "from": "lolex@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/lolex/download/lolex-1.6.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/lolex/download/lolex-1.6.0.tgz",
+ "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=",
"dev": true
},
"longest": {
"version": "1.0.1",
- "from": "longest@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
"dev": true
},
"loose-envify": {
"version": "1.3.1",
- "from": "loose-envify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
},
"loud-rejection": {
"version": "1.6.0",
- "from": "loud-rejection@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
},
"lower-case": {
"version": "1.1.4",
- "from": "lower-case@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
"dev": true
},
- "lowercase-keys": {
- "version": "1.0.0",
- "from": "lowercase-keys@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz"
- },
"lru-cache": {
"version": "4.1.1",
- "from": "lru-cache@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz",
+ "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
},
"macaddress": {
"version": "0.2.8",
- "from": "macaddress@>=0.2.8 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/macaddress/download/macaddress-0.2.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/macaddress/download/macaddress-0.2.8.tgz",
+ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
"dev": true
},
"map-obj": {
"version": "1.0.1",
- "from": "map-obj@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
"math-expression-evaluator": {
"version": "1.2.17",
- "from": "math-expression-evaluator@>=1.2.14 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz",
+ "resolved": "http://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
"dev": true
},
"md5.js": {
"version": "1.3.4",
- "from": "md5.js@>=1.3.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.4.tgz",
+ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
"dev": true,
+ "requires": {
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3"
+ },
"dependencies": {
"hash-base": {
"version": "3.0.4",
- "from": "hash-base@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
}
}
},
"media-typer": {
"version": "0.3.0",
- "from": "media-typer@0.3.0",
- "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
"memory-fs": {
"version": "0.4.1",
- "from": "memory-fs@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.6",
+ "readable-stream": "2.3.3"
+ }
},
"meow": {
"version": "3.7.0",
- "from": "meow@>=3.3.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
+ "requires": {
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
- "from": "minimist@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
}
},
"merge-descriptors": {
"version": "1.0.1",
- "from": "merge-descriptors@1.0.1",
- "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
"methods": {
"version": "1.1.2",
- "from": "methods@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
},
"micromatch": {
"version": "2.3.11",
- "from": "micromatch@>=2.3.11 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ }
},
"miller-rabin": {
- "version": "4.0.0",
- "from": "miller-rabin@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.0.tgz",
- "dev": true
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
+ "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0"
+ }
},
"mime": {
- "version": "1.3.4",
- "from": "mime@1.3.4",
- "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz",
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz",
+ "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=",
"dev": true
},
"mime-db": {
"version": "1.30.0",
- "from": "mime-db@>=1.30.0 <1.31.0",
- "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.30.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.30.0.tgz",
+ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
"dev": true
},
"mime-types": {
"version": "2.1.17",
- "from": "mime-types@>=2.1.16 <2.2.0",
- "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.30.0"
+ }
},
"mimic-fn": {
"version": "1.1.0",
- "from": "mimic-fn@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz",
+ "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
"dev": true
},
- "mimic-response": {
- "version": "1.0.0",
- "from": "mimic-response@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.0.tgz"
- },
"minimalistic-assert": {
"version": "1.0.0",
- "from": "minimalistic-assert@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz",
+ "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
"dev": true
},
"minimalistic-crypto-utils": {
"version": "1.0.1",
- "from": "minimalistic-crypto-utils@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
"minimatch": {
"version": "3.0.4",
- "from": "minimatch@>=3.0.4 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
},
"minimist": {
"version": "0.0.8",
- "from": "minimist@0.0.8",
- "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
"version": "0.5.1",
- "from": "mkdirp@>=0.5.1 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
},
"mocha": {
"version": "3.5.3",
- "from": "mocha@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-3.5.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/mocha/download/mocha-3.5.3.tgz",
+ "integrity": "sha1-HgSA/jbS2lhY0etqzDhBiybqog0=",
"dev": true,
+ "requires": {
+ "browser-stdout": "1.3.0",
+ "commander": "2.9.0",
+ "debug": "2.6.8",
+ "diff": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.1",
+ "growl": "1.9.2",
+ "he": "1.1.1",
+ "json3": "3.3.2",
+ "lodash.create": "3.1.1",
+ "mkdirp": "0.5.1",
+ "supports-color": "3.1.2"
+ },
"dependencies": {
"commander": {
"version": "2.9.0",
- "from": "commander@2.9.0",
- "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"glob": {
"version": "7.1.1",
- "from": "glob@7.1.1",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"supports-color": {
"version": "3.1.2",
- "from": "supports-color@3.1.2",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz",
+ "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
}
}
},
- "mockjs": {
- "version": "1.0.1-beta3",
- "from": "mockjs@>=1.0.1-beta3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/mockjs/download/mockjs-1.0.1-beta3.tgz"
- },
"ms": {
"version": "2.0.0",
- "from": "ms@2.0.0",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz"
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"mute-stream": {
"version": "0.0.5",
- "from": "mute-stream@0.0.5",
- "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.5.tgz",
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
"dev": true
},
"native-promise-only": {
"version": "0.8.1",
- "from": "native-promise-only@>=0.8.1 <0.9.0",
- "resolved": "https://registry.npm.taobao.org/native-promise-only/download/native-promise-only-0.8.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/native-promise-only/download/native-promise-only-0.8.1.tgz",
+ "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
"dev": true
},
"natural-compare": {
"version": "1.4.0",
- "from": "natural-compare@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"ncname": {
"version": "1.0.0",
- "from": "ncname@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz",
+ "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=",
+ "dev": true,
+ "requires": {
+ "xml-char-classes": "1.0.0"
+ }
},
"negotiator": {
"version": "0.6.1",
- "from": "negotiator@0.6.1",
- "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
},
"no-case": {
"version": "2.3.2",
- "from": "no-case@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz",
- "dev": true
- },
- "node-dir": {
- "version": "0.1.17",
- "from": "node-dir@>=0.1.10 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/node-dir/download/node-dir-0.1.17.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz",
+ "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=",
+ "dev": true,
+ "requires": {
+ "lower-case": "1.1.4"
+ }
},
"node-libs-browser": {
- "version": "2.0.0",
- "from": "node-libs-browser@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.0.0.tgz",
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=",
"dev": true,
- "dependencies": {
- "string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.25 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
- "dev": true
- }
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.2.0",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.12.0",
+ "domain-browser": "1.1.7",
+ "events": "1.1.1",
+ "https-browserify": "1.0.0",
+ "os-browserify": "0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.3",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.7.2",
+ "string_decoder": "1.0.3",
+ "timers-browserify": "2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
}
},
"nopt": {
"version": "3.0.6",
- "from": "nopt@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.9"
+ }
},
"normalize-package-data": {
"version": "2.4.0",
- "from": "normalize-package-data@>=2.3.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.4.1",
+ "validate-npm-package-license": "3.0.1"
+ }
},
"normalize-path": {
"version": "2.1.1",
- "from": "normalize-path@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
},
"normalize-range": {
"version": "0.1.2",
- "from": "normalize-range@>=0.1.2 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"normalize-url": {
"version": "1.9.1",
- "from": "normalize-url@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "prepend-http": "1.0.4",
+ "query-string": "4.3.4",
+ "sort-keys": "1.1.2"
+ }
},
"nth-check": {
"version": "1.0.1",
- "from": "nth-check@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "dev": true,
+ "requires": {
+ "boolbase": "1.0.0"
+ }
+ },
+ "null-check": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz",
+ "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
"dev": true
},
"num2fraction": {
"version": "1.2.2",
- "from": "num2fraction@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"number-is-nan": {
"version": "1.0.1",
- "from": "number-is-nan@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "from": "oauth-sign@>=0.8.1 <0.9.0",
- "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
- "from": "object-assign@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"object-component": {
"version": "0.0.3",
- "from": "object-component@0.0.3",
- "resolved": "https://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
"dev": true
},
"object-hash": {
- "version": "1.1.8",
- "from": "object-hash@>=1.1.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.1.8.tgz",
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/object-hash/download/object-hash-1.2.0.tgz",
+ "integrity": "sha1-6Wrw6WmBmWodR/iOrY908evEQis=",
"dev": true
},
"object.omit": {
"version": "2.0.1",
- "from": "object.omit@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
},
"on-finished": {
"version": "2.3.0",
- "from": "on-finished@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
- "dev": true
+ "resolved": "http://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",
- "from": "once@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
},
"onetime": {
"version": "1.1.0",
- "from": "onetime@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
"dev": true
},
+ "ono": {
+ "version": "4.0.2",
+ "resolved": "http://registry.npm.taobao.org/ono/download/ono-4.0.2.tgz",
+ "integrity": "sha1-Lhj/fCG56sDKt5T3owglBwANbTY=",
+ "requires": {
+ "format-util": "1.0.3"
+ }
+ },
"opener": {
"version": "1.4.3",
- "from": "opener@>=1.4.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.4.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/opener/download/opener-1.4.3.tgz",
+ "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
"dev": true
},
"opn": {
"version": "4.0.2",
- "from": "opn@>=4.0.2 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz",
+ "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "pinkie-promise": "2.0.1"
+ }
},
"optimist": {
"version": "0.6.1",
- "from": "optimist@>=0.6.1 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.3"
+ },
"dependencies": {
"wordwrap": {
"version": "0.0.3",
- "from": "wordwrap@>=0.0.2 <0.1.0",
- "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
}
}
},
"optimize-css-assets-webpack-plugin": {
"version": "1.3.2",
- "from": "optimize-css-assets-webpack-plugin@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-1.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-1.3.2.tgz",
+ "integrity": "sha1-6ydFbiHu+9gIDzHoNoxZaE5YWiw=",
"dev": true,
+ "requires": {
+ "cssnano": "3.10.0",
+ "underscore": "1.8.3",
+ "webpack-sources": "0.1.5"
+ },
"dependencies": {
"source-list-map": {
"version": "0.1.8",
- "from": "source-list-map@>=0.1.7 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-0.1.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
"dev": true
},
"webpack-sources": {
"version": "0.1.5",
- "from": "webpack-sources@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-0.1.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-0.1.5.tgz",
+ "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "0.1.8",
+ "source-map": "0.5.7"
+ }
}
}
},
"optionator": {
"version": "0.8.2",
- "from": "optionator@>=0.8.2 <0.9.0",
- "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "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",
+ "wordwrap": "1.0.0"
+ }
},
"options": {
"version": "0.0.6",
- "from": "options@>=0.0.5",
- "resolved": "https://registry.npm.taobao.org/options/download/options-0.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/options/download/options-0.0.6.tgz",
+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
"dev": true
},
"ora": {
"version": "1.3.0",
- "from": "ora@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/ora/download/ora-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/ora/download/ora-1.3.0.tgz",
+ "integrity": "sha1-gAeN0rkqk0r2ajrXKluRBpTt5Ro=",
"dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "cli-cursor": "2.1.0",
+ "cli-spinners": "1.1.0",
+ "log-symbols": "1.0.2"
+ },
"dependencies": {
"cli-cursor": {
"version": "2.1.0",
- "from": "cli-cursor@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "2.0.0"
+ }
},
"onetime": {
"version": "2.0.1",
- "from": "onetime@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "1.1.0"
+ }
},
"restore-cursor": {
"version": "2.0.0",
- "from": "restore-cursor@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
}
}
},
"os-browserify": {
- "version": "0.2.1",
- "from": "os-browserify@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.2.1.tgz",
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
"os-homedir": {
"version": "1.0.2",
- "from": "os-homedir@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": {
"version": "1.4.0",
- "from": "os-locale@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "1.0.0"
+ }
},
"os-tmpdir": {
"version": "1.0.2",
- "from": "os-tmpdir@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
- "p-cancelable": {
- "version": "0.3.0",
- "from": "p-cancelable@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-0.3.0.tgz"
- },
- "p-finally": {
- "version": "1.0.0",
- "from": "p-finally@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz"
- },
"p-limit": {
"version": "1.1.0",
- "from": "p-limit@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz",
+ "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
"dev": true
},
"p-locate": {
"version": "2.0.0",
- "from": "p-locate@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
- "dev": true
- },
- "p-timeout": {
- "version": "1.2.0",
- "from": "p-timeout@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/p-timeout/download/p-timeout-1.2.0.tgz"
+ "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "1.1.0"
+ }
},
"pako": {
- "version": "0.2.9",
- "from": "pako@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/pako/download/pako-0.2.9.tgz",
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.6.tgz",
+ "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=",
"dev": true
},
"param-case": {
"version": "2.1.1",
- "from": "param-case@>=2.1.0 <2.2.0",
- "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true,
+ "requires": {
+ "no-case": "2.3.2"
+ }
},
"parse-asn1": {
"version": "5.1.0",
- "from": "parse-asn1@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.0.tgz",
+ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.9.2",
+ "browserify-aes": "1.1.1",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.3",
+ "pbkdf2": "3.0.14"
+ }
},
"parse-glob": {
"version": "3.0.4",
- "from": "parse-glob@>=3.0.4 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
},
"parse-json": {
"version": "2.2.0",
- "from": "parse-json@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
},
"parsejson": {
"version": "0.0.3",
- "from": "parsejson@0.0.3",
- "resolved": "https://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz",
+ "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
},
"parseqs": {
"version": "0.0.5",
- "from": "parseqs@0.0.5",
- "resolved": "https://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz",
+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
},
"parseuri": {
"version": "0.0.5",
- "from": "parseuri@0.0.5",
- "resolved": "https://registry.npm.taobao.org/parseuri/download/parseuri-0.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/parseuri/download/parseuri-0.0.5.tgz",
+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
},
"parseurl": {
"version": "1.3.2",
- "from": "parseurl@>=1.3.1 <1.4.0",
- "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
},
"path-browserify": {
"version": "0.0.0",
- "from": "path-browserify@0.0.0",
- "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
"dev": true
},
"path-exists": {
"version": "2.1.0",
- "from": "path-exists@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"path-is-absolute": {
"version": "1.0.1",
- "from": "path-is-absolute@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
"version": "1.0.2",
- "from": "path-is-inside@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
"dev": true
},
"path-parse": {
"version": "1.0.5",
- "from": "path-parse@>=1.0.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
"path-to-regexp": {
"version": "0.1.7",
- "from": "path-to-regexp@0.1.7",
- "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
"dev": true
},
"path-type": {
"version": "1.1.0",
- "from": "path-type@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
},
"pbkdf2": {
"version": "3.0.14",
- "from": "pbkdf2@>=3.0.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.14.tgz",
- "dev": true
- },
- "pend": {
- "version": "1.2.0",
- "from": "pend@>=1.2.0 <1.3.0",
- "resolved": "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz",
- "dev": true
- },
- "performance-now": {
- "version": "0.2.0",
- "from": "performance-now@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
- "dev": true
- },
- "phantomjs-prebuilt": {
- "version": "2.1.15",
- "from": "phantomjs-prebuilt@>=2.1.14 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/phantomjs-prebuilt/download/phantomjs-prebuilt-2.1.15.tgz",
+ "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.14.tgz",
+ "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=",
"dev": true,
- "dependencies": {
- "fs-extra": {
- "version": "1.0.0",
- "from": "fs-extra@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-1.0.0.tgz",
- "dev": true
- },
- "which": {
- "version": "1.2.14",
- "from": "which@>=1.2.10 <1.3.0",
- "resolved": "https://registry.npm.taobao.org/which/download/which-1.2.14.tgz",
- "dev": true
- }
+ "requires": {
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.9"
}
},
"pify": {
"version": "2.3.0",
- "from": "pify@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"pinkie": {
"version": "2.0.4",
- "from": "pinkie@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
- "from": "pinkie-promise@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
},
"pkg-dir": {
"version": "1.0.0",
- "from": "pkg-dir@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2"
+ }
},
"pluralize": {
"version": "1.2.1",
- "from": "pluralize@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz",
+ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
"dev": true
},
- "popper.js": {
- "version": "0.6.4",
- "from": "popper.js@>=0.6.4 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-0.6.4.tgz"
- },
"postcss": {
- "version": "5.2.17",
- "from": "postcss@>=5.2.16 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.17.tgz",
- "dev": true
+ "version": "5.2.18",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz",
+ "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.4.0",
+ "source-map": "0.5.7",
+ "supports-color": "3.2.3"
+ }
},
"postcss-calc": {
"version": "5.3.1",
- "from": "postcss-calc@>=5.2.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-message-helpers": "2.0.0",
+ "reduce-css-calc": "1.3.0"
+ }
},
"postcss-colormin": {
"version": "2.2.2",
- "from": "postcss-colormin@>=2.1.8 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "1.1.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-convert-values": {
"version": "2.6.1",
- "from": "postcss-convert-values@>=2.3.4 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-discard-comments": {
"version": "2.0.4",
- "from": "postcss-discard-comments@>=2.0.4 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-discard-duplicates": {
"version": "2.1.0",
- "from": "postcss-discard-duplicates@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-discard-empty": {
"version": "2.1.0",
- "from": "postcss-discard-empty@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-discard-overridden": {
"version": "0.1.1",
- "from": "postcss-discard-overridden@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-discard-unused": {
"version": "2.2.3",
- "from": "postcss-discard-unused@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
},
"postcss-filter-plugins": {
"version": "2.0.2",
- "from": "postcss-filter-plugins@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.2.tgz",
+ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "uniqid": "4.1.1"
+ }
},
"postcss-load-config": {
"version": "1.2.0",
- "from": "postcss-load-config@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz",
+ "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "2.2.2",
+ "object-assign": "4.1.1",
+ "postcss-load-options": "1.2.0",
+ "postcss-load-plugins": "2.3.0"
+ }
},
"postcss-load-options": {
"version": "1.2.0",
- "from": "postcss-load-options@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz",
+ "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "2.2.2",
+ "object-assign": "4.1.1"
+ }
},
"postcss-load-plugins": {
"version": "2.3.0",
- "from": "postcss-load-plugins@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz",
+ "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "2.2.2",
+ "object-assign": "4.1.1"
+ }
},
"postcss-merge-idents": {
"version": "2.1.7",
- "from": "postcss-merge-idents@>=2.1.5 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-merge-longhand": {
"version": "2.0.2",
- "from": "postcss-merge-longhand@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-merge-rules": {
"version": "2.1.2",
- "from": "postcss-merge-rules@>=2.0.3 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-api": "1.6.1",
+ "postcss": "5.2.18",
+ "postcss-selector-parser": "2.2.3",
+ "vendors": "1.0.1"
+ }
},
"postcss-message-helpers": {
"version": "2.0.0",
- "from": "postcss-message-helpers@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
"dev": true
},
"postcss-minify-font-values": {
"version": "1.0.5",
- "from": "postcss-minify-font-values@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-minify-gradients": {
"version": "1.0.5",
- "from": "postcss-minify-gradients@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-minify-params": {
"version": "1.2.2",
- "from": "postcss-minify-params@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0",
+ "uniqs": "2.0.0"
+ }
},
"postcss-minify-selectors": {
"version": "2.1.1",
- "from": "postcss-minify-selectors@>=2.0.4 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-selector-parser": "2.2.3"
+ }
},
"postcss-modules-extract-imports": {
"version": "1.1.0",
- "from": "postcss-modules-extract-imports@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz",
+ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
"dev": true,
+ "requires": {
+ "postcss": "6.0.14"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"postcss": {
- "version": "6.0.11",
- "from": "postcss@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.11.tgz",
+ "version": "6.0.14",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz",
+ "integrity": "sha1-VTTHIRRznnXQr88BfbhTCZ9WKIU=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
"postcss-modules-local-by-default": {
"version": "1.2.0",
- "from": "postcss-modules-local-by-default@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
"dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.14"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"postcss": {
- "version": "6.0.11",
- "from": "postcss@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.11.tgz",
+ "version": "6.0.14",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz",
+ "integrity": "sha1-VTTHIRRznnXQr88BfbhTCZ9WKIU=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
"postcss-modules-scope": {
"version": "1.1.0",
- "from": "postcss-modules-scope@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
"dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.14"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"postcss": {
- "version": "6.0.11",
- "from": "postcss@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.11.tgz",
+ "version": "6.0.14",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz",
+ "integrity": "sha1-VTTHIRRznnXQr88BfbhTCZ9WKIU=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
"postcss-modules-values": {
"version": "1.3.0",
- "from": "postcss-modules-values@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
"dev": true,
+ "requires": {
+ "icss-replace-symbols": "1.1.0",
+ "postcss": "6.0.14"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"postcss": {
- "version": "6.0.11",
- "from": "postcss@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.11.tgz",
+ "version": "6.0.14",
+ "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz",
+ "integrity": "sha1-VTTHIRRznnXQr88BfbhTCZ9WKIU=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "source-map": "0.6.1",
+ "supports-color": "4.5.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.4.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
"postcss-normalize-charset": {
"version": "1.1.1",
- "from": "postcss-normalize-charset@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-normalize-url": {
"version": "3.0.8",
- "from": "postcss-normalize-url@>=3.0.7 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "2.1.0",
+ "normalize-url": "1.9.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-ordered-values": {
"version": "2.2.3",
- "from": "postcss-ordered-values@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-reduce-idents": {
"version": "2.4.0",
- "from": "postcss-reduce-idents@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-reduce-initial": {
"version": "1.0.1",
- "from": "postcss-reduce-initial@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.18"
+ }
},
"postcss-reduce-transforms": {
"version": "1.0.4",
- "from": "postcss-reduce-transforms@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0"
+ }
},
"postcss-selector-parser": {
"version": "2.2.3",
- "from": "postcss-selector-parser@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "1.0.2",
+ "indexes-of": "1.0.1",
+ "uniq": "1.0.1"
+ }
},
"postcss-svgo": {
"version": "2.1.6",
- "from": "postcss-svgo@>=2.1.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "2.1.0",
+ "postcss": "5.2.18",
+ "postcss-value-parser": "3.3.0",
+ "svgo": "0.7.2"
+ }
},
"postcss-unique-selectors": {
"version": "2.0.2",
- "from": "postcss-unique-selectors@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
},
"postcss-value-parser": {
"version": "3.3.0",
- "from": "postcss-value-parser@>=3.2.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
"dev": true
},
"postcss-zindex": {
"version": "2.2.0",
- "from": "postcss-zindex@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.18",
+ "uniqs": "2.0.0"
+ }
},
"prelude-ls": {
"version": "1.1.2",
- "from": "prelude-ls@>=1.1.2 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
"prepend-http": {
"version": "1.0.4",
- "from": "prepend-http@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz"
+ "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
},
"preserve": {
"version": "0.2.0",
- "from": "preserve@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
"dev": true
},
"pretty-error": {
"version": "2.1.1",
- "from": "pretty-error@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz",
+ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "dev": true,
+ "requires": {
+ "renderkid": "2.0.1",
+ "utila": "0.4.0"
+ }
},
"private": {
- "version": "0.1.7",
- "from": "private@>=0.1.7 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.7.tgz",
+ "version": "0.1.8",
+ "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+ "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
"dev": true
},
"process": {
"version": "0.11.10",
- "from": "process@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+ "resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
},
"process-nextick-args": {
"version": "1.0.7",
- "from": "process-nextick-args@>=1.0.6 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true
},
"progress": {
"version": "1.1.8",
- "from": "progress@>=1.1.8 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
"promise": {
"version": "7.3.1",
- "from": "promise@>=7.0.1 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
+ "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+ "dev": true,
+ "requires": {
+ "asap": "2.0.6"
+ }
},
"proto-list": {
"version": "1.2.4",
- "from": "proto-list@>=1.2.1 <1.3.0",
- "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz",
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
"dev": true
},
"proxy-addr": {
- "version": "1.1.5",
- "from": "proxy-addr@>=1.1.5 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz",
- "dev": true
+ "version": "2.0.2",
+ "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.2.tgz",
+ "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
+ "dev": true,
+ "requires": {
+ "forwarded": "0.1.2",
+ "ipaddr.js": "1.5.2"
+ }
},
"prr": {
- "version": "0.0.0",
- "from": "prr@>=0.0.0 <0.1.0",
- "resolved": "https://registry.npm.taobao.org/prr/download/prr-0.0.0.tgz",
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
- "from": "pseudomap@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"public-encrypt": {
"version": "4.0.0",
- "from": "public-encrypt@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz",
+ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "parse-asn1": "5.1.0",
+ "randombytes": "2.0.5"
+ }
},
"pug": {
"version": "2.0.0-rc.4",
- "from": "pug@>=2.0.0-rc.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug/download/pug-2.0.0-rc.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug/download/pug-2.0.0-rc.4.tgz",
+ "integrity": "sha1-t7CPZZm9UwJWgEK3Q2mE+yjIChM=",
+ "dev": true,
+ "requires": {
+ "pug-code-gen": "2.0.0",
+ "pug-filters": "2.1.5",
+ "pug-lexer": "3.1.0",
+ "pug-linker": "3.0.3",
+ "pug-load": "2.0.9",
+ "pug-parser": "4.0.0",
+ "pug-runtime": "2.0.3",
+ "pug-strip-comments": "1.0.2"
+ }
},
"pug-attrs": {
"version": "2.0.2",
- "from": "pug-attrs@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-attrs/download/pug-attrs-2.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-attrs/download/pug-attrs-2.0.2.tgz",
+ "integrity": "sha1-i+KyIlVo/6ddG4Zpgr/59BEa/8s=",
+ "dev": true,
+ "requires": {
+ "constantinople": "3.1.0",
+ "js-stringify": "1.0.2",
+ "pug-runtime": "2.0.3"
+ }
},
"pug-code-gen": {
"version": "2.0.0",
- "from": "pug-code-gen@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-code-gen/download/pug-code-gen-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-code-gen/download/pug-code-gen-2.0.0.tgz",
+ "integrity": "sha1-lq6jmp5i8exdK2pbQqKdUoxwtD0=",
+ "dev": true,
+ "requires": {
+ "constantinople": "3.1.0",
+ "doctypes": "1.1.0",
+ "js-stringify": "1.0.2",
+ "pug-attrs": "2.0.2",
+ "pug-error": "1.3.2",
+ "pug-runtime": "2.0.3",
+ "void-elements": "2.0.1",
+ "with": "5.1.1"
+ }
},
"pug-error": {
"version": "1.3.2",
- "from": "pug-error@>=1.3.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-error/download/pug-error-1.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/pug-error/download/pug-error-1.3.2.tgz",
+ "integrity": "sha1-U659nSm7A89WRJOgJhCfVMR/XyY=",
"dev": true
},
"pug-filters": {
"version": "2.1.5",
- "from": "pug-filters@>=2.1.5 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-filters/download/pug-filters-2.1.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/pug-filters/download/pug-filters-2.1.5.tgz",
+ "integrity": "sha1-Zr9ugNl/vvgpurCqNe3f8z/JZPM=",
"dev": true,
+ "requires": {
+ "clean-css": "3.4.28",
+ "constantinople": "3.1.0",
+ "jstransformer": "1.0.0",
+ "pug-error": "1.3.2",
+ "pug-walk": "1.1.5",
+ "resolve": "1.5.0",
+ "uglify-js": "2.8.29"
+ },
"dependencies": {
"clean-css": {
"version": "3.4.28",
- "from": "clean-css@>=3.3.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz",
+ "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
+ "dev": true,
+ "requires": {
+ "commander": "2.8.1",
+ "source-map": "0.4.4"
+ }
},
"commander": {
"version": "2.8.1",
- "from": "commander@>=2.8.0 <2.9.0",
- "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": "1.0.1"
+ }
},
"source-map": {
"version": "0.4.4",
- "from": "source-map@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
},
"uglify-js": {
"version": "2.8.29",
- "from": "uglify-js@>=2.6.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"source-map": {
"version": "0.5.7",
- "from": "source-map@~0.5.1",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
}
@@ -4741,1681 +6572,2243 @@
},
"pug-lexer": {
"version": "3.1.0",
- "from": "pug-lexer@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-lexer/download/pug-lexer-3.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/pug-lexer/download/pug-lexer-3.1.0.tgz",
+ "integrity": "sha1-/QhzdtSmdbT1n4/vQiiDQ06VgaI=",
"dev": true,
+ "requires": {
+ "character-parser": "2.2.0",
+ "is-expression": "3.0.0",
+ "pug-error": "1.3.2"
+ },
"dependencies": {
"acorn": {
"version": "4.0.13",
- "from": "acorn@>=4.0.2 <4.1.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
},
"is-expression": {
"version": "3.0.0",
- "from": "is-expression@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/is-expression/download/is-expression-3.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/is-expression/download/is-expression-3.0.0.tgz",
+ "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13",
+ "object-assign": "4.1.1"
+ }
}
}
},
"pug-linker": {
"version": "3.0.3",
- "from": "pug-linker@>=3.0.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-linker/download/pug-linker-3.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-linker/download/pug-linker-3.0.3.tgz",
+ "integrity": "sha1-JfWet1AjfwNo5ZwzeXZCKcAYnEE=",
+ "dev": true,
+ "requires": {
+ "pug-error": "1.3.2",
+ "pug-walk": "1.1.5"
+ }
},
"pug-load": {
"version": "2.0.9",
- "from": "pug-load@>=2.0.9 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-load/download/pug-load-2.0.9.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-load/download/pug-load-2.0.9.tgz",
+ "integrity": "sha1-7iF8kUzB2TJNRLhsMtHfJB023no=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "pug-walk": "1.1.5"
+ }
},
"pug-loader": {
"version": "2.3.0",
- "from": "pug-loader@>=2.3.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-loader/download/pug-loader-2.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-loader/download/pug-loader-2.3.0.tgz",
+ "integrity": "sha1-uGkpRBOiIY8KfdkqlT5ZIoNnbBA=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "0.2.17",
+ "pug-walk": "1.1.5",
+ "resolve": "1.5.0"
+ }
},
"pug-parser": {
"version": "4.0.0",
- "from": "pug-parser@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-parser/download/pug-parser-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-parser/download/pug-parser-4.0.0.tgz",
+ "integrity": "sha1-yfUjIuTqvkv1vuumTtGDc7tieAE=",
+ "dev": true,
+ "requires": {
+ "pug-error": "1.3.2",
+ "token-stream": "0.0.1"
+ }
},
"pug-runtime": {
"version": "2.0.3",
- "from": "pug-runtime@>=2.0.3 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-runtime/download/pug-runtime-2.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/pug-runtime/download/pug-runtime-2.0.3.tgz",
+ "integrity": "sha1-mBYmB7D86eJU1CfzOYelrucWi9o=",
"dev": true
},
"pug-strip-comments": {
"version": "1.0.2",
- "from": "pug-strip-comments@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-strip-comments/download/pug-strip-comments-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/pug-strip-comments/download/pug-strip-comments-1.0.2.tgz",
+ "integrity": "sha1-0xOvoBvMN0mA4TmeI+vy65vchRM=",
+ "dev": true,
+ "requires": {
+ "pug-error": "1.3.2"
+ }
},
"pug-walk": {
"version": "1.1.5",
- "from": "pug-walk@>=1.1.5 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/pug-walk/download/pug-walk-1.1.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/pug-walk/download/pug-walk-1.1.5.tgz",
+ "integrity": "sha1-kOlDrLz3Ah5kVM8bMiRYkcum+FE=",
"dev": true
},
"punycode": {
"version": "1.4.1",
- "from": "punycode@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"q": {
- "version": "1.5.0",
- "from": "q@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.0.tgz",
+ "version": "1.5.1",
+ "resolved": "http://registry.npm.taobao.org/q/download/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
"dev": true
},
"qjobs": {
"version": "1.1.5",
- "from": "qjobs@>=1.1.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/qjobs/download/qjobs-1.1.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/qjobs/download/qjobs-1.1.5.tgz",
+ "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=",
"dev": true
},
"qs": {
"version": "6.5.1",
- "from": "qs@>=6.5.1 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz"
+ "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz",
+ "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
+ "dev": true
},
"query-string": {
"version": "4.3.4",
- "from": "query-string@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ }
},
"querystring": {
"version": "0.2.0",
- "from": "querystring@0.2.0",
- "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
"dev": true
},
"querystring-es3": {
"version": "0.2.1",
- "from": "querystring-es3@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
+ "randexp": {
+ "version": "0.4.6",
+ "resolved": "http://registry.npm.taobao.org/randexp/download/randexp-0.4.6.tgz",
+ "integrity": "sha1-6YatXl4x2uE93W97MBmqfIf2DKM=",
+ "requires": {
+ "discontinuous-range": "1.0.0",
+ "ret": "0.1.15"
+ }
+ },
"randomatic": {
"version": "1.1.7",
- "from": "randomatic@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz",
+ "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
"dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
"dependencies": {
"is-number": {
"version": "3.0.0",
- "from": "is-number@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
- "from": "kind-of@^3.0.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
- "dev": true
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
"kind-of": {
"version": "4.0.0",
- "from": "kind-of@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
}
}
},
"randombytes": {
"version": "2.0.5",
- "from": "randombytes@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.5.tgz",
+ "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.3",
+ "resolved": "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.3.tgz",
+ "integrity": "sha1-uWt99YfwHdkXJsQY8wVTsUGOPWI=",
+ "dev": true,
+ "requires": {
+ "randombytes": "2.0.5",
+ "safe-buffer": "5.1.1"
+ }
},
"range-parser": {
"version": "1.2.0",
- "from": "range-parser@>=1.2.0 <1.3.0",
- "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
"dev": true
},
"raw-body": {
"version": "2.3.2",
- "from": "raw-body@2.3.2",
- "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ }
},
"read-pkg": {
"version": "1.1.0",
- "from": "read-pkg@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
},
"read-pkg-up": {
"version": "1.0.1",
- "from": "read-pkg-up@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
- "dev": true
+ "resolved": "http://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.1.2",
+ "read-pkg": "1.1.0"
+ }
},
"readable-stream": {
"version": "2.3.3",
- "from": "readable-stream@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz",
+ "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ }
},
"readdirp": {
"version": "2.1.0",
- "from": "readdirp@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.3.3",
+ "set-immediate-shim": "1.0.1"
+ }
},
"readline2": {
"version": "1.0.1",
- "from": "readline2@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/readline2/download/readline2-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/readline2/download/readline2-1.0.1.tgz",
+ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "mute-stream": "0.0.5"
+ }
},
"rechoir": {
"version": "0.6.2",
- "from": "rechoir@>=0.6.2 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "1.5.0"
+ }
},
"redent": {
"version": "1.0.0",
- "from": "redent@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
+ }
},
"reduce-css-calc": {
"version": "1.3.0",
- "from": "reduce-css-calc@>=1.2.6 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
"dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "math-expression-evaluator": "1.2.17",
+ "reduce-function-call": "1.0.2"
+ },
"dependencies": {
"balanced-match": {
"version": "0.4.2",
- "from": "balanced-match@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
"dev": true
}
}
},
"reduce-function-call": {
"version": "1.0.2",
- "from": "reduce-function-call@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
"dev": true,
+ "requires": {
+ "balanced-match": "0.4.2"
+ },
"dependencies": {
"balanced-match": {
"version": "0.4.2",
- "from": "balanced-match@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
"dev": true
}
}
},
"reflect-metadata": {
"version": "0.1.10",
- "from": "reflect-metadata@>=0.1.9 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.10.tgz"
+ "resolved": "http://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.10.tgz",
+ "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo="
},
"regenerate": {
"version": "1.3.3",
- "from": "regenerate@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz",
+ "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=",
"dev": true
},
"regenerator-runtime": {
- "version": "0.11.0",
- "from": "regenerator-runtime@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.0.tgz"
+ "version": "0.11.1",
+ "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
},
"regenerator-transform": {
"version": "0.10.1",
- "from": "regenerator-transform@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "private": "0.1.8"
+ }
},
"regex-cache": {
"version": "0.4.4",
- "from": "regex-cache@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz",
+ "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3"
+ }
},
"regexpu-core": {
"version": "2.0.0",
- "from": "regexpu-core@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.3",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
},
"regjsgen": {
"version": "0.2.0",
- "from": "regjsgen@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
},
"regjsparser": {
"version": "0.1.5",
- "from": "regjsparser@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+ "resolved": "http://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",
- "from": "jsesc@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
}
},
"relateurl": {
"version": "0.2.7",
- "from": "relateurl@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
"dev": true
},
"remove-trailing-separator": {
"version": "1.1.0",
- "from": "remove-trailing-separator@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
"dev": true
},
"renderkid": {
"version": "2.0.1",
- "from": "renderkid@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/renderkid/download/renderkid-2.0.1.tgz",
+ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
"dev": true,
+ "requires": {
+ "css-select": "1.2.0",
+ "dom-converter": "0.1.4",
+ "htmlparser2": "3.3.0",
+ "strip-ansi": "3.0.1",
+ "utila": "0.3.3"
+ },
"dependencies": {
"domhandler": {
"version": "2.1.0",
- "from": "domhandler@>=2.1.0 <2.2.0",
- "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.1.0.tgz",
+ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0"
+ }
},
"domutils": {
"version": "1.1.6",
- "from": "domutils@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.1.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.1.6.tgz",
+ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0"
+ }
},
"htmlparser2": {
"version": "3.3.0",
- "from": "htmlparser2@>=3.3.0 <3.4.0",
- "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.3.0.tgz",
+ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1.3.0",
+ "domhandler": "2.1.0",
+ "domutils": "1.1.6",
+ "readable-stream": "1.0.34"
+ }
},
"isarray": {
"version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"readable-stream": {
"version": "1.0.34",
- "from": "readable-stream@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
},
"string_decoder": {
"version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"utila": {
"version": "0.3.3",
- "from": "utila@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
"dev": true
}
}
},
"repeat-element": {
"version": "1.1.2",
- "from": "repeat-element@>=1.1.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true
},
"repeat-string": {
"version": "1.6.1",
- "from": "repeat-string@>=1.5.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"repeating": {
"version": "2.0.1",
- "from": "repeating@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
- "dev": true
- },
- "request": {
- "version": "2.81.0",
- "from": "request@>=2.81.0 <2.82.0",
- "resolved": "https://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
- "dependencies": {
- "qs": {
- "version": "6.4.0",
- "from": "qs@>=6.4.0 <6.5.0",
- "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz",
- "dev": true
- }
+ "requires": {
+ "is-finite": "1.0.2"
}
},
- "request-progress": {
- "version": "2.0.1",
- "from": "request-progress@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npm.taobao.org/request-progress/download/request-progress-2.0.1.tgz",
- "dev": true
- },
"require-directory": {
"version": "2.1.1",
- "from": "require-directory@>=2.1.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-from-string": {
"version": "1.2.1",
- "from": "require-from-string@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz",
+ "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
"dev": true
},
"require-main-filename": {
"version": "1.0.1",
- "from": "require-main-filename@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
"require-uncached": {
"version": "1.0.3",
- "from": "require-uncached@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ }
},
"requires-port": {
"version": "1.0.0",
- "from": "requires-port@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
"resolve": {
- "version": "1.4.0",
- "from": "resolve@>=1.1.6 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.4.0.tgz",
- "dev": true
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.5.0.tgz",
+ "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
},
"resolve-from": {
"version": "1.0.1",
- "from": "resolve-from@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
"dev": true
},
"restore-cursor": {
"version": "1.0.1",
- "from": "restore-cursor@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "1.1.1",
+ "onetime": "1.1.0"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
},
"right-align": {
"version": "0.1.3",
- "from": "right-align@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
},
"rimraf": {
"version": "2.6.2",
- "from": "rimraf@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
+ "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
"dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "from": "glob@>=7.0.5 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
- "dev": true
- }
+ "requires": {
+ "glob": "7.1.2"
}
},
"ripemd160": {
"version": "2.0.1",
- "from": "ripemd160@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.1.tgz",
+ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
+ "dev": true,
+ "requires": {
+ "hash-base": "2.0.2",
+ "inherits": "2.0.3"
+ }
},
"run-async": {
"version": "0.1.0",
- "from": "run-async@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-0.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
},
"rx-lite": {
"version": "3.1.2",
- "from": "rx-lite@>=3.1.2 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-3.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-3.1.2.tgz",
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
"dev": true
},
"safe-buffer": {
"version": "5.1.1",
- "from": "safe-buffer@>=5.0.1 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz"
+ "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
+ "dev": true
},
"samsam": {
- "version": "1.2.1",
- "from": "samsam@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/samsam/download/samsam-1.2.1.tgz",
+ "version": "1.3.0",
+ "resolved": "http://registry.npm.taobao.org/samsam/download/samsam-1.3.0.tgz",
+ "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=",
"dev": true
},
"sax": {
"version": "1.2.4",
- "from": "sax@>=1.2.1 <1.3.0",
- "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+ "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
"dev": true
},
"schema-utils": {
"version": "0.3.0",
- "from": "schema-utils@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
+ "requires": {
+ "ajv": "5.5.1"
+ },
"dependencies": {
"ajv": {
- "version": "5.2.2",
- "from": "ajv@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.2.2.tgz",
- "dev": true
+ "version": "5.5.1",
+ "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.1.tgz",
+ "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
}
}
},
"semver": {
"version": "5.4.1",
- "from": "semver@>=5.3.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz",
+ "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=",
"dev": true
},
"send": {
- "version": "0.15.4",
- "from": "send@0.15.4",
- "resolved": "https://registry.npm.taobao.org/send/download/send-0.15.4.tgz",
- "dev": true
+ "version": "0.16.1",
+ "resolved": "http://registry.npm.taobao.org/send/download/send-0.16.1.tgz",
+ "integrity": "sha1-pw4coh0TgsEdDZ9iMd6ygQgNerM=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "1.1.1",
+ "destroy": "1.0.4",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "2.3.0",
+ "range-parser": "1.2.0",
+ "statuses": "1.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
},
"serve-static": {
- "version": "1.12.4",
- "from": "serve-static@1.12.4",
- "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.12.4.tgz",
- "dev": true
+ "version": "1.13.1",
+ "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.1.tgz",
+ "integrity": "sha1-TFfVNASnYdjy58HooYpH2/J4pxk=",
+ "dev": true,
+ "requires": {
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.2",
+ "send": "0.16.1"
+ }
},
"set-blocking": {
"version": "2.0.0",
- "from": "set-blocking@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
"set-immediate-shim": {
"version": "1.0.1",
- "from": "set-immediate-shim@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"dev": true
},
"setimmediate": {
"version": "1.0.5",
- "from": "setimmediate@>=1.0.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
- "version": "1.0.3",
- "from": "setprototypeof@1.0.3",
- "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz",
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz",
+ "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
"dev": true
},
"sha.js": {
- "version": "2.4.8",
- "from": "sha.js@>=2.4.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.8.tgz",
- "dev": true
+ "version": "2.4.9",
+ "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.9.tgz",
+ "integrity": "sha1-mPZIgEdLdPSji42p08Dy0QRjPn0=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.1"
+ }
},
"shebang-command": {
"version": "1.2.0",
- "from": "shebang-command@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
},
"shebang-regex": {
"version": "1.0.0",
- "from": "shebang-regex@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"shelljs": {
"version": "0.7.8",
- "from": "shelljs@>=0.7.6 <0.8.0",
- "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.7.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/shelljs/download/shelljs-0.7.8.tgz",
+ "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=",
"dev": true,
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "from": "glob@>=7.0.0 <8.0.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz",
- "dev": true
- }
+ "requires": {
+ "glob": "7.1.2",
+ "interpret": "1.1.0",
+ "rechoir": "0.6.2"
}
},
"sigmund": {
"version": "1.0.1",
- "from": "sigmund@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz",
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
"version": "3.0.2",
- "from": "signal-exit@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
"sinon": {
"version": "2.4.1",
- "from": "sinon@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/sinon/download/sinon-2.4.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/sinon/download/sinon-2.4.1.tgz",
+ "integrity": "sha1-Ah/WS1TLd9nS+w1Dze3652KcOjY=",
"dev": true,
+ "requires": {
+ "diff": "3.2.0",
+ "formatio": "1.2.0",
+ "lolex": "1.6.0",
+ "native-promise-only": "0.8.1",
+ "path-to-regexp": "1.7.0",
+ "samsam": "1.3.0",
+ "text-encoding": "0.6.4",
+ "type-detect": "4.0.5"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"path-to-regexp": {
"version": "1.7.0",
- "from": "path-to-regexp@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ }
},
"type-detect": {
- "version": "4.0.3",
- "from": "type-detect@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.3.tgz",
+ "version": "4.0.5",
+ "resolved": "http://registry.npm.taobao.org/type-detect/download/type-detect-4.0.5.tgz",
+ "integrity": "sha1-1w5byB223io4G8rKDG4MvcdjXeI=",
"dev": true
}
}
},
"sinon-chai": {
- "version": "2.13.0",
- "from": "sinon-chai@>=2.8.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/sinon-chai/download/sinon-chai-2.13.0.tgz",
+ "version": "2.14.0",
+ "resolved": "http://registry.npm.taobao.org/sinon-chai/download/sinon-chai-2.14.0.tgz",
+ "integrity": "sha1-2n3UzIPNaiYLZ8yg96n9riahIF0=",
"dev": true
},
"slash": {
"version": "1.0.0",
- "from": "slash@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
"slice-ansi": {
"version": "0.0.4",
- "from": "slice-ansi@0.0.4",
- "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz",
- "dev": true
- },
- "sntp": {
- "version": "1.0.9",
- "from": "sntp@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
"dev": true
},
"socket.io": {
"version": "1.7.3",
- "from": "socket.io@1.7.3",
- "resolved": "https://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz",
+ "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
"dev": true,
+ "requires": {
+ "debug": "2.3.3",
+ "engine.io": "1.8.3",
+ "has-binary": "0.1.7",
+ "object-assign": "4.1.0",
+ "socket.io-adapter": "0.5.0",
+ "socket.io-client": "1.7.3",
+ "socket.io-parser": "2.3.1"
+ },
"dependencies": {
"debug": {
"version": "2.3.3",
- "from": "debug@2.3.3",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
},
"ms": {
"version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
},
"object-assign": {
"version": "4.1.0",
- "from": "object-assign@4.1.0",
- "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz",
+ "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
"dev": true
}
}
},
"socket.io-adapter": {
"version": "0.5.0",
- "from": "socket.io-adapter@0.5.0",
- "resolved": "https://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-0.5.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-0.5.0.tgz",
+ "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
"dev": true,
+ "requires": {
+ "debug": "2.3.3",
+ "socket.io-parser": "2.3.1"
+ },
"dependencies": {
"debug": {
"version": "2.3.3",
- "from": "debug@2.3.3",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
},
"ms": {
"version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"socket.io-client": {
"version": "1.7.3",
- "from": "socket.io-client@1.7.3",
- "resolved": "https://registry.npm.taobao.org/socket.io-client/download/socket.io-client-1.7.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/socket.io-client/download/socket.io-client-1.7.3.tgz",
+ "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
"dev": true,
+ "requires": {
+ "backo2": "1.0.2",
+ "component-bind": "1.0.0",
+ "component-emitter": "1.2.1",
+ "debug": "2.3.3",
+ "engine.io-client": "1.8.3",
+ "has-binary": "0.1.7",
+ "indexof": "0.0.1",
+ "object-component": "0.0.3",
+ "parseuri": "0.0.5",
+ "socket.io-parser": "2.3.1",
+ "to-array": "0.1.4"
+ },
"dependencies": {
"component-emitter": {
"version": "1.2.1",
- "from": "component-emitter@1.2.1",
- "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"debug": {
"version": "2.3.3",
- "from": "debug@2.3.3",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
},
"ms": {
"version": "0.7.2",
- "from": "ms@0.7.2",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
"dev": true
}
}
},
"socket.io-parser": {
"version": "2.3.1",
- "from": "socket.io-parser@2.3.1",
- "resolved": "https://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-2.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-2.3.1.tgz",
+ "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
"dev": true,
+ "requires": {
+ "component-emitter": "1.1.2",
+ "debug": "2.2.0",
+ "isarray": "0.0.1",
+ "json3": "3.3.2"
+ },
"dependencies": {
"debug": {
"version": "2.2.0",
- "from": "debug@2.2.0",
- "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz",
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ }
},
"isarray": {
"version": "0.0.1",
- "from": "isarray@0.0.1",
- "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"ms": {
"version": "0.7.1",
- "from": "ms@0.7.1",
- "resolved": "https://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz",
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
},
"sort-keys": {
"version": "1.1.2",
- "from": "sort-keys@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
},
"source-list-map": {
"version": "2.0.0",
- "from": "source-list-map@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.0.tgz",
+ "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=",
"dev": true
},
"source-map": {
"version": "0.5.7",
- "from": "source-map@>=0.5.6 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-support": {
"version": "0.4.18",
- "from": "source-map-support@>=0.4.15 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
+ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
},
"spdx-correct": {
"version": "1.0.2",
- "from": "spdx-correct@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
},
"spdx-expression-parse": {
"version": "1.0.4",
- "from": "spdx-expression-parse@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
"dev": true
},
"spdx-license-ids": {
"version": "1.2.2",
- "from": "spdx-license-ids@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
"dev": true
},
"sprintf-js": {
"version": "1.0.3",
- "from": "sprintf-js@>=1.0.2 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
- "dev": true
- },
- "sshpk": {
- "version": "1.13.1",
- "from": "sshpk@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz",
- "dev": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
- "dev": true
- }
- }
+ "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"stackframe": {
"version": "1.0.4",
- "from": "stackframe@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/stackframe/download/stackframe-1.0.4.tgz",
+ "integrity": "sha1-NXskqZL5Qny6a1RdlqFO0svKGHs=",
"dev": true
},
"statuses": {
"version": "1.3.1",
- "from": "statuses@>=1.3.1 <1.4.0",
- "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
"dev": true
},
"stream-browserify": {
"version": "2.0.1",
- "from": "stream-browserify@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
},
"stream-http": {
"version": "2.7.2",
- "from": "stream-http@>=2.3.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.7.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.7.2.tgz",
+ "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
+ }
},
"strict-uri-encode": {
"version": "1.1.0",
- "from": "strict-uri-encode@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
"dev": true
},
"string_decoder": {
"version": "1.0.3",
- "from": "string_decoder@>=1.0.3 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz",
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"string-length": {
"version": "1.0.1",
- "from": "string-length@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/string-length/download/string-length-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/string-length/download/string-length-1.0.1.tgz",
+ "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
+ "dev": true,
+ "requires": {
+ "strip-ansi": "3.0.1"
+ }
},
"string-width": {
"version": "1.0.2",
- "from": "string-width@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
- "dev": true
- },
- "stringstream": {
- "version": "0.0.5",
- "from": "stringstream@>=0.0.4 <0.1.0",
- "resolved": "https://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
},
"strip-ansi": {
"version": "3.0.1",
- "from": "strip-ansi@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"strip-bom": {
"version": "2.0.0",
- "from": "strip-bom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
},
"strip-indent": {
"version": "1.0.1",
- "from": "strip-indent@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1"
+ }
},
"strip-json-comments": {
"version": "2.0.1",
- "from": "strip-json-comments@>=2.0.1 <2.1.0",
- "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"stylus": {
"version": "0.54.5",
- "from": "stylus@>=0.54.5 <0.55.0",
- "resolved": "https://registry.npm.taobao.org/stylus/download/stylus-0.54.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/stylus/download/stylus-0.54.5.tgz",
+ "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
"dev": true,
+ "requires": {
+ "css-parse": "1.7.0",
+ "debug": "3.1.0",
+ "glob": "7.0.6",
+ "mkdirp": "0.5.1",
+ "sax": "0.5.8",
+ "source-map": "0.1.43"
+ },
"dependencies": {
"glob": {
"version": "7.0.6",
- "from": "glob@>=7.0.0 <7.1.0",
- "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.0.6.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.0.6.tgz",
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"sax": {
"version": "0.5.8",
- "from": "sax@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz",
+ "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
"dev": true
},
"source-map": {
"version": "0.1.43",
- "from": "source-map@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
}
}
},
"stylus-loader": {
"version": "3.0.1",
- "from": "stylus-loader@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/stylus-loader/download/stylus-loader-3.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/stylus-loader/download/stylus-loader-3.0.1.tgz",
+ "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=",
"dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "lodash.clonedeep": "4.5.0",
+ "when": "3.6.4"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"supports-color": {
"version": "3.2.3",
- "from": "supports-color@>=3.2.3 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
},
"svgo": {
"version": "0.7.2",
- "from": "svgo@>=0.7.0 <0.8.0",
- "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "1.0.4",
+ "colors": "1.1.2",
+ "csso": "2.3.2",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "sax": "1.2.4",
+ "whet.extend": "0.9.9"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.7.3"
+ }
+ }
+ }
+ },
+ "systemjs": {
+ "version": "0.20.19",
+ "resolved": "http://registry.npm.taobao.org/systemjs/download/systemjs-0.20.19.tgz",
+ "integrity": "sha1-wrnnnBn0vqU6GbHtP5dP+0Y76Uk="
},
"table": {
"version": "3.8.3",
- "from": "table@>=3.7.8 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/table/download/table-3.8.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/table/download/table-3.8.3.tgz",
+ "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
"dev": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "ajv-keywords": "1.5.1",
+ "chalk": "1.1.3",
+ "lodash": "4.17.4",
+ "slice-ansi": "0.0.4",
+ "string-width": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "from": "ansi-regex@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
- "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
"version": "2.1.1",
- "from": "string-width@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
- "dev": true
+ "resolved": "http://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"
+ }
},
"strip-ansi": {
"version": "4.0.0",
- "from": "strip-ansi@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
}
}
},
"tapable": {
"version": "0.2.8",
- "from": "tapable@>=0.2.7 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.2.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/tapable/download/tapable-0.2.8.tgz",
+ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
"test-exclude": {
"version": "4.1.1",
- "from": "test-exclude@>=4.1.1 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/test-exclude/download/test-exclude-4.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/test-exclude/download/test-exclude-4.1.1.tgz",
+ "integrity": "sha1-TYSWSwlmsAh+zDNKLOAC09k0HiY=",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
+ }
},
"text-encoding": {
"version": "0.6.4",
- "from": "text-encoding@0.6.4",
- "resolved": "https://registry.npm.taobao.org/text-encoding/download/text-encoding-0.6.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/text-encoding/download/text-encoding-0.6.4.tgz",
+ "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"dev": true
},
"text-table": {
"version": "0.2.0",
- "from": "text-table@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"throttle-debounce": {
"version": "1.0.1",
- "from": "throttle-debounce@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.0.1.tgz"
- },
- "throttleit": {
- "version": "1.0.0",
- "from": "throttleit@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/throttleit/download/throttleit-1.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.0.1.tgz",
+ "integrity": "sha1-2tD+Ew+drzcZ/eoz3Dao5rp/MLU="
},
"through": {
"version": "2.3.8",
- "from": "through@>=2.3.6 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"time-stamp": {
"version": "2.0.0",
- "from": "time-stamp@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/time-stamp/download/time-stamp-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/time-stamp/download/time-stamp-2.0.0.tgz",
+ "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=",
"dev": true
},
- "timed-out": {
- "version": "4.0.1",
- "from": "timed-out@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz"
- },
"timers-browserify": {
"version": "2.0.4",
- "from": "timers-browserify@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.4.tgz",
- "dev": true
- },
- "tinycolor2": {
- "version": "1.4.1",
- "from": "tinycolor2@>=1.4.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz"
+ "resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.4.tgz",
+ "integrity": "sha1-lspT9LeUpefA4b18yIo3Ipj6AeY=",
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
},
"tmp": {
"version": "0.0.31",
- "from": "tmp@0.0.31",
- "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz",
+ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "1.0.2"
+ }
},
"to-array": {
"version": "0.1.4",
- "from": "to-array@0.1.4",
- "resolved": "https://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
"dev": true
},
"to-arraybuffer": {
"version": "1.0.1",
- "from": "to-arraybuffer@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
"to-fast-properties": {
"version": "1.0.3",
- "from": "to-fast-properties@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"token-stream": {
"version": "0.0.1",
- "from": "token-stream@0.0.1",
- "resolved": "https://registry.npm.taobao.org/token-stream/download/token-stream-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/token-stream/download/token-stream-0.0.1.tgz",
+ "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=",
"dev": true
},
"toposort": {
- "version": "1.0.3",
- "from": "toposort@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.3.tgz",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.3.2",
- "from": "tough-cookie@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz",
+ "version": "1.0.6",
+ "resolved": "http://registry.npm.taobao.org/toposort/download/toposort-1.0.6.tgz",
+ "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=",
"dev": true
},
"trim-newlines": {
"version": "1.0.0",
- "from": "trim-newlines@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
"trim-right": {
"version": "1.0.1",
- "from": "trim-right@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
- "dev": true
- },
- "tryit": {
- "version": "1.0.3",
- "from": "tryit@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/tryit/download/tryit-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
"ts-loader": {
"version": "2.3.7",
- "from": "ts-loader@>=2.3.3 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ts-loader/download/ts-loader-2.3.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/ts-loader/download/ts-loader-2.3.7.tgz",
+ "integrity": "sha1-qQKM7Uc77hLyinX5xbE5l50z8vw=",
"dev": true,
+ "requires": {
+ "chalk": "2.3.0",
+ "enhanced-resolve": "3.4.1",
+ "loader-utils": "1.1.0",
+ "semver": "5.4.1"
+ },
"dependencies": {
"ansi-styles": {
"version": "3.2.0",
- "from": "ansi-styles@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz",
+ "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
},
"chalk": {
- "version": "2.1.0",
- "from": "chalk@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz",
+ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
+ }
},
"has-flag": {
"version": "2.0.0",
- "from": "has-flag@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
},
"supports-color": {
- "version": "4.4.0",
- "from": "supports-color@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.4.0.tgz",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
}
}
},
+ "tslib": {
+ "version": "1.8.1",
+ "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.8.1.tgz",
+ "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw="
+ },
"tty-browserify": {
"version": "0.0.0",
- "from": "tty-browserify@0.0.0",
- "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "from": "tunnel-agent@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
- "tweetnacl": {
- "version": "0.14.5",
- "from": "tweetnacl@>=0.14.0 <0.15.0",
- "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
- "dev": true,
- "optional": true
- },
"type-check": {
"version": "0.3.2",
- "from": "type-check@>=0.3.2 <0.4.0",
- "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
},
"type-detect": {
"version": "1.0.0",
- "from": "type-detect@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/type-detect/download/type-detect-1.0.0.tgz",
+ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
"dev": true
},
"type-is": {
"version": "1.6.15",
- "from": "type-is@>=1.6.15 <1.7.0",
- "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz",
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.17"
+ }
},
"typedarray": {
"version": "0.0.6",
- "from": "typedarray@>=0.0.6 <0.0.7",
- "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"typescript": {
- "version": "2.5.2",
- "from": "typescript@>=2.4.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/typescript/download/typescript-2.5.2.tgz",
+ "version": "2.6.2",
+ "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.6.2.tgz",
+ "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=",
"dev": true
},
"uglify-js": {
- "version": "3.1.1",
- "from": "uglify-js@>=3.1.0 <3.2.0",
- "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.1.1.tgz",
- "dev": true
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-3.2.2.tgz",
+ "integrity": "sha1-hw5LNO1zPReShPmZjv0yk/f9c/Y=",
+ "dev": true,
+ "requires": {
+ "commander": "2.12.2",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true
+ }
+ }
},
"uglify-to-browserify": {
"version": "1.0.2",
- "from": "uglify-to-browserify@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"dev": true,
"optional": true
},
"ultron": {
"version": "1.0.2",
- "from": "ultron@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz",
+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
"dev": true
},
"underscore": {
"version": "1.8.3",
- "from": "underscore@>=1.8.3 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz",
+ "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
"dev": true
},
"uniq": {
"version": "1.0.1",
- "from": "uniq@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
"dev": true
},
"uniqid": {
"version": "4.1.1",
- "from": "uniqid@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/uniqid/download/uniqid-4.1.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/uniqid/download/uniqid-4.1.1.tgz",
+ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+ "dev": true,
+ "requires": {
+ "macaddress": "0.2.8"
+ }
},
"uniqs": {
"version": "2.0.0",
- "from": "uniqs@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
"unpipe": {
"version": "1.0.0",
- "from": "unpipe@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
"upper-case": {
"version": "1.1.3",
- "from": "upper-case@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
"dev": true
},
"url": {
"version": "0.11.0",
- "from": "url@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
"dependencies": {
"punycode": {
"version": "1.3.2",
- "from": "punycode@1.3.2",
- "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"url-loader": {
"version": "0.5.9",
- "from": "url-loader@>=0.5.8 <0.6.0",
- "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-0.5.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/url-loader/download/url-loader-0.5.9.tgz",
+ "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=",
"dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "mime": "1.3.6"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ },
+ "mime": {
+ "version": "1.3.6",
+ "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.6.tgz",
+ "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
"dev": true
}
}
},
- "url-parse-lax": {
- "version": "1.0.0",
- "from": "url-parse-lax@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz"
- },
- "url-to-options": {
- "version": "1.0.1",
- "from": "url-to-options@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/url-to-options/download/url-to-options-1.0.1.tgz"
- },
"user-home": {
"version": "2.0.0",
- "from": "user-home@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/user-home/download/user-home-2.0.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/user-home/download/user-home-2.0.0.tgz",
+ "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "1.0.2"
+ }
},
"useragent": {
"version": "2.2.1",
- "from": "useragent@>=2.1.12 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/useragent/download/useragent-2.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/useragent/download/useragent-2.2.1.tgz",
+ "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
+ "requires": {
+ "lru-cache": "2.2.4",
+ "tmp": "0.0.31"
+ },
"dependencies": {
"lru-cache": {
"version": "2.2.4",
- "from": "lru-cache@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-2.2.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.2.4.tgz",
+ "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
"dev": true
}
}
},
"util": {
"version": "0.10.3",
- "from": "util@>=0.10.3 <0.11.0",
- "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ },
"dependencies": {
"inherits": {
"version": "2.0.1",
- "from": "inherits@2.0.1",
- "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
}
}
},
"util-deprecate": {
"version": "1.0.2",
- "from": "util-deprecate@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"utila": {
"version": "0.4.0",
- "from": "utila@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz",
+ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true
},
"utils-merge": {
- "version": "1.0.0",
- "from": "utils-merge@1.0.0",
- "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz",
- "dev": true
- },
- "uuid": {
- "version": "3.1.0",
- "from": "uuid@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz",
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
},
"validate-npm-package-license": {
"version": "3.0.1",
- "from": "validate-npm-package-license@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "validator": {
+ "version": "9.2.0",
+ "resolved": "http://registry.npm.taobao.org/validator/download/validator-9.2.0.tgz",
+ "integrity": "sha1-rSFu7V83ysMab+AM6rH2uIve0D4="
},
"vary": {
- "version": "1.1.1",
- "from": "vary@>=1.1.1 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz",
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
},
"vendors": {
"version": "1.0.1",
- "from": "vendors@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/vendors/download/vendors-1.0.1.tgz",
+ "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
"dev": true
},
- "verror": {
- "version": "1.10.0",
- "from": "verror@1.10.0",
- "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
- "dev": true,
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "from": "assert-plus@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
- "dev": true
- }
- }
- },
"vm-browserify": {
"version": "0.0.4",
- "from": "vm-browserify@0.0.4",
- "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
},
"void-elements": {
"version": "2.0.1",
- "from": "void-elements@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
"vue": {
- "version": "2.4.4",
- "from": "vue@>=2.3.3 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.4.4.tgz"
+ "version": "2.5.10",
+ "resolved": "http://registry.npm.taobao.org/vue/download/vue-2.5.10.tgz",
+ "integrity": "sha1-3Ndy4llLqZQUXy8JUiFJ2aHnhBo="
},
"vue-class-component": {
- "version": "5.0.2",
- "from": "vue-class-component@>=5.0.2 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-class-component/download/vue-class-component-5.0.2.tgz"
+ "version": "6.1.1",
+ "resolved": "http://registry.npm.taobao.org/vue-class-component/download/vue-class-component-6.1.1.tgz",
+ "integrity": "sha1-LglQNmSLQopPHp7IqLvngzptGHk="
},
"vue-hot-reload-api": {
- "version": "2.1.0",
- "from": "vue-hot-reload-api@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.1.0.tgz",
+ "version": "2.2.4",
+ "resolved": "http://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.2.4.tgz",
+ "integrity": "sha1-aDvR0CbA07PJN9WHVnnpqH7GzY8=",
"dev": true
},
"vue-loader": {
"version": "12.2.2",
- "from": "vue-loader@>=12.1.0 <13.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-12.2.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/vue-loader/download/vue-loader-12.2.2.tgz",
+ "integrity": "sha1-Kzp2TycBj5dbx4y4sfVRN1SO4tc=",
"dev": true,
+ "requires": {
+ "consolidate": "0.14.5",
+ "hash-sum": "1.0.2",
+ "js-beautify": "1.7.5",
+ "loader-utils": "1.1.0",
+ "lru-cache": "4.1.1",
+ "postcss": "5.2.18",
+ "postcss-load-config": "1.2.0",
+ "postcss-selector-parser": "2.2.3",
+ "resolve": "1.5.0",
+ "source-map": "0.5.7",
+ "vue-hot-reload-api": "2.2.4",
+ "vue-style-loader": "3.0.3",
+ "vue-template-es2015-compiler": "1.6.0"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"vue-property-decorator": {
- "version": "5.3.0",
- "from": "vue-property-decorator@>=5.2.1 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-property-decorator/download/vue-property-decorator-5.3.0.tgz"
- },
- "vue-resource": {
- "version": "1.3.4",
- "from": "vue-resource@>=1.3.4 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-resource/download/vue-resource-1.3.4.tgz"
+ "version": "6.0.0",
+ "resolved": "http://registry.npm.taobao.org/vue-property-decorator/download/vue-property-decorator-6.0.0.tgz",
+ "integrity": "sha1-u2UbKTVC4x2w0k829LAlDvCNhRU=",
+ "requires": {
+ "reflect-metadata": "0.1.10",
+ "vue-class-component": "6.1.1"
+ }
},
"vue-router": {
- "version": "2.7.0",
- "from": "vue-router@>=2.3.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-2.7.0.tgz"
+ "version": "3.0.1",
+ "resolved": "http://registry.npm.taobao.org/vue-router/download/vue-router-3.0.1.tgz",
+ "integrity": "sha1-2bBa2cdCC6D2JtZQDWk+YAkswek="
},
"vue-style-loader": {
"version": "3.0.3",
- "from": "vue-style-loader@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-3.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-3.0.3.tgz",
+ "integrity": "sha1-YjZY+BUGrvnRIc3BE6T1ycrDLfc=",
"dev": true,
+ "requires": {
+ "hash-sum": "1.0.2",
+ "loader-utils": "1.1.0"
+ },
"dependencies": {
"loader-utils": {
"version": "1.1.0",
- "from": "loader-utils@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.2.0",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
}
}
},
"vue-template-compiler": {
- "version": "2.4.4",
- "from": "vue-template-compiler@>=2.3.3 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.4.4.tgz",
- "dev": true
+ "version": "2.5.10",
+ "resolved": "http://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.5.10.tgz",
+ "integrity": "sha1-jSdUZ3Qwv1IGUKfirukHBjUVj8U=",
+ "dev": true,
+ "requires": {
+ "de-indent": "1.0.2",
+ "he": "1.1.1"
+ }
},
"vue-template-es2015-compiler": {
- "version": "1.5.3",
- "from": "vue-template-es2015-compiler@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.5.3.tgz",
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.6.0.tgz",
+ "integrity": "sha1-3EJpcTMwLOMBdSQ1amxht7abShg=",
"dev": true
},
"watchpack": {
"version": "1.4.0",
- "from": "watchpack@>=1.3.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz",
+ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=",
+ "dev": true,
+ "requires": {
+ "async": "2.6.0",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.11"
+ }
},
"webpack": {
"version": "2.7.0",
- "from": "webpack@>=2.6.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-2.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-2.7.0.tgz",
+ "integrity": "sha1-sqEiaAQ3P/09A+qca9UlBnA09rE=",
"dev": true,
+ "requires": {
+ "acorn": "5.2.1",
+ "acorn-dynamic-import": "2.0.2",
+ "ajv": "4.11.8",
+ "ajv-keywords": "1.5.1",
+ "async": "2.6.0",
+ "enhanced-resolve": "3.4.1",
+ "interpret": "1.1.0",
+ "json-loader": "0.5.7",
+ "json5": "0.5.1",
+ "loader-runner": "2.3.0",
+ "loader-utils": "0.2.17",
+ "memory-fs": "0.4.1",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "2.1.0",
+ "source-map": "0.5.7",
+ "supports-color": "3.2.3",
+ "tapable": "0.2.8",
+ "uglify-js": "2.8.29",
+ "watchpack": "1.4.0",
+ "webpack-sources": "1.1.0",
+ "yargs": "6.6.0"
+ },
"dependencies": {
"camelcase": {
"version": "1.2.1",
- "from": "camelcase@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"uglify-js": {
"version": "2.8.29",
- "from": "uglify-js@>=2.8.27 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
+ "requires": {
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"yargs": {
"version": "3.10.0",
- "from": "yargs@~3.10.0",
"resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
- "dev": true
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
}
}
},
"yargs": {
"version": "6.6.0",
- "from": "yargs@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
"dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "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": "4.2.1"
+ },
"dependencies": {
"camelcase": {
"version": "3.0.0",
- "from": "camelcase@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
},
"cliui": {
"version": "3.2.0",
- "from": "cliui@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
}
}
}
}
},
"webpack-bundle-analyzer": {
- "version": "2.9.0",
- "from": "webpack-bundle-analyzer@>=2.2.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.9.0.tgz",
+ "version": "2.9.1",
+ "resolved": "http://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.9.1.tgz",
+ "integrity": "sha1-wsjgPo5XaO0oizmunieouNe51HY=",
"dev": true,
+ "requires": {
+ "acorn": "5.2.1",
+ "chalk": "1.1.3",
+ "commander": "2.12.2",
+ "ejs": "2.5.7",
+ "express": "4.16.2",
+ "filesize": "3.5.11",
+ "gzip-size": "3.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "opener": "1.4.3",
+ "ws": "3.3.2"
+ },
"dependencies": {
- "safe-buffer": {
- "version": "5.0.1",
- "from": "safe-buffer@>=5.0.1 <5.1.0",
- "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.0.1.tgz",
- "dev": true
- },
"ultron": {
- "version": "1.1.0",
- "from": "ultron@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npm.taobao.org/ultron/download/ultron-1.1.0.tgz",
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz",
+ "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=",
"dev": true
},
"ws": {
- "version": "2.3.1",
- "from": "ws@>=2.3.1 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/ws/download/ws-2.3.1.tgz",
- "dev": true
+ "version": "3.3.2",
+ "resolved": "http://registry.npm.taobao.org/ws/download/ws-3.3.2.tgz",
+ "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=",
+ "dev": true,
+ "requires": {
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.1",
+ "ultron": "1.1.1"
+ }
}
}
},
"webpack-dev-middleware": {
- "version": "1.12.0",
- "from": "webpack-dev-middleware@>=1.10.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.0.tgz",
- "dev": true
+ "version": "1.12.2",
+ "resolved": "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.2.tgz",
+ "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=",
+ "dev": true,
+ "requires": {
+ "memory-fs": "0.4.1",
+ "mime": "1.6.0",
+ "path-is-absolute": "1.0.1",
+ "range-parser": "1.2.0",
+ "time-stamp": "2.0.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
+ "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
+ "dev": true
+ }
+ }
},
"webpack-hot-middleware": {
- "version": "2.19.1",
- "from": "webpack-hot-middleware@>=2.18.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.19.1.tgz",
- "dev": true
+ "version": "2.21.0",
+ "resolved": "http://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.21.0.tgz",
+ "integrity": "sha1-ezwROnpLMByR4HSVc8eqsotBS1I=",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "html-entities": "1.2.1",
+ "querystring": "0.2.0",
+ "strip-ansi": "3.0.1"
+ }
},
"webpack-merge": {
- "version": "4.1.0",
- "from": "webpack-merge@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.0.tgz",
- "dev": true
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.1.tgz",
+ "integrity": "sha1-8Rl6Cpc+acb77rbWWCGaqMDBNVU=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
},
"webpack-sources": {
- "version": "1.0.1",
- "from": "webpack-sources@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.0.1.tgz",
- "dev": true
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.1.0.tgz",
+ "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "2.0.0",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+ "dev": true
+ }
+ }
},
"when": {
"version": "3.6.4",
- "from": "when@>=3.6.0 <3.7.0",
- "resolved": "https://registry.npm.taobao.org/when/download/when-3.6.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/when/download/when-3.6.4.tgz",
+ "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
"dev": true
},
"whet.extend": {
"version": "0.9.9",
- "from": "whet.extend@>=0.9.9 <0.10.0",
- "resolved": "https://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
"dev": true
},
"which": {
"version": "1.3.0",
- "from": "which@>=1.2.9 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz",
+ "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
+ "dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
},
"which-module": {
"version": "1.0.0",
- "from": "which-module@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"window-size": {
"version": "0.1.0",
- "from": "window-size@0.1.0",
- "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"with": {
"version": "5.1.1",
- "from": "with@>=5.0.0 <6.0.0",
- "resolved": "https://registry.npm.taobao.org/with/download/with-5.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/with/download/with-5.1.1.tgz",
+ "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=",
"dev": true,
+ "requires": {
+ "acorn": "3.3.0",
+ "acorn-globals": "3.1.0"
+ },
"dependencies": {
"acorn": {
"version": "3.3.0",
- "from": "acorn@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
+ "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
}
}
},
"wordwrap": {
"version": "1.0.0",
- "from": "wordwrap@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
"wrap-ansi": {
"version": "2.1.0",
- "from": "wrap-ansi@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
},
"wrappy": {
"version": "1.0.2",
- "from": "wrappy@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"write": {
"version": "0.2.1",
- "from": "write@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npm.taobao.org/write/download/write-0.2.1.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/write/download/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "0.5.1"
+ }
},
"ws": {
"version": "1.1.2",
- "from": "ws@1.1.2",
- "resolved": "https://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz",
- "dev": true
+ "resolved": "http://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz",
+ "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "dev": true,
+ "requires": {
+ "options": "0.0.6",
+ "ultron": "1.0.2"
+ }
},
"wtf-8": {
"version": "1.0.0",
- "from": "wtf-8@1.0.0",
- "resolved": "https://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz",
+ "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
"dev": true
},
"xml-char-classes": {
"version": "1.0.0",
- "from": "xml-char-classes@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/xml-char-classes/download/xml-char-classes-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/xml-char-classes/download/xml-char-classes-1.0.0.tgz",
+ "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=",
"dev": true
},
"xmlhttprequest-ssl": {
"version": "1.5.3",
- "from": "xmlhttprequest-ssl@1.5.3",
- "resolved": "https://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz",
+ "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
"dev": true
},
"xtend": {
"version": "4.0.1",
- "from": "xtend@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
"y18n": {
"version": "3.2.1",
- "from": "y18n@>=3.2.1 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true
},
"yallist": {
"version": "2.1.2",
- "from": "yallist@>=2.1.2 <3.0.0",
- "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
"version": "3.10.0",
- "from": "yargs@>=3.10.0 <3.11.0",
- "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ },
"dependencies": {
"camelcase": {
"version": "1.2.1",
- "from": "camelcase@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
}
}
},
"yargs-parser": {
"version": "4.2.1",
- "from": "yargs-parser@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
"dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ },
"dependencies": {
"camelcase": {
"version": "3.0.0",
- "from": "camelcase@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
}
}
},
- "yauzl": {
- "version": "2.4.1",
- "from": "yauzl@2.4.1",
- "resolved": "https://registry.npm.taobao.org/yauzl/download/yauzl-2.4.1.tgz",
- "dev": true
- },
"yeast": {
"version": "0.1.2",
- "from": "yeast@0.1.2",
- "resolved": "https://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz",
+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
"dev": true
+ },
+ "z-schema": {
+ "version": "3.19.0",
+ "resolved": "http://registry.npm.taobao.org/z-schema/download/z-schema-3.19.0.tgz",
+ "integrity": "sha1-2G6Q5dAhE8e4gkrkd91XII0Xpag=",
+ "requires": {
+ "commander": "2.12.2",
+ "lodash.get": "4.4.2",
+ "lodash.isequal": "4.5.0",
+ "validator": "9.2.0"
+ }
}
}
}
diff --git a/web/package.json b/web/package.json
index f65aaed..6619e91 100644
--- a/web/package.json
+++ b/web/package.json
@@ -9,24 +9,26 @@
"start": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
- "test": "npm run unit",
+ "test": "yarn run unit",
"lint": "eslint --ext .js,.vue src test/unit/specs",
- "proxy": "npm set registry https://registry.npm.taobao.org",
- "init": "npm i",
- "compose": "npm run proxy && npm run init && sh"
+ "init": "yarn install --check-files",
+ "compose": "yarn run init && bash"
},
"dependencies": {
- "@types/lodash": "^4.14.74",
+ "ajv": "^5.5.2",
"axios": "^0.16.2",
- "element-ui": "^1.4.4",
- "iview": "^2.0.0-rc.18",
+ "babel-runtime": "^6.26.0",
+ "element-ui": "^1.4.9",
+ "hotkeys-js": "^2.0.4",
+ "http-server": "^0.10.0",
+ "immutable": "^3.8.2",
+ "json-schema-faker": "^0.5.0-rc11",
"lodash": "^4.17.4",
- "mockjs": "^1.0.1-beta3",
+ "systemjs": "^0.20.19",
"vue": "^2.3.3",
- "vue-class-component": "^5.0.2",
- "vue-property-decorator": "^5.2.1",
- "vue-resource": "^1.3.4",
- "vue-router": "^2.3.1"
+ "vue-class-component": "^6.1.0",
+ "vue-property-decorator": "^6.0.0",
+ "vue-router": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^6.7.2",
@@ -65,10 +67,9 @@
"http-proxy-middleware": "^0.17.3",
"inject-loader": "^3.0.0",
"karma": "^1.4.1",
+ "karma-chrome-launcher": "^2.2.0",
"karma-coverage": "^1.1.1",
"karma-mocha": "^1.3.0",
- "karma-phantomjs-launcher": "^1.0.2",
- "karma-phantomjs-shim": "^1.4.0",
"karma-sinon-chai": "^1.3.1",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.30",
@@ -78,7 +79,6 @@
"opn": "^4.0.2",
"optimize-css-assets-webpack-plugin": "^1.3.0",
"ora": "^1.2.0",
- "phantomjs-prebuilt": "^2.1.14",
"pug": "^2.0.0-rc.2",
"pug-loader": "^2.3.0",
"rimraf": "^2.6.0",
diff --git a/web/src/App.vue b/web/src/App.vue
index 014accc..cda2c4d 100644
--- a/web/src/App.vue
+++ b/web/src/App.vue
@@ -1,16 +1,11 @@
div#app
- nav-bar
router-view.main.pt-40
@@ -20,17 +15,29 @@
box-sizing border-box
html,
body
+ background-color #f9fafc
margin 0
+ height 100%
+ font-weight 100
#app
+ height 100%
font-family 'Avenir', Helvetica, Arial, sans-serif
-webkit-font-smoothing antialiased
-moz-osx-font-smoothing grayscale
- text-align center
color #2c3e50
ul
margin 0
padding 0
-li
- margin 0
- list-style none
+ li
+ margin 0
+ list-style none
+.wrap
+ padding 20px 30px
+.v-wrap
+ padding-bottom 20px
+ padding-top 20px
+.el-form
+ background-color #fff
+.border
+ border 1px solid #ddd
diff --git a/web/src/assets/bg.jpg b/web/src/assets/bg.jpg
new file mode 100644
index 0000000..c4cda5b
Binary files /dev/null and b/web/src/assets/bg.jpg differ
diff --git a/web/src/assets/logo.png b/web/src/assets/logo.png
deleted file mode 100644
index f3d2503..0000000
Binary files a/web/src/assets/logo.png and /dev/null differ
diff --git a/web/src/common.styl b/web/src/common.styl
index 1b380e9..906ee62 100644
--- a/web/src/common.styl
+++ b/web/src/common.styl
@@ -1,16 +1,26 @@
$borderColorTable=#dfe6ec
+.c-blue
+ color #20A0FF
+.c-silver
+ color #8492A6
+.c-gray
+ color #D3DCE6
.c-red
- color red
+ color #FF4949
.c-yellow
- color yellow
+ color #F7BA2A
.c-green
- color green
+ color #13CE66
+.bg-white
+ background-color #fff
.bg-yellow
background-color yellow
.bg-green
background-color green
.bg-grey
background-color grey
+.bg-light
+ background-color #eef1f6
.c-primary
color #20a0ff
.bg-red
@@ -19,12 +29,16 @@ $borderColorTable=#dfe6ec
position relative
.p-a
position absolute
+.p-f
+ position fixed
.d-n
display none
.d-b
display block
.d-ib
display inline-block
+.f-1
+ flex 1
.f-l
float left
.f-r
@@ -77,10 +91,16 @@ $borderColorTable=#dfe6ec
margin-bottom 10px
.pt-40
padding-top 40px
+.ws-n
+ white-space nowrap
.w-150
width 150px
.w-200
width 200px
+.el-input.w-380
+ width 380px
+.w-380
+ width 380px
.h-40
height 40px
.cu-d
@@ -115,3 +135,9 @@ $borderColorTable=#dfe6ec
z-index 100
.border-b
border-bottom 1px solid #ccc
+.us-n
+ user-select none
+.d-f
+ display flex
+.fd-c
+ flex-direction column
diff --git a/web/src/components/Hello.vue b/web/src/components/Hello.vue
deleted file mode 100644
index 58c90d0..0000000
--- a/web/src/components/Hello.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
- div.hello
- h1 aaa
- h1 {{msg}}
- h2 {{name}}
-
-
-
-
-
-
diff --git a/web/src/components/Index.vue b/web/src/components/Index.vue
deleted file mode 100644
index 5a24cc1..0000000
--- a/web/src/components/Index.vue
+++ /dev/null
@@ -1,18 +0,0 @@
-
- div
- Hello(name="zdl")
-
-
-
diff --git a/web/src/components/LoginForm.vue b/web/src/components/LoginForm.vue
new file mode 100644
index 0000000..3e3de9c
--- /dev/null
+++ b/web/src/components/LoginForm.vue
@@ -0,0 +1,60 @@
+
+el-form(ref='userForm', :rules='rules' :model='userForm', label-width='0')
+ el-form-item(label='', prop='account')
+ el-input(v-model='userForm.account', placeholder=" 账号", @keyup.native.enter='login')
+ el-form-item(label='', prop='password')
+ el-input(v-model='userForm.password', placeholder=" 密码", type="password", @keyup.native.enter='login')
+ el-form-item
+ el-button.login-btn(type='primary', @click='login()') {{'登录'}}
+
+
+
diff --git a/web/src/components/Main.vue b/web/src/components/Main.vue
new file mode 100644
index 0000000..b95d560
--- /dev/null
+++ b/web/src/components/Main.vue
@@ -0,0 +1,27 @@
+
+div
+ NavBar
+ transition(name="fade")
+ router-view
+
+
+
+
+
diff --git a/web/src/components/doc.vue b/web/src/components/doc.vue
index 8476958..a427059 100644
--- a/web/src/components/doc.vue
+++ b/web/src/components/doc.vue
@@ -1,183 +1,13 @@
div
- div.wrap
- span.c-red {{errMsg}}
- div.editor.f-l
- table.p-r
- tr.va-t.line.p-r.ov-h
- td.col-1.bg-grey-1
- span(v-for='(line, index) in inputLineInfo') {{index + 1}}
- td.col-2
- span(v-for='(line, index) in inputLineInfo', :class='{"bg-yellow":line.selectable}') {{line.selectable ? '可选' : ''}}
- td.col-3.bg-grey-2
- span(v-for='(line, index) in inputLineInfo') {{line.type || ''}}
- td.p-r.col-4
- el-input.inputText(type='textarea', @focus='onFocus', @blur='onBlur', :autofocus='true', autosize, :autosize='{minRows:25}' v-model='inputText', @keyup.up='onKeyup', @change='onChange')
- pre.output.f-l {{ mockJsonStr }}
- pre.output.f-l {{ dataJsonStr }}
-
-
diff --git a/web/src/components/home/Index.vue b/web/src/components/home/Index.vue
new file mode 100644
index 0000000..6f37483
--- /dev/null
+++ b/web/src/components/home/Index.vue
@@ -0,0 +1,36 @@
+
+ div.pt.ta-c
+ h1.cu-p(@click="go") Welcome to Best API
+
+
+
+
+
diff --git a/web/src/components/index.vue b/web/src/components/index.vue
deleted file mode 100644
index 5a24cc1..0000000
--- a/web/src/components/index.vue
+++ /dev/null
@@ -1,18 +0,0 @@
-
- div
- Hello(name="zdl")
-
-
-
diff --git a/web/src/components/member.vue b/web/src/components/member.vue
index e90fa95..0834bf7 100644
--- a/web/src/components/member.vue
+++ b/web/src/components/member.vue
@@ -1,36 +1,34 @@
- div
- div.member
- el-button.mb-10(type='primary', icon='plus', @click="addMember()") 添加成员
- el-dialog(:title='operation', :visible.sync="showOperationForm")
- el-form.dialog-form(ref='member', :model='member', :rules='rules', label-position='right', label-width='100px')
- el-form-item.ta-l(label='账户', prop='account')
- el-input(:disabled="operation!=='添加成员'", size='small', v-model='member.account', placeholder="字母数字下划线,字母开头,4-16位")
- el-form-item.ta-l(v-if="operation==='添加成员'||operation==='编辑成员'", label='姓名', prop='name')
- el-input(size='small', v-model='member.name', placeholder="王大锤")
- el-form-item.ta-l(v-if="operation==='添加成员'||operation==='编辑成员'",label='管理员')
- el-checkbox(v-model='member.isAdmin', prop='isAdmin')
- el-form-item.ta-l(v-if="operation==='添加成员'", label='密码', prop='password')
- el-input(size='small', v-model='member.password', prop='password', type='password')
- el-form-item.ta-l(v-if="operation==='重置密码'", label='新密码', prop='newPassword')
- el-input(size='small', v-model='member.newPassword', prop='password', type='password')
- el-form-item.ta-l(v-if="operation==='重置密码'", label='确认新密码', prop='passwordSure')
- el-input(size='small', v-model='member.newPasswordSure', type='password')
- el-form-item.ta-l(v-if="operation==='重置密码'", label='管理员密码', prop='password')
- el-input(size='small', v-model='member.adminPassword', type='password')
- el-button.mr-50(@click='cancel()') 取消
- el-button(type='primary', @click='submit()', :disabled='submiting') {{ submitting ? '提交中' : '提交' }}
+div.member.wrap
+ el-button.mb-10(type='text', icon='plus', @click="addMember()") 添加成员
+ el-dialog(:title='operation', :visible.sync="showOperationForm")
+ el-form.dialog-form(ref='member', :model='member', :rules='rules', label-position='right', label-width='100px')
+ el-form-item.ta-l(label='账户', prop='account')
+ el-input(:disabled="operation!=='添加成员'", size='small', v-model='member.account', placeholder="2-15位字母")
+ el-form-item.ta-l(v-if="operation==='添加成员'||operation==='编辑成员'", label='昵称', prop='name')
+ el-input(size='small', v-model='member.name', maxlength="20", placeholder="例如:王小明")
+ el-form-item.ta-l(v-if="operation==='添加成员'||operation==='编辑成员'",label='管理员')
+ el-checkbox(v-model='member.isAdmin', prop='isAdmin')
+ el-form-item.ta-l(v-if="operation==='添加成员'", label='密码', maxlength="20", prop='password')
+ el-input(size='small', v-model='member.password', prop='password', type='password')
+ el-form-item.ta-l(v-if="operation==='重置密码'", label='新密码', maxlength="20", prop='newPassword')
+ el-input(size='small', v-model='member.newPassword', prop='password', type='password')
+ el-form-item.ta-l(v-if="operation==='重置密码'", label='确认新密码', maxlength="20", prop='passwordSure')
+ el-input(size='small', v-model='member.newPasswordSure', type='password')
+ .ta-c
+ el-button.mr-50(@click='cancel()') 取 消
+ el-button(type='primary', @click='submit()', :disabled='submitting') {{ submitting ? '提交中' : '提 交' }}
- el-table.member-list(:data='memberList', border, fit)
- el-table-column(prop='account', label='账号', align='center')
- el-table-column(prop='name', label='姓名', align='center')
- el-table-column(prop='isAdmin', label='是否管理员', align='center')
- template(scope='scope') {{scope.row.isAdmin}}
- el-table-column(label='操作', align='center')
- template(scope='scope')
- el-button(@click.native.prevent='delMember(scope.$index)', type='text', size='small') 删除
- el-button(@click.native.prevent='editMember(scope.$index)', type='text', size='small') 编辑
- el-button(@click.native.prevent='resetPassword(scope.$index)', type='text', size='small') 重置密码
+ el-table.member-list(:data='memberList', border, fit)
+ el-table-column(prop='account', label='账号', align='center')
+ el-table-column(prop='name', label='姓名', align='center')
+ el-table-column(prop='isAdmin', label='是否管理员', align='center')
+ template(slot-scope='scope') {{scope.row.isAdmin}}
+ el-table-column(label='操作', align='center')
+ template(slot-scope='scope')
+ el-button(@click.native.prevent='delMember(scope.$index)', type='text', size='small') 删除
+ el-button(@click.native.prevent='editMember(scope.$index)', type='text', size='small') 编辑
+ el-button(@click.native.prevent='resetPassword(scope.$index)', type='text', size='small') 重置密码
diff --git a/web/src/components/project/Api.ts b/web/src/components/project/Api.ts
new file mode 100644
index 0000000..48c1a41
--- /dev/null
+++ b/web/src/components/project/Api.ts
@@ -0,0 +1,35 @@
+import _ from 'lodash'
+import http from '../../service/http'
+import { Message } from 'element-ui'
+
+export default class Api {
+ proId: string = ''
+ constructor(proId: string) {
+ this.proId = proId
+ }
+ async get(id: string, params: any) {
+ return await http.get(`/api/project/${this.proId}/api/${id}`, {
+ params
+ })
+ }
+ async post(params: any) {
+ try {
+ // 过滤空数据
+ params.request.paramList = params.request.paramList.filter((item: any) => item.name)
+ let result = await http.post(`/api/project/${this.proId}/api`, params)
+ Message({ type: 'success', message: '增加接口成功' })
+ return result
+ } catch (e) {
+ Message({ type: 'error', message: e || '增加接口失败' })
+ }
+ }
+ async getVersion(id: string) {
+ return await http.get(`/api/project/${this.proId}/api/${id}/version`)
+ }
+ async delete(id: string) {
+ return await http.delete(`/api/project/${this.proId}/api/${id}`)
+ }
+ async deleteModule(moduleName: string) {
+ return await http.delete(`/api/project/${this.proId}/api/?module=${moduleName}`)
+ }
+}
\ No newline at end of file
diff --git a/web/src/components/project/ApiDebug.vue b/web/src/components/project/ApiDebug.vue
new file mode 100644
index 0000000..1e97137
--- /dev/null
+++ b/web/src/components/project/ApiDebug.vue
@@ -0,0 +1,272 @@
+
+ .debug-wrap.ov-a
+ el-form.form(label-position='right', label-width='100px')
+ el-form-item.ta-l.mb-10(label='请求路径')
+ span {{hostname}}{{form.url}}
+ el-form-item.ta-l.mb-10(label='域名或IP')
+ el-input(v-model="hostname", placeholder="如 http://192.168.0.123", @change="hostChanged")
+ el-form-item.ta-l.mb-10(label='请求header', v-if="headerList.length>0")
+ table.ta-c.table-list(cellspacing="0" cellpadding="5")
+ tr
+ th 参数名
+ th 值
+ tr(v-for="header in headerList", :key="header.key")
+ td.td-1 {{header.key}}
+ td
+ el-input(v-model.trim='header.value', size='small')
+ el-form-item.ta-l.mb-10(label='URL参数', v-if="paramList.length>0")
+ table.ta-c.table-list(cellspacing="0" cellpadding="5", @keyup="changeUrl")
+ tr
+ th 参数名
+ th 值
+ tr(v-for="param in paramList", :key="param.name")
+ td.td-1 {{param.name}}
+ td
+ el-input(v-model.trim='param.mock', size='small')
+ el-form-item(label='请求payload', v-if="api.method!=='GET'")
+ .c-red(v-show="payloadError") {{payloadError}}
+ el-input(type="textarea", v-model="json", :rows="8")
+ el-form-item.ta-r
+ el-button.mr-20(@click="login.visible = true;loginResult = {}") 设置登录信息
+ el-button(type="primary", @click="send", :loading="sending") {{sending?'发送中':'发送请求'}}
+ el-form-item(label='响应body')
+ pre.body.bg-light.login-result(:class="response.status===200?'':'c-red'") {{response.body}}
+ div(v-show="!response.valid")
+ .c-red 返回结果校验失败
+ pre.login-result(:class="response.valid?'':'c-red'") {{response.errors}}
+ el-form-item(label='响应header')
+ pre.f-1.header.bg-light.login-result {{response.header}}
+ el-dialog(title="设置登录信息", :visible.sync="login.visible")
+ el-form(label-width="5em")
+ el-form-item(label="请求地址")
+ el-input(width="200", v-model="login.url", placeholder="http或https开头,如: http://192.168.0.21:8080/login")
+ el-select.w-100(v-model="login.method", slot="prepend")
+ el-option(label="POST", value="POST")
+ el-option(label="PUT", value="PUT")
+ el-form-item(label="登录数据")
+ el-input(v-model="login.data", :rows="4", type="textarea", placeholder='JSON格式,如:{username:"admin", password:"admin"}')
+ el-form-item(label="返回字段")
+ el-input(v-model="login.resultTokenField", placeholder="登录后返回的token字段名(Session登录不填)")
+ el-form-item(label="发送字段")
+ el-input(v-model="login.sendTokenField", placeholder="发送请求时header中token的字段名(Session登录不填)")
+ el-form-item(label="是否启用")
+ el-checkbox(v-model="login.enabled")
+ el-form-item.ta-r
+ el-button.mr-20(@click="testLogin", :loading="testing") 测试
+ el-button(type="primary", @click="saveLogin") 保存到浏览器
+ el-form-item(label="测试结果", v-show="loginResult")
+ pre.login-result(:class="loginResult.status===200?'':'c-red'") {{loginResult.data ? loginResult.data : loginResult}}
+
+
+
diff --git a/web/src/components/project/ApiEdit.vue b/web/src/components/project/ApiEdit.vue
new file mode 100644
index 0000000..efc8d8f
--- /dev/null
+++ b/web/src/components/project/ApiEdit.vue
@@ -0,0 +1,383 @@
+
+ .api-add-wrap.p-r.ov-a(v-loading="loading", :lock="true", element-loading-text="API加载中...")
+ el-form.ov-a.api-add#edit-form(ref='api', :model='api', :rules='rules', label-position='right', label-width='100px')
+ el-form-item.ta-l.mb-20(label='所属模块', prop='module')
+ el-select.w-200(v-model='api.module', size='small', filterable, allow-create, placeholder="选择或新建模块")
+ el-option(v-for='(m, index) in modules', :key='index', :value='m', :label='m')
+ el-form-item.ta-l.mb-20(label='接口名称', prop='name')
+ el-input.w-200(v-model.trim='api.name', size='small', autofocus='')
+ el-form-item.ta-l.mb-20(label='请求路径', prop='url')
+ el-input.w-200(v-model.trim='api.url', size='small', @keydown.shift.native='noParam')
+ span.ml-20.c-silver(v-show="showUrlMsg") 请将URL参数填入“请求参数”表格中
+ el-form-item.ta-l.mb-20(label='请求方法', prop='method')
+ el-radio-group(v-model="api.method", size="small")
+ el-radio-button(v-for='m in methods', :key="m", :label="m")
+ el-form-item.ta-l.mb-20(label='接口描述', prop='remark')
+ el-input(:rows=1, type="textarea", v-model.trim='api.remark', size='small')
+ el-form-item.ta-l.mb-20(label='请求参数')
+ el-table(:data='api.request.paramList', border)
+ el-table-column(label='参数名', width='200')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.name', size='small')
+ el-table-column(label='说明', min-width='200', align='center')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.remark', size='small')
+ el-table-column(label='测试数据', prop='mock', min-width='100', align='center')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.mock', size='small')
+ el-table-column(label='', width='50')
+ template(slot-scope='scope')
+ el-button.c-red(size='mini', @click='delItem("param", api.request.paramList, scope.row, scope.$index)', icon='close', type='text')
+ div.append-table-row.ta-c.cu-p(@click='addItem("param", api.request.paramList)')
+ el-button(type='text', icon='plus')
+ el-form-item.ta-l(label='请求体', v-if='api.method!=="GET"')
+ ParamEditor(:schema="api.request.dataSchema", ref="requestEditor")
+ el-form-item.ta-l(label='响应体')
+ ParamEditor(:schema="api.response.dataSchema", ref="responseEditor")
+ el-form-item.ta-l(label='高级配置')
+ span(@click='showAdvancedConfig=!showAdvancedConfig')
+ el-button(:icon='showAdvancedConfig?"arrow-down":"arrow-right"', type='text', @click.stop='showAdvancedConfig=!showAdvancedConfig')
+ template(v-if='showAdvancedConfig')
+ el-form-item.cl-b.ta-l.mb-10(label='可测试')
+ el-switch(v-model='api.isTest', on-text='on', off-text='off')
+ el-form-item.ta-l(label='延迟响应')
+ el-input.w-200(v-model.trim='api.delay', size='small')
+ span 毫秒
+ el-form-item.ta-l(label='异常处理')
+ el-table(:data='api.response.errList', border)
+ el-table-column(label='返回值', min-width='200')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.data', size='small', width='50')
+ el-table-column(label='说明')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.remark', size='small')
+ el-table-column(label='概率(用于调试)')
+ template(slot-scope='scope')
+ el-input-number(v-model='scope.row.probability', control-position="right", size="small", :min="0", :max="100")
+ el-table-column(label='启用', prop='enabled', width='80')
+ template(slot-scope='scope')
+ el-checkbox(v-model='scope.row.enabled', size='small')
+ el-table-column(label='', width='50')
+ template(slot-scope='scope')
+ el-button.c-red(size='mini', @click='delItem("err", api.response.errList, scope.row, scope.$index)', icon='close', type='text')
+ div.append-table-row.ta-c.cu-p(@click='addItem("err", api.response.errList)')
+ el-button(type='text', icon='plus')
+ template(v-for='(header, index) in [api.request.headerList, api.response.headerList]')
+ el-form-item(:label='index===0?"请求header":"响应header"', :key='index')
+ el-table(:data='header', border)
+ el-table-column(label='key', width='200')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.key', size='small')
+ el-table-column(label='value')
+ template(slot-scope='scope')
+ el-input(v-model.trim='scope.row.value', size='small')
+ el-table-column(label='', width='50')
+ template(slot-scope='scope')
+ el-button.c-red(size='mini', @click='delItem("header", header, scope.row, scope.$index)', icon='close', type='text')
+ div.append-table-row.ta-c.cu-p(@click='addItem("header", header)')
+ el-button(type='text', icon='plus')
+ div.ta-c.submit-btns
+ el-button.mr-50(@click='cancel()') 取 消
+ el-button(type='primary', @click='submit()') 保 存
+
+
+
+
+
+
+
diff --git a/web/src/components/project/ApiIndex.vue b/web/src/components/project/ApiIndex.vue
new file mode 100644
index 0000000..b36ea0e
--- /dev/null
+++ b/web/src/components/project/ApiIndex.vue
@@ -0,0 +1,249 @@
+
+ div.p-a.l-0.r-0.b-0.t-40.d-f.bg-white
+ ApiList(@getHandler="getTreeHandler", ref="apiList", :proId="proId", :clickedId="apiId", @add="addApi", @view="viewApi", @edit="editApi", @delete="deleteApi")
+ ApiEdit.f-1.ov-y-a(v-if="mode==='edit'||mode==='add'", :mode="mode" :proId="proId", :apiId="apiId", :moduleName="moduleName", @updated="apiModified", @cancel="cancelEdit")
+ div.d-f.fd-c.f-1.ov-y-a(v-if="mode==='view'")
+ div.api-detail-wrap.p-r#detail-wrap.ta-l(v-show="btnsVisible")
+ el-button(size='small', icon='edit', type='default', @click='editApi(apiId)') 编辑
+ el-button(size='small', icon='document', type='default', @click="copy") 复制
+ el-button(size='small', icon='menu', type='default', @click="debug") 调试
+ el-button(v-if="versionList.length>0", v-show="!comparing", size='small', icon='view', type='default', @click="compare") 版本
+ el-select.f-r.mr-10(v-if="comparing", v-model="version", size="small")
+ el-option(v-for="version in versionList", :key="version", :label="version", :value="version")
+ div.d-f.f-1.p-r
+ ApiView.f-1(ref="viewComp", @loaded="btnsVisible=true", :proId="proId", :apiId="apiId", :compareVersion="version")
+ ApiView.f-1(v-if="comparing", :proId="proId", :apiId="apiId", :currentVersion="version")
+ i.p-a.cu-p.c-red.close-history.el-icon-close(v-if="comparing", @click="comparing=false", title="关闭")
+ ApiDebug.f-1(v-show="debugging", :api="debugApi")
+ i.p-a.cu-p.c-red.close-history.el-icon-close(v-show="debugging", @click="debugging=false", title="关闭")
+ el-dialog(title="复制接口", :visible.sync="replication.visible")
+ div
+ el-select.replication(v-model="replication.proId", placeholder="请选择项目", @change="proChange")
+ el-option(v-for="item in projectList", :key="item.id", :label="item.name", :value="item.id")
+ el-select.replication(v-model="replication.module", placeholder="请选择模块")
+ el-option(v-for="item in moduleList", :key="item", :label="item", :value="item")
+ el-input.replication(v-model="replication.name", placeholder="新接口名称")
+ .mt-20.ta-c
+ el-button(@click="replication.visible=false") 取消
+ el-button(type="primary", @click="replicateApi") 确定
+
+
+
diff --git a/web/src/components/project/ApiList.vue b/web/src/components/project/ApiList.vue
new file mode 100644
index 0000000..dd71f98
--- /dev/null
+++ b/web/src/components/project/ApiList.vue
@@ -0,0 +1,375 @@
+
+ div.api-list-wrap.p-r.us-n(:style="treeStyle")
+ div(v-show="parseInt(treeStyle.width)>=visibleWidth")
+ el-input.api-search(size='small', v-show='showTree', @keydown.esc.native="esc", icon='search', v-model='filterText', placeholder="查询接口[alt+f]")
+ div.api-operation.ta-r
+ i.mr-10.el-icon-caret-right.cu-p.c-gray(title="折叠", @click="fold(true)")
+ i.mr-10.el-icon-caret-bottom.cu-p.c-gray(title="展开", @click="fold(false)")
+ i.el-icon-plus.cu-p.c-blue(title="添加模块[alt+m]", @click="addModule")
+ div.api-tree(v-loading="loading")
+ el-tree.ta-l.ov-y-a.ov-x-h(v-show='showTree', ref='apiTree', @node-click='selectApi',
+ class='filter-tree', :data="apiList", :props='defaultProps', :expand-on-click-node='false',
+ node-key='id', :highlight-current="true",
+ :filter-node-method='filterNode', :render-content='renderBtn', :empty-text="emptyText")
+ div.drag-line(@mousedown='mousedown')
+
+
+
+
+
+
diff --git a/web/src/components/project/ApiView.vue b/web/src/components/project/ApiView.vue
new file mode 100644
index 0000000..19fc7e4
--- /dev/null
+++ b/web/src/components/project/ApiView.vue
@@ -0,0 +1,240 @@
+
+ .api-view-wrap.ov-a.p-r(v-loading="loading", element-loading-text="拼命加载中...")
+ .api-latest
+ div.f-r.ta-r.c-silver(v-show="!compareVersion&¤tVersion")
+ div 修改者:{{api.editor}}
+ div 修改时间:{{api.updateTime}}
+ div.f-r.ta-r.c-silver(v-show="!currentVersion&&compareVersion")
+ div 创建者:{{api.creator}}
+ div 创建时间:{{api.createdTime}}
+ el-form(ref='api', :data='api', label-position='right', label-width='100px')
+ el-form-item.ta-l.mb-10(label='接口名称')
+ span {{api.name}}
+ el-form-item.ta-l.mb-10(label='请求路径')
+ span.mr-10 {{api.url}}
+ el-tag(:type="methodType") {{api.method}}
+ el-form-item.ta-l.mb-10(label='接口描述')
+ div.form-remark {{api.remark}}
+ el-form-item.ta-l(label='请求参数', v-if='api.request.paramList&&api.request.paramList.length>0')
+ el-table(:data='api.request.paramList', border, )
+ el-table-column(label='参数名', prop='name', width='180', align='left')
+ el-table-column(label='说明', prop='remark', min-width='100', align='left')
+ template(slot-scope='scope')
+ .nowrap(:title="scope.row.remark") {{scope.row.remark}}
+ el-table-column(label='模拟数据', prop='mock', width='150', align='left')
+ el-form-item.ta-l(label='请求体', v-if='api.method!=="GET"')
+ ParamEditor(:schema='api.request.dataSchema', :readonly="true")
+ el-form-item.ta-l(label='响应体')
+ ParamEditor(:schema='api.response.dataSchema', :readonly="true")
+ el-form-item.cl-b.ta-l(label='可测试', v-if="api.isTest", :readonly="true")
+ span {{api.isTest}}
+ el-form-item.ta-l(label='延迟响应', v-if="api.delay")
+ span {{api.delay + '毫秒'}}
+ el-form-item.ta-l(label='异常处理', v-if='api.response.errList&&api.response.errList.length>0')
+ el-table(:data='api.response.errList', border)
+ el-table-column(label='是否启用', prop='enabled', width='100')
+ template(slot-scope='scope')
+ span {{scope.row.enabled}}
+ el-table-column(label='异常概率(用于调试)', prop='probability', width='100')
+ el-table-column(label='异常返回(json格式)', prop='data')
+ template(slot-scope='scope')
+ pre {{scope.row.response}}
+ el-table-column(label='异常描述', prop='remark')
+ template(v-for='(header, index) in [api.request.headerList, api.response.headerList]')
+ el-form-item.ta-l(:label='index===0?"请求header":"响应header"', :key='index', v-if='header&&header.length>0')
+ el-table(:data='header', border)
+ el-table-column(label='key', prop='key')
+ el-table-column(label='value', prop='value')
+
+
+
+
+
+
+
diff --git a/web/src/components/project/ParamEditor.vue b/web/src/components/project/ParamEditor.vue
new file mode 100644
index 0000000..6e2a232
--- /dev/null
+++ b/web/src/components/project/ParamEditor.vue
@@ -0,0 +1,657 @@
+
+div.param-editor(:id="id")
+ el-tabs(v-model="activeTabName", type="border-card", @tab-click="tabClick(activeTabName)")
+ el-tab-pane(label="表格", name="table")
+ a.f-r.demo(href="http://json-schema-faker.js.org/", target="_blank") JSON Schema Faker示例
+ el-table.tab-pane.data-list-table(:data='dataList', border)
+ el-table-column.d-f(prop='name', label='参数名', header-align='left')
+ template(slot-scope='scope')
+ el-tag.row-type(v-if="readonly", v-show="'string'===scope.row.type", type="gray") {{scope.row.type}}
+ el-tag.row-type(v-if="readonly", v-show="'object'===scope.row.type", type="primary") {{scope.row.type}}
+ el-tag.row-type(v-if="readonly", v-show="'array'===scope.row.type", type="success") {{scope.row.type}}
+ el-tag.row-type(v-if="readonly", v-show="'number'===scope.row.type", type="warning") {{scope.row.type}}
+ el-tag.row-type(v-if="readonly", v-show="'boolean'===scope.row.type", type="danger") {{scope.row.type}}
+ i.el-icon-document.copy(v-else, v-show="scope.row.id!=='root'", title="复制属性", @click="copy(dataList, scope.row)")
+ span.d-ib.icon-node(v-if='scope.row.ancestor.length>0', :class="scope.row.className")
+ el-input.d-ib.f-1.param-name(v-if="!readonly", :disabled="scope.row.noName||scope.row.isRoot", v-model='scope.row.name',
+ :class="scope.row.className", size='small', :maxlength=50)
+ div.ws-n.ov-h.to-e.row-name(v-else, :title="scope.row.name") {{scope.row.isRoot ? ' ' : scope.row.name}}
+ el-select.data-select(v-if="!readonly", v-model='scope.row.type',
+ :key='scope.row.id', size='small', @change='changeType(dataList, scope.row, scope.$index)')
+ el-option(v-for='(t, index) in types', :value='t', :key='index', :label='t')
+ i.el-icon-plus.plus-btn.c-blue.cu-p(v-if="!readonly", v-show='scope.row.type.toLowerCase()==="object" || scope.row.type.toLowerCase() === "array"', @click='addData(dataList, scope.row, scope.$index)')
+ i.el-icon-close.c-red.cu-p.plus-btn.ml-10(v-if="!readonly", size='mini', v-show="!scope.row.isRoot", @click='delData(dataList, scope.row, scope.$index)', icon='close', type='danger')
+ el-table-column(prop='description', label='说明', header-align='center', min-width='80')
+ template(slot-scope='scope')
+ el-input(v-if="!readonly", :disabled="scope.row.noName", :maxlength=500, v-show="!scope.row.isRoot", v-model='scope.row.description', size='small')
+ div.ws-n.to-e.ov-h(v-else, :title="scope.row.description") {{scope.row.description}}
+ el-table-column(prop='required', label='必须', width='50', align='center')
+ template(slot-scope='scope')
+ el-checkbox(v-if="!readonly", v-show="!scope.row.isRoot", v-model='scope.row.required', size='normal')
+ i.el-icon-check.c-blue(v-else, v-show="scope.row.required")
+ el-table-column.p-r(prop='property', label='Schema属性', header-align='center', width='250')
+ template(slot-scope='scope')
+ el-input.property(v-if="!readonly", :title="scope.row.property", type="textarea", :rows="1", :maxlength=1000, v-model='scope.row.property', size='small', @blur="validateProperty")
+ span(v-else, :title="scope.row.property") {{scope.row.property}}
+ .schema-hint.p-f.ta-l
+ div(v-if="scope.row.type==='array'")
+ el-button(type="text", @click="addProp(scope.row, 'minItems', 1)") minItems
+ span 数组最小长度
+ br
+ el-button(type="text", @click="addProp(scope.row, 'maxItems', 10)") maxItems
+ span 数组最大长度
+ br
+ el-button(type="text", @click="addProp(scope.row, 'enum', [])") enum
+ span 枚举值
+ br
+ div(v-if="scope.row.type==='number'")
+ el-button(type="text", @click="addProp(scope.row, 'type', 'integer')") integer
+ span 整数
+ br
+ el-button(type="text", @click="addProp(scope.row, 'minimum', 0)") minimum
+ span 最小值
+ br
+ el-button(type="text", @click="addProp(scope.row, 'maximum', 1024)") maximum
+ span 最大值
+ br
+ el-button(type="text", @click="addProp(scope.row, 'enum', [])") enum
+ span 枚举值
+ br
+ div(v-if="scope.row.type==='string'")
+ el-button(type="text", @click="addProp(scope.row, 'pattern', '')") pattern
+ span 正则表达式,如 "abc?","\\w{12}"
+ br
+ el-button(type="text", @click="addProp(scope.row, 'format', '')") format
+ span 固定格式字符串,支持"ipv4","date-time","email","hostname","uri"
+ br
+ el-button(type="text", @click="addProp(scope.row, 'minlength', 2)") minlength
+ span 最小长度
+ br
+ el-button(type="text", @click="addProp(scope.row, 'maxlength', 10)") maxlength
+ span 最大长度
+ br
+ el-button(type="text", @click="addProp(scope.row, 'enum', [])") enum
+ span 枚举值
+ br
+ el-tab-pane(label="JSON", name="json")
+ a.f-r.cu-p.demo(v-if="!readonly", @click="dialogVisible=true") 导入
+ .cl-b
+ pre.json.tab-pane
+ el-dialog(size="small", title="导入json将覆盖当前参数,谨慎操作!", :visible.sync="dialogVisible", :before-close="handleClose")
+ span.c-red {{jsonError}}
+ el-input(type="textarea", :rows="15", v-model="json")
+ div.ta-r
+ el-button.mt-10(@click="cancel") 取 消
+ el-button.mt-10.mr-10(type="primary", @click="importJson") 导 入
+ el-tab-pane(label="Schema", name="schema")
+ div.ta-l
+ .c-red.f-l.demo {{errMsg}}
+ a.f-r.demo(href="http://json-schema.org/latest/json-schema-core.html", target="_blank") JSON Schema 说明
+ .cl-b
+ .tab-pane.pl.p-r
+ ol.p-a.line
+ li(v-for="(line,index) in schemaLine", :key="index", :class="line?'error':''")
+ pre.schema(:contenteditable="!readonly", @keyup='schemaChanged')
+
+
+
+
diff --git a/web/src/components/project/Project.ts b/web/src/components/project/Project.ts
new file mode 100644
index 0000000..641593c
--- /dev/null
+++ b/web/src/components/project/Project.ts
@@ -0,0 +1,18 @@
+import _ from 'lodash'
+import http from '../../service/http'
+
+export default class Project {
+ id: string = ''
+ constructor(id: string) {
+ this.id = id
+ }
+ async get(id?: string, params?: any) {
+ let url = id ? `/api/project/${this.id}` : '/api/project'
+ return await http.get(url, {
+ params
+ })
+ }
+ async getModule(id?: string) {
+ return await http.get(`/api/project/${id||this.id}/api/module`)
+ }
+}
\ No newline at end of file
diff --git a/web/src/components/project/apiEdit.vue b/web/src/components/project/apiEdit.vue
deleted file mode 100644
index 5f82d93..0000000
--- a/web/src/components/project/apiEdit.vue
+++ /dev/null
@@ -1,506 +0,0 @@
-
- div.api-add-wrap.p-r
- el-form.ov-a.api-add#edit-form(ref='api', :model='api', :rules='rules', label-position='right', label-width='100px')
- el-form-item.ta-l.mb-10(label='所属模块', prop='module')
- el-select.w-200(v-model='api.module', size='small', filterable, allow-create, placeholder="选择或新建模块")
- el-option(v-for='(m, index) in modules', :key='index', :value='m', :label='m')
- el-form-item.ta-l.mb-10(label='接口名称', prop='name')
- el-input.w-200(v-model='api.name', size='small')
- el-form-item.ta-l.mb-10(label='请求路径', prop='url')
- el-input.w-200(v-model='api.url', size='small', @change='preJson("requestUrl")')
- el-form-item.ta-l.mb-10(label='请求方法', prop='method')
- el-select.w-200(v-model='api.method', size='small')
- el-option(v-for='(m, index) in methods', :value='m', :key='index')
- el-form-item.ta-l.mb-10(label='接口描述', prop='remark')
- el-input(v-model='api.remark', size='small')
- el-form-item.ta-l.mb-10(label='请求参数')
- el-button(@click='copy(api.request.paramList)', size='small') 复制
- el-button(@click='paste("request", "paramList")', size='small') 粘贴
- el-table(:data='api.request.paramList')
- el-table-column(label='参数名', prop='name', width='200')
- template(scope='scope')
- el-input(v-model='scope.row.name', size='small', @change='preJson("requestUrl")')
- el-table-column(label='必传', prop='required', width='50', align='center')
- template(scope='scope')
- el-checkbox(v-model='scope.row.required')
- el-table-column(label='Mock', prop='mock', min-width='100', align='center')
- template(scope='scope')
- el-input(v-model='scope.row.mock', size='small', @change='preJson("requestUrl")')
- el-table-column(label='说明', prop='remark', min-width='200', align='center')
- template(scope='scope')
- el-input(v-model='scope.row.remark', size='small')
- el-table-column(label='', width='50')
- template(scope='scope')
- el-button(size='mini', @click='delItem("param", api.request.paramList, scope.row, scope.$index)', icon='close', type='danger')
- div.append-table-row.ta-c
- el-button(type='primary', size='small', icon='plus', @click='addItem("param", api.request.paramList)')
- template(v-for='(data, index) in [api.request.dataList, api.response.dataList]')
- el-form-item.ta-l(:label='index===0?"请求体":"响应体"', :key='index', v-if='!(index===0&&api.method==="GET")')
- el-button(@click='copy(data)', size='small') 复制
- el-button(@click="index===0?paste('request', 'dataList'):paste('response', 'dataList')", size='small') 粘贴
- el-table(:data='data')
- el-table-column(prop='name', label='参数名', header-align='left', width='300')
- template(scope='scope')
- template(v-for='(id, index) in scope.row.ancestor')
- span.d-ib.icon-node-space-2.f-l(v-if='index>1')
- span.d-ib.icon-node-space-1.f-l(v-if='scope.row.ancestor.length>1')
- span.d-ib.icon-node.f-l(v-if='scope.row.ancestor.length>1')
- el-input.d-ib.w-150.param-name(v-model='scope.row.name', size='small', :class='scope.row.className', @change='index===0?preJson("request"):preJson("response")')
- el-button.p-a.cu-p.btn-add-child-param(title='点击添加成员属性', v-if='scope.row.type==="Object" || scope.row.type === "Array"', size='mini', icon='plus', type='primary', @click='addData(data, scope.row, scope.$index)')
- el-table-column(prop='type', label='类型', header-align='center', width='105')
- template(scope='scope')
- el-select(v-model='scope.row.type', :key='scope.row.id', size='small', @change='index===0?preJson("request"):preJson("response");changeType(data, scope.row, scope.$index)')
- el-option(v-for='(t, index) in types', :value='t', :key='index', :label='t')
- el-table-column(prop='required', label='必传', width='50', align='center')
- template(scope='scope')
- el-checkbox(v-model='scope.row.required', size='normal')
- el-table-column(prop='mock', label='Mock', header-align='center', width='250')
- template(scope='scope')
- el-input(v-model='scope.row.mock', size='small', @change='index===0?preJson("request"):preJson("response")')
- el-table-column(prop='remark', label='说明', header-align='center', min-width='100')
- template(scope='scope')
- el-input(v-model='scope.row.remark', size='small')
- el-table-column(label='', width='50')
- template(scope='scope')
- el-button(size='mini', @click='delData(data, scope.row, scope.$index)', icon='close', type='danger')
- div.append-table-row.ta-c
- el-button(type='primary', size='small', icon='plus', @click='addData(data)')
- el-form-item.ta-l(label='高级配置')
- div(@click='showAdvancedConfig=!showAdvancedConfig')
- el-button(:icon='showAdvancedConfig?"arrow-down":"arrow-right"', type='text', @click.stop='showAdvancedConfig=!showAdvancedConfig')
- template(v-if='showAdvancedConfig')
- el-form-item.cl-b.ta-l.mb-10(label='开启测试')
- el-switch(v-model='api.isTest', on-text='on', off-text='off')
- el-form-item.ta-l(label='延迟响应')
- el-input.w-200(v-model='api.delay', size='small')
- span 毫秒
- el-form-item.ta-l(label='异常处理')
- el-table(:data='api.response.errList', border)
- el-table-column(label='启用', prop='enabled', width='50')
- template(scope='scope')
- el-checkbox(v-model='scope.row.enabled', size='small')
- el-table-column(label='异常结果(json格式)', min-width='200')
- template(scope='scope')
- el-input(v-model='scope.row.data', size='small', width='50')
- el-table-column(label='异常概率(用于调试)')
- template(scope='scope')
- el-input(v-model='scope.row.probability', size='small', min-width='200')
- el-table-column(label='异常描述')
- template(scope='scope')
- el-input(v-model='scope.row.remark', size='small')
- el-table-column(label='操作', width='50')
- template(scope='scope')
- el-button(size='mini', @click='delItem("err", api.response.errList, scope.row, scope.$index)', icon='close', type='danger')
- div.append-table-row.ta-c
- el-button(type='primary', size='small', icon='plus', @click='addItem("err", api.response.errList)')
- template(v-for='(header, index) in [api.request.headerList, api.response.headerList]')
- el-form-item(:label='index===0?"请求header":"响应header"', :key='index')
- el-table(:data='header', border)
- el-table-column(label='key', width='200')
- template(scope='scope')
- el-input(v-model='scope.row.key', size='small')
- el-table-column(label='value')
- template(scope='scope')
- el-input(v-model='scope.row.value', size='small')
- el-table-column(label='操作', width='50')
- template(scope='scope')
- el-button(size='mini', @click='delItem("header", header, scope.row, scope.$index)', icon='close', type='danger')
- div.append-table-row.ta-c
- el-button(type='primary', size='small', icon='plus', @click='addItem("header", header)')
- el-form.ov-a.pre-mock.p-a.t-0.r-0.b-0#pre-mock
- div#drag-line.drag-line.t-0.l-0.b-0(@mousedown='mousedown')
- el-form-item.ta-l(label='请求url')
- pre.pre {{requestUrl}}
- el-form-item.ta-l(label='请求体')
- el-button(type='primary', size='small', @click='preJson("request")') 刷新预览
- pre.pre {{requestExample}}
- el-form-item.ta-l(label='响应体')
- el-button(type='primary', size='small', @click='preJson("response")') 刷新预览
- pre.pre {{responseExample}}
- div.ta-c.submit-btns.p-a.l-0.r-0.b-0
- el-button.mr-50(@click='cancel()') 取消
- el-button(type='primary', @click='submit()') {{ api.id ? '保存' : '提交' }}
-
-
-
-
-
-
-
diff --git a/web/src/components/project/apiHistory.vue b/web/src/components/project/apiHistory.vue
deleted file mode 100644
index 04de942..0000000
--- a/web/src/components/project/apiHistory.vue
+++ /dev/null
@@ -1,323 +0,0 @@
-
- el-row.api-compare
- el-col.api-latest.ov-a.p-r(:span='12', v-for='(api, index) in [apiLeft, apiRight]', :key='index')
- el-form(ref='api', :data='api', label-position='right', label-width='100px')
- el-row
- el-col(:span='12')
- el-form-item.ta-l.mb-10(v-if='index===0', label='当前版本')
- span {{api.version + '(最新)'}}
- el-form-item.ta-l.mb-10(label='历史版本', v-if='index===1')
- el-select.mr-50(v-model='oldVersion', value-key='version', @change='getOldVersion()', size='small')
- el-option(v-for='(v, index) in versionList', :value='v', :label='v.version', :key='index')
- el-col(:span='12')
- el-form-item.ta-l.mb-10(label='创建者', v-if='index===0')
- span {{api.creator}}
- el-form-item.ta-l.mb-10(label='修改者', v-if='index===1')
- span {{api.updator}}
- el-form-item.ta-l.mb-10(label='接口名称')
- span(v-bind:class="[apiLeft.module !== apiRight.module ? editClass : '']") {{api.module + '/' }}
- span(v-bind:class="[apiLeft.name !== apiRight.name ? editClass : '']") {{api.name}}
- el-form-item.ta-l.mb-10(label='请求路径')
- el-button.mr-10(v-bind:class="[apiLeft.method !== apiRight.method ? editClass : '']", type='default', size='small') {{api.method}}
- span(v-bind:class="[apiLeft.url !== apiRight.url ? editClass : '']") {{api.url}}
- el-form-item.ta-l.mb-10(label='接口描述')
- span(v-bind:class="[apiLeft.remark !== apiRight.remark ? editClass : '']") {{api.remark}}
- el-form-item.ta-l(label='请求参数')
- span(v-if='api.request.paramList&&api.request.paramList.length<1') 无
- el-table(:data='api.request.paramList', v-if='api.request.paramList&&api.request.paramList.length>0', :row-class-name='diffRowClassName')
- el-table-column(label='参数名', prop='name', width='180', align='left')
- el-table-column(label='必传', prop='required', width='80', align='left')
- template(scope='scope')
- span {{scope.row.required}}
- el-table-column(label='Mock', prop='mock', width='150', align='left')
- el-table-column(label='说明', prop='remark', min-width='100', align='left')
- template(scope='scope')
- span.nowrap {{scope.row.remark}}
- el-row
- template(v-for='(data, index) in [api.request.dataList, api.response.dataList]')
- el-form-item.ta-l(:label='index===0?"请求体":"响应体"', :key='index')
- span(v-if='data&&data.length<1') 无
- el-table(:data='data', :row-class-name='diffRowClassName', v-if='data&&data.length>0')
- el-table-column(prop='name', label='参数名', width='220')
- template(scope='scope')
- template(v-for='(id, index) in scope.row.ancestor')
- span.d-ib.icon-node-space-2.f-l(v-if='index>1')
- span.d-ib.icon-node-space-1.f-l(v-if='scope.row.ancestor.length>1')
- span.d-ib.icon-node.f-l(v-if='scope.row.ancestor.length>1')
- span.param-name.d-ib {{scope.row.name}}
- el-table-column(prop='type', label='类型', width='100')
- el-table-column(prop='required', label='必传', width='80')
- template(scope='scope')
- span {{scope.row.required}}
- el-table-column(prop='mock', label='Mock', width='150')
- el-table-column(prop='remark', label='说明', min-width='100')
- template(scope='scope')
- span.ov-a.nowrap {{scope.row.remark}}
- el-form-item.ta-l(label='高级配置')
- div(@click='showAdvancedConfig=!showAdvancedConfig')
- el-button(:icon='showAdvancedConfig?"arrow-down":"arrow-right"', type='text', @click.stop='showAdvancedConfig=!showAdvancedConfig')
- template(v-if='showAdvancedConfig')
- el-form-item.cl-b.ta-l(label='开启测试')
- span(v-bind:class="[apiLeft.isTest !== apiRight.isTest ? editClass : '']") {{api.isTest}}
- el-form-item.ta-l(label='延迟响应')
- span(v-bind:class="[apiLeft.delay !== apiRight.delay ? editClass : '']") {{api.delay + '毫秒'}}
- el-form-item.ta-l(label='异常处理')
- span(v-if='api.response.errList&&api.response.errList.length<1') 无
- el-table(:data='api.response.errList', border, v-if='api.response.errList&&api.response.errList.length>0', :row-class-name='diffRowClassName')
- el-table-column(label='是否启用', prop='enabled')
- template(scope='scope')
- span {{scope.row.enabled}}
- el-table-column(label='异常结果(json格式)', prop='data')
- el-table-column(label='异常概率(用于调试)', prop='probability')
- el-table-column(label='异常描述', prop='remark')
- template(v-for='(header, index) in [api.request.headerList, api.response.headerList]')
- el-form-item.ta-l(:label='index===0?"请求header":"响应header"', :key='index')
- span(v-if='header&&header.length<1') 无
- el-table(:data='header', border, v-if='header&&header.length>0', :row-class-name='diffRowClassName')
- el-table-column(label='key', prop='key')
- el-table-column(label='value', prop='value')
-
-
-
-
-
-
-
diff --git a/web/src/components/project/apiList.vue b/web/src/components/project/apiList.vue
deleted file mode 100644
index a02cba8..0000000
--- a/web/src/components/project/apiList.vue
+++ /dev/null
@@ -1,344 +0,0 @@
-
- div.api-wrap
- div.api-tree.p-a#apitree
- el-input.api-search.mb-10.p-a(size='small', v-show='showTree', icon='search', v-model='filterText', placeholder="输入接口名称进行过滤")
- el-tree.ta-l.ov-y-a.ov-x-h(v-show='showTree', ref='apiTree', @node-click='selectApi', class='filter-tree', :data="apiList", :props='defaultProps', :expand-on-click-node='true', :default-expanded-keys='["0"]', node-key='id', highlight-current, :filter-node-method='filterNode', :render-content='renderBtn')
- div#drag-line.drag-line(@mousedown='mousedown')
- div.api-detail-wrap.p-r#detail-wrap(:class='showTree?"ml-250":"ml-10"')
- el-row.border-b.operation-btns.p-a.ta-l
- el-button(size='small', icon='view', type='default', @click='viewApi(apiId)') 查看
- el-button(size='small', icon='edit', type='default', @click='editApi(apiId)') 编辑
- el-button(size='small', icon='document', type='default') 复制
- el-button(size='small', icon='document', type='default') 导入
- el-button(size='small', icon='view', type='default', @click='viewHistory(apiId)') 版本对比
- el-button(size='small', icon='view', type='default') 模拟请求
- router-view(:key='$route.fullPath', v-on:update='refreshApiList')
-
-
-
-
-
-
diff --git a/web/src/components/project/apiView.vue b/web/src/components/project/apiView.vue
deleted file mode 100644
index 49259d5..0000000
--- a/web/src/components/project/apiView.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-
- el-row.api-view
- el-col.api-latest.ov-a.p-r
- el-form(ref='api', :data='api', label-position='right', label-width='100px')
- el-form-item.ta-l.mb-10(label='接口描述')
- span {{api.remark}}
- el-form-item.ta-l.mb-10(label='接口名称')
- span {{api.module + '/'}}
- span {{api.name}}
- el-form-item.ta-l.mb-10(label='请求路径')
- el-button.mr-10(type='primary', size='small') {{api.method}}
- span {{api.url}}
- el-form-item.ta-l(label='请求参数')
- span(v-if='api.request.paramList&&api.request.paramList.length<1') 无
- el-button(v-if='api.request.paramList&&api.request.paramList.length>0', @click='copy(api.request.paramList)', size='small') 复制
- //- el-button(@click='paste(api.request.paramList)', size='small') 粘贴
- el-table(:data='api.request.paramList', v-if='api.request.paramList&&api.request.paramList.length>0')
- el-table-column(label='参数名', prop='name', width='180', align='left')
- el-table-column(label='必传', prop='required', width='80', align='left')
- template(scope='scope')
- span {{scope.row.required}}
- el-table-column(label='Mock', prop='mock', width='150', align='left')
- el-table-column(label='说明', prop='remark', min-width='100', align='left')
- template(scope='scope')
- span.nowrap {{scope.row.remark}}
- el-row
- template(v-for='(data, index) in [api.request.dataList, api.response.dataList]')
- el-form-item.ta-l(:label='index===0?"请求体":"响应体"', :key='index')
- span(v-if='data&&data.length<1') 无
- el-button(v-if='data&&data.length>0', @click='copy(data)', size='small') 复制
- el-table(:data='data', v-if='data&&data.length>0')
- el-table-column(prop='name', label='参数名', width='180')
- template(scope='scope')
- template(v-for='(id, index) in scope.row.ancestor')
- span.d-ib.icon-node-space-2.f-l(v-if='index>1')
- span.d-ib.icon-node-space-1.f-l(v-if='scope.row.ancestor.length>1')
- span.d-ib.icon-node.f-l(v-if='scope.row.ancestor.length>1')
- span.param-name.d-ib {{scope.row.name}}
- el-table-column(prop='type', label='类型', width='100')
- el-table-column(prop='required', label='必传', width='80')
- template(scope='scope')
- span {{scope.row.required}}
- el-table-column(prop='mock', label='Mock', width='150')
- el-table-column(prop='remark', label='说明', min-width='100')
- template(scope='scope')
- span.ov-a.nowrap {{scope.row.remark}}
- el-form-item.ta-l(label='高级配置')
- div(@click='showAdvancedConfig=!showAdvancedConfig')
- el-button(:icon='showAdvancedConfig?"arrow-down":"arrow-right"', type='text', @click.stop='showAdvancedConfig=!showAdvancedConfig')
- //- hr.mt-20
- template(v-if='showAdvancedConfig')
- el-form-item.cl-b.ta-l(label='开启测试')
- span {{api.isTest}}
- el-form-item.ta-l(label='延迟响应')
- span {{api.delay + '毫秒'}}
- el-form-item.ta-l(label='异常处理')
- span(v-if='api.response.errList&&api.response.errList.length<1') 无
- el-button(v-if='api.response.errList&&api.response.errList.length>0', @click='copy(api.response.errList)', size='small') 复制
- el-table(:data='api.response.errList', border, v-if='api.response.errList&&api.response.errList.length>0')
- el-table-column(label='是否启用', prop='enabled', width='100')
- template(scope='scope')
- span {{scope.row.enabled}}
- el-table-column(label='异常概率(用于调试)', prop='probability', width='100')
- el-table-column(label='异常返回(json格式)', prop='data')
- template(scope='scope')
- pre {{scope.row.response}}
- el-table-column(label='异常描述', prop='remark')
- template(v-for='(header, index) in [api.request.headerList, api.response.headerList]')
- el-form-item.ta-l(:label='index===0?"请求header":"响应header"', :key='index')
- span(v-if='header&&header.length<1') 无
- el-button(v-if='header&&header.length>0', @click='copy(header)', size='small') 复制
- el-table(:data='header', border, v-if='header&&header.length>0')
- el-table-column(label='key', prop='key')
- el-table-column(label='value', prop='value')
-
-
-
-
-
-
diff --git a/web/src/components/project/index.vue b/web/src/components/project/index.vue
deleted file mode 100644
index 4f231f8..0000000
--- a/web/src/components/project/index.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
- router-view
-
-
-
-
-
diff --git a/web/src/components/project/proAdd.vue b/web/src/components/project/proAdd.vue
index 44edb81..8d8ebfc 100644
--- a/web/src/components/project/proAdd.vue
+++ b/web/src/components/project/proAdd.vue
@@ -1,75 +1,116 @@
- div
- div.pro-add
- el-form(ref='pro', :rules='rules', :model='pro', label-position='right', label-width='80px')
- el-form-item(label='项目名称', prop='name')
- el-input(v-model='pro.name', placeholder="xiangmu1", required)
- el-form-item(label='项目描述', prop='description')
- el-input(v-model='pro.description', placeholder="this is a...")
- el-form-item(label='测试地址', prop='testUrl')
- el-input(v-model='pro.testUrl', placeholder="192.11.3.3")
- el-form-item(label='成员列表', prop='members')
- div.member-list.border-4
- el-row(v-for='(m, index) in pro.members', :key='m.id')
- el-col.ta-l(:span='18')
- span.ml-10 {{ m.name }}
- el-col(:span='4')
- el-select(v-model='m.role', size='small')
- el-option(v-for='(r, index) in roles', :value='r.name', :key='r.index', :label='r.name')
- el-col(:span='2')
- el-button(@click='delMember(index)', type='text', size='small') 删除
- el-form-item(label='新增成员')
- el-row(:gutter='10')
- el-col(:span='5')
- el-form-item(prop='newMember')
- el-select(v-model='newMember', value-key='name', placeholder='姓名', size='small', filterable)
- el-option(v-for='m in members', :value='m', :key='m.id', :label='m.name')
- el-col(:span='5')
- el-form-item(prop='newMemberRole')
- el-select(v-model='newMemberRole', placeholder='身份', size='small')
- el-option(v-for='(ro, index) in roles', :value='ro.name', :key='ro.index', :label='ro.name')
- el-col(:span='2')
- el-button(@click='addMember()', type='text') 添加
+div.wrap
+ el-form.border.v-wrap(ref='pro', :rules='rules', :model='pro', label-position='right', label-width='100px')
+ el-form-item(label='项目封面', prop='logo')
+ el-upload.avatar-uploader.ta-l(:headers="headers", action="/api/upload/img", :show-file-list="false", :on-success="handleAvatarSuccess", :before-upload="beforeAvatarUpload")
+ img.avatar(v-if="pro.logo", :src="pro.logo")
+ i.el-icon-plus.avatar-uploader-icon(v-else="")
+ el-form-item(label='项目名称', prop='name')
+ el-input.w-380(v-model='pro.name', :minlength=2, :maxlength=20, placeholder="2~20个字符", required)
+ el-form-item(label='项目描述', prop='description')
+ el-input.w-380(v-model='pro.description', :maxlength=200, placeholder="0~200个字符")
+ el-form-item(label='测试地址', prop='testUrl')
+ el-input.w-380(v-model='pro.testUrl', placeholder="测试服务器域名或IP,用于自动化测试")
+ el-form-item(label='新增成员')
+ el-row(:gutter='12')
+ el-col.ml-5(:span='5')
+ el-form-item(prop='newMember')
+ el-select(v-model='newMember', value-key='name', placeholder='名称')
+ el-option(v-for='m in availableMembers', :value='m', :key='m.id', :label='m.name')
+ el-col(:span='5')
+ el-form-item(prop='newMemberRole')
+ el-select(v-model='newMemberRole', placeholder='角色')
+ el-option(v-for='(ro, index) in roles', :value='ro.name', :key='ro.index', :label='ro.name')
+ el-col.c-blue(:span=3)
+ span.cu-p(@click='addMember()') 添加
+ el-popover(ref="popover1", placement="bottom", width="500", trigger="hover")
+ el-table(:data='roles', border, fit, style='width: 100%', align='center')
+ el-table-column(prop='name', label='身份', align='center')
+ el-table-column(prop='readApi', label='查看项目API', align='center')
+ template(slot-scope='scope')
+ span.el-icon-close(v-if='!scope.row.readApi')
+ span.el-icon-check(v-if='scope.row.readApi')
+ el-table-column(prop='editApi', label='编辑项目API', align='center')
+ template(slot-scope='scope')
+ span.el-icon-close(v-if='!scope.row.editApi')
+ span.el-icon-check(v-if='scope.row.editApi')
+ el-table-column(prop='editProject', label='编辑项目API', align='center')
+ template(slot-scope='scope')
+ span.el-icon-close(v-if='!scope.row.editProject')
+ span.el-icon-check(v-if='scope.row.editProject')
+ i.ml-10.cu-d.el-icon-information(v-popover:popover1="")
+ el-form-item(label='成员列表', prop='members')
+ div.member-list.w-380.border
+ el-row(v-for='(m, index) in pro.members', :key='m.id')
+ el-col.ta-l(:span='14')
+ span.ml-10 {{ m.name }}
+ el-col(:span='8')
+ el-select(v-model='m.role', size='small')
+ el-option(v-for='(r, index) in roles', :value='r.name', :key='r.index', :label='r.name')
+ el-col.ta-c(:span='2')
+ i.el-icon-delete.cu-p.c-red(title="删除", @click='delMember(index)')
+ el-form-item.ta-l(label='钉钉消息')
+ el-form-item(prop='token')
+ el-input.w-380(v-model='pro.dingInform.token', :maxlength=100, placeholder="钉钉token", title="钉钉token")
+ el-form-item(prop='createEnabled')
+ el-checkbox.mr-20(v-model='pro.dingInform.createEnabled') API创建时通知
+ el-checkbox.mr-20(v-model='pro.dingInform.updateEnabled') API修改时通知
+ el-checkbox.mr-20(v-model='pro.dingInform.deleteEnabled') API删除时通知
+ el-checkbox.mr-20(v-model='pro.dingInform.testEnabled') API测试时通知
+ el-form-item.ta-l(label='Tower任务')
+ el-form-item(prop='用户名')
el-row
- el-table(:data='roles', border, fit, style='width: 100%', align='center')
- el-table-column(prop='name', label='身份', align='center')
- el-table-column(prop='readApi', label='查看项目api', align='center')
- template(scope='scope')
- span.el-icon-close(v-if='!scope.row.readApi')
- span.el-icon-check(v-if='scope.row.readApi')
- el-table-column(prop='editApi', label='编辑项目api', align='center')
- template(scope='scope')
- span.el-icon-close(v-if='!scope.row.editApi')
- span.el-icon-check(v-if='scope.row.editApi')
- el-table-column(prop='editProject', label='编辑项目', align='center')
- template(scope='scope')
- span.el-icon-close(v-if='!scope.row.editProject')
- span.el-icon-check(v-if='scope.row.editProject')
- el-form-item.ta-l(label='高级选项')
- el-form-item(prop='apiChangedInform')
- el-checkbox.d-b(v-model='pro.apiChangedInform') 接口修改通知
- el-form-item(prop='openTest')
- el-checkbox.d-b(v-model='pro.openTest') 开启测试功能
- el-form-item(prop='testFailedInform')
- el-checkbox.d-b(v-model='pro.testFailedInform') 测试失败通知
- //- el-button.mr-50(type='ghost', @click='reset()') 重置
+ el-col.mr-20(:span=6)
+ el-input(v-model='pro.towerInform.projectId', :maxlength=50, placeholder="tower项目id", title="tower项目id")
+ el-col.mr-20(:span=6)
+ el-input(v-model='pro.towerInform.username', :maxlength=20, placeholder="tower用户名", title="tower用户名")
+ el-col(:span=6)
+ el-input(type='password', :maxlength=20, v-model='pro.towerInform.password', placeholder="tower密码", title="tower密码")
+ el-form-item(prop='createEnabled')
+ el-checkbox.mr-20(v-model='pro.towerInform.createEnabled') API创建时通知
+ el-checkbox.mr-20(v-model='pro.towerInform.updateEnabled') API修改时通知
+ el-checkbox.mr-20(v-model='pro.towerInform.deleteEnabled') API删除时通知
+ el-checkbox.mr-20(v-model='pro.towerInform.testEnabled') API测试时通知
+ el-form-item.ta-l(label='导入')
+ el-row
+ el-col.mr-20(:span=3)
+ el-select(placeholder="选择或创建模块", filterable, v-model="importModule", allow-create)
+ el-option(v-for="item in modules.moduleList", :key="item", :label="item", :value="item")
+ el-upload.avatar-uploader.ta-l(:headers="imoprtHeaders", action="/api/api/import", :show-file-list="false", :on-success="handleImportSuccess", :before-upload="beforeImport")
+ span.c-blue.cu-p(:span=3) 从postman导入
+ div.ta-c
el-button.mr-50(@click='$router.go(-1)') 返回
- el-button(type='primary', @click='submit()') {{submitting?'提交中':'提交'}}
+ el-button(type='primary', @click='submit()', :loading="submitting") {{submitting?'提交中':'提交'}}
+
diff --git a/web/src/components/test.vue b/web/src/components/test.vue
index c4d688f..57cda0a 100644
--- a/web/src/components/test.vue
+++ b/web/src/components/test.vue
@@ -9,13 +9,13 @@
el-table-column(label='用时', prop='timeLength', header-align='center', width='100')
el-table-column(label='发起者', prop='starter', header-align='center')
el-table-column(label='测试结果', prop='result', header-align='center')
- template(scope='scope')
+ template(slot-scope='scope')
span(v-if='scope.row.result.allPass') 全部通过
span(v-if='!scope.row.result.allPass') {{'通测:' + scope.row.result.passTest}}
span(v-if='!scope.row.result.allPass') {{'未测:' + scope.row.result.unTest}}
span(v-if='!scope.row.result.allPass') {{'失败:' + scope.row.result.failTest}}
el-table-column(label='', width='100')
- template(scope='scope')
+ template(slot-scope='scope')
el-button(size='small', v-if='!scope.row.result.allPass', @click='reTest(scope.row.projectId)') 重测
diff --git a/web/src/components/user/set.vue b/web/src/components/user/Profile.vue
similarity index 94%
rename from web/src/components/user/set.vue
rename to web/src/components/user/Profile.vue
index 658e5ad..5f522c0 100644
--- a/web/src/components/user/set.vue
+++ b/web/src/components/user/Profile.vue
@@ -24,10 +24,11 @@
diff --git a/web/src/main.ts b/web/src/main.ts
index e132fe9..b3396da 100644
--- a/web/src/main.ts
+++ b/web/src/main.ts
@@ -1,14 +1,15 @@
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
-import App from './App'
-import router from './service/router.ts'
+import Router from 'vue-router'
+import App from './App.vue'
+import router from './service/router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
-Vue.config.productionTip = false
-// Vue.use(iview)
+Vue.config.productionTip = false
Vue.use(ElementUI)
+Vue.use(Router)
/* eslint-disable no-new */
new Vue({
el: '#app',
diff --git a/web/src/service/EventDelegate.ts b/web/src/service/EventDelegate.ts
new file mode 100644
index 0000000..f1e9418
--- /dev/null
+++ b/web/src/service/EventDelegate.ts
@@ -0,0 +1,37 @@
+interface eventCallback {
+ eventName: string
+ componentId: string
+ callback(event?: any): void
+}
+
+let bindList: eventCallback[] = []
+let eventList: string[] = ['mousemove', 'mouseup']
+eventList.forEach((e: string) => {
+ if (document.addEventListener) {
+ document.addEventListener(e, (event: any) => {
+ bindList.forEach((b: eventCallback) => {
+ if (e === b.eventName) b.callback(event)
+ })
+ })
+ } else {
+ console.error('浏览器版本过低,请升级浏览器')
+ }
+})
+export default class EventDelegate {
+ static bind(eventName: string, callback: any, componentId: string) {
+ bindList.push({
+ eventName,
+ componentId,
+ callback
+ })
+ }
+ static unbind(eName: string, cId: string) {
+ for(let i=bindList.length-1; i>=0; i--){
+ let {eventName, componentId} = bindList[i]
+ if(cId === componentId && eName === eventName) {
+ bindList.splice(i, 1)
+ break
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/src/service/axiosPlugin.ts b/web/src/service/axiosPlugin.ts
deleted file mode 100644
index 54909ff..0000000
--- a/web/src/service/axiosPlugin.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import axios from 'axios'
-import qs from 'qs'
-import { Message } from 'element-ui'
-import router from './router.ts'
-
-const Axios:any = axios.create({
- baseURL: '',
- timeout: 10000,
- responseType: 'json',
- withCredentials: true,
- headers: {
- "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
- }
-})
-Axios.interceptors.request.use(
- (config:any) => {
- let m:any = config.method
- if (m === 'post' || m === 'put' || m === 'delete') {
- config.data = qs.stringify(config.data)
- }
- if (localStorage.token) {
- config.headers.Authorization = localStorage.token
- }
- return config
- },(error:any) => {
- Message({type: 'error', message: error.data.error.message})
- return Promise.reject(error.data.error.message)
- }
-)
-Axios.interceptors.response.use(
- (resp:any) => {
- if (resp.data && !resp.data.errCode) {
- Message({type: 'error', message: resp.data.errMsg || '操作失败'})
- return Promise.reject(resp.data.errMsg)
- }
- return resp
- },
- (error:any) => {
- if (!localStorage.getItem('token')) {
- router.push('/user/login')
- } else {
- // let lifeTime:any = JSON.parse(localStorage.getItem)
- }
- if (error.response.status === 403) {
- Message({type: 'error', message: '当前登录信息失效, 请重新登录'})
- router.push('/user/login')
- } else if (error.response.status === 404) {
- router.push('/error/404')
- }
- return Promise.reject(error.data.errMsg)
- }
-)
-
-export default {
- install: (Vue:any, Option:any) => {
- Object.defineProperty(Vue.prototype, '$http', { value: Axios})
- }
-}
diff --git a/web/src/service/cache.ts b/web/src/service/cache.ts
index 89aaf99..d114f68 100644
--- a/web/src/service/cache.ts
+++ b/web/src/service/cache.ts
@@ -1,13 +1,30 @@
+let storage: any = localStorage || {}
+
export default {
- get: (key: string) => {
- let v:any = localStorage.getItem(key)
- return v
+ get(key: string, defaultValue?: any) {
+ let value: any = storage[key]
+ if (void 0 === storage[key] && defaultValue) {
+ this.set(key, defaultValue)
+ return defaultValue
+ } else {
+ try {
+ return JSON.parse(storage[key])
+ } catch (e) {
+ return storage[key]
+ }
+ }
},
- set: (key: string, value: any) => {
- return localStorage.setItem(key, value)
+ set(key: string, value: any) {
+ if (typeof value === 'object') {
+ storage[key] = JSON.stringify(value)
+ } else {
+ storage[key] = value
+ }
},
- remove: (key: string) => {
- return localStorage.removeItem(key)
+ remove(key: string) {
+ delete localStorage[key]
},
- clear: localStorage.clear
+ clear() {
+ storage.clear ? storage.clear() : storage = {}
+ }
}
diff --git a/web/src/service/http.ts b/web/src/service/http.ts
index 8ed5e31..e3e4863 100644
--- a/web/src/service/http.ts
+++ b/web/src/service/http.ts
@@ -1,53 +1,41 @@
import axios from 'axios'
-import { MessageBox } from 'element-ui'
-import Cache from './cache.ts'
-import router from './router.ts'
-import login from '../components/user/login'
+import { Message } from 'element-ui'
+import Cache from './cache'
+import router from './router'
+
+let request = (method: string, url: string, data: any, config: any = {}) => new Promise(async (resolve, reject) => {
+ axios.defaults.headers.common['Authorization'] = Cache.get('token') || ''
+ Object.assign(config, { method, url, data })
+ try {
+ let response = await axios(config)
+ if(response.data.errCode) {
+ reject(response.data.errMsg)
+ } else {
+ resolve(response.data)
+ }
+ } catch (e) {
+ console.error(e)
+ reject(e.response.data)
+ const { data, status, statusText } = e.response
+ if (status === 401) {
+ Cache.clear()
+ pleaseLogin()
+ } else if (status === 403) {
+ Message({message: data, type: 'error'})
+ } else {
+ Message({message: status + ',' + statusText, type: 'error'})
+ }
+ }
+})
+
+let pleaseLogin = () => {}
+
export default {
- get: (url: string, config?: object) => new Promise(async(resolve, reject) => {
- axios.defaults.headers.common['Authorization'] = Cache.get('token') || ''
- let response = await axios.get(url, config)
- if (response.status === 200) {
- resolve(response.data)
- } else if (response.status === 401) {
- router.go('/user/login')
- } else if (response.status === 403) {
- // MessageBox.alert(e.message)
- } else {
- MessageBox.alert(response.status + ',' + response.statusText)
- }
- }),
- put: (url: string, data?: object, config?:object) => new Promise(async(resolve, reject) => {
- axios.defaults.headers.common['Authorization'] = Cache.get('token') || ''
- let resp = await axios.put(url, data, config)
- if (resp.status === 200) {
- resolve(resp.data)
- } else if (resp.status === 401) {
- MessageBox.alert('请先登录')
- } else {
- MessageBox.alert(resp.status + ',' + resp.statusText)
- }
- }),
- post: (url: string, data?: object, config?:object) => new Promise(async(resolve, reject) => {
- axios.defaults.headers.common['Authorization'] = Cache.get('token') || ''
- let resp = await axios.post(url, data, config)
- if (resp.status === 200) {
- resolve(resp.data)
- } else if (resp.status === 401) {
- MessageBox.alert('请先登录')
- } else {
- MessageBox.alert(resp.status + ',' + resp.statusText)
- }
- }),
- delete: (url: string, config?:object) => new Promise(async(resolve, reject) => {
- axios.defaults.headers.common['Authorization'] = Cache.get('token') || ''
- let resp = await axios.delete(url, config)
- if (resp.status === 200) {
- resolve(resp.data)
- } else if (resp.status === 401) {
- MessageBox.alert('请先登录')
- } else {
- MessageBox.alert(resp.status + ',' + resp.statusText)
- }
- })
+ initLogin(showLogin:any) {
+ pleaseLogin = showLogin
+ },
+ get: (url: string, config?: object) => request('GET', url, null, config),
+ put: (url: string, data?: object, config?: object) => request('PUT', url, data, config),
+ post: (url: string, data?: object, config?: object) => request('POST', url, data, config),
+ delete: (url: string, data?: object, config?: object) => request('DELETE', url, data, config)
}
diff --git a/web/src/service/router.ts b/web/src/service/router.ts
index c2e82b9..ba91cc1 100644
--- a/web/src/service/router.ts
+++ b/web/src/service/router.ts
@@ -1,163 +1,139 @@
import Vue from 'vue'
import Router from 'vue-router'
-import index from '../components/index'
-import project from '../components/project/index'
-import proAdd from '../components/project/proAdd'
-import proList from '../components/project/proList'
-import apiList from '../components/project/apiList'
-import apiView from '../components/project/apiView'
-import apiEdit from '../components/project/apiEdit'
-import apiHistory from '../components/project/apiHistory'
-import test from '../components/test'
-import message from '../components/message'
-import member from '../components/member'
-import doc from '../components/doc'
-import set from '../components/set'
-import userSet from '../components/user/set'
-import login from '../components/user/login'
+import Index from '../components/home/Index.vue'
+import Main from '../components/Main.vue'
+import proAdd from '../components/project/proAdd.vue'
+import proList from '../components/project/proList.vue'
+import apiList from '../components/project/apiList.vue'
+import test from '../components/test.vue'
+import message from '../components/message.vue'
+import member from '../components/member.vue'
+import doc from '../components/doc.vue'
+import set from '../components/set.vue'
+import Profile from '../components/user/Profile.vue'
+import Login from '../components/user/Login.vue'
+const ApiIndex = () => System.import('../components/project/ApiIndex.vue')
-Vue.use(Router)
+const projectRouter = [
+ {
+ path: 'project/list',
+ name: 'projectIndex',
+ component: proList,
+ meta: {
+ requireLogin: true
+ }
+ },
+ {
+ path: 'project/add',
+ name: 'proAdd',
+ component: proAdd,
+ meta: {
+ requireLogin: true
+ }
+ },
+ {
+ path: 'project/:proId/edit',
+ name: 'proEdit',
+ component: proAdd,
+ meta: {
+ requireLogin: true
+ }
+ },
+ {
+ path: 'project/:proId/api',
+ name: 'api',
+ component: ApiIndex
+ }
+]
+const testRouter = [{
+ path: '/test',
+ name: 'testIndex',
+ component: test,
+ meta: {
+ requireLogin: true
+ }
+}]
+const messageRouter = [{
+ path: '/message',
+ name: 'messageIndex',
+ component: message,
+ meta: {
+ requireLogin: true
+ }
+}]
+const memberRouter = [{
+ path: '/member',
+ name: 'memberIndex',
+ component: member,
+ meta: {
+ requireLogin: true
+ }
+}]
+const docRouter = [{
+ path: '/doc',
+ name: 'docIndex',
+ component: doc,
+ meta: {
+ requireLogin: false
+ }
+}]
+const setRouter = [{
+ path: '/set',
+ name: 'setIndex',
+ component: set,
+ meta: {
+ requireLogin: true
+ }
+}]
+const userRouter = [{
+ path: '/user/profile',
+ name: 'userProfile',
+ component: Profile,
+ meta: {
+ requireLogin: true
+ }
+}]
-const router:any = new Router({
+const router: any = new Router({
mode: 'history',
routes: [
{
path: '/',
- name: 'index',
- component: index
+ name: 'home',
+ component: Index
},
{
- path: '/project',
- name: 'project',
- component: project,
- children: [
- {
- path: 'list',
- name: 'proList',
- component: proList,
- meta: {
- requireLogin: true
- }
- },
- {
- path: 'add',
- name: 'proAdd',
- component: proAdd,
- meta: {
- requireLogin: true
- }
- },
- {
- path: ':proId/edit',
- name: 'proEdit',
- component: proAdd,
- meta: {
- requireLogin: true
- }
- },
- {
- path: ':proId/api',
- name: 'proApiList',
- component: apiList,
- children: [
- {
- path: 'add',
- name: 'apiAdd',
- component: apiEdit,
- meta: {
- requireLogin: true
- }
- },
- {
- path: ':apiId/detail',
- name: 'apiView',
- component: apiView,
- meta: {
- requireLogin: true
- },
- },
- {
- path: ':apiId/edit',
- name: 'apiEdit',
- component: apiEdit,
- meta: {
- requireLogin: true
- }
- },
- {
- path: ':apiId/history',
- name: 'apiHistory',
- component: apiHistory,
- meta: {
- requireLogin: true
- }
- }
- ]
- }
- ]
- },
- {
- path: '/test',
- name: 'test',
- component: test,
- meta: {
- requireLogin: true
- }
- },
- {
- path: '/message',
- name: 'message',
- component: message,
- meta: {
- requireLogin: true
- }
- },
- {
- path: '/member',
- name: 'member',
- component: member,
- meta: {
- requireLogin: true
- }
- },
- {
- path: '/doc',
- name: 'doc',
- component: doc
- },
- {
- path: '/set',
- name: 'set',
- component: set,
- meta: {
- requireLogin: true
- }
- },
- {
- path: '/user/set',
- name: 'userSet',
- component: userSet,
- meta: {
- requireLogin: true
- }
+ path: '/login',
+ name: 'login',
+ component: Login
},
{
- path: '/user/login',
- name: 'login',
- component: login
+ path: '',
+ name: 'main',
+ component: Main,
+ children: [
+ ...projectRouter,
+ ...testRouter,
+ ...docRouter,
+ ...userRouter,
+ ...setRouter,
+ ...messageRouter,
+ ...memberRouter
+ ]
}
]
})
-router.beforeEach((to:any, from:any, next:any) => {
- if (to.matched.some((res:any) => res.meta.requireLogin)) {
+router.beforeEach((to: any, from: any, next: any) => {
+ if (to.matched.some((res: any) => res.meta.requireLogin)) {
if (localStorage.getItem('token')) {
next()
} else {
- next('/user/login')
+ next({ name: 'login' })
}
} else {
next()
}
})
+
export default router
diff --git a/web/src/utils/util.ts b/web/src/service/util.ts
similarity index 86%
rename from web/src/utils/util.ts
rename to web/src/service/util.ts
index bb19b29..6b21d97 100644
--- a/web/src/utils/util.ts
+++ b/web/src/service/util.ts
@@ -1,7 +1,9 @@
+import {Tree} from '../service/interface'
+
let gId:Function = (size?: number) => {
let t = (new Date()).getTime()
let p = (Math.random().toString(16) + '00000000').substr(2,8)
- return t + '-' + p.substr(0, size ? size : 4)
+ return t + '-' + p.substr(0, size ? size : 4)
}
let gVersion:Function = () => {
let t = new Date()
@@ -14,7 +16,6 @@ let gVersion:Function = () => {
let s = t.getSeconds()
return y + '' + (m < 10 ? '0' : '') + m + (d < 10 ? '0' : '') + d + '' + '.' + (h < 10 ? '0' : '') + h + (mi < 10 ? '0' : '') + mi + (s < 10 ? '0' : '') + s + '.' + (Math.random().toString(16) + '00000000').substr(2,4)
}
-import {Tree} from '../service/interface.ts'
function formatApiToTree (apiList:any[]): Tree[] {
let modules:any = []
let urls:any = []
@@ -28,13 +29,9 @@ function formatApiToTree (apiList:any[]): Tree[] {
children: [{
label:'url',
api: api,
+ method: api.method,
name: api.name,
id: api.id
- },{
- label: 'newUrl',
- name: '',
- module: api.module,
- id: gId()
}]
})
} else {
@@ -42,6 +39,7 @@ function formatApiToTree (apiList:any[]): Tree[] {
urls.unshift({
label: 'url',
name: api.name,
+ method: api.method,
id: api.id,
api: api
})
diff --git a/web/src/vue-shimes.d.ts b/web/src/vue-shimes.d.ts
index 1a27118..cc87fb7 100644
--- a/web/src/vue-shimes.d.ts
+++ b/web/src/vue-shimes.d.ts
@@ -2,10 +2,13 @@ declare module '*.vue' {
import Vue from 'vue'
export default Vue
}
-declare module 'service' {
- import axios from 'axios'
- export default axios
-}
+
declare module 'element-ui'
-declare module 'mockjs'
-declare module 'qs'
+declare module 'axios'
+declare module 'vue-router'
+declare module 'hotkeys-js'
+declare module 'lodash'
+declare module 'json-schema-faker'
+declare const System:any
+declare module 'clipboard'
+declare module 'ajv'
\ No newline at end of file
diff --git a/web/test/unit/karma.conf.js b/web/test/unit/karma.conf.js
index 8e4951c..a56f74e 100644
--- a/web/test/unit/karma.conf.js
+++ b/web/test/unit/karma.conf.js
@@ -11,8 +11,8 @@ module.exports = function (config) {
// 1. install corresponding karma launcher
// http://karma-runner.github.io/0.13/config/browsers.html
// 2. add it to the `browsers` array below.
- browsers: ['PhantomJS'],
- frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
+ browsers: ['Chrome'],
+ frameworks: ['mocha', 'sinon-chai'],
reporters: ['spec', 'coverage'],
files: ['./index.js'],
preprocessors: {
diff --git a/web/yarn.lock b/web/yarn.lock
new file mode 100644
index 0000000..ee26d33
--- /dev/null
+++ b/web/yarn.lock
@@ -0,0 +1,6378 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+abbrev@1, abbrev@1.0.x:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/abbrev/download/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+
+accepts@1.3.3:
+ version "1.3.3"
+ resolved "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+ dependencies:
+ mime-types "~2.1.11"
+ negotiator "0.6.1"
+
+accepts@~1.3.4:
+ version "1.3.4"
+ resolved "http://registry.npm.taobao.org/accepts/download/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f"
+ dependencies:
+ mime-types "~2.1.16"
+ negotiator "0.6.1"
+
+acorn-dynamic-import@^2.0.0:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
+ dependencies:
+ acorn "^4.0.3"
+
+acorn-globals@^3.0.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/acorn-globals/download/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf"
+ dependencies:
+ acorn "^4.0.4"
+
+acorn-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ dependencies:
+ acorn "^3.0.4"
+
+acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0:
+ version "3.3.0"
+ resolved "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+
+acorn@^4.0.3, acorn@^4.0.4, acorn@~4.0.2:
+ version "4.0.13"
+ resolved "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+
+acorn@^5.0.0, acorn@^5.1.1, acorn@^5.2.1:
+ version "5.2.1"
+ resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7"
+
+after@0.8.2:
+ version "0.8.2"
+ resolved "http://registry.npm.taobao.org/after/download/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+
+ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
+ version "1.5.1"
+ resolved "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
+
+ajv@^4.7.0, ajv@^4.9.1:
+ version "4.11.8"
+ resolved "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
+ajv@^5.0.0, ajv@^5.5.2:
+ version "5.5.2"
+ resolved "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ansi-escapes@^1.1.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
+ansi-html@0.0.7:
+ version "0.0.7"
+ resolved "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+ansi-styles@^3.1.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
+ dependencies:
+ color-convert "^1.9.0"
+
+anymatch@^1.3.0:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ dependencies:
+ micromatch "^2.1.5"
+ normalize-path "^2.0.0"
+
+aproba@^1.0.3, aproba@^1.1.1:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+
+are-we-there-yet@~1.1.2:
+ version "1.1.4"
+ resolved "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-flatten@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+
+array-slice@^0.2.3:
+ version "0.2.3"
+ resolved "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+arraybuffer.slice@0.0.6:
+ version "0.0.6"
+ resolved "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+
+arrify@^1.0.0, arrify@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+asap@~2.0.3:
+ version "2.0.6"
+ resolved "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+
+asn1.js@^4.0.0:
+ version "4.9.2"
+ resolved "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a"
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+asn1@~0.2.3:
+ version "0.2.3"
+ resolved "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+assert-plus@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+
+assert@^1.1.1:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
+ dependencies:
+ util "0.10.3"
+
+assertion-error@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/assertion-error/download/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
+
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
+async-limiter@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
+
+async-validator@~1.8.1:
+ version "1.8.2"
+ resolved "http://registry.npm.taobao.org/async-validator/download/async-validator-1.8.2.tgz#b77597226e96242f8d531c0d46ae295f62422ba4"
+ dependencies:
+ babel-runtime "6.x"
+
+async@1.x, async@^1.4.0, async@^1.5.2:
+ version "1.5.2"
+ resolved "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+async@^2.1.2:
+ version "2.6.0"
+ resolved "http://registry.npm.taobao.org/async/download/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
+ dependencies:
+ lodash "^4.14.0"
+
+async@~0.9.0:
+ version "0.9.2"
+ resolved "http://registry.npm.taobao.org/async/download/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+autoprefixer@^6.3.1, autoprefixer@^6.7.2:
+ version "6.7.7"
+ resolved "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
+ dependencies:
+ browserslist "^1.7.6"
+ caniuse-db "^1.0.30000634"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^5.2.16"
+ postcss-value-parser "^3.2.3"
+
+aws-sign2@~0.6.0:
+ version "0.6.0"
+ resolved "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+
+aws4@^1.2.1:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+
+axios@^0.16.2:
+ version "0.16.2"
+ resolved "http://registry.npm.taobao.org/axios/download/axios-0.16.2.tgz#ba4f92f17167dfbab40983785454b9ac149c3c6d"
+ dependencies:
+ follow-redirects "^1.2.3"
+ is-buffer "^1.1.5"
+
+babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@^6.22.1, babel-core@^6.26.0, babel-core@~6:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ dependencies:
+ 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.0"
+ debug "^2.6.8"
+ json5 "^0.5.1"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ path-is-absolute "^1.0.1"
+ private "^0.1.7"
+ slash "^1.0.0"
+ source-map "^0.5.6"
+
+babel-eslint@^7.1.1:
+ version "7.2.3"
+ resolved "http://registry.npm.taobao.org/babel-eslint/download/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
+ dependencies:
+ babel-code-frame "^6.22.0"
+ babel-traverse "^6.23.1"
+ babel-types "^6.23.0"
+ babylon "^6.17.0"
+
+babel-generator@^6.18.0, babel-generator@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
+ dependencies:
+ 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.6"
+ trim-right "^1.0.1"
+
+babel-helper-bindify-decorators@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ dependencies:
+ babel-helper-explode-assignable-expression "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-call-delegate@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ dependencies:
+ 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@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.24.1"
+ babel-types "^6.24.1"
+
+babel-helper-explode-class@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-hoist-variables@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-optimise-call-expression@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-helper-regex@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ lodash "^4.17.4"
+
+babel-helper-remap-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+ dependencies:
+ 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-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.2:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
+
+babel-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-loader@^6.2.10:
+ version "6.4.1"
+ resolved "http://registry.npm.taobao.org/babel-loader/download/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
+ dependencies:
+ find-cache-dir "^0.1.1"
+ loader-utils "^0.2.16"
+ mkdirp "^0.5.1"
+ object-assign "^4.0.1"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-check-es2015-constants@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-istanbul@^4.1.1:
+ version "4.1.5"
+ resolved "http://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e"
+ dependencies:
+ find-up "^2.1.0"
+ istanbul-lib-instrument "^1.7.5"
+ test-exclude "^4.1.1"
+
+babel-plugin-syntax-async-functions@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+
+babel-plugin-syntax-async-generators@^6.5.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a"
+
+babel-plugin-syntax-class-properties@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
+
+babel-plugin-syntax-decorators@^6.13.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b"
+
+babel-plugin-syntax-dynamic-import@^6.18.0:
+ version "6.18.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da"
+
+babel-plugin-syntax-exponentiation-operator@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+
+babel-plugin-syntax-jsx@^6.18.0:
+ version "6.18.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+
+babel-plugin-syntax-object-rest-spread@^6.8.0:
+ version "6.13.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
+
+babel-plugin-syntax-trailing-function-commas@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+
+babel-plugin-transform-async-generator-functions@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db"
+ dependencies:
+ 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@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ dependencies:
+ 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-properties@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d"
+ dependencies:
+ 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-es2015-arrow-functions@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
+ dependencies:
+ 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@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+ dependencies:
+ 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@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+ dependencies:
+ babel-helper-function-name "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-literals@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+ dependencies:
+ 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@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
+ dependencies:
+ 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@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+ dependencies:
+ babel-helper-hoist-variables "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+ dependencies:
+ 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@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
+ dependencies:
+ babel-helper-replace-supers "^6.24.1"
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ dependencies:
+ 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@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-spread@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+ version "6.22.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+ dependencies:
+ babel-helper-regex "^6.24.1"
+ babel-runtime "^6.22.0"
+ regexpu-core "^2.0.0"
+
+babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ dependencies:
+ 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-object-rest-spread@^6.22.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
+ dependencies:
+ babel-plugin-syntax-object-rest-spread "^6.8.0"
+ babel-runtime "^6.26.0"
+
+babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
+ dependencies:
+ regenerator-transform "^0.10.0"
+
+babel-plugin-transform-runtime@^6.22.0:
+ version "6.23.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-plugin-transform-vue-jsx@^3.5.0:
+ version "3.5.0"
+ resolved "http://registry.npm.taobao.org/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.5.0.tgz#6b1ad29351ad753919403675f0bf8b2a43e17671"
+ dependencies:
+ esutils "^2.0.2"
+
+babel-preset-env@^1.3.2:
+ version "1.6.1"
+ resolved "http://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
+ dependencies:
+ 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 "^2.1.2"
+ invariant "^2.2.2"
+ semver "^5.3.0"
+
+babel-preset-es2015@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-preset-es2015/download/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
+ dependencies:
+ babel-plugin-check-es2015-constants "^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.24.1"
+ babel-plugin-transform-es2015-classes "^6.24.1"
+ babel-plugin-transform-es2015-computed-properties "^6.24.1"
+ babel-plugin-transform-es2015-destructuring "^6.22.0"
+ babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
+ babel-plugin-transform-es2015-for-of "^6.22.0"
+ babel-plugin-transform-es2015-function-name "^6.24.1"
+ babel-plugin-transform-es2015-literals "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.1"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
+ babel-plugin-transform-es2015-modules-umd "^6.24.1"
+ babel-plugin-transform-es2015-object-super "^6.24.1"
+ babel-plugin-transform-es2015-parameters "^6.24.1"
+ babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
+ babel-plugin-transform-es2015-spread "^6.22.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.24.1"
+ babel-plugin-transform-es2015-template-literals "^6.22.0"
+ babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.24.1"
+ babel-plugin-transform-regenerator "^6.24.1"
+
+babel-preset-stage-2@^6.22.0:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1"
+ dependencies:
+ 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@^6.24.1:
+ version "6.24.1"
+ resolved "http://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395"
+ dependencies:
+ 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@^6.22.0, babel-register@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ dependencies:
+ 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@6.x, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ dependencies:
+ 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@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ dependencies:
+ 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"
+
+babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@^6.17.0, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+
+backo2@1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+
+balanced-match@^0.4.2:
+ version "0.4.2"
+ resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
+base64-arraybuffer@0.1.5:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
+
+base64-js@^1.0.2:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/base64-js/download/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
+
+base64id@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/base64id/download/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+better-assert@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/better-assert/download/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
+ dependencies:
+ callsite "1.0.0"
+
+big.js@^3.1.3:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+
+binary-extensions@^1.0.0:
+ version "1.11.0"
+ resolved "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+
+blob@0.0.4:
+ version "0.0.4"
+ resolved "http://registry.npm.taobao.org/blob/download/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
+
+block-stream@*:
+ version "0.0.9"
+ resolved "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ dependencies:
+ inherits "~2.0.0"
+
+bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.3.0, bluebird@^3.4.7, bluebird@^3.5.0:
+ version "3.5.1"
+ resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+ version "4.11.8"
+ resolved "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+
+body-parser@1.18.2, body-parser@^1.16.1:
+ version "1.18.2"
+ resolved "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
+ dependencies:
+ bytes "3.0.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.1"
+ http-errors "~1.6.2"
+ iconv-lite "0.4.19"
+ on-finished "~2.3.0"
+ qs "6.5.1"
+ raw-body "2.3.2"
+ type-is "~1.6.15"
+
+boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+
+boom@2.x.x:
+ version "2.10.1"
+ resolved "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+brace-expansion@^1.1.7:
+ version "1.1.8"
+ resolved "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^0.1.2:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/braces/download/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
+ dependencies:
+ expand-range "^0.1.0"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+brorand@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+
+browser-stdout@1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
+ dependencies:
+ 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@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+
+browserify-rsa@^4.0.0:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ dependencies:
+ bn.js "^4.1.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+ version "4.0.4"
+ resolved "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ dependencies:
+ 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@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ dependencies:
+ pako "~1.0.5"
+
+browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
+ version "1.7.7"
+ resolved "http://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
+ dependencies:
+ caniuse-db "^1.0.30000639"
+ electron-to-chromium "^1.2.7"
+
+browserslist@^2.1.2:
+ version "2.10.0"
+ resolved "http://registry.npm.taobao.org/browserslist/download/browserslist-2.10.0.tgz#bac5ee1cc69ca9d96403ffb8a3abdc5b6aed6346"
+ dependencies:
+ caniuse-lite "^1.0.30000780"
+ electron-to-chromium "^1.3.28"
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+
+buffer@^4.3.0:
+ version "4.9.1"
+ resolved "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+builtin-modules@^1.0.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+
+bytes@3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+
+cacache@^10.0.1:
+ version "10.0.1"
+ resolved "http://registry.npm.taobao.org/cacache/download/cacache-10.0.1.tgz#3e05f6e616117d9b54665b1b20c8aeb93ea5d36f"
+ dependencies:
+ bluebird "^3.5.0"
+ chownr "^1.0.1"
+ glob "^7.1.2"
+ graceful-fs "^4.1.11"
+ lru-cache "^4.1.1"
+ mississippi "^1.3.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.1"
+ ssri "^5.0.0"
+ unique-filename "^1.1.0"
+ y18n "^3.2.1"
+
+call-me-maybe@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+
+caller-path@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ dependencies:
+ callsites "^0.2.0"
+
+callsite@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+callsites@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+
+camel-case@3.0.x:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.1"
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+
+caniuse-api@^1.5.2:
+ version "1.6.1"
+ resolved "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
+ dependencies:
+ browserslist "^1.3.6"
+ caniuse-db "^1.0.30000529"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+ version "1.0.30000784"
+ resolved "http://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000784.tgz#1be95012d9489c7719074f81aee57dbdffe6361b"
+
+caniuse-lite@^1.0.30000780:
+ version "1.0.30000784"
+ resolved "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000784.tgz#129ced74e9a1280a441880b6cd2bce30ef59e6c0"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chai@^3.5.0:
+ version "3.5.0"
+ resolved "http://registry.npm.taobao.org/chai/download/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
+ dependencies:
+ assertion-error "^1.0.1"
+ deep-eql "^0.1.3"
+ type-detect "^1.0.0"
+
+chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ 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"
+
+chalk@^2.0.1, chalk@^2.3.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/chalk/download/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+character-parser@^2.1.1:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0"
+ dependencies:
+ is-regex "^1.0.3"
+
+chokidar@^1.4.1, chokidar@^1.7.0:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
+chownr@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/chownr/download/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+circular-json@^0.3.1:
+ version "0.3.3"
+ resolved "http://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+
+clap@^1.0.9:
+ version "1.2.3"
+ resolved "http://registry.npm.taobao.org/clap/download/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
+ dependencies:
+ chalk "^1.1.3"
+
+clean-css@4.1.x:
+ version "4.1.9"
+ resolved "http://registry.npm.taobao.org/clean-css/download/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301"
+ dependencies:
+ source-map "0.5.x"
+
+clean-css@^3.3.0:
+ version "3.4.28"
+ resolved "http://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
+ dependencies:
+ commander "2.8.x"
+ source-map "0.4.x"
+
+cli-cursor@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ dependencies:
+ restore-cursor "^1.0.1"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-spinners@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06"
+
+cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+clone@^1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/clone/download/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+coa@~1.0.1:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
+ dependencies:
+ q "^1.1.2"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+color-convert@^1.3.0, color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.0.0, color-name@^1.1.1:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+
+color-string@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
+ dependencies:
+ color-name "^1.0.0"
+
+color@^0.11.0:
+ version "0.11.4"
+ resolved "http://registry.npm.taobao.org/color/download/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
+ dependencies:
+ clone "^1.0.2"
+ color-convert "^1.3.0"
+ color-string "^0.3.0"
+
+colormin@^1.0.5:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
+ dependencies:
+ color "^0.11.0"
+ css-color-names "0.0.4"
+ has "^1.0.1"
+
+colors@1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/colors/download/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+
+colors@^1.1.0, colors@^1.1.2, colors@~1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+
+combine-lists@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
+ dependencies:
+ lodash "^4.5.0"
+
+combined-stream@^1.0.5, combined-stream@~1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@2.12.x, commander@^2.7.1, commander@~2.12.1:
+ version "2.12.2"
+ resolved "http://registry.npm.taobao.org/commander/download/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
+
+commander@2.8.x:
+ version "2.8.1"
+ resolved "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
+ dependencies:
+ graceful-readlink ">= 1.0.0"
+
+commander@2.9.0, commander@^2.9.0:
+ version "2.9.0"
+ resolved "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+ dependencies:
+ graceful-readlink ">= 1.0.0"
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+
+component-bind@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
+
+component-emitter@1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
+
+component-emitter@1.2.1:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+
+component-inherit@0.0.3:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concat-stream@^1.5.0, concat-stream@^1.5.2:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+config-chain@~1.1.5:
+ version "1.1.11"
+ resolved "http://registry.npm.taobao.org/config-chain/download/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
+ dependencies:
+ ini "^1.3.4"
+ proto-list "~1.2.1"
+
+connect-history-api-fallback@^1.3.0:
+ version "1.5.0"
+ resolved "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a"
+
+connect@^3.6.0:
+ version "3.6.5"
+ resolved "http://registry.npm.taobao.org/connect/download/connect-3.6.5.tgz#fb8dde7ba0763877d0ec9df9dac0b4b40e72c7da"
+ dependencies:
+ debug "2.6.9"
+ finalhandler "1.0.6"
+ parseurl "~1.3.2"
+ utils-merge "1.0.1"
+
+console-browserify@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ dependencies:
+ date-now "^0.1.4"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+
+consolidate@^0.14.0:
+ version "0.14.5"
+ resolved "http://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63"
+ dependencies:
+ bluebird "^3.1.1"
+
+constantinople@^3.0.1:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/constantinople/download/constantinople-3.1.0.tgz#7569caa8aa3f8d5935d62e1fa96f9f702cd81c79"
+ dependencies:
+ acorn "^3.1.0"
+ is-expression "^2.0.1"
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+
+content-disposition@0.5.2:
+ version "0.5.2"
+ resolved "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+
+convert-source-map@^1.5.0:
+ version "1.5.1"
+ resolved "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+
+cookie@0.3.1:
+ version "0.3.1"
+ resolved "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ dependencies:
+ 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-webpack-plugin@^4.0.1:
+ version "4.3.0"
+ resolved "http://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.3.0.tgz#cfdf4d131c78d66917a1bb863f86630497aacf42"
+ dependencies:
+ cacache "^10.0.1"
+ find-cache-dir "^1.0.0"
+ globby "^7.1.1"
+ is-glob "^4.0.0"
+ loader-utils "^0.2.15"
+ lodash "^4.3.0"
+ minimatch "^3.0.4"
+ p-limit "^1.0.0"
+ pify "^3.0.0"
+ serialize-javascript "^1.4.0"
+
+core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.0:
+ version "2.5.3"
+ resolved "http://registry.npm.taobao.org/core-js/download/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+corser@~2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/corser/download/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
+
+cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
+ version "2.2.2"
+ resolved "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
+ dependencies:
+ is-directory "^0.3.1"
+ js-yaml "^3.4.3"
+ minimist "^1.2.0"
+ object-assign "^4.1.0"
+ os-homedir "^1.0.1"
+ parse-json "^2.2.0"
+ require-from-string "^1.1.0"
+
+create-ecdh@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.2:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/create-hash/download/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
+ version "1.1.6"
+ resolved "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
+ dependencies:
+ 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"
+
+cross-env@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/cross-env/download/cross-env-4.0.0.tgz#16083862d08275a4628b0b243b121bedaa55dd80"
+ dependencies:
+ cross-spawn "^5.1.0"
+ is-windows "^1.0.0"
+
+cross-spawn@^5.1.0:
+ version "5.1.0"
+ resolved "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cryptiles@2.x.x:
+ version "2.0.5"
+ resolved "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ dependencies:
+ boom "2.x.x"
+
+crypto-browserify@^3.11.0:
+ version "3.12.0"
+ resolved "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ dependencies:
+ 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"
+
+css-color-names@0.0.4:
+ version "0.0.4"
+ resolved "http://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
+
+css-loader@^0.28.0:
+ version "0.28.7"
+ resolved "http://registry.npm.taobao.org/css-loader/download/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b"
+ dependencies:
+ babel-code-frame "^6.11.0"
+ css-selector-tokenizer "^0.7.0"
+ cssnano ">=2.6.1 <4"
+ icss-utils "^2.1.0"
+ loader-utils "^1.0.2"
+ lodash.camelcase "^4.3.0"
+ object-assign "^4.0.1"
+ postcss "^5.0.6"
+ postcss-modules-extract-imports "^1.0.0"
+ postcss-modules-local-by-default "^1.0.1"
+ postcss-modules-scope "^1.0.0"
+ postcss-modules-values "^1.1.0"
+ postcss-value-parser "^3.3.0"
+ source-list-map "^2.0.0"
+
+css-parse@1.7.x:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/css-parse/download/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b"
+
+css-select@^1.1.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
+css-selector-tokenizer@^0.7.0:
+ version "0.7.0"
+ resolved "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
+ dependencies:
+ cssesc "^0.1.0"
+ fastparse "^1.1.1"
+ regexpu-core "^1.0.0"
+
+css-what@2.1:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+
+cssesc@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
+
+"cssnano@>=2.6.1 <4", cssnano@^3.4.0:
+ version "3.10.0"
+ resolved "http://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
+ dependencies:
+ autoprefixer "^6.3.1"
+ decamelize "^1.1.2"
+ defined "^1.0.0"
+ has "^1.0.1"
+ object-assign "^4.0.1"
+ postcss "^5.0.14"
+ postcss-calc "^5.2.0"
+ postcss-colormin "^2.1.8"
+ postcss-convert-values "^2.3.4"
+ postcss-discard-comments "^2.0.4"
+ postcss-discard-duplicates "^2.0.1"
+ postcss-discard-empty "^2.0.1"
+ postcss-discard-overridden "^0.1.1"
+ postcss-discard-unused "^2.2.1"
+ postcss-filter-plugins "^2.0.0"
+ postcss-merge-idents "^2.1.5"
+ postcss-merge-longhand "^2.0.1"
+ postcss-merge-rules "^2.0.3"
+ postcss-minify-font-values "^1.0.2"
+ postcss-minify-gradients "^1.0.1"
+ postcss-minify-params "^1.0.4"
+ postcss-minify-selectors "^2.0.4"
+ postcss-normalize-charset "^1.1.0"
+ postcss-normalize-url "^3.0.7"
+ postcss-ordered-values "^2.1.0"
+ postcss-reduce-idents "^2.2.2"
+ postcss-reduce-initial "^1.0.0"
+ postcss-reduce-transforms "^1.0.3"
+ postcss-svgo "^2.1.1"
+ postcss-unique-selectors "^2.0.2"
+ postcss-value-parser "^3.2.3"
+ postcss-zindex "^2.0.1"
+
+csso@~2.3.1:
+ version "2.3.2"
+ resolved "http://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
+ dependencies:
+ clap "^1.0.9"
+ source-map "^0.5.3"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ dependencies:
+ array-find-index "^1.0.1"
+
+custom-event@~1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/custom-event/download/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
+
+cyclist@~0.2.2:
+ version "0.2.2"
+ resolved "http://registry.npm.taobao.org/cyclist/download/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
+
+d@1:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ dependencies:
+ es5-ext "^0.10.9"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+date-now@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+
+dateformat@^1.0.6:
+ version "1.0.12"
+ resolved "http://registry.npm.taobao.org/dateformat/download/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
+ dependencies:
+ get-stdin "^4.0.1"
+ meow "^3.3.0"
+
+de-indent@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+
+debug@*, debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.6.8:
+ version "2.6.9"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ dependencies:
+ ms "2.0.0"
+
+debug@2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
+ dependencies:
+ ms "0.7.1"
+
+debug@2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
+ dependencies:
+ ms "0.7.2"
+
+debug@2.6.8:
+ version "2.6.8"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.0.0, debug@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+deep-eql@^0.1.3:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/deep-eql/download/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
+ dependencies:
+ type-detect "0.1.1"
+
+deep-extend@^0.4.0, deep-extend@~0.4.0:
+ version "0.4.2"
+ resolved "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+
+deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+
+deepmerge@^1.2.0:
+ version "1.5.2"
+ resolved "http://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
+
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+
+del@^2.0.2:
+ version "2.2.2"
+ resolved "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ dependencies:
+ globby "^5.0.0"
+ is-path-cwd "^1.0.0"
+ is-path-in-cwd "^1.0.0"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ rimraf "^2.2.8"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+
+depd@1.1.1, depd@~1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
+
+deref@^0.7.0:
+ version "0.7.2"
+ resolved "http://registry.npm.taobao.org/deref/download/deref-0.7.2.tgz#c9a85734d67d5c523c5dc058d942d688e7691e0b"
+ dependencies:
+ deep-extend "^0.4.0"
+
+des.js@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ dependencies:
+ repeating "^2.0.0"
+
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+
+di@^0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/di/download/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
+
+diff@3.2.0, diff@^3.1.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
+
+diffie-hellman@^5.0.0:
+ version "5.0.2"
+ resolved "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dir-glob@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
+ dependencies:
+ arrify "^1.0.1"
+ path-type "^3.0.0"
+
+discontinuous-range@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/discontinuous-range/download/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
+
+doctrine@^2.0.0:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/doctrine/download/doctrine-2.0.2.tgz#68f96ce8efc56cc42651f1faadb4f175273b0075"
+ dependencies:
+ esutils "^2.0.2"
+
+doctypes@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/doctypes/download/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
+
+dom-converter@~0.1:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b"
+ dependencies:
+ utila "~0.3"
+
+dom-serialize@^2.2.0:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
+ dependencies:
+ custom-event "~1.0.0"
+ ent "~2.2.0"
+ extend "^3.0.0"
+ void-elements "^2.0.0"
+
+dom-serializer@0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
+ dependencies:
+ domelementtype "~1.1.1"
+ entities "~1.1.1"
+
+domain-browser@^1.1.1:
+ version "1.1.7"
+ resolved "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+
+domelementtype@1, domelementtype@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
+domelementtype@~1.1.1:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+
+domhandler@2.1:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/domhandler/download/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594"
+ dependencies:
+ domelementtype "1"
+
+domhandler@^2.3.0:
+ version "2.4.1"
+ resolved "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
+ dependencies:
+ domelementtype "1"
+
+domutils@1.1:
+ version "1.1.6"
+ resolved "http://registry.npm.taobao.org/domutils/download/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485"
+ dependencies:
+ domelementtype "1"
+
+domutils@1.5.1:
+ version "1.5.1"
+ resolved "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^1.5.1:
+ version "1.6.2"
+ resolved "http://registry.npm.taobao.org/domutils/download/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff"
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+duplexer@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+duplexify@^3.1.2, duplexify@^3.4.2:
+ version "3.5.1"
+ resolved "http://registry.npm.taobao.org/duplexify/download/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd"
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+ecstatic@^2.0.0:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/ecstatic/download/ecstatic-2.2.1.tgz#b5087fad439dd9dd49d31e18131454817fe87769"
+ dependencies:
+ he "^1.1.1"
+ mime "^1.2.11"
+ minimist "^1.1.0"
+ url-join "^2.0.2"
+
+editorconfig@^0.13.2:
+ version "0.13.3"
+ resolved "http://registry.npm.taobao.org/editorconfig/download/editorconfig-0.13.3.tgz#e5219e587951d60958fd94ea9a9a008cdeff1b34"
+ dependencies:
+ bluebird "^3.0.5"
+ commander "^2.9.0"
+ lru-cache "^3.2.0"
+ semver "^5.1.0"
+ sigmund "^1.0.1"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+
+ejs@^2.5.6:
+ version "2.5.7"
+ resolved "http://registry.npm.taobao.org/ejs/download/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a"
+
+electron-releases@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/electron-releases/download/electron-releases-2.1.0.tgz#c5614bf811f176ce3c836e368a0625782341fd4e"
+
+electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.28:
+ version "1.3.30"
+ resolved "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.30.tgz#9666f532a64586651fc56a72513692e820d06a80"
+ dependencies:
+ electron-releases "^2.1.0"
+
+element-ui@^1.4.9:
+ version "1.4.12"
+ resolved "http://registry.npm.taobao.org/element-ui/download/element-ui-1.4.12.tgz#a355358c708d78bb8a5b7ff8e5270bf747bb6103"
+ dependencies:
+ async-validator "~1.8.1"
+ babel-helper-vue-jsx-merge-props "^2.0.0"
+ deepmerge "^1.2.0"
+ throttle-debounce "^1.0.1"
+
+elliptic@^6.0.0:
+ version "6.4.0"
+ resolved "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
+ dependencies:
+ 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"
+
+emojis-list@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+
+encodeurl@~1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
+ dependencies:
+ once "^1.4.0"
+
+engine.io-client@1.8.3:
+ version "1.8.3"
+ resolved "http://registry.npm.taobao.org/engine.io-client/download/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
+ dependencies:
+ component-emitter "1.2.1"
+ component-inherit "0.0.3"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ parsejson "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ ws "1.1.2"
+ xmlhttprequest-ssl "1.5.3"
+ yeast "0.1.2"
+
+engine.io-parser@1.3.2:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
+ dependencies:
+ after "0.8.2"
+ arraybuffer.slice "0.0.6"
+ base64-arraybuffer "0.1.5"
+ blob "0.0.4"
+ has-binary "0.1.7"
+ wtf-8 "1.0.0"
+
+engine.io@1.8.3:
+ version "1.8.3"
+ resolved "http://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
+ dependencies:
+ accepts "1.3.3"
+ base64id "1.0.0"
+ cookie "0.3.1"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ ws "1.1.2"
+
+enhanced-resolve@^3.0.0, enhanced-resolve@^3.3.0:
+ version "3.4.1"
+ resolved "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.4.0"
+ object-assign "^4.0.1"
+ tapable "^0.2.7"
+
+ent@~2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
+
+entities@^1.1.1, entities@~1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
+
+errno@^0.1.3:
+ version "0.1.6"
+ resolved "http://registry.npm.taobao.org/errno/download/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026"
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a"
+ dependencies:
+ stackframe "^1.0.3"
+
+es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
+ version "0.10.37"
+ resolved "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3"
+ dependencies:
+ es6-iterator "~2.0.1"
+ es6-symbol "~3.1.1"
+
+es6-iterator@^2.0.1, es6-iterator@~2.0.1:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ dependencies:
+ d "1"
+ es5-ext "^0.10.35"
+ es6-symbol "^3.1.1"
+
+es6-map@^0.1.3:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
+ dependencies:
+ 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@^4.1.1:
+ version "4.2.2"
+ resolved "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.2.tgz#f722d7769af88bd33bc13ec6605e1f92966b82d9"
+
+es6-set@~0.1.5:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+ es6-iterator "~2.0.1"
+ es6-symbol "3.1.1"
+ event-emitter "~0.3.5"
+
+es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
+ version "3.1.1"
+ resolved "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
+es6-weak-map@^2.0.1:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
+ dependencies:
+ d "1"
+ es5-ext "^0.10.14"
+ es6-iterator "^2.0.1"
+ es6-symbol "^3.1.1"
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+escodegen@1.8.x:
+ version "1.8.1"
+ resolved "http://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
+ dependencies:
+ esprima "^2.7.1"
+ estraverse "^1.9.1"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.2.0"
+
+escope@^3.6.0:
+ version "3.6.0"
+ resolved "http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ dependencies:
+ es6-map "^0.1.3"
+ es6-weak-map "^2.0.1"
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-config-standard@^6.2.1:
+ version "6.2.1"
+ resolved "http://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292"
+
+eslint-friendly-formatter@^2.0.7:
+ version "2.0.7"
+ resolved "http://registry.npm.taobao.org/eslint-friendly-formatter/download/eslint-friendly-formatter-2.0.7.tgz#657f95a19af4989636afebb1cc9de6cebbd088ee"
+ dependencies:
+ chalk "^1.0.0"
+ extend "^3.0.0"
+ minimist "^1.2.0"
+ text-table "^0.2.0"
+
+eslint-loader@^1.7.1:
+ version "1.9.0"
+ resolved "http://registry.npm.taobao.org/eslint-loader/download/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13"
+ dependencies:
+ loader-fs-cache "^1.0.0"
+ loader-utils "^1.0.2"
+ object-assign "^4.0.1"
+ object-hash "^1.1.4"
+ rimraf "^2.6.1"
+
+eslint-plugin-html@^2.0.0:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897"
+ dependencies:
+ htmlparser2 "^3.8.2"
+
+eslint-plugin-promise@^3.4.0:
+ version "3.6.0"
+ resolved "http://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-3.6.0.tgz#54b7658c8f454813dc2a870aff8152ec4969ba75"
+
+eslint-plugin-standard@^2.0.1:
+ version "2.3.1"
+ resolved "http://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-2.3.1.tgz#6765bd2a6d9ecdc7bdf1b145ae4bb30e2b7b86f8"
+
+eslint@^3.19.0:
+ version "3.19.0"
+ resolved "http://registry.npm.taobao.org/eslint/download/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
+ dependencies:
+ babel-code-frame "^6.16.0"
+ chalk "^1.1.3"
+ concat-stream "^1.5.2"
+ debug "^2.1.1"
+ doctrine "^2.0.0"
+ escope "^3.6.0"
+ espree "^3.4.0"
+ esquery "^1.0.0"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ file-entry-cache "^2.0.0"
+ glob "^7.0.3"
+ globals "^9.14.0"
+ ignore "^3.2.0"
+ imurmurhash "^0.1.4"
+ inquirer "^0.12.0"
+ is-my-json-valid "^2.10.0"
+ is-resolvable "^1.0.0"
+ js-yaml "^3.5.1"
+ json-stable-stringify "^1.0.0"
+ levn "^0.3.0"
+ lodash "^4.0.0"
+ mkdirp "^0.5.0"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.1"
+ pluralize "^1.2.1"
+ progress "^1.1.8"
+ require-uncached "^1.0.2"
+ shelljs "^0.7.5"
+ strip-bom "^3.0.0"
+ strip-json-comments "~2.0.1"
+ table "^3.7.8"
+ text-table "~0.2.0"
+ user-home "^2.0.0"
+
+espree@^3.4.0:
+ version "3.5.2"
+ resolved "http://registry.npm.taobao.org/espree/download/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca"
+ dependencies:
+ acorn "^5.2.1"
+ acorn-jsx "^3.0.0"
+
+esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
+ version "2.7.3"
+ resolved "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
+esprima@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+
+esquery@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/esquery/download/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
+ dependencies:
+ estraverse "^4.0.0"
+
+esrecurse@^4.1.0:
+ version "4.2.0"
+ resolved "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
+ dependencies:
+ estraverse "^4.1.0"
+ object-assign "^4.0.1"
+
+estraverse@^1.9.1:
+ version "1.9.3"
+ resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.2.0"
+ resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+esutils@^2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "http://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+
+event-emitter@~0.3.5:
+ version "0.3.5"
+ resolved "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
+eventemitter3@1.x.x:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+
+events@^1.0.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+
+eventsource-polyfill@^0.9.6:
+ version "0.9.6"
+ resolved "http://registry.npm.taobao.org/eventsource-polyfill/download/eventsource-polyfill-0.9.6.tgz#10e0d187f111b167f28fdab918843ce7d818f13c"
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+exit-hook@^1.0.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+
+expand-braces@^0.1.1:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
+ dependencies:
+ array-slice "^0.2.3"
+ array-unique "^0.2.1"
+ braces "^0.1.2"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-range@^0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
+ dependencies:
+ is-number "^0.1.1"
+ repeat-string "^0.2.2"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ dependencies:
+ fill-range "^2.1.0"
+
+express@^4.14.1, express@^4.15.2:
+ version "4.16.2"
+ resolved "http://registry.npm.taobao.org/express/download/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
+ dependencies:
+ accepts "~1.3.4"
+ array-flatten "1.1.1"
+ body-parser "1.18.2"
+ content-disposition "0.5.2"
+ content-type "~1.0.4"
+ cookie "0.3.1"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "~1.1.1"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.1.0"
+ fresh "0.5.2"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.2"
+ qs "6.5.1"
+ range-parser "~1.2.0"
+ safe-buffer "5.1.1"
+ send "0.16.1"
+ serve-static "1.13.1"
+ setprototypeof "1.1.0"
+ statuses "~1.3.1"
+ type-is "~1.6.15"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+extend@^3.0.0, extend@~3.0.0:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
+extract-text-webpack-plugin@^2.0.0:
+ version "2.1.2"
+ resolved "http://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-2.1.2.tgz#756ef4efa8155c3681833fbc34da53b941746d6c"
+ dependencies:
+ async "^2.1.2"
+ loader-utils "^1.0.2"
+ schema-utils "^0.3.0"
+ webpack-sources "^1.0.1"
+
+extsprintf@1.3.0, extsprintf@^1.2.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+
+fast-deep-equal@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
+fast-levenshtein@~2.0.4:
+ version "2.0.6"
+ resolved "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+
+fastparse@^1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
+
+figures@^1.3.5:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ dependencies:
+ flat-cache "^1.2.1"
+ object-assign "^4.0.1"
+
+file-loader@^0.11.1:
+ version "0.11.2"
+ resolved "http://registry.npm.taobao.org/file-loader/download/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34"
+ dependencies:
+ loader-utils "^1.0.2"
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+
+filesize@^3.5.9:
+ version "3.5.11"
+ resolved "http://registry.npm.taobao.org/filesize/download/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee"
+
+fill-range@^2.1.0:
+ version "2.2.3"
+ resolved "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^1.1.3"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+finalhandler@1.0.6:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f"
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ statuses "~1.3.1"
+ unpipe "~1.0.0"
+
+finalhandler@1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ statuses "~1.3.1"
+ unpipe "~1.0.0"
+
+find-cache-dir@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
+ dependencies:
+ commondir "^1.0.1"
+ mkdirp "^0.5.1"
+ pkg-dir "^1.0.0"
+
+find-cache-dir@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^1.0.0"
+ pkg-dir "^2.0.0"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
+flat-cache@^1.2.1:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
+ dependencies:
+ circular-json "^0.3.1"
+ del "^2.0.2"
+ graceful-fs "^4.1.2"
+ write "^0.2.1"
+
+flatten@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
+
+flush-write-stream@^1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417"
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.4"
+
+follow-redirects@^1.2.3:
+ version "1.2.6"
+ resolved "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.2.6.tgz#4dcdc7e4ab3dd6765a97ff89c3b4c258117c79bf"
+ dependencies:
+ debug "^3.1.0"
+
+for-in@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ dependencies:
+ for-in "^1.0.1"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~2.1.1:
+ version "2.1.4"
+ resolved "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.12"
+
+format-util@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/format-util/download/format-util-1.0.3.tgz#032dca4a116262a12c43f4c3ec8566416c5b2d95"
+
+formatio@1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/formatio/download/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb"
+ dependencies:
+ samsam "1.x"
+
+forwarded@~0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+
+friendly-errors-webpack-plugin@^1.1.3:
+ version "1.6.1"
+ resolved "http://registry.npm.taobao.org/friendly-errors-webpack-plugin/download/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70"
+ dependencies:
+ chalk "^1.1.3"
+ error-stack-parser "^2.0.0"
+ string-length "^1.0.1"
+
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
+fs-access@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
+ dependencies:
+ null-check "^1.0.0"
+
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+fsevents@^1.0.0:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/fsevents/download/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+ dependencies:
+ nan "^2.3.0"
+ node-pre-gyp "^0.6.39"
+
+fstream-ignore@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/fstream-ignore/download/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+ dependencies:
+ fstream "^1.0.0"
+ inherits "2"
+ minimatch "^3.0.0"
+
+fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
+ version "1.0.11"
+ resolved "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+function-bind@^1.0.2:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ dependencies:
+ 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"
+
+generate-function@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
+
+generate-object-property@^1.1.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
+ dependencies:
+ is-property "^1.0.0"
+
+get-caller-file@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+glob@7.0.x:
+ version "7.0.6"
+ resolved "http://registry.npm.taobao.org/glob/download/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@7.1.1:
+ version "7.1.1"
+ resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^5.0.15:
+ version "5.0.15"
+ resolved "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+ version "7.1.2"
+ resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^9.14.0, globals@^9.18.0:
+ version "9.18.0"
+ resolved "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+
+globby@^5.0.0:
+ version "5.0.0"
+ resolved "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globby@^7.1.1:
+ version "7.1.1"
+ resolved "http://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "^2.0.0"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+ version "4.1.11"
+ resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+"graceful-readlink@>= 1.0.0":
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+
+growl@1.9.2:
+ version "1.9.2"
+ resolved "http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
+
+gzip-size@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/gzip-size/download/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
+ dependencies:
+ duplexer "^0.1.1"
+
+handlebars@^4.0.1:
+ version "4.0.11"
+ resolved "http://registry.npm.taobao.org/handlebars/download/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+har-schema@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
+
+har-validator@~4.2.1:
+ version "4.2.1"
+ resolved "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
+ dependencies:
+ ajv "^4.9.1"
+ har-schema "^1.0.5"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-binary@0.1.7:
+ version "0.1.7"
+ resolved "http://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
+ dependencies:
+ isarray "0.0.1"
+
+has-cors@1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/has-cors/download/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+
+has@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/has/download/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+ dependencies:
+ function-bind "^1.0.2"
+
+hash-base@^2.0.0:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/hash-base/download/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
+ dependencies:
+ inherits "^2.0.1"
+
+hash-base@^3.0.0:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+hash-sum@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.0"
+
+hawk@3.1.3, hawk@~3.1.3:
+ version "3.1.3"
+ resolved "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ dependencies:
+ boom "2.x.x"
+ cryptiles "2.x.x"
+ hoek "2.x.x"
+ sntp "1.x.x"
+
+he@1.1.1, he@1.1.x, he@^1.1.0, he@^1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+
+hmac-drbg@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+hoek@2.x.x:
+ version "2.16.3"
+ resolved "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
+hosted-git-info@^2.1.4:
+ version "2.5.0"
+ resolved "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
+
+hotkeys-js@^2.0.4:
+ version "2.0.7"
+ resolved "http://registry.npm.taobao.org/hotkeys-js/download/hotkeys-js-2.0.7.tgz#187f56a8da2896d83ca4935e9e34f9121b3312cc"
+
+html-comment-regex@^1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
+
+html-entities@^1.2.0:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
+
+html-minifier@^3.2.3:
+ version "3.5.7"
+ resolved "http://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.7.tgz#511e69bb5a8e7677d1012ebe03819aa02ca06208"
+ dependencies:
+ camel-case "3.0.x"
+ clean-css "4.1.x"
+ commander "2.12.x"
+ he "1.1.x"
+ ncname "1.0.x"
+ param-case "2.1.x"
+ relateurl "0.2.x"
+ uglify-js "3.2.x"
+
+html-webpack-plugin@^2.28.0:
+ version "2.30.1"
+ resolved "http://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5"
+ dependencies:
+ bluebird "^3.4.7"
+ html-minifier "^3.2.3"
+ loader-utils "^0.2.16"
+ lodash "^4.17.3"
+ pretty-error "^2.0.2"
+ toposort "^1.0.0"
+
+htmlparser2@^3.8.2:
+ version "3.9.2"
+ resolved "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+ dependencies:
+ domelementtype "^1.3.0"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^2.0.2"
+
+htmlparser2@~3.3.0:
+ version "3.3.0"
+ resolved "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe"
+ dependencies:
+ domelementtype "1"
+ domhandler "2.1"
+ domutils "1.1"
+ readable-stream "1.0"
+
+http-errors@1.6.2, http-errors@~1.6.2:
+ version "1.6.2"
+ resolved "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
+ dependencies:
+ depd "1.1.1"
+ inherits "2.0.3"
+ setprototypeof "1.0.3"
+ statuses ">= 1.3.1 < 2"
+
+http-proxy-middleware@^0.17.3:
+ version "0.17.4"
+ resolved "http://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
+ dependencies:
+ http-proxy "^1.16.2"
+ is-glob "^3.1.0"
+ lodash "^4.17.2"
+ micromatch "^2.3.11"
+
+http-proxy@^1.13.0, http-proxy@^1.16.2, http-proxy@^1.8.1:
+ version "1.16.2"
+ resolved "http://registry.npm.taobao.org/http-proxy/download/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
+ dependencies:
+ eventemitter3 "1.x.x"
+ requires-port "1.x.x"
+
+http-server@^0.10.0:
+ version "0.10.0"
+ resolved "http://registry.npm.taobao.org/http-server/download/http-server-0.10.0.tgz#b2a446b16a9db87ed3c622ba9beb1b085b1234a7"
+ dependencies:
+ colors "1.0.3"
+ corser "~2.0.0"
+ ecstatic "^2.0.0"
+ http-proxy "^1.8.1"
+ opener "~1.4.0"
+ optimist "0.6.x"
+ portfinder "^1.0.13"
+ union "~0.4.3"
+
+http-signature@~1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ dependencies:
+ assert-plus "^0.2.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+
+iconv-lite@0.4.19:
+ version "0.4.19"
+ resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+
+icss-replace-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
+
+icss-utils@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962"
+ dependencies:
+ postcss "^6.0.1"
+
+ieee754@^1.1.4:
+ version "1.1.8"
+ resolved "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+
+ignore@^3.2.0, ignore@^3.3.5:
+ version "3.3.7"
+ resolved "http://registry.npm.taobao.org/ignore/download/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
+
+immutable@^3.8.2:
+ version "3.8.2"
+ resolved "http://registry.npm.taobao.org/immutable/download/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ dependencies:
+ repeating "^2.0.0"
+
+indexes-of@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+
+indexof@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+
+ini@^1.3.4, ini@~1.3.0:
+ version "1.3.5"
+ resolved "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+
+inject-loader@^3.0.0:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/inject-loader/download/inject-loader-3.0.1.tgz#844a4596150cf6b864c2f79806d40a2caee4c2c7"
+ dependencies:
+ babel-core "~6"
+
+inquirer@^0.12.0:
+ version "0.12.0"
+ resolved "http://registry.npm.taobao.org/inquirer/download/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+ dependencies:
+ ansi-escapes "^1.1.0"
+ ansi-regex "^2.0.0"
+ chalk "^1.0.0"
+ cli-cursor "^1.0.1"
+ cli-width "^2.0.0"
+ figures "^1.3.5"
+ lodash "^4.3.0"
+ readline2 "^1.0.1"
+ run-async "^0.1.0"
+ rx-lite "^3.1.2"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.0"
+ through "^2.3.6"
+
+interpret@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/interpret/download/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
+
+invariant@^2.2.2:
+ version "2.2.2"
+ resolved "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
+ dependencies:
+ loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
+ipaddr.js@1.5.2:
+ version "1.5.2"
+ resolved "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0"
+
+is-absolute-url@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+
+is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ dependencies:
+ builtin-modules "^1.0.0"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "http://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-expression@^2.0.1:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-expression/download/is-expression-2.1.0.tgz#91be9d47debcfef077977e9722be6dcfb4465ef0"
+ dependencies:
+ acorn "~3.3.0"
+ object-assign "^4.0.1"
+
+is-expression@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/is-expression/download/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f"
+ dependencies:
+ acorn "~4.0.2"
+ object-assign "^4.0.1"
+
+is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-my-json-valid@^2.10.0:
+ version "2.17.1"
+ resolved "http://registry.npm.taobao.org/is-my-json-valid/download/is-my-json-valid-2.17.1.tgz#3da98914a70a22f0a8563ef1511a246c6fc55471"
+ dependencies:
+ generate-function "^2.0.0"
+ generate-object-property "^1.1.0"
+ jsonpointer "^4.0.0"
+ xtend "^4.0.0"
+
+is-number@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/is-number/download/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-path-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+
+is-path-in-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+ dependencies:
+ is-path-inside "^1.0.0"
+
+is-path-inside@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ dependencies:
+ path-is-inside "^1.0.1"
+
+is-plain-obj@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+is-promise@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
+is-property@^1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+
+is-regex@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ dependencies:
+ has "^1.0.1"
+
+is-resolvable@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4"
+
+is-svg@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
+ dependencies:
+ html-comment-regex "^1.1.0"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+is-windows@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9"
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isbinaryfile@^3.0.0:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+istanbul-lib-coverage@^1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da"
+
+istanbul-lib-instrument@^1.7.5:
+ version "1.9.1"
+ resolved "http://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e"
+ dependencies:
+ babel-generator "^6.18.0"
+ babel-template "^6.16.0"
+ babel-traverse "^6.18.0"
+ babel-types "^6.18.0"
+ babylon "^6.18.0"
+ istanbul-lib-coverage "^1.1.1"
+ semver "^5.3.0"
+
+istanbul@^0.4.0:
+ version "0.4.5"
+ resolved "http://registry.npm.taobao.org/istanbul/download/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
+ dependencies:
+ abbrev "1.0.x"
+ async "1.x"
+ escodegen "1.8.x"
+ esprima "2.7.x"
+ glob "^5.0.15"
+ handlebars "^4.0.1"
+ js-yaml "3.x"
+ mkdirp "0.5.x"
+ nopt "3.x"
+ once "1.x"
+ resolve "1.1.x"
+ supports-color "^3.1.0"
+ which "^1.1.1"
+ wordwrap "^1.0.0"
+
+js-base64@^2.1.9:
+ version "2.4.0"
+ resolved "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.0.tgz#9e566fee624751a1d720c966cd6226d29d4025aa"
+
+js-beautify@^1.6.3:
+ version "1.7.5"
+ resolved "http://registry.npm.taobao.org/js-beautify/download/js-beautify-1.7.5.tgz#69d9651ef60dbb649f65527b53674950138a7919"
+ dependencies:
+ config-chain "~1.1.5"
+ editorconfig "^0.13.2"
+ mkdirp "~0.5.0"
+ nopt "~3.0.1"
+
+js-stringify@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db"
+
+js-tokens@^3.0.0, js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+
+js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.9.1:
+ version "3.10.0"
+ resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@~3.7.0:
+ version "3.7.0"
+ resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^2.6.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+
+json-loader@^0.5.4:
+ version "0.5.7"
+ resolved "http://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
+
+json-schema-faker@^0.5.0-rc11:
+ version "0.5.0-rc9"
+ resolved "http://registry.npm.taobao.org/json-schema-faker/download/json-schema-faker-0.5.0-rc9.tgz#caff30a455f4f8b267c59746bb3a975414087c11"
+ dependencies:
+ deref "^0.7.0"
+ json-schema-ref-parser "^3.1.2"
+ randexp "^0.4.5"
+ tslib "^1.7.1"
+
+json-schema-ref-parser@^3.1.2:
+ version "3.3.1"
+ resolved "http://registry.npm.taobao.org/json-schema-ref-parser/download/json-schema-ref-parser-3.3.1.tgz#86e751b8099357bf601a7cfe42d10123ee906a32"
+ dependencies:
+ call-me-maybe "^1.0.1"
+ debug "^3.0.0"
+ es6-promise "^4.1.1"
+ js-yaml "^3.9.1"
+ ono "^4.0.2"
+ z-schema "^3.18.2"
+
+json-schema-traverse@^0.3.0:
+ version "0.3.1"
+ resolved "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+json3@3.3.2:
+ version "3.3.2"
+ resolved "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
+
+json5@^0.5.0, json5@^0.5.1:
+ version "0.5.1"
+ resolved "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+
+jsonpointer@^4.0.0:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+jstransformer@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/jstransformer/download/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3"
+ dependencies:
+ is-promise "^2.0.0"
+ promise "^7.0.1"
+
+karma-chrome-launcher@^2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf"
+ dependencies:
+ fs-access "^1.0.0"
+ which "^1.2.1"
+
+karma-coverage@^1.1.1:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/karma-coverage/download/karma-coverage-1.1.1.tgz#5aff8b39cf6994dc22de4c84362c76001b637cf6"
+ dependencies:
+ dateformat "^1.0.6"
+ istanbul "^0.4.0"
+ lodash "^3.8.0"
+ minimatch "^3.0.0"
+ source-map "^0.5.1"
+
+karma-mocha@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/karma-mocha/download/karma-mocha-1.3.0.tgz#eeaac7ffc0e201eb63c467440d2b69c7cf3778bf"
+ dependencies:
+ minimist "1.2.0"
+
+karma-sinon-chai@^1.3.1:
+ version "1.3.3"
+ resolved "http://registry.npm.taobao.org/karma-sinon-chai/download/karma-sinon-chai-1.3.3.tgz#a597e5b4a1369fe7b3d7d76c09ed2061a38e747f"
+ dependencies:
+ lolex "^1.6.0"
+
+karma-sourcemap-loader@^0.3.7:
+ version "0.3.7"
+ resolved "http://registry.npm.taobao.org/karma-sourcemap-loader/download/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8"
+ dependencies:
+ graceful-fs "^4.1.2"
+
+karma-spec-reporter@0.0.30:
+ version "0.0.30"
+ resolved "http://registry.npm.taobao.org/karma-spec-reporter/download/karma-spec-reporter-0.0.30.tgz#d10b5c8bb441cb1c6adf56785f89d395f2e9093a"
+ dependencies:
+ colors "^1.1.2"
+
+karma-webpack@^2.0.2:
+ version "2.0.9"
+ resolved "http://registry.npm.taobao.org/karma-webpack/download/karma-webpack-2.0.9.tgz#61c88091f7dd910635134c032b266a465affb57f"
+ dependencies:
+ async "~0.9.0"
+ loader-utils "^0.2.5"
+ lodash "^3.8.0"
+ source-map "^0.5.6"
+ webpack-dev-middleware "^1.12.0"
+
+karma@^1.4.1:
+ version "1.7.1"
+ resolved "http://registry.npm.taobao.org/karma/download/karma-1.7.1.tgz#85cc08e9e0a22d7ce9cca37c4a1be824f6a2b1ae"
+ dependencies:
+ bluebird "^3.3.0"
+ body-parser "^1.16.1"
+ chokidar "^1.4.1"
+ colors "^1.1.0"
+ combine-lists "^1.0.0"
+ connect "^3.6.0"
+ core-js "^2.2.0"
+ di "^0.0.1"
+ dom-serialize "^2.2.0"
+ expand-braces "^0.1.1"
+ glob "^7.1.1"
+ graceful-fs "^4.1.2"
+ http-proxy "^1.13.0"
+ isbinaryfile "^3.0.0"
+ lodash "^3.8.0"
+ log4js "^0.6.31"
+ mime "^1.3.4"
+ minimatch "^3.0.2"
+ optimist "^0.6.1"
+ qjobs "^1.1.4"
+ range-parser "^1.2.0"
+ rimraf "^2.6.0"
+ safe-buffer "^5.0.1"
+ socket.io "1.7.3"
+ source-map "^0.5.3"
+ tmp "0.0.31"
+ useragent "^2.1.12"
+
+kind-of@^3.0.2:
+ version "3.2.2"
+ resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ dependencies:
+ is-buffer "^1.1.5"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ dependencies:
+ invert-kv "^1.0.0"
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+loader-fs-cache@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
+ dependencies:
+ find-cache-dir "^0.1.1"
+ mkdirp "0.5.1"
+
+loader-runner@^2.3.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
+
+loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.5, loader-utils@~0.2.5:
+ version "0.2.17"
+ resolved "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
+ dependencies:
+ big.js "^3.1.3"
+ emojis-list "^2.0.0"
+ json5 "^0.5.0"
+ object-assign "^4.0.1"
+
+loader-utils@^1.0.2, loader-utils@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
+ dependencies:
+ big.js "^3.1.3"
+ emojis-list "^2.0.0"
+ json5 "^0.5.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+lodash._baseassign@^3.0.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+ dependencies:
+ lodash._basecopy "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._basecopy@^3.0.0:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+
+lodash._basecreate@^3.0.0:
+ version "3.0.3"
+ resolved "http://registry.npm.taobao.org/lodash._basecreate/download/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
+
+lodash._getnative@^3.0.0:
+ version "3.9.1"
+ resolved "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+
+lodash._isiterateecall@^3.0.0:
+ version "3.0.9"
+ resolved "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "http://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+
+lodash.create@3.1.1:
+ version "3.1.1"
+ resolved "http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
+ dependencies:
+ lodash._baseassign "^3.0.0"
+ lodash._basecreate "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.get@^4.0.0:
+ version "4.4.2"
+ resolved "http://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
+lodash.isarguments@^3.0.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+
+lodash.isarray@^3.0.0:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+
+lodash.isequal@^4.0.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+
+lodash.keys@^3.0.0:
+ version "3.1.2"
+ resolved "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ dependencies:
+ lodash._getnative "^3.0.0"
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "http://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+
+lodash@^3.8.0:
+ version "3.10.1"
+ resolved "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
+
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0:
+ version "4.17.4"
+ resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+
+log-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+ dependencies:
+ chalk "^1.0.0"
+
+log4js@^0.6.31:
+ version "0.6.38"
+ resolved "http://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
+ dependencies:
+ readable-stream "~1.0.2"
+ semver "~4.3.3"
+
+lolex@^1.5.2, lolex@^1.6.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/lolex/download/lolex-1.6.0.tgz#3a9a0283452a47d7439e72731b9e07d7386e49f6"
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+loose-envify@^1.0.0:
+ version "1.3.1"
+ resolved "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ dependencies:
+ js-tokens "^3.0.0"
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lower-case@^1.1.1:
+ version "1.1.4"
+ resolved "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+
+lru-cache@2.2.x:
+ version "2.2.4"
+ resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
+
+lru-cache@^3.2.0:
+ version "3.2.0"
+ resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee"
+ dependencies:
+ pseudomap "^1.0.1"
+
+lru-cache@^4.0.1, lru-cache@^4.1.1:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+macaddress@^0.2.8:
+ version "0.2.8"
+ resolved "http://registry.npm.taobao.org/macaddress/download/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
+
+make-dir@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/make-dir/download/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51"
+ dependencies:
+ pify "^3.0.0"
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+math-expression-evaluator@^1.2.14:
+ version "1.2.17"
+ resolved "http://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
+
+md5.js@^1.3.4:
+ version "1.3.4"
+ resolved "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+
+memory-fs@^0.4.0, memory-fs@~0.4.1:
+ version "0.4.1"
+ resolved "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+meow@^3.3.0:
+ version "3.7.0"
+ resolved "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+
+micromatch@^2.1.5, micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@~1.30.0:
+ version "1.30.0"
+ resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
+
+mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7:
+ version "2.1.17"
+ resolved "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
+ dependencies:
+ mime-db "~1.30.0"
+
+mime@1.3.x:
+ version "1.3.6"
+ resolved "http://registry.npm.taobao.org/mime/download/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0"
+
+mime@1.4.1:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
+
+mime@^1.2.11, mime@^1.3.4, mime@^1.5.0:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+
+minimalistic-assert@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+
+minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+minimist@~0.0.1:
+ version "0.0.10"
+ resolved "http://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+mississippi@^1.3.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/mississippi/download/mississippi-1.3.0.tgz#d201583eb12327e3c5c1642a404a9cacf94e34f5"
+ dependencies:
+ 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 "^1.0.0"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
+mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+ version "0.5.1"
+ resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ dependencies:
+ minimist "0.0.8"
+
+mocha@^3.2.0:
+ version "3.5.3"
+ resolved "http://registry.npm.taobao.org/mocha/download/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d"
+ dependencies:
+ browser-stdout "1.3.0"
+ commander "2.9.0"
+ debug "2.6.8"
+ diff "3.2.0"
+ escape-string-regexp "1.0.5"
+ glob "7.1.1"
+ growl "1.9.2"
+ he "1.1.1"
+ json3 "3.3.2"
+ lodash.create "3.1.1"
+ mkdirp "0.5.1"
+ supports-color "3.1.2"
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ dependencies:
+ 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@0.7.1:
+ version "0.7.1"
+ resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+
+ms@0.7.2:
+ version "0.7.2"
+ resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+mute-stream@0.0.5:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+
+nan@^2.3.0:
+ version "2.8.0"
+ resolved "http://registry.npm.taobao.org/nan/download/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
+
+native-promise-only@^0.8.1:
+ version "0.8.1"
+ resolved "http://registry.npm.taobao.org/native-promise-only/download/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
+ncname@1.0.x:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
+ dependencies:
+ xml-char-classes "^1.0.0"
+
+negotiator@0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+no-case@^2.2.0:
+ version "2.3.2"
+ resolved "http://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ dependencies:
+ lower-case "^1.1.1"
+
+node-libs-browser@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df"
+ dependencies:
+ 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 "^1.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.0"
+ 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.10.3"
+ vm-browserify "0.0.4"
+
+node-pre-gyp@^0.6.39:
+ version "0.6.39"
+ resolved "http://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
+ dependencies:
+ detect-libc "^1.0.2"
+ hawk "3.1.3"
+ mkdirp "^0.5.1"
+ nopt "^4.0.1"
+ npmlog "^4.0.2"
+ rc "^1.1.7"
+ request "2.81.0"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^2.2.1"
+ tar-pack "^3.4.0"
+
+nopt@3.x, nopt@~3.0.1:
+ version "3.0.6"
+ resolved "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ dependencies:
+ abbrev "1"
+
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.4.0"
+ resolved "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.0, normalize-path@^2.0.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+
+normalize-url@^1.4.0:
+ version "1.9.1"
+ resolved "http://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+ dependencies:
+ object-assign "^4.0.1"
+ prepend-http "^1.0.0"
+ query-string "^4.1.0"
+ sort-keys "^1.0.0"
+
+npmlog@^4.0.2:
+ version "4.1.2"
+ resolved "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+nth-check@~1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
+ dependencies:
+ boolbase "~1.0.0"
+
+null-check@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
+
+num2fraction@^1.2.2:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+oauth-sign@~0.8.1:
+ version "0.8.2"
+ resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@4.1.0:
+ version "4.1.0"
+ resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object-component@0.0.3:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
+
+object-hash@^1.1.4:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/object-hash/download/object-hash-1.2.0.tgz#e96af0e96981996a1d47f88ead8f74f1ebc4422b"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ dependencies:
+ ee-first "1.1.1"
+
+once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+onetime@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+ono@^4.0.2:
+ version "4.0.2"
+ resolved "http://registry.npm.taobao.org/ono/download/ono-4.0.2.tgz#2e18ff7c21b9eac0cab794f7a3082507000d6d36"
+ dependencies:
+ format-util "^1.0.3"
+
+opener@^1.4.3, opener@~1.4.0:
+ version "1.4.3"
+ resolved "http://registry.npm.taobao.org/opener/download/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
+
+opn@^4.0.2:
+ version "4.0.2"
+ resolved "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
+ dependencies:
+ object-assign "^4.0.1"
+ pinkie-promise "^2.0.0"
+
+optimist@0.6.x, optimist@^0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+optimize-css-assets-webpack-plugin@^1.3.0:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-1.3.2.tgz#eb27456e21eefbd8080f31e8368c59684e585a2c"
+ dependencies:
+ cssnano "^3.4.0"
+ underscore "^1.8.3"
+ webpack-sources "^0.1.0"
+
+optionator@^0.8.1, optionator@^0.8.2:
+ version "0.8.2"
+ resolved "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
+options@>=0.0.5:
+ version "0.0.6"
+ resolved "http://registry.npm.taobao.org/options/download/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
+
+ora@^1.2.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/ora/download/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a"
+ dependencies:
+ chalk "^1.1.1"
+ cli-cursor "^2.1.0"
+ cli-spinners "^1.0.0"
+ log-symbols "^1.0.2"
+
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+
+os-homedir@^1.0.0, os-homedir@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ dependencies:
+ lcid "^1.0.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+osenv@^0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/osenv/download/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-limit@^1.0.0, p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
+pako@~1.0.5:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/pako/download/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+
+parallel-transform@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
+ dependencies:
+ cyclist "~0.2.2"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+param-case@2.1.x:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+ dependencies:
+ no-case "^2.2.0"
+
+parse-asn1@^5.0.0:
+ version "5.1.0"
+ resolved "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ dependencies:
+ asn1.js "^4.0.0"
+ browserify-aes "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ dependencies:
+ error-ex "^1.2.0"
+
+parsejson@0.0.3:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseqs@0.0.5:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseuri@0.0.5:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/parseuri/download/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseurl@~1.3.2:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
+
+path-browserify@0.0.0:
+ version "0.0.0"
+ resolved "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-is-inside@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+
+path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ dependencies:
+ isarray "0.0.1"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ dependencies:
+ pify "^3.0.0"
+
+pbkdf2@^3.0.3:
+ version "3.0.14"
+ resolved "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade"
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+performance-now@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ dependencies:
+ find-up "^1.0.0"
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ dependencies:
+ find-up "^2.1.0"
+
+pluralize@^1.2.1:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+
+portfinder@^1.0.13:
+ version "1.0.13"
+ resolved "http://registry.npm.taobao.org/portfinder/download/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
+ dependencies:
+ async "^1.5.2"
+ debug "^2.2.0"
+ mkdirp "0.5.x"
+
+postcss-calc@^5.2.0:
+ version "5.3.1"
+ resolved "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
+ dependencies:
+ postcss "^5.0.2"
+ postcss-message-helpers "^2.0.0"
+ reduce-css-calc "^1.2.6"
+
+postcss-colormin@^2.1.8:
+ version "2.2.2"
+ resolved "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
+ dependencies:
+ colormin "^1.0.5"
+ postcss "^5.0.13"
+ postcss-value-parser "^3.2.3"
+
+postcss-convert-values@^2.3.4:
+ version "2.6.1"
+ resolved "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
+ dependencies:
+ postcss "^5.0.11"
+ postcss-value-parser "^3.1.2"
+
+postcss-discard-comments@^2.0.4:
+ version "2.0.4"
+ resolved "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
+ dependencies:
+ postcss "^5.0.14"
+
+postcss-discard-duplicates@^2.0.1:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-discard-empty@^2.0.1:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
+ dependencies:
+ postcss "^5.0.14"
+
+postcss-discard-overridden@^0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
+ dependencies:
+ postcss "^5.0.16"
+
+postcss-discard-unused@^2.2.1:
+ version "2.2.3"
+ resolved "http://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
+ dependencies:
+ postcss "^5.0.14"
+ uniqs "^2.0.0"
+
+postcss-filter-plugins@^2.0.0:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
+ dependencies:
+ postcss "^5.0.4"
+ uniqid "^4.0.0"
+
+postcss-load-config@^1.1.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
+ dependencies:
+ cosmiconfig "^2.1.0"
+ object-assign "^4.1.0"
+ postcss-load-options "^1.2.0"
+ postcss-load-plugins "^2.3.0"
+
+postcss-load-options@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
+ dependencies:
+ cosmiconfig "^2.1.0"
+ object-assign "^4.1.0"
+
+postcss-load-plugins@^2.3.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
+ dependencies:
+ cosmiconfig "^2.1.1"
+ object-assign "^4.1.0"
+
+postcss-merge-idents@^2.1.5:
+ version "2.1.7"
+ resolved "http://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.10"
+ postcss-value-parser "^3.1.1"
+
+postcss-merge-longhand@^2.0.1:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-merge-rules@^2.0.3:
+ version "2.1.2"
+ resolved "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
+ dependencies:
+ browserslist "^1.5.2"
+ caniuse-api "^1.5.2"
+ postcss "^5.0.4"
+ postcss-selector-parser "^2.2.2"
+ vendors "^1.0.0"
+
+postcss-message-helpers@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
+
+postcss-minify-font-values@^1.0.2:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
+ dependencies:
+ object-assign "^4.0.1"
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
+postcss-minify-gradients@^1.0.1:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
+ dependencies:
+ postcss "^5.0.12"
+ postcss-value-parser "^3.3.0"
+
+postcss-minify-params@^1.0.4:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.2"
+ postcss-value-parser "^3.0.2"
+ uniqs "^2.0.0"
+
+postcss-minify-selectors@^2.0.4:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
+ dependencies:
+ alphanum-sort "^1.0.2"
+ has "^1.0.1"
+ postcss "^5.0.14"
+ postcss-selector-parser "^2.0.0"
+
+postcss-modules-extract-imports@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
+ dependencies:
+ postcss "^6.0.1"
+
+postcss-modules-local-by-default@^1.0.1:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-scope@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-values@^1.1.0:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
+ dependencies:
+ icss-replace-symbols "^1.1.0"
+ postcss "^6.0.1"
+
+postcss-normalize-charset@^1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
+ dependencies:
+ postcss "^5.0.5"
+
+postcss-normalize-url@^3.0.7:
+ version "3.0.8"
+ resolved "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
+ dependencies:
+ is-absolute-url "^2.0.0"
+ normalize-url "^1.4.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+
+postcss-ordered-values@^2.1.0:
+ version "2.2.3"
+ resolved "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.1"
+
+postcss-reduce-idents@^2.2.2:
+ version "2.4.0"
+ resolved "http://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
+ dependencies:
+ postcss "^5.0.4"
+ postcss-value-parser "^3.0.2"
+
+postcss-reduce-initial@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
+ dependencies:
+ postcss "^5.0.4"
+
+postcss-reduce-transforms@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.8"
+ postcss-value-parser "^3.0.1"
+
+postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
+ version "2.2.3"
+ resolved "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
+ dependencies:
+ flatten "^1.0.2"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-svgo@^2.1.1:
+ version "2.1.6"
+ resolved "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
+ dependencies:
+ is-svg "^2.0.0"
+ postcss "^5.0.14"
+ postcss-value-parser "^3.2.3"
+ svgo "^0.7.0"
+
+postcss-unique-selectors@^2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
+ dependencies:
+ alphanum-sort "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
+ version "3.3.0"
+ resolved "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
+
+postcss-zindex@^2.0.1:
+ version "2.2.0"
+ resolved "http://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
+ dependencies:
+ has "^1.0.1"
+ postcss "^5.0.4"
+ uniqs "^2.0.0"
+
+postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16:
+ version "5.2.18"
+ resolved "http://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
+ dependencies:
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
+
+postcss@^6.0.1:
+ version "6.0.14"
+ resolved "http://registry.npm.taobao.org/postcss/download/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885"
+ dependencies:
+ chalk "^2.3.0"
+ source-map "^0.6.1"
+ supports-color "^4.4.0"
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+pretty-error@^2.0.2:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
+ dependencies:
+ renderkid "^2.0.1"
+ utila "~0.4"
+
+private@^0.1.6, private@^0.1.7:
+ version "0.1.8"
+ resolved "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+process@^0.11.10:
+ version "0.11.10"
+ resolved "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+
+progress@^1.1.8:
+ version "1.1.8"
+ resolved "http://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+
+promise@^7.0.1:
+ version "7.3.1"
+ resolved "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
+ dependencies:
+ asap "~2.0.3"
+
+proto-list@~1.2.1:
+ version "1.2.4"
+ resolved "http://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+
+proxy-addr@~2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec"
+ dependencies:
+ forwarded "~0.1.2"
+ ipaddr.js "1.5.2"
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+
+pseudomap@^1.0.1, pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+public-encrypt@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+
+pug-attrs@^2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/pug-attrs/download/pug-attrs-2.0.2.tgz#8be2b2225568ffa75d1b866982bff9f4111affcb"
+ dependencies:
+ constantinople "^3.0.1"
+ js-stringify "^1.0.1"
+ pug-runtime "^2.0.3"
+
+pug-code-gen@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/pug-code-gen/download/pug-code-gen-2.0.0.tgz#96aea39a9e62f1ec5d2b6a5b42a29d528c70b43d"
+ dependencies:
+ constantinople "^3.0.1"
+ doctypes "^1.1.0"
+ js-stringify "^1.0.1"
+ pug-attrs "^2.0.2"
+ pug-error "^1.3.2"
+ pug-runtime "^2.0.3"
+ void-elements "^2.0.1"
+ with "^5.0.0"
+
+pug-error@^1.3.2:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/pug-error/download/pug-error-1.3.2.tgz#53ae7d9d29bb03cf564493a026109f54c47f5f26"
+
+pug-filters@^2.1.5:
+ version "2.1.5"
+ resolved "http://registry.npm.taobao.org/pug-filters/download/pug-filters-2.1.5.tgz#66bf6e80d97fbef829bab0aa35eddff33fc964f3"
+ dependencies:
+ clean-css "^3.3.0"
+ constantinople "^3.0.1"
+ jstransformer "1.0.0"
+ pug-error "^1.3.2"
+ pug-walk "^1.1.5"
+ resolve "^1.1.6"
+ uglify-js "^2.6.1"
+
+pug-lexer@^3.1.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/pug-lexer/download/pug-lexer-3.1.0.tgz#fd087376d4a675b4f59f8fef422883434e9581a2"
+ dependencies:
+ character-parser "^2.1.1"
+ is-expression "^3.0.0"
+ pug-error "^1.3.2"
+
+pug-linker@^3.0.3:
+ version "3.0.3"
+ resolved "http://registry.npm.taobao.org/pug-linker/download/pug-linker-3.0.3.tgz#25f59eb750237f0368e59c3379764229c0189c41"
+ dependencies:
+ pug-error "^1.3.2"
+ pug-walk "^1.1.5"
+
+pug-load@^2.0.9:
+ version "2.0.9"
+ resolved "http://registry.npm.taobao.org/pug-load/download/pug-load-2.0.9.tgz#ee217c914cc1d9324d44b86c32d1df241d36de7a"
+ dependencies:
+ object-assign "^4.1.0"
+ pug-walk "^1.1.5"
+
+pug-loader@^2.3.0:
+ version "2.3.0"
+ resolved "http://registry.npm.taobao.org/pug-loader/download/pug-loader-2.3.0.tgz#b869294413a2218f0a7dd92a953e592283676c10"
+ dependencies:
+ loader-utils "~0.2.5"
+ pug-walk "^1.0.0"
+ resolve "^1.1.7"
+
+pug-parser@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/pug-parser/download/pug-parser-4.0.0.tgz#c9f52322e4eabe4bf5beeba64ed18373bb627801"
+ dependencies:
+ pug-error "^1.3.2"
+ token-stream "0.0.1"
+
+pug-runtime@^2.0.3:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/pug-runtime/download/pug-runtime-2.0.3.tgz#98162607b0fce9e254d427f33987a5aee7168bda"
+
+pug-strip-comments@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/pug-strip-comments/download/pug-strip-comments-1.0.2.tgz#d313afa01bcc374980e1399e23ebf2eb9bdc8513"
+ dependencies:
+ pug-error "^1.3.2"
+
+pug-walk@^1.0.0, pug-walk@^1.1.5:
+ version "1.1.5"
+ resolved "http://registry.npm.taobao.org/pug-walk/download/pug-walk-1.1.5.tgz#90e943acbcf7021e6454cf1b32245891cba6f851"
+
+pug@^2.0.0-rc.2:
+ version "2.0.0-rc.4"
+ resolved "http://registry.npm.taobao.org/pug/download/pug-2.0.0-rc.4.tgz#b7b08f6599bd5302568042b7436984fb28c80a13"
+ dependencies:
+ pug-code-gen "^2.0.0"
+ pug-filters "^2.1.5"
+ pug-lexer "^3.1.0"
+ pug-linker "^3.0.3"
+ pug-load "^2.0.9"
+ pug-parser "^4.0.0"
+ pug-runtime "^2.0.3"
+ pug-strip-comments "^1.0.2"
+
+pump@^1.0.0:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/pump/download/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.3.5"
+ resolved "http://registry.npm.taobao.org/pumpify/download/pumpify-1.3.5.tgz#1b671c619940abcaeac0ad0e3a3c164be760993b"
+ dependencies:
+ duplexify "^3.1.2"
+ inherits "^2.0.1"
+ pump "^1.0.0"
+
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+
+punycode@^1.2.4, punycode@^1.4.1:
+ version "1.4.1"
+ resolved "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+q@^1.1.2:
+ version "1.5.1"
+ resolved "http://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+
+qjobs@^1.1.4:
+ version "1.1.5"
+ resolved "http://registry.npm.taobao.org/qjobs/download/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
+
+qs@6.5.1:
+ version "6.5.1"
+ resolved "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
+
+qs@~2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/qs/download/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404"
+
+qs@~6.4.0:
+ version "6.4.0"
+ resolved "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+
+query-string@^4.1.0:
+ version "4.3.4"
+ resolved "http://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+
+querystring@0.2.0, querystring@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+
+randexp@^0.4.5:
+ version "0.4.6"
+ resolved "http://registry.npm.taobao.org/randexp/download/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
+ dependencies:
+ discontinuous-range "1.0.0"
+ ret "~0.1.10"
+
+randomatic@^1.1.3:
+ version "1.1.7"
+ resolved "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
+ version "2.0.5"
+ resolved "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79"
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62"
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+
+raw-body@2.3.2:
+ version "2.3.2"
+ resolved "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
+ dependencies:
+ bytes "3.0.0"
+ http-errors "1.6.2"
+ iconv-lite "0.4.19"
+ unpipe "1.0.0"
+
+rc@^1.1.7:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/rc/download/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077"
+ dependencies:
+ deep-extend "~0.4.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.0.3"
+ util-deprecate "~1.0.1"
+
+readable-stream@1.0, readable-stream@~1.0.2:
+ version "1.0.34"
+ resolved "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
+readline2@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/readline2/download/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ mute-stream "0.0.5"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "http://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ dependencies:
+ resolve "^1.1.6"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+reduce-css-calc@^1.2.6:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
+ dependencies:
+ balanced-match "^0.4.2"
+ math-expression-evaluator "^1.2.14"
+ reduce-function-call "^1.0.1"
+
+reduce-function-call@^1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
+ dependencies:
+ balanced-match "^0.4.2"
+
+reflect-metadata@^0.1.10:
+ version "0.1.10"
+ resolved "http://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a"
+
+regenerate@^1.2.1:
+ version "1.3.3"
+ resolved "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+
+regenerator-transform@^0.10.0:
+ version "0.10.1"
+ resolved "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
+ dependencies:
+ babel-runtime "^6.18.0"
+ babel-types "^6.19.0"
+ private "^0.1.6"
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regexpu-core@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
+ dependencies:
+ regenerate "^1.2.1"
+ regjsgen "^0.2.0"
+ regjsparser "^0.1.4"
+
+regexpu-core@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ dependencies:
+ regenerate "^1.2.1"
+ regjsgen "^0.2.0"
+ regjsparser "^0.1.4"
+
+regjsgen@^0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+
+regjsparser@^0.1.4:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+ dependencies:
+ jsesc "~0.5.0"
+
+relateurl@0.2.x:
+ version "0.2.7"
+ resolved "http://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+
+renderkid@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/renderkid/download/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319"
+ dependencies:
+ css-select "^1.1.0"
+ dom-converter "~0.1"
+ htmlparser2 "~3.3.0"
+ strip-ansi "^3.0.0"
+ utila "~0.3"
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+repeat-string@^0.2.2:
+ version "0.2.2"
+ resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
+
+repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ dependencies:
+ is-finite "^1.0.0"
+
+request@2.81.0:
+ version "2.81.0"
+ resolved "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+ dependencies:
+ aws-sign2 "~0.6.0"
+ aws4 "^1.2.1"
+ caseless "~0.12.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.0"
+ forever-agent "~0.6.1"
+ form-data "~2.1.1"
+ har-validator "~4.2.1"
+ hawk "~3.1.3"
+ http-signature "~1.1.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.7"
+ oauth-sign "~0.8.1"
+ performance-now "^0.2.0"
+ qs "~6.4.0"
+ safe-buffer "^5.0.1"
+ stringstream "~0.0.4"
+ tough-cookie "~2.3.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.0.0"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
+require-from-string@^1.1.0:
+ version "1.2.1"
+ resolved "http://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
+require-uncached@^1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ dependencies:
+ caller-path "^0.1.0"
+ resolve-from "^1.0.0"
+
+requires-port@1.x.x:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+
+resolve-from@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+
+resolve@1.1.x:
+ version "1.1.7"
+ resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
+resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.3:
+ version "1.5.0"
+ resolved "http://registry.npm.taobao.org/resolve/download/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
+ dependencies:
+ path-parse "^1.0.5"
+
+restore-cursor@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ dependencies:
+ exit-hook "^1.0.0"
+ onetime "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "http://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1:
+ version "2.6.2"
+ resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ dependencies:
+ hash-base "^2.0.0"
+ inherits "^2.0.1"
+
+run-async@^0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/run-async/download/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+ dependencies:
+ once "^1.3.0"
+
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ dependencies:
+ aproba "^1.1.1"
+
+rx-lite@^3.1.2:
+ version "3.1.2"
+ resolved "http://registry.npm.taobao.org/rx-lite/download/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+
+safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.1"
+ resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+
+samsam@1.x, samsam@^1.1.3:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/samsam/download/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
+
+sax@0.5.x:
+ version "0.5.8"
+ resolved "http://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1"
+
+sax@~1.2.1:
+ version "1.2.4"
+ resolved "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+
+schema-utils@^0.3.0:
+ version "0.3.0"
+ resolved "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf"
+ dependencies:
+ ajv "^5.0.0"
+
+"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0:
+ version "5.4.1"
+ resolved "http://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
+
+semver@~4.3.3:
+ version "4.3.6"
+ resolved "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
+send@0.16.1:
+ version "0.16.1"
+ resolved "http://registry.npm.taobao.org/send/download/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3"
+ dependencies:
+ debug "2.6.9"
+ depd "~1.1.1"
+ destroy "~1.0.4"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "~1.6.2"
+ mime "1.4.1"
+ ms "2.0.0"
+ on-finished "~2.3.0"
+ range-parser "~1.2.0"
+ statuses "~1.3.1"
+
+serialize-javascript@^1.4.0:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.4.0.tgz#7c958514db6ac2443a8abc062dc9f7886a7f6005"
+
+serve-static@1.13.1:
+ version "1.13.1"
+ resolved "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719"
+ dependencies:
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ parseurl "~1.3.2"
+ send "0.16.1"
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+set-immediate-shim@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+
+setprototypeof@1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
+
+setprototypeof@1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
+
+sha.js@^2.4.0, sha.js@^2.4.8:
+ version "2.4.9"
+ resolved "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d"
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+shelljs@^0.7.5, shelljs@^0.7.6:
+ version "0.7.8"
+ resolved "http://registry.npm.taobao.org/shelljs/download/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+sigmund@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+sinon-chai@^2.8.0:
+ version "2.14.0"
+ resolved "http://registry.npm.taobao.org/sinon-chai/download/sinon-chai-2.14.0.tgz#da7dd4cc83cd6a260b67cca0f7a9fdae26a1205d"
+
+sinon@^2.1.0:
+ version "2.4.1"
+ resolved "http://registry.npm.taobao.org/sinon/download/sinon-2.4.1.tgz#021fd64b54cb77d9d2fb0d43cdedfae7629c3a36"
+ dependencies:
+ diff "^3.1.0"
+ formatio "1.2.0"
+ lolex "^1.6.0"
+ native-promise-only "^0.8.1"
+ path-to-regexp "^1.7.0"
+ samsam "^1.1.3"
+ text-encoding "0.6.4"
+ type-detect "^4.0.0"
+
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+
+slice-ansi@0.0.4:
+ version "0.0.4"
+ resolved "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+
+sntp@1.x.x:
+ version "1.0.9"
+ resolved "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ dependencies:
+ hoek "2.x.x"
+
+socket.io-adapter@0.5.0:
+ version "0.5.0"
+ resolved "http://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
+ dependencies:
+ debug "2.3.3"
+ socket.io-parser "2.3.1"
+
+socket.io-client@1.7.3:
+ version "1.7.3"
+ resolved "http://registry.npm.taobao.org/socket.io-client/download/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
+ dependencies:
+ backo2 "1.0.2"
+ component-bind "1.0.0"
+ component-emitter "1.2.1"
+ debug "2.3.3"
+ engine.io-client "1.8.3"
+ has-binary "0.1.7"
+ indexof "0.0.1"
+ object-component "0.0.3"
+ parseuri "0.0.5"
+ socket.io-parser "2.3.1"
+ to-array "0.1.4"
+
+socket.io-parser@2.3.1:
+ version "2.3.1"
+ resolved "http://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
+ dependencies:
+ component-emitter "1.1.2"
+ debug "2.2.0"
+ isarray "0.0.1"
+ json3 "3.3.2"
+
+socket.io@1.7.3:
+ version "1.7.3"
+ resolved "http://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
+ dependencies:
+ debug "2.3.3"
+ engine.io "1.8.3"
+ has-binary "0.1.7"
+ object-assign "4.1.0"
+ socket.io-adapter "0.5.0"
+ socket.io-client "1.7.3"
+ socket.io-parser "2.3.1"
+
+sort-keys@^1.0.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+source-list-map@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
+
+source-list-map@~0.1.7:
+ version "0.1.8"
+ resolved "http://registry.npm.taobao.org/source-list-map/download/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
+source-map-support@^0.4.15:
+ version "0.4.18"
+ resolved "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ dependencies:
+ source-map "^0.5.6"
+
+source-map@0.1.x:
+ version "0.1.43"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@0.4.x, source-map@^0.4.4:
+ version "0.4.4"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@0.5.x, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
+ version "0.5.7"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+
+source-map@^0.6.1, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+
+source-map@~0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
+ dependencies:
+ amdefine ">=0.0.4"
+
+spdx-correct@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
+ dependencies:
+ spdx-license-ids "^1.0.2"
+
+spdx-expression-parse@~1.0.0:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
+
+spdx-license-ids@^1.0.2:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+sshpk@^1.7.0:
+ version "1.13.1"
+ resolved "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+ssri@^5.0.0:
+ version "5.0.0"
+ resolved "http://registry.npm.taobao.org/ssri/download/ssri-5.0.0.tgz#13c19390b606c821f2a10d02b351c1729b94d8cf"
+ dependencies:
+ safe-buffer "^5.1.0"
+
+stackframe@^1.0.3:
+ version "1.0.4"
+ resolved "http://registry.npm.taobao.org/stackframe/download/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b"
+
+"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
+ version "1.3.1"
+ resolved "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+
+stream-browserify@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-each@^1.1.0:
+ version "1.2.2"
+ resolved "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd"
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
+stream-http@^2.7.2:
+ version "2.7.2"
+ resolved "http://registry.npm.taobao.org/stream-http/download/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad"
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.2.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+
+string-length@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/string-length/download/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+ dependencies:
+ strip-ansi "^3.0.0"
+
+string-width@^1.0.1, string-width@^1.0.2:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.0.0:
+ version "2.1.1"
+ resolved "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string_decoder@^1.0.0, string_decoder@~1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+ dependencies:
+ safe-buffer "~5.1.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+stringstream@~0.0.4:
+ version "0.0.5"
+ resolved "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+stylus-loader@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/stylus-loader/download/stylus-loader-3.0.1.tgz#77f4b34fd030d25b2617bcf5513db5b0730c4089"
+ dependencies:
+ loader-utils "^1.0.2"
+ lodash.clonedeep "^4.5.0"
+ when "~3.6.x"
+
+stylus@^0.54.5:
+ version "0.54.5"
+ resolved "http://registry.npm.taobao.org/stylus/download/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79"
+ dependencies:
+ css-parse "1.7.x"
+ debug "*"
+ glob "7.0.x"
+ mkdirp "0.5.x"
+ sax "0.5.x"
+ source-map "0.1.x"
+
+supports-color@3.1.2, supports-color@^3.1.0:
+ version "3.1.2"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+supports-color@^3.2.3:
+ version "3.2.3"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^4.0.0, supports-color@^4.4.0:
+ version "4.5.0"
+ resolved "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ dependencies:
+ has-flag "^2.0.0"
+
+svgo@^0.7.0:
+ version "0.7.2"
+ resolved "http://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
+ dependencies:
+ coa "~1.0.1"
+ colors "~1.1.2"
+ csso "~2.3.1"
+ js-yaml "~3.7.0"
+ mkdirp "~0.5.1"
+ sax "~1.2.1"
+ whet.extend "~0.9.9"
+
+systemjs@^0.20.19:
+ version "0.20.19"
+ resolved "http://registry.npm.taobao.org/systemjs/download/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949"
+
+table@^3.7.8:
+ version "3.8.3"
+ resolved "http://registry.npm.taobao.org/table/download/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+ dependencies:
+ ajv "^4.7.0"
+ ajv-keywords "^1.0.0"
+ chalk "^1.1.1"
+ lodash "^4.0.0"
+ slice-ansi "0.0.4"
+ string-width "^2.0.0"
+
+tapable@^0.2.7, tapable@~0.2.5:
+ version "0.2.8"
+ resolved "http://registry.npm.taobao.org/tapable/download/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
+
+tar-pack@^3.4.0:
+ version "3.4.1"
+ resolved "http://registry.npm.taobao.org/tar-pack/download/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
+ dependencies:
+ debug "^2.2.0"
+ fstream "^1.0.10"
+ fstream-ignore "^1.0.5"
+ once "^1.3.3"
+ readable-stream "^2.1.4"
+ rimraf "^2.5.1"
+ tar "^2.2.1"
+ uid-number "^0.0.6"
+
+tar@^2.2.1:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.2"
+ inherits "2"
+
+test-exclude@^4.1.1:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/test-exclude/download/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26"
+ dependencies:
+ arrify "^1.0.1"
+ micromatch "^2.3.11"
+ object-assign "^4.1.0"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+
+text-encoding@0.6.4:
+ version "0.6.4"
+ resolved "http://registry.npm.taobao.org/text-encoding/download/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19"
+
+text-table@^0.2.0, text-table@~0.2.0:
+ version "0.2.0"
+ resolved "http://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+throttle-debounce@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.0.1.tgz#dad0fe130f9daf3719fdea33dc36a8e6ba7f30b5"
+
+through2@^2.0.0:
+ version "2.0.3"
+ resolved "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ dependencies:
+ readable-stream "^2.1.5"
+ xtend "~4.0.1"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
+time-stamp@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/time-stamp/download/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357"
+
+timers-browserify@^2.0.4:
+ version "2.0.4"
+ resolved "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6"
+ dependencies:
+ setimmediate "^1.0.4"
+
+tmp@0.0.31, tmp@0.0.x:
+ version "0.0.31"
+ resolved "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
+ dependencies:
+ os-tmpdir "~1.0.1"
+
+to-array@0.1.4:
+ version "0.1.4"
+ resolved "http://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+
+token-stream@0.0.1:
+ version "0.0.1"
+ resolved "http://registry.npm.taobao.org/token-stream/download/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a"
+
+toposort@^1.0.0:
+ version "1.0.6"
+ resolved "http://registry.npm.taobao.org/toposort/download/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec"
+
+tough-cookie@~2.3.0:
+ version "2.3.3"
+ resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561"
+ dependencies:
+ punycode "^1.4.1"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+
+ts-loader@^2.3.3:
+ version "2.3.7"
+ resolved "http://registry.npm.taobao.org/ts-loader/download/ts-loader-2.3.7.tgz#a9028ced473bee12f28a75f9c5b139979d33f2fc"
+ dependencies:
+ chalk "^2.0.1"
+ enhanced-resolve "^3.0.0"
+ loader-utils "^1.0.2"
+ semver "^5.0.1"
+
+tslib@^1.7.1:
+ version "1.8.1"
+ resolved "http://registry.npm.taobao.org/tslib/download/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
+
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ dependencies:
+ prelude-ls "~1.1.2"
+
+type-detect@0.1.1:
+ version "0.1.1"
+ resolved "http://registry.npm.taobao.org/type-detect/download/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
+
+type-detect@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/type-detect/download/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
+
+type-detect@^4.0.0:
+ version "4.0.5"
+ resolved "http://registry.npm.taobao.org/type-detect/download/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
+
+type-is@~1.6.15:
+ version "1.6.15"
+ resolved "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.15"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+typescript@^2.4.1:
+ version "2.6.2"
+ resolved "http://registry.npm.taobao.org/typescript/download/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
+
+uglify-js@3.2.x:
+ version "3.2.2"
+ resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-3.2.2.tgz#870e4b34ed733d179284f9998efd3293f7fd73f6"
+ dependencies:
+ commander "~2.12.1"
+ source-map "~0.6.1"
+
+uglify-js@^2.6, uglify-js@^2.6.1, uglify-js@^2.8.27:
+ version "2.8.29"
+ resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+uid-number@^0.0.6:
+ version "0.0.6"
+ resolved "http://registry.npm.taobao.org/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+
+ultron@1.0.x:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
+
+ultron@~1.1.0:
+ version "1.1.1"
+ resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
+
+underscore@^1.8.3:
+ version "1.8.3"
+ resolved "http://registry.npm.taobao.org/underscore/download/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+
+union@~0.4.3:
+ version "0.4.6"
+ resolved "http://registry.npm.taobao.org/union/download/union-0.4.6.tgz#198fbdaeba254e788b0efcb630bc11f24a2959e0"
+ dependencies:
+ qs "~2.3.3"
+
+uniq@^1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+
+uniqid@^4.0.0:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/uniqid/download/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
+ dependencies:
+ macaddress "^0.2.8"
+
+uniqs@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+
+unique-filename@^1.1.0:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3"
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab"
+ dependencies:
+ imurmurhash "^0.1.4"
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+
+upper-case@^1.1.1:
+ version "1.1.3"
+ resolved "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+
+url-join@^2.0.2:
+ version "2.0.2"
+ resolved "http://registry.npm.taobao.org/url-join/download/url-join-2.0.2.tgz#c072756967ad24b8b59e5741551caac78f50b8b7"
+
+url-loader@^0.5.8:
+ version "0.5.9"
+ resolved "http://registry.npm.taobao.org/url-loader/download/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295"
+ dependencies:
+ loader-utils "^1.0.2"
+ mime "1.3.x"
+
+url@^0.11.0:
+ version "0.11.0"
+ resolved "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+user-home@^2.0.0:
+ version "2.0.0"
+ resolved "http://registry.npm.taobao.org/user-home/download/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
+ dependencies:
+ os-homedir "^1.0.0"
+
+useragent@^2.1.12:
+ version "2.2.1"
+ resolved "http://registry.npm.taobao.org/useragent/download/useragent-2.2.1.tgz#cf593ef4f2d175875e8bb658ea92e18a4fd06d8e"
+ dependencies:
+ lru-cache "2.2.x"
+ tmp "0.0.x"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+util@0.10.3, util@^0.10.3:
+ version "0.10.3"
+ resolved "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ dependencies:
+ inherits "2.0.1"
+
+utila@~0.3:
+ version "0.3.3"
+ resolved "http://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226"
+
+utila@~0.4:
+ version "0.4.0"
+ resolved "http://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+
+uuid@^3.0.0:
+ version "3.1.0"
+ resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
+ dependencies:
+ spdx-correct "~1.0.0"
+ spdx-expression-parse "~1.0.0"
+
+validator@^9.0.0:
+ version "9.2.0"
+ resolved "http://registry.npm.taobao.org/validator/download/validator-9.2.0.tgz#ad216eed5f37cac31a6fe00ceab1f6b88bded03e"
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+
+vendors@^1.0.0:
+ version "1.0.1"
+ resolved "http://registry.npm.taobao.org/vendors/download/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vm-browserify@0.0.4:
+ version "0.0.4"
+ resolved "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ dependencies:
+ indexof "0.0.1"
+
+void-elements@^2.0.0, void-elements@^2.0.1:
+ version "2.0.1"
+ resolved "http://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
+
+vue-class-component@^6.0.0, vue-class-component@^6.1.0:
+ version "6.1.2"
+ resolved "http://registry.npm.taobao.org/vue-class-component/download/vue-class-component-6.1.2.tgz#87ac0265b0db71a3f49f10d90e4f69f9be9c2fbd"
+
+vue-hot-reload-api@^2.1.0:
+ version "2.2.4"
+ resolved "http://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.2.4.tgz#683bd1d026c0d3b3c937d5875679e9a87ec6cd8f"
+
+vue-loader@^12.1.0:
+ version "12.2.2"
+ resolved "http://registry.npm.taobao.org/vue-loader/download/vue-loader-12.2.2.tgz#2b3a764f27018f975bc78cb8b1f55137548ee2d7"
+ dependencies:
+ consolidate "^0.14.0"
+ hash-sum "^1.0.2"
+ js-beautify "^1.6.3"
+ loader-utils "^1.1.0"
+ lru-cache "^4.0.1"
+ postcss "^5.0.21"
+ postcss-load-config "^1.1.0"
+ postcss-selector-parser "^2.0.0"
+ resolve "^1.3.3"
+ source-map "^0.5.6"
+ vue-hot-reload-api "^2.1.0"
+ vue-style-loader "^3.0.0"
+ vue-template-es2015-compiler "^1.2.2"
+
+vue-property-decorator@^6.0.0:
+ version "6.0.0"
+ resolved "http://registry.npm.taobao.org/vue-property-decorator/download/vue-property-decorator-6.0.0.tgz#bb651b293542e31db0d24f36f4b0250ef08d8515"
+ dependencies:
+ reflect-metadata "^0.1.10"
+ vue-class-component "^6.0.0"
+
+vue-router@^3.0.1:
+ version "3.0.1"
+ resolved "http://registry.npm.taobao.org/vue-router/download/vue-router-3.0.1.tgz#d9b05ad9c7420ba0f626d6500d693e60092cc1e9"
+
+vue-style-loader@^3.0.0, vue-style-loader@^3.0.1:
+ version "3.0.3"
+ resolved "http://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-3.0.3.tgz#623658f81506aef9d121cdc113a4f5c9cac32df7"
+ dependencies:
+ hash-sum "^1.0.2"
+ loader-utils "^1.0.2"
+
+vue-template-compiler@^2.3.3:
+ version "2.5.13"
+ resolved "http://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.5.13.tgz#12a2aa0ecd6158ac5e5f14d294b0993f399c3d38"
+ dependencies:
+ de-indent "^1.0.2"
+ he "^1.1.0"
+
+vue-template-es2015-compiler@^1.2.2:
+ version "1.6.0"
+ resolved "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18"
+
+vue@^2.3.3:
+ version "2.5.13"
+ resolved "http://registry.npm.taobao.org/vue/download/vue-2.5.13.tgz#95bd31e20efcf7a7f39239c9aa6787ce8cf578e1"
+
+watchpack@^1.3.1:
+ version "1.4.0"
+ resolved "http://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac"
+ dependencies:
+ async "^2.1.2"
+ chokidar "^1.7.0"
+ graceful-fs "^4.1.2"
+
+webpack-bundle-analyzer@^2.2.1:
+ version "2.9.1"
+ resolved "http://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.9.1.tgz#c2c8e03e8e5768ed288b39ae9e27a8b8d7b9d476"
+ dependencies:
+ acorn "^5.1.1"
+ chalk "^1.1.3"
+ commander "^2.9.0"
+ ejs "^2.5.6"
+ express "^4.15.2"
+ filesize "^3.5.9"
+ gzip-size "^3.0.0"
+ lodash "^4.17.4"
+ mkdirp "^0.5.1"
+ opener "^1.4.3"
+ ws "^3.3.1"
+
+webpack-dev-middleware@^1.10.0, webpack-dev-middleware@^1.12.0:
+ version "1.12.2"
+ resolved "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e"
+ dependencies:
+ memory-fs "~0.4.1"
+ mime "^1.5.0"
+ path-is-absolute "^1.0.0"
+ range-parser "^1.0.3"
+ time-stamp "^2.0.0"
+
+webpack-hot-middleware@^2.18.0:
+ version "2.21.0"
+ resolved "http://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.21.0.tgz#7b3c113a7a4b301c91e0749573c7aab28b414b52"
+ dependencies:
+ ansi-html "0.0.7"
+ html-entities "^1.2.0"
+ querystring "^0.2.0"
+ strip-ansi "^3.0.0"
+
+webpack-merge@^4.1.0:
+ version "4.1.1"
+ resolved "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.1.tgz#f1197a0a973e69c6fbeeb6d658219aa8c0c13555"
+ dependencies:
+ lodash "^4.17.4"
+
+webpack-sources@^0.1.0:
+ version "0.1.5"
+ resolved "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
+ dependencies:
+ source-list-map "~0.1.7"
+ source-map "~0.5.3"
+
+webpack-sources@^1.0.1:
+ version "1.1.0"
+ resolved "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
+webpack@^2.6.1:
+ version "2.7.0"
+ resolved "http://registry.npm.taobao.org/webpack/download/webpack-2.7.0.tgz#b2a1226804373ffd3d03ea9c6bd525067034f6b1"
+ dependencies:
+ acorn "^5.0.0"
+ acorn-dynamic-import "^2.0.0"
+ ajv "^4.7.0"
+ ajv-keywords "^1.1.1"
+ async "^2.1.2"
+ enhanced-resolve "^3.3.0"
+ interpret "^1.0.0"
+ json-loader "^0.5.4"
+ json5 "^0.5.1"
+ loader-runner "^2.3.0"
+ loader-utils "^0.2.16"
+ memory-fs "~0.4.1"
+ mkdirp "~0.5.0"
+ node-libs-browser "^2.0.0"
+ source-map "^0.5.3"
+ supports-color "^3.1.0"
+ tapable "~0.2.5"
+ uglify-js "^2.8.27"
+ watchpack "^1.3.1"
+ webpack-sources "^1.0.1"
+ yargs "^6.0.0"
+
+when@~3.6.x:
+ version "3.6.4"
+ resolved "http://registry.npm.taobao.org/when/download/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e"
+
+whet.extend@~0.9.9:
+ version "0.9.9"
+ resolved "http://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
+
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+
+which@^1.1.1, which@^1.2.1, which@^1.2.9:
+ version "1.3.0"
+ resolved "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
+ dependencies:
+ string-width "^1.0.2"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+with@^5.0.0:
+ version "5.1.1"
+ resolved "http://registry.npm.taobao.org/with/download/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe"
+ dependencies:
+ acorn "^3.1.0"
+ acorn-globals "^3.0.0"
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wordwrap@^1.0.0, wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+write@^0.2.1:
+ version "0.2.1"
+ resolved "http://registry.npm.taobao.org/write/download/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ dependencies:
+ mkdirp "^0.5.1"
+
+ws@1.1.2:
+ version "1.1.2"
+ resolved "http://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
+ dependencies:
+ options ">=0.0.5"
+ ultron "1.0.x"
+
+ws@^3.3.1:
+ version "3.3.3"
+ resolved "http://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
+ dependencies:
+ async-limiter "~1.0.0"
+ safe-buffer "~5.1.0"
+ ultron "~1.1.0"
+
+wtf-8@1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
+
+xml-char-classes@^1.0.0:
+ version "1.0.0"
+ resolved "http://registry.npm.taobao.org/xml-char-classes/download/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
+
+xmlhttprequest-ssl@1.5.3:
+ version "1.5.3"
+ resolved "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
+
+xtend@^4.0.0, xtend@~4.0.1:
+ version "4.0.1"
+ resolved "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
+yargs-parser@^4.2.0:
+ version "4.2.1"
+ resolved "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
+ dependencies:
+ camelcase "^3.0.0"
+
+yargs@^6.0.0:
+ version "6.6.0"
+ resolved "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
+ dependencies:
+ 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 "^4.2.0"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
+yeast@0.1.2:
+ version "0.1.2"
+ resolved "http://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
+
+z-schema@^3.18.2:
+ version "3.19.0"
+ resolved "http://registry.npm.taobao.org/z-schema/download/z-schema-3.19.0.tgz#d86e90e5d02113c7b8824ae477dd57208d17a5a8"
+ dependencies:
+ lodash.get "^4.0.0"
+ lodash.isequal "^4.0.0"
+ validator "^9.0.0"
+ optionalDependencies:
+ commander "^2.7.1"