├── .editorconfig ├── .eslintrc ├── .gitignore ├── .mocharc.js ├── .nvmrc ├── .prettierrc ├── .travis.yml ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── LICENSE ├── README.md ├── configs ├── development.config.js ├── index.js ├── production.config.js └── test.config.js ├── nodemon.json ├── package.json ├── src ├── bootstrap.js ├── controllers │ └── v1 │ │ ├── index.js │ │ └── user.js ├── helpers │ ├── db.js │ ├── logger.js │ ├── restify.js │ └── validate.js ├── index.js ├── middlewares │ └── exception.js ├── models │ ├── index.js │ └── user.js └── services │ ├── index.js │ └── user.js ├── test ├── api │ └── user.test.js └── global.test.js ├── utils └── env.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 4 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | end_of_line = unset 10 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "commonjs": true, 4 | "es6": true, 5 | "node": true, 6 | "mocha": true 7 | }, 8 | "extends": ["airbnb-base", "prettier"], 9 | "globals": { 10 | "Atomics": "readonly", 11 | "SharedArrayBuffer": "readonly", 12 | "request": "readonly" 13 | }, 14 | "parserOptions": { 15 | "ecmaVersion": 2018 16 | }, 17 | "rules": { 18 | "func-names": "off", 19 | "global-require": "off", 20 | "no-console": "off", 21 | "no-param-reassign": "off", 22 | "no-underscore-dangle": "off", 23 | "no-unused-expressions": "off", 24 | "no-unused-vars": "warn", 25 | 26 | "import/newline-after-import": "off", 27 | "import/no-dynamic-require": "off" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # custom 2 | study/ 3 | 4 | # Logs 5 | logs 6 | *.log 7 | npm-debug.log* 8 | yarn-debug.log* 9 | yarn-error.log* 10 | lerna-debug.log* 11 | 12 | # Diagnostic reports (https://nodejs.org/api/report.html) 13 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 14 | 15 | # Runtime data 16 | pids 17 | *.pid 18 | *.seed 19 | *.pid.lock 20 | 21 | # Directory for instrumented libs generated by jscoverage/JSCover 22 | lib-cov 23 | 24 | # Coverage directory used by tools like istanbul 25 | coverage 26 | *.lcov 27 | 28 | # nyc test coverage 29 | .nyc_output 30 | 31 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 32 | .grunt 33 | 34 | # Bower dependency directory (https://bower.io/) 35 | bower_components 36 | 37 | # node-waf configuration 38 | .lock-wscript 39 | 40 | # Compiled binary addons (https://nodejs.org/api/addons.html) 41 | build/Release 42 | 43 | # Dependency directories 44 | node_modules/ 45 | jspm_packages/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and not Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | 106 | # Stores VSCode versions used for testing VSCode extensions 107 | .vscode-test 108 | 109 | .vscode/* 110 | !.vscode/settings.json 111 | !.vscode/tasks.json 112 | !.vscode/launch.json 113 | !.vscode/extensions.json 114 | *.code-workspace 115 | 116 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 117 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 118 | 119 | # User-specific stuff 120 | .idea/**/workspace.xml 121 | .idea/**/tasks.xml 122 | .idea/**/usage.statistics.xml 123 | .idea/**/dictionaries 124 | .idea/**/shelf 125 | 126 | # Generated files 127 | .idea/**/contentModel.xml 128 | 129 | # Sensitive or high-churn files 130 | .idea/**/dataSources/ 131 | .idea/**/dataSources.ids 132 | .idea/**/dataSources.local.xml 133 | .idea/**/sqlDataSources.xml 134 | .idea/**/dynamic.xml 135 | .idea/**/uiDesigner.xml 136 | .idea/**/dbnavigator.xml 137 | 138 | # Gradle 139 | .idea/**/gradle.xml 140 | .idea/**/libraries 141 | 142 | # Gradle and Maven with auto-import 143 | # When using Gradle or Maven with auto-import, you should exclude module files, 144 | # since they will be recreated, and may cause churn. Uncomment if using 145 | # auto-import. 146 | # .idea/artifacts 147 | # .idea/compiler.xml 148 | # .idea/jarRepositories.xml 149 | # .idea/modules.xml 150 | # .idea/*.iml 151 | # .idea/modules 152 | # *.iml 153 | # *.ipr 154 | 155 | # CMake 156 | cmake-build-*/ 157 | 158 | # Mongo Explorer plugin 159 | .idea/**/mongoSettings.xml 160 | 161 | # File-based project format 162 | *.iws 163 | 164 | # IntelliJ 165 | out/ 166 | 167 | # mpeltonen/sbt-idea plugin 168 | .idea_modules/ 169 | 170 | # JIRA plugin 171 | atlassian-ide-plugin.xml 172 | 173 | # Cursive Clojure plugin 174 | .idea/replstate.xml 175 | 176 | # Crashlytics plugin (for Android Studio and IntelliJ) 177 | com_crashlytics_export_strings.xml 178 | crashlytics.properties 179 | crashlytics-build.properties 180 | fabric.properties 181 | 182 | # Editor-based Rest Client 183 | .idea/httpRequests 184 | 185 | # Android studio 3.1+ serialized cache file 186 | .idea/caches/build_file_checksums.ser 187 | 188 | # Cache files for Sublime Text 189 | *.tmlanguage.cache 190 | *.tmPreferences.cache 191 | *.stTheme.cache 192 | 193 | # Workspace files are user-specific 194 | *.sublime-workspace 195 | 196 | # Project files should be checked into the repository, unless a significant 197 | # proportion of contributors will probably not be using Sublime Text 198 | # *.sublime-project 199 | 200 | # SFTP configuration file 201 | sftp-config.json 202 | 203 | # Package control specific files 204 | Package Control.last-run 205 | Package Control.ca-list 206 | Package Control.ca-bundle 207 | Package Control.system-ca-bundle 208 | Package Control.cache/ 209 | Package Control.ca-certs/ 210 | Package Control.merged-ca-bundle 211 | Package Control.user-ca-bundle 212 | oscrypto-ca-bundle.crt 213 | bh_unicode_properties.cache 214 | 215 | # Sublime-github package stores a github token in this file 216 | # https://packagecontrol.io/packages/sublime-github 217 | GitHub.sublime-settings 218 | 219 | # Windows thumbnail cache files 220 | Thumbs.db 221 | Thumbs.db:encryptable 222 | ehthumbs.db 223 | ehthumbs_vista.db 224 | 225 | # Dump file 226 | *.stackdump 227 | 228 | # Folder config file 229 | [Dd]esktop.ini 230 | 231 | # Recycle Bin used on file shares 232 | $RECYCLE.BIN/ 233 | 234 | # Windows Installer files 235 | *.cab 236 | *.msi 237 | *.msix 238 | *.msm 239 | *.msp 240 | 241 | # Windows shortcuts 242 | *.lnk 243 | 244 | *~ 245 | 246 | # temporary files which can be created if a process still has a handle open of a deleted file 247 | .fuse_hidden* 248 | 249 | # KDE directory preferences 250 | .directory 251 | 252 | # Linux trash folder which might appear on any partition or disk 253 | .Trash-* 254 | 255 | # .nfs files are created when an open file is removed but is still being accessed 256 | .nfs* 257 | 258 | # General 259 | .DS_Store 260 | .AppleDouble 261 | .LSOverride 262 | 263 | # Thumbnails 264 | ._* 265 | 266 | # Files that might appear in the root of a volume 267 | .DocumentRevisions-V100 268 | .fseventsd 269 | .Spotlight-V100 270 | .TemporaryItems 271 | .Trashes 272 | .VolumeIcon.icns 273 | .com.apple.timemachine.donotpresent 274 | 275 | # Directories potentially created on remote AFP share 276 | .AppleDB 277 | .AppleDesktop 278 | Network Trash Folder 279 | Temporary Items 280 | .apdisk 281 | -------------------------------------------------------------------------------- /.mocharc.js: -------------------------------------------------------------------------------- 1 | const configs = { 2 | recursive: true, 3 | require: ['intelli-espower-loader'], 4 | exit: true, 5 | timeout: 3 * 1000, 6 | colors: true, 7 | }; 8 | 9 | if (process.env.VSCODE_DEBUG === '1') { 10 | delete configs.require; 11 | } 12 | 13 | module.exports = configs; 14 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v12.16.1 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "tabWidth": 4, 4 | "semi": true, 5 | "singleQuote": true, 6 | "endOfLine": "auto", 7 | "printWidth": 100, 8 | "overrides": [ 9 | { 10 | "files": "*.md", 11 | "options": { 12 | "tabWidth": 2 13 | } 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | cache: 3 | - yarn 4 | before_install: 5 | - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.21.1 6 | - export PATH="$HOME/.yarn/bin:$PATH" 7 | install: 8 | - yarn 9 | script: 10 | - yarn test 11 | services: mongodb 12 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | // https://gist.github.com/tjx666/daa6317cf80ab5f467c50b2693527875 2 | { 3 | "recommendations": [ 4 | "editorconfig.editorconfig", 5 | "dbaeumer.vscode-eslint", 6 | "esbenp.prettier-vscode", 7 | "yutengjing.view-github-repository", 8 | "yutengjing.open-in-external-app", 9 | "yutengjing.vscode-fe-helper" 10 | ], 11 | "unwantedRecommendations": [ 12 | "hookyqr.beautify", 13 | "ms-vscode.vscode-typescript-tslint-plugin", 14 | "dbaeumer.jshint" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "dev", 6 | "type": "node", 7 | "request": "launch", 8 | "skipFiles": ["/**"], 9 | "program": "${workspaceFolder}\\src\\index.js", 10 | "env": { 11 | "NODE_ENV": "development" 12 | } 13 | }, 14 | { 15 | "name": "test-debug", 16 | "type": "node", 17 | "request": "launch", 18 | "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", 19 | "args": ["--timeout", "999999", "${file}"], 20 | "sourceMaps": true, 21 | "env": { 22 | "NODE_ENV": "test", 23 | "VSCODE_DEBUG": "1" 24 | } 25 | }, 26 | { 27 | "name": "test-file", 28 | "type": "node", 29 | "request": "launch", 30 | "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", 31 | "args": ["${file}"], 32 | "sourceMaps": true, 33 | "env": { 34 | "NODE_ENV": "test" 35 | } 36 | }, 37 | { 38 | "name": "test-all", 39 | "type": "node", 40 | "request": "launch", 41 | "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", 42 | "args": ["${workspaceFolder}/test"], 43 | "sourceMaps": true, 44 | "env": { 45 | "NODE_ENV": "test" 46 | } 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "search.exclude": { 3 | "**/node_modules": true, 4 | "public": true, 5 | "logs": true, 6 | "yarn.lock": true, 7 | "LICENSE": true 8 | }, 9 | "files.watcherExclude": { 10 | "**/.git/objects/**": true, 11 | "**/.git/subtree-cache/**": true, 12 | "**/node_modules/**": true, 13 | "**/public/**": true, 14 | "**/logs/**": true 15 | }, 16 | "[javascript]": { 17 | "editor.defaultFormatter": "esbenp.prettier-vscode" 18 | }, 19 | "[json]": { 20 | "editor.defaultFormatter": "esbenp.prettier-vscode" 21 | }, 22 | "[jsonc]": { 23 | "editor.defaultFormatter": "esbenp.prettier-vscode" 24 | }, 25 | "[markdown]": { 26 | "editor.defaultFormatter": "esbenp.prettier-vscode" 27 | }, 28 | "[yaml]": { 29 | "editor.defaultFormatter": "esbenp.prettier-vscode" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) [2020] [YuTengjing] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # koa-restful-boilerplate 2 | 3 | [![Build Status](https://travis-ci.org/tjx666/koa-restful-boilerplate.svg?branch=master)](https://travis-ci.org/tjx666/koa-restful-boilerplate) [![dependencies Status](https://david-dm.org/tjx666/koa-restful-boilerplate/status.svg)](https://david-dm.org/tjx666/koa-restful-boilerplate) [![devDependencies Status](https://david-dm.org/tjx666/koa-restful-boilerplate/dev-status.svg)](https://david-dm.org/tjx666/koa-restful-boilerplate?type=dev) [![Known Vulnerabilities](https://snyk.io/test/github/tjx666/koa-restful-boilerplate/badge.svg?targetFile=package.json)](https://snyk.io/test/github/tjx666/koa-restful-boilerplate?targetFile=package.json) [![Percentage of issues still open](https://isitmaintained.com/badge/open/tjx666/koa-restful-boilerplate.svg)](http://isitmaintained.com/project/tjx666/koa-restful-boilerplate) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) 4 | 5 | An awesome boilerplate for koa2 RESTful API development, real world server: [coo-server](https://github.com/tjx666/coo-server). 6 | 7 | > **Note**: You may need to set proxy to install the dependencies: `bcrypt` 8 | -------------------------------------------------------------------------------- /configs/development.config.js: -------------------------------------------------------------------------------- 1 | const { argv } = require('yargs'); 2 | 3 | exports.server = { 4 | hostname: argv.HOST || process.env.HOST || '127.0.0.1', 5 | port: Number(argv.PORT || process.env.PORT || 3000), 6 | }; 7 | 8 | exports.security = { 9 | jwtSecret: 'development_jwt_secret', 10 | passwordHashSaltRounds: 10, 11 | }; 12 | 13 | exports.db = { 14 | dbName: 'boilerplate-dev', 15 | hostname: '127.0.0.1', 16 | port: 27017, 17 | connectOptions: { 18 | useNewUrlParser: true, 19 | useUnifiedTopology: true, 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /configs/index.js: -------------------------------------------------------------------------------- 1 | const { env } = require('../utils/env'); 2 | const config = require(`./${env}.config`); 3 | 4 | const { server: serverConfig, db: dbConfig } = config; 5 | serverConfig.address = `http://${serverConfig.hostname}:${serverConfig.port}`; 6 | dbConfig.address = `mongodb://${dbConfig.hostname}:${dbConfig.port}/${dbConfig.dbName}`; 7 | 8 | module.exports = config; 9 | -------------------------------------------------------------------------------- /configs/production.config.js: -------------------------------------------------------------------------------- 1 | const _ = require('lodash'); 2 | const uuidV1 = require('uuid/v1'); 3 | 4 | const devConfig = require('./development.config'); 5 | 6 | exports.server = { 7 | port: 8080, 8 | }; 9 | 10 | exports.security = { 11 | jwtSecret: process.env.JWT_SECRET || uuidV1(), 12 | passwordHashSaltRounds: process.env.PWD_HASH_SALT || Math.floor(5 + Math.random() * 11), 13 | }; 14 | 15 | exports.db = { 16 | dbName: 'boilerplate', 17 | }; 18 | 19 | module.exports = _.merge(devConfig, exports); 20 | -------------------------------------------------------------------------------- /configs/test.config.js: -------------------------------------------------------------------------------- 1 | const _ = require('lodash'); 2 | 3 | const devConfig = require('./development.config'); 4 | 5 | exports.server = { 6 | port: 3001, 7 | }; 8 | 9 | exports.security = { 10 | jwtSecret: 'test_jwt_secret', 11 | passwordHashSaltRounds: 15, 12 | }; 13 | 14 | exports.db = { 15 | dbName: 'boilerplate-test', 16 | }; 17 | 18 | module.exports = _.merge(devConfig, exports); 19 | -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "verbose": true, 3 | "quiet": true, 4 | "watch": ["src/", "configs/", "utils/"], 5 | "ext": "js,json" 6 | } 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koa-restful-boilerplate", 3 | "version": "0.0.1", 4 | "description": "A boilerplate for koa2 RESTful API development", 5 | "main": "src/index.js", 6 | "author": { 7 | "name": "YuTengjing", 8 | "url": "https://github.com/tjx666", 9 | "email": "ytj2713151713@gmail.com" 10 | }, 11 | "license": "MIT", 12 | "homepage": "https://github.com/tjx666/koa-restful-boilerplate", 13 | "repository": { 14 | "url": "git@github.com:tjx666/koa-restful-boilerplate.git", 15 | "type": "git" 16 | }, 17 | "private": true, 18 | "scripts": { 19 | "dev": "cross-env NODE_ENV=development nodemon", 20 | "test": "cross-env NODE_ENV=test mocha", 21 | "lint": "eslint -c .eslintrc --ext .js ./{src,test}/**/*.js" 22 | }, 23 | "husky": { 24 | "hooks": { 25 | "pre-commit": "lint-staged && yarn run test" 26 | } 27 | }, 28 | "lint-staged": { 29 | "*.js": [ 30 | "eslint -c .eslintrc" 31 | ], 32 | "*.{js,json,md}": [ 33 | "prettier --write" 34 | ] 35 | }, 36 | "dependencies": { 37 | "@hapi/boom": "^9.1.0", 38 | "@hapi/joi": "^17.1.1", 39 | "@koa/cors": "^3.1.0", 40 | "bcrypt": "5.0.0", 41 | "chalk": "^4.1.0", 42 | "cross-env": "^7.0.2", 43 | "intelli-espower-loader": "^1.0.1", 44 | "jsonwebtoken": "^8.5.1", 45 | "koa": "^2.13.0", 46 | "koa-bodyparser": "^4.3.0", 47 | "koa-helmet": "^5.2.0", 48 | "koa-jwt": "^4.0.0", 49 | "koa-logger": "^3.2.1", 50 | "koa-response-time": "^2.1.0", 51 | "koa-router": "^9.1.0", 52 | "lodash": "^4.17.19", 53 | "log-symbols": "^4.0.0", 54 | "log4js": "^6.3.0", 55 | "mocha": "^8.0.1", 56 | "mongoose": "^5.9.24", 57 | "power-assert": "^1.6.1", 58 | "rimraf": "^3.0.2", 59 | "supertest": "^4.0.2", 60 | "uuid": "^8.2.0", 61 | "yargs": "^15.4.1" 62 | }, 63 | "devDependencies": { 64 | "eslint": "^7.4.0", 65 | "eslint-config-airbnb-base": "^14.2.0", 66 | "eslint-config-prettier": "^6.11.0", 67 | "eslint-plugin-import": "^2.22.0", 68 | "husky": "^4.2.5", 69 | "lint-staged": "^10.2.11", 70 | "nodemon": "^2.0.4", 71 | "prettier": "^2.0.5" 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/bootstrap.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable new-cap */ 2 | 3 | const Koa = require('koa'); 4 | const responseTime = require('koa-response-time'); 5 | const requestLogger = require('koa-logger'); 6 | const helmet = require('koa-helmet'); 7 | const cors = require('@koa/cors'); 8 | const bodyParser = require('koa-bodyparser'); 9 | const jwt = require('koa-jwt'); 10 | const Boom = require('@hapi/boom'); 11 | 12 | const loggerHelpers = require('./helpers/logger'); 13 | const dbHelper = require('./helpers/db'); 14 | const restifyHelper = require('./helpers/restify'); 15 | const validateHelper = require('./helpers/validate'); 16 | 17 | const exceptionMiddleware = require('./middlewares/exception'); 18 | 19 | const router = require('./controllers/v1'); 20 | 21 | const { env } = require('../utils/env'); 22 | const config = require('../configs'); 23 | 24 | const bootstrap = async () => { 25 | const app = new Koa(); 26 | 27 | await loggerHelpers(app); 28 | await dbHelper(app); 29 | await restifyHelper(app); 30 | await validateHelper(app); 31 | 32 | app.use(responseTime()); 33 | env === 'development' && app.use(requestLogger()); 34 | app.use(helmet()); 35 | app.use(cors()); 36 | app.use(bodyParser()); 37 | app.use(exceptionMiddleware()); 38 | app.use( 39 | jwt({ secret: config.security.jwtSecret }).unless({ 40 | path: [/\/api\/v\d\/users\/register/, /\/api\/v\d\/users\/login/], 41 | }), 42 | ); 43 | app.use(router.routes()); 44 | app.use( 45 | router.allowedMethods({ 46 | throw: true, 47 | notImplemented: () => new Boom.notImplemented(), 48 | methodNotAllowed: () => new Boom.methodNotAllowed(), 49 | }), 50 | ); 51 | 52 | return app; 53 | }; 54 | 55 | module.exports = bootstrap; 56 | -------------------------------------------------------------------------------- /src/controllers/v1/index.js: -------------------------------------------------------------------------------- 1 | const Router = require('koa-router'); 2 | const userController = require('./user'); 3 | 4 | const router = new Router({ prefix: '/api/v1/' }); 5 | 6 | router.post('users/register', userController.register); 7 | router.post('users/login', userController.login); 8 | router.get('users', userController.getUsers); 9 | 10 | module.exports = router; 11 | -------------------------------------------------------------------------------- /src/controllers/v1/user.js: -------------------------------------------------------------------------------- 1 | const Joi = require('@hapi/joi'); 2 | const Boom = require('@hapi/boom'); 3 | const jwt = require('jsonwebtoken'); 4 | 5 | const { userService } = require('../../services'); 6 | const configs = require('../../../configs'); 7 | 8 | const register = async (ctx, next) => { 9 | const schema = Joi.object({ 10 | name: Joi.string().required(), 11 | password: Joi.string() 12 | .max(60) 13 | .required(), 14 | age: Joi.number(), 15 | }); 16 | await ctx.validateAsync(schema); 17 | 18 | const userDto = ctx.request.body; 19 | await userService.createUser(userDto); 20 | 21 | ctx.restify(); 22 | await next(); 23 | }; 24 | 25 | const login = async (ctx, next) => { 26 | const schema = Joi.object({ 27 | name: Joi.string().required(), 28 | password: Joi.string() 29 | .max(60) 30 | .required(), 31 | }); 32 | await ctx.validateAsync(schema); 33 | 34 | const { name, password } = ctx.request.body; 35 | const user = await userService.checkLogin(name, password); 36 | 37 | if (user) { 38 | const token = jwt.sign( 39 | { 40 | data: user, 41 | exp: Math.floor(Date.now() / 1000) + 6 * 60 * 60, 42 | }, 43 | configs.security.jwtSecret 44 | ); 45 | ctx.response.body = { 46 | code: 0, 47 | msg: 'login success!', 48 | data: `Bearer ${token}`, 49 | }; 50 | } else { 51 | throw Boom.unauthorized(); 52 | } 53 | 54 | await next(); 55 | }; 56 | 57 | const getUsers = async (ctx, next) => { 58 | const users = await userService.findAllUsers(); 59 | ctx.restify(users); 60 | await next(); 61 | }; 62 | 63 | module.exports = { register, login, getUsers }; 64 | -------------------------------------------------------------------------------- /src/helpers/db.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | const chalk = require('chalk'); 3 | const logSymbols = require('log-symbols'); 4 | 5 | const configs = require('../../configs'); 6 | 7 | const dbHelper = async server => { 8 | const { address, connectOptions } = configs.db; 9 | const { appLogger } = server; 10 | const colorizedAddr = chalk.green.underline(address); 11 | 12 | try { 13 | await mongoose.connect(address, connectOptions); 14 | } catch (err) { 15 | appLogger.error( 16 | `Connect to mongoDB at ${colorizedAddr} failed ${logSymbols.error}` 17 | ); 18 | if (err) appLogger.error(err); 19 | } 20 | 21 | appLogger.info( 22 | `Connected to mongoDB at ${colorizedAddr} ${logSymbols.success}` 23 | ); 24 | 25 | const db = mongoose.connection; 26 | server.db = db; 27 | server.context.db = db; 28 | 29 | db.on('close', () => { 30 | appLogger.warn( 31 | `MongoDB connection to at ${colorizedAddr} had been closed ${logSymbols.warning}` 32 | ); 33 | }); 34 | 35 | db.on('error', err => { 36 | appLogger.error('MongoDB occurred error!'); 37 | if (err) appLogger.error(err); 38 | }); 39 | }; 40 | 41 | module.exports = dbHelper; 42 | -------------------------------------------------------------------------------- /src/helpers/logger.js: -------------------------------------------------------------------------------- 1 | const { resolve } = require('path'); 2 | const { promisify } = require('util'); 3 | const log4js = require('log4js'); 4 | const rm = require('rimraf'); 5 | 6 | const { isProd } = require('../../utils/env'); 7 | 8 | const projectRoot = resolve(__dirname, '../../'); 9 | 10 | const clearLogs = async () => { 11 | await promisify(rm)(resolve(projectRoot, './logs')); 12 | }; 13 | 14 | const appLogPath = resolve(projectRoot, './logs/application.log'); 15 | const ctxLogPath = resolve(projectRoot, './logs/context.log'); 16 | const appErrorLogPath = resolve(projectRoot, './logs/application.error.log'); 17 | const ctxErrorLogPath = resolve(projectRoot, './logs/context.error.log'); 18 | 19 | const configuration = { 20 | appenders: { 21 | appFile: { 22 | type: 'dateFile', 23 | filename: appLogPath, 24 | }, 25 | ctxFile: { 26 | type: 'dateFile', 27 | filename: ctxLogPath, 28 | }, 29 | appErrorFile: { 30 | type: 'dateFile', 31 | filename: appErrorLogPath, 32 | }, 33 | ctxErrorFile: { 34 | type: 'dateFile', 35 | filename: ctxErrorLogPath, 36 | }, 37 | appErrorFilter: { 38 | type: 'logLevelFilter', 39 | appender: 'appErrorFile', 40 | level: 'error', 41 | }, 42 | ctxErrorFilter: { 43 | type: 'logLevelFilter', 44 | appender: 'ctxErrorFile', 45 | level: 'error', 46 | }, 47 | console: { 48 | type: 'console', 49 | layout: { 50 | type: 'pattern', 51 | pattern: '%[[%p] %c%] - %m', 52 | }, 53 | }, 54 | }, 55 | categories: { 56 | default: { 57 | appenders: ['console'], 58 | level: 'trace', 59 | }, 60 | application: { 61 | appenders: ['console', 'appFile', 'appErrorFilter'], 62 | level: 'trace', 63 | }, 64 | context: { 65 | appenders: ['console', 'ctxFile', 'ctxErrorFilter'], 66 | level: 'trace', 67 | }, 68 | }, 69 | }; 70 | if (isProd) { 71 | Object.values(configuration.categories) 72 | .slice(1) 73 | .forEach(config => config.appenders.shift()); 74 | } 75 | log4js.configure(configuration); 76 | 77 | const helpers = { 78 | appLogger: log4js.getLogger('application'), 79 | ctxLogger: log4js.getLogger('context'), 80 | logger: log4js.getLogger('console'), 81 | clearLogs, 82 | }; 83 | 84 | const loggerHelper = server => { 85 | Object.assign(server, helpers); 86 | Object.assign(server.context, helpers); 87 | }; 88 | 89 | loggerHelper.helpers = helpers; 90 | 91 | module.exports = loggerHelper; 92 | -------------------------------------------------------------------------------- /src/helpers/restify.js: -------------------------------------------------------------------------------- 1 | module.exports = function restifyHelper(app) { 2 | app.context.restify = function(data = {}, msg = 'success', status) { 3 | const { method } = this.request; 4 | this.response.body = { 5 | code: 0, 6 | msg, 7 | data: method === 'DELETE' ? {} : data, 8 | }; 9 | 10 | const statusMapper = { 11 | POST: 201, 12 | DELETE: 204, 13 | }; 14 | if (!status) { 15 | status = statusMapper[method] || 200; 16 | } 17 | this.status = status; 18 | }; 19 | }; 20 | -------------------------------------------------------------------------------- /src/helpers/validate.js: -------------------------------------------------------------------------------- 1 | const Boom = require('@hapi/boom'); 2 | 3 | const validate = async function( 4 | schema, 5 | validateQuery = false, 6 | isAsync = false 7 | ) { 8 | const ctx = this; 9 | const { method, query, body } = ctx.request; 10 | const validatedData = method === 'GET' || validateQuery ? query : body; 11 | 12 | let result; 13 | if (isAsync) { 14 | try { 15 | result = await schema.validateAsync(validatedData); 16 | } catch (error) { 17 | throw Boom.badRequest(error.details[0].message); 18 | } 19 | } else { 20 | result = schema.validate(); 21 | if (result.error) { 22 | throw Boom.badRequest(result.error.details.message); 23 | } 24 | } 25 | 26 | return validatedData; 27 | }; 28 | 29 | const validateAsync = function async(schema, validateQuery) { 30 | return validate.call(this, schema, validateQuery, true); 31 | }; 32 | 33 | const validateHelper = async server => 34 | Object.assign(server.context, { validate, validateAsync }); 35 | 36 | module.exports = validateHelper; 37 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | // __ ____ _____________________ __ __ _ __ __ __ 2 | // / /______ ____ _ / __ \/ ____/ ___/_ __/ __/_ __/ / / /_ ____ (_) /__ _________ / /___ _/ /____ 3 | // / //_/ __ \/ __ `/ / /_/ / __/ \__ \ / / / /_/ / / / / / __ \/ __ \/ / / _ \/ ___/ __ \/ / __ `/ __/ _ \ 4 | // / ,< / /_/ / /_/ / / _, _/ /___ ___/ // / / __/ /_/ / / / /_/ / /_/ / / / __/ / / /_/ / / /_/ / /_/ __/ 5 | // /_/|_|\____/\__,_/ /_/ |_/_____//____//_/ /_/ \__,_/_/ /_.___/\____/_/_/\___/_/ / .___/_/\__,_/\__/\___/ 6 | // /_/ 7 | 8 | const { promisify } = require('util'); 9 | const chalk = require('chalk'); 10 | const logSymbols = require('log-symbols'); 11 | 12 | const loggerHelpers = require('./helpers/logger'); 13 | const bootstrap = require('./bootstrap'); 14 | const { env: mode } = require('../utils/env'); 15 | const config = require('../configs'); 16 | 17 | const { appLogger } = loggerHelpers.helpers; 18 | 19 | const start = async () => { 20 | appLogger.info(`Startup server under ${chalk.bold.yellow(mode.toUpperCase())} mode`); 21 | 22 | const app = await bootstrap(); 23 | const { hostname, port, address } = config.server; 24 | const server = await promisify(cb => { 25 | const httServer = app.listen(port, hostname, err => cb(err, httServer)); 26 | })(); 27 | 28 | app.appLogger.info( 29 | `Server is running at ${chalk.green.underline(address)} ${logSymbols.success}`, 30 | ); 31 | 32 | return { 33 | app, 34 | server, 35 | }; 36 | }; 37 | 38 | process.on('unhandledRejection', err => { 39 | appLogger.error(err); 40 | }); 41 | 42 | if (mode === 'test') { 43 | module.exports = start; 44 | } else { 45 | start(); 46 | } 47 | -------------------------------------------------------------------------------- /src/middlewares/exception.js: -------------------------------------------------------------------------------- 1 | module.exports = function exceptionMiddleware() { 2 | return async (ctx, next) => { 3 | try { 4 | await next(); 5 | } catch (error) { 6 | ctx.ctxLogger.error(error); 7 | 8 | if (error.status === 401) { 9 | // JWT 认证失败 10 | ctx.response.status = 401; 11 | ctx.body = { 12 | code: 1, 13 | msg: 'please login first!', 14 | }; 15 | } else if (error.isBoom) { 16 | ctx.response.status = error.output.statusCode || 500; 17 | ctx.response.body = { 18 | code: (error.data && error.data.code) || 1, 19 | msg: 20 | (error.data && error.data.msg) || 21 | error.message || 22 | error.output.payload.message || 23 | error.output.payload.error, 24 | }; 25 | } else { 26 | ctx.response.status = error.status || error.statusCode || 500; 27 | ctx.response.body = { 28 | code: error.code || 1, 29 | msg: error.msg || error.message || 'An internal server error occurred', 30 | }; 31 | } 32 | } 33 | }; 34 | }; 35 | -------------------------------------------------------------------------------- /src/models/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | User: require('./user'), 3 | }; 4 | -------------------------------------------------------------------------------- /src/models/user.js: -------------------------------------------------------------------------------- 1 | const { Schema, model } = require('mongoose'); 2 | 3 | const UserSchema = new Schema( 4 | { 5 | name: String, 6 | password: { 7 | type: String, 8 | maxlength: 60, 9 | }, 10 | age: Number, 11 | }, 12 | { timestamps: true } 13 | ); 14 | 15 | module.exports = model('User', UserSchema); 16 | -------------------------------------------------------------------------------- /src/services/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | userService: require('./user'), 3 | }; 4 | -------------------------------------------------------------------------------- /src/services/user.js: -------------------------------------------------------------------------------- 1 | const bcrypt = require('bcrypt'); 2 | 3 | const { User } = require('../models'); 4 | const configs = require('../../configs'); 5 | 6 | const defaultHideFields = '-_id -__v'; 7 | 8 | const createUser = async userDto => { 9 | const hashedPassword = await bcrypt.hash( 10 | userDto.password, 11 | configs.security.passwordHashSaltRounds 12 | ); 13 | const newUser = new User({ ...userDto, password: hashedPassword }); 14 | 15 | await newUser.save(); 16 | }; 17 | 18 | const findOne = async (conditions, projection) => { 19 | return User.findOne(conditions, projection || defaultHideFields); 20 | }; 21 | 22 | const findAllUsers = async projection => { 23 | return User.find({}, projection || defaultHideFields); 24 | }; 25 | 26 | const checkLogin = async (name, password) => { 27 | const user = await findOne({ name }); 28 | 29 | if (user && (await bcrypt.compare(password, user.password))) { 30 | return user; 31 | } 32 | 33 | return false; 34 | }; 35 | 36 | module.exports = { 37 | findOne, 38 | createUser, 39 | findAllUsers, 40 | checkLogin, 41 | }; 42 | -------------------------------------------------------------------------------- /test/api/user.test.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert'); 2 | 3 | describe('#user API', () => { 4 | describe('#user register', () => { 5 | const registerURL = '/api/v1/users/register'; 6 | 7 | it('register user success', async () => { 8 | await request 9 | .post(registerURL) 10 | .send({ name: 'test-register', password: '9999999' }) 11 | .expect(201, { 12 | code: 0, 13 | msg: 'success', 14 | data: {}, 15 | }); 16 | }); 17 | 18 | it(`bad request should return { code: 1, msg: 'xxx' }`, async () => { 19 | await request 20 | .post(registerURL) 21 | .send({ age: 18 }) 22 | .expect(400, { 23 | code: 1, 24 | msg: `"name" is required`, 25 | }); 26 | }); 27 | }); 28 | 29 | describe('#test get users', async () => { 30 | it('get all users success', async () => { 31 | const { 32 | body: { data: users }, 33 | } = await request.get('/api/v1/users').expect(200); 34 | 35 | assert(users.length > 0); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /test/global.test.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | const supertest = require('supertest'); 3 | const logSymbols = require('log-symbols'); 4 | 5 | const { appLogger } = require('../src/helpers/logger').helpers; 6 | const { userService } = require('../src/services'); 7 | 8 | const start = require('../src/index'); 9 | const config = require('../configs'); 10 | 11 | before(async function() { 12 | this.timeout(10 * 1000); 13 | 14 | // destroy old test db 15 | const { dbName, address, connectOptions } = config.db; 16 | const conn = await mongoose.createConnection(address, connectOptions); 17 | await conn.dropDatabase(); 18 | appLogger.info(`Drop old database ${dbName} ${logSymbols.success}`); 19 | 20 | // startup server 21 | const { app, server } = await start(); 22 | global.__test_app__ = app; 23 | 24 | // add some test data 25 | const testUsers = [ 26 | { 27 | name: 'test', 28 | password: 'test', 29 | age: 16, 30 | }, 31 | { 32 | name: 'ly1', 33 | password: 'hash(666666)', 34 | age: 21, 35 | }, 36 | { 37 | name: 'ly2', 38 | password: 'hash(999999)', 39 | age: 18, 40 | }, 41 | ]; 42 | await Promise.all(testUsers.map(user => userService.createUser(user))); 43 | 44 | // get jwt 45 | const resp = await supertest(server) 46 | .post('/api/v1/users/login') 47 | .send({ name: 'test', password: 'test' }) 48 | .expect(200); 49 | const token = resp.body.data; 50 | 51 | // setup global request util 52 | global.request = supertest.agent(server).set('Authorization', token); 53 | }); 54 | 55 | after(async () => { 56 | await global.__test_app__.db.close(); 57 | }); 58 | -------------------------------------------------------------------------------- /utils/env.js: -------------------------------------------------------------------------------- 1 | const { argv } = require('yargs'); 2 | 3 | const env = argv.env || process.env.NODE_ENV || 'production'; 4 | const isProd = !['development', 'test'].includes(env); 5 | 6 | module.exports = { 7 | env, 8 | isProd, 9 | }; 10 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.10.4" 7 | resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz?cache=0&sync_timestamp=1593529659031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 8 | integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.10.4": 13 | version "7.10.4" 14 | resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 15 | integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.10.4" 19 | resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 20 | integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM= 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.10.4" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@hapi/address@^4.0.1": 27 | version "4.1.0" 28 | resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-4.1.0.tgz?cache=0&sync_timestamp=1593993745797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d" 29 | integrity sha1-1gxcDZMOd0Vv3N4lmOdzAuKVXh0= 30 | dependencies: 31 | "@hapi/hoek" "^9.0.0" 32 | 33 | "@hapi/boom@^9.1.0": 34 | version "9.1.0" 35 | resolved "https://registry.npm.taobao.org/@hapi/boom/download/@hapi/boom-9.1.0.tgz#0d9517657a56ff1e0b42d0aca9da1b37706fec56" 36 | integrity sha1-DZUXZXpW/x4LQtCsqdobN3Bv7FY= 37 | dependencies: 38 | "@hapi/hoek" "9.x.x" 39 | 40 | "@hapi/formula@^2.0.0": 41 | version "2.0.0" 42 | resolved "https://registry.npm.taobao.org/@hapi/formula/download/@hapi/formula-2.0.0.tgz#edade0619ed58c8e4f164f233cda70211e787128" 43 | integrity sha1-7a3gYZ7VjI5PFk8jPNpwIR54cSg= 44 | 45 | "@hapi/hoek@9.x.x", "@hapi/hoek@^9.0.0": 46 | version "9.0.4" 47 | resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-9.0.4.tgz?cache=0&sync_timestamp=1593915910245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-9.0.4.tgz#e80ad4e8e8d2adc6c77d985f698447e8628b6010" 48 | integrity sha1-6ArU6OjSrcbHfZhfaYRH6GKLYBA= 49 | 50 | "@hapi/joi@^17.1.1": 51 | version "17.1.1" 52 | resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-17.1.1.tgz#9cc8d7e2c2213d1e46708c6260184b447c661350" 53 | integrity sha1-nMjX4sIhPR5GcIxiYBhLRHxmE1A= 54 | dependencies: 55 | "@hapi/address" "^4.0.1" 56 | "@hapi/formula" "^2.0.0" 57 | "@hapi/hoek" "^9.0.0" 58 | "@hapi/pinpoint" "^2.0.0" 59 | "@hapi/topo" "^5.0.0" 60 | 61 | "@hapi/pinpoint@^2.0.0": 62 | version "2.0.0" 63 | resolved "https://registry.npm.taobao.org/@hapi/pinpoint/download/@hapi/pinpoint-2.0.0.tgz?cache=0&sync_timestamp=1593916000897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fpinpoint%2Fdownload%2F%40hapi%2Fpinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df" 64 | integrity sha1-gFtA1NvsBPwRanMIlJTgDwc96N8= 65 | 66 | "@hapi/topo@^5.0.0": 67 | version "5.0.0" 68 | resolved "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-5.0.0.tgz#c19af8577fa393a06e9c77b60995af959be721e7" 69 | integrity sha1-wZr4V3+jk6BunHe2CZWvlZvnIec= 70 | dependencies: 71 | "@hapi/hoek" "^9.0.0" 72 | 73 | "@koa/cors@^3.1.0": 74 | version "3.1.0" 75 | resolved "https://registry.npm.taobao.org/@koa/cors/download/@koa/cors-3.1.0.tgz#618bb073438cfdbd3ebd0e648a76e33b84f3a3b2" 76 | integrity sha1-YYuwc0OM/b0+vQ5kinbjO4Tzo7I= 77 | dependencies: 78 | vary "^1.1.2" 79 | 80 | "@sindresorhus/is@^0.14.0": 81 | version "0.14.0" 82 | resolved "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 83 | integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o= 84 | 85 | "@szmarczak/http-timer@^1.1.2": 86 | version "1.1.2" 87 | resolved "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 88 | integrity sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE= 89 | dependencies: 90 | defer-to-connect "^1.0.1" 91 | 92 | "@types/color-name@^1.1.1": 93 | version "1.1.1" 94 | resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 95 | integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= 96 | 97 | "@types/json5@^0.0.29": 98 | version "0.0.29" 99 | resolved "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 100 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 101 | 102 | "@types/parse-json@^4.0.0": 103 | version "4.0.0" 104 | resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 105 | integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= 106 | 107 | abbrev@1: 108 | version "1.1.1" 109 | resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 110 | integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= 111 | 112 | accepts@^1.3.5: 113 | version "1.3.7" 114 | resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 115 | integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= 116 | dependencies: 117 | mime-types "~2.1.24" 118 | negotiator "0.6.2" 119 | 120 | acorn-es7-plugin@^1.0.10, acorn-es7-plugin@^1.0.12: 121 | version "1.1.7" 122 | resolved "https://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" 123 | integrity sha1-8u4fMiipDurRJF+asZIusucdM2s= 124 | 125 | acorn-jsx@^5.2.0: 126 | version "5.2.0" 127 | resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" 128 | integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= 129 | 130 | acorn@^5.0.0: 131 | version "5.7.4" 132 | resolved "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" 133 | integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= 134 | 135 | acorn@^7.2.0: 136 | version "7.3.1" 137 | resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" 138 | integrity sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0= 139 | 140 | aggregate-error@^3.0.0: 141 | version "3.0.1" 142 | resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" 143 | integrity sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA= 144 | dependencies: 145 | clean-stack "^2.0.0" 146 | indent-string "^4.0.0" 147 | 148 | ajv@^6.10.0, ajv@^6.10.2: 149 | version "6.12.3" 150 | resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz?cache=0&sync_timestamp=1593877249903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" 151 | integrity sha1-GMWvOKER3etPJpe9eNaKvByr1wY= 152 | dependencies: 153 | fast-deep-equal "^3.1.1" 154 | fast-json-stable-stringify "^2.0.0" 155 | json-schema-traverse "^0.4.1" 156 | uri-js "^4.2.2" 157 | 158 | amdefine@>=0.0.4: 159 | version "1.0.1" 160 | resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 161 | integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= 162 | 163 | ansi-align@^3.0.0: 164 | version "3.0.0" 165 | resolved "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" 166 | integrity sha1-tTazcc9ofKrvI2wY0+If43l0Z8s= 167 | dependencies: 168 | string-width "^3.0.0" 169 | 170 | ansi-colors@4.1.1, ansi-colors@^4.1.1: 171 | version "4.1.1" 172 | resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-4.1.1.tgz?cache=0&sync_timestamp=1593529711167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-colors%2Fdownload%2Fansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 173 | integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= 174 | 175 | ansi-escapes@^4.3.0: 176 | version "4.3.1" 177 | resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" 178 | integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= 179 | dependencies: 180 | type-fest "^0.11.0" 181 | 182 | ansi-regex@^2.0.0: 183 | version "2.1.1" 184 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 185 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 186 | 187 | ansi-regex@^3.0.0: 188 | version "3.0.0" 189 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 190 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 191 | 192 | ansi-regex@^4.1.0: 193 | version "4.1.0" 194 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 195 | integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= 196 | 197 | ansi-regex@^5.0.0: 198 | version "5.0.0" 199 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 200 | integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= 201 | 202 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 203 | version "3.2.1" 204 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 205 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= 206 | dependencies: 207 | color-convert "^1.9.0" 208 | 209 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 210 | version "4.2.1" 211 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" 212 | integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= 213 | dependencies: 214 | "@types/color-name" "^1.1.1" 215 | color-convert "^2.0.1" 216 | 217 | any-promise@^1.1.0: 218 | version "1.3.0" 219 | resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 220 | integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= 221 | 222 | anymatch@~3.1.1: 223 | version "3.1.1" 224 | resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 225 | integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= 226 | dependencies: 227 | normalize-path "^3.0.0" 228 | picomatch "^2.0.4" 229 | 230 | aproba@^1.0.3: 231 | version "1.2.0" 232 | resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 233 | integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= 234 | 235 | are-we-there-yet@~1.1.2: 236 | version "1.1.5" 237 | resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 238 | integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= 239 | dependencies: 240 | delegates "^1.0.0" 241 | readable-stream "^2.0.6" 242 | 243 | argparse@^1.0.7: 244 | version "1.0.10" 245 | resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 246 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= 247 | dependencies: 248 | sprintf-js "~1.0.2" 249 | 250 | array-filter@^1.0.0: 251 | version "1.0.0" 252 | resolved "https://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 253 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 254 | 255 | array-find@^1.0.0: 256 | version "1.0.0" 257 | resolved "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" 258 | integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= 259 | 260 | array-includes@^3.1.1: 261 | version "3.1.1" 262 | resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" 263 | integrity sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g= 264 | dependencies: 265 | define-properties "^1.1.3" 266 | es-abstract "^1.17.0" 267 | is-string "^1.0.5" 268 | 269 | array.prototype.flat@^1.2.3: 270 | version "1.2.3" 271 | resolved "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" 272 | integrity sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs= 273 | dependencies: 274 | define-properties "^1.1.3" 275 | es-abstract "^1.17.0-next.1" 276 | 277 | array.prototype.map@^1.0.1: 278 | version "1.0.2" 279 | resolved "https://registry.npm.taobao.org/array.prototype.map/download/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" 280 | integrity sha1-mkFZ9BZFiiPpSDB43hEGsu9o+Ow= 281 | dependencies: 282 | define-properties "^1.1.3" 283 | es-abstract "^1.17.0-next.1" 284 | es-array-method-boxes-properly "^1.0.0" 285 | is-string "^1.0.4" 286 | 287 | astral-regex@^1.0.0: 288 | version "1.0.0" 289 | resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 290 | integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= 291 | 292 | astral-regex@^2.0.0: 293 | version "2.0.0" 294 | resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 295 | integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= 296 | 297 | asynckit@^0.4.0: 298 | version "0.4.0" 299 | resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 300 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 301 | 302 | balanced-match@^1.0.0: 303 | version "1.0.0" 304 | resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 305 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 306 | 307 | bcrypt@5.0.0: 308 | version "5.0.0" 309 | resolved "https://registry.npm.taobao.org/bcrypt/download/bcrypt-5.0.0.tgz#051407c7cd5ffbfb773d541ca3760ea0754e37e2" 310 | integrity sha1-BRQHx81f+/t3PVQco3YOoHVON+I= 311 | dependencies: 312 | node-addon-api "^3.0.0" 313 | node-pre-gyp "0.15.0" 314 | 315 | binary-extensions@^2.0.0: 316 | version "2.1.0" 317 | resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" 318 | integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= 319 | 320 | bl@^2.2.0: 321 | version "2.2.0" 322 | resolved "https://registry.npm.taobao.org/bl/download/bl-2.2.0.tgz#e1a574cdf528e4053019bb800b041c0ac88da493" 323 | integrity sha1-4aV0zfUo5AUwGbuACwQcCsiNpJM= 324 | dependencies: 325 | readable-stream "^2.3.5" 326 | safe-buffer "^5.1.1" 327 | 328 | bluebird@3.5.1: 329 | version "3.5.1" 330 | resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 331 | integrity sha1-2VUfnemPH82h5oPRfukaBgLuLrk= 332 | 333 | bowser@2.9.0: 334 | version "2.9.0" 335 | resolved "https://registry.npm.taobao.org/bowser/download/bowser-2.9.0.tgz#3bed854233b419b9a7422d9ee3e85504373821c9" 336 | integrity sha1-O+2FQjO0GbmnQi2e4+hVBDc4Ick= 337 | 338 | boxen@^4.2.0: 339 | version "4.2.0" 340 | resolved "https://registry.npm.taobao.org/boxen/download/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" 341 | integrity sha1-5BG2I1fW1tNlh8isPV2XTaoHDmQ= 342 | dependencies: 343 | ansi-align "^3.0.0" 344 | camelcase "^5.3.1" 345 | chalk "^3.0.0" 346 | cli-boxes "^2.2.0" 347 | string-width "^4.1.0" 348 | term-size "^2.1.0" 349 | type-fest "^0.8.1" 350 | widest-line "^3.1.0" 351 | 352 | brace-expansion@^1.1.7: 353 | version "1.1.11" 354 | resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 355 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 356 | dependencies: 357 | balanced-match "^1.0.0" 358 | concat-map "0.0.1" 359 | 360 | braces@^3.0.1, braces@~3.0.2: 361 | version "3.0.2" 362 | resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 363 | integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= 364 | dependencies: 365 | fill-range "^7.0.1" 366 | 367 | browser-stdout@1.3.1: 368 | version "1.3.1" 369 | resolved "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 370 | integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= 371 | 372 | bson@^1.1.4: 373 | version "1.1.4" 374 | resolved "https://registry.npm.taobao.org/bson/download/bson-1.1.4.tgz#f76870d799f15b854dffb7ee32f0a874797f7e89" 375 | integrity sha1-92hw15nxW4VN/7fuMvCodHl/fok= 376 | 377 | buffer-equal-constant-time@1.0.1: 378 | version "1.0.1" 379 | resolved "https://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 380 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= 381 | 382 | bytes@3.1.0, bytes@^3.1.0: 383 | version "3.1.0" 384 | resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 385 | integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= 386 | 387 | cache-content-type@^1.0.0: 388 | version "1.0.1" 389 | resolved "https://registry.npm.taobao.org/cache-content-type/download/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" 390 | integrity sha1-A1zeKwjuISn0qDFeqPAKANuhRTw= 391 | dependencies: 392 | mime-types "^2.1.18" 393 | ylru "^1.2.0" 394 | 395 | cacheable-request@^6.0.0: 396 | version "6.1.0" 397 | resolved "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 398 | integrity sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI= 399 | dependencies: 400 | clone-response "^1.0.2" 401 | get-stream "^5.1.0" 402 | http-cache-semantics "^4.0.0" 403 | keyv "^3.0.0" 404 | lowercase-keys "^2.0.0" 405 | normalize-url "^4.1.0" 406 | responselike "^1.0.2" 407 | 408 | call-matcher@^1.0.0: 409 | version "1.1.0" 410 | resolved "https://registry.npm.taobao.org/call-matcher/download/call-matcher-1.1.0.tgz#23b2c1bc7a8394c8be28609d77ddbd5786680432" 411 | integrity sha1-I7LBvHqDlMi+KGCdd929V4ZoBDI= 412 | dependencies: 413 | core-js "^2.0.0" 414 | deep-equal "^1.0.0" 415 | espurify "^1.6.0" 416 | estraverse "^4.0.0" 417 | 418 | call-signature@0.0.2: 419 | version "0.0.2" 420 | resolved "https://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" 421 | integrity sha1-qEq8glpV70yysCi9dOIFpluaSZY= 422 | 423 | callsites@^3.0.0: 424 | version "3.1.0" 425 | resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 426 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= 427 | 428 | camelcase@^5.0.0, camelcase@^5.3.1: 429 | version "5.3.1" 430 | resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 431 | integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= 432 | 433 | camelize@1.0.0: 434 | version "1.0.0" 435 | resolved "https://registry.npm.taobao.org/camelize/download/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" 436 | integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= 437 | 438 | chalk@^2.0.0, chalk@^2.4.2: 439 | version "2.4.2" 440 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 441 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= 442 | dependencies: 443 | ansi-styles "^3.2.1" 444 | escape-string-regexp "^1.0.5" 445 | supports-color "^5.3.0" 446 | 447 | chalk@^3.0.0: 448 | version "3.0.0" 449 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 450 | integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= 451 | dependencies: 452 | ansi-styles "^4.1.0" 453 | supports-color "^7.1.0" 454 | 455 | chalk@^4.0.0, chalk@^4.1.0: 456 | version "4.1.0" 457 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 458 | integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= 459 | dependencies: 460 | ansi-styles "^4.1.0" 461 | supports-color "^7.1.0" 462 | 463 | chokidar@3.3.1: 464 | version "3.3.1" 465 | resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.3.1.tgz?cache=0&sync_timestamp=1594864781518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" 466 | integrity sha1-yE5bPRjZpNd1WP70ZrG/FrvrNFA= 467 | dependencies: 468 | anymatch "~3.1.1" 469 | braces "~3.0.2" 470 | glob-parent "~5.1.0" 471 | is-binary-path "~2.1.0" 472 | is-glob "~4.0.1" 473 | normalize-path "~3.0.0" 474 | readdirp "~3.3.0" 475 | optionalDependencies: 476 | fsevents "~2.1.2" 477 | 478 | chokidar@^3.2.2: 479 | version "3.4.1" 480 | resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.1.tgz?cache=0&sync_timestamp=1594864781518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" 481 | integrity sha1-6QW97PEOqgoLHbDGZEgcxMvCK6E= 482 | dependencies: 483 | anymatch "~3.1.1" 484 | braces "~3.0.2" 485 | glob-parent "~5.1.0" 486 | is-binary-path "~2.1.0" 487 | is-glob "~4.0.1" 488 | normalize-path "~3.0.0" 489 | readdirp "~3.4.0" 490 | optionalDependencies: 491 | fsevents "~2.1.2" 492 | 493 | chownr@^1.1.1: 494 | version "1.1.4" 495 | resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 496 | integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= 497 | 498 | ci-info@^2.0.0: 499 | version "2.0.0" 500 | resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 501 | integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= 502 | 503 | clean-stack@^2.0.0: 504 | version "2.2.0" 505 | resolved "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 506 | integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= 507 | 508 | cli-boxes@^2.2.0: 509 | version "2.2.0" 510 | resolved "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" 511 | integrity sha1-U47K6PnGylCOPDyVtFP+k8tMFo0= 512 | 513 | cli-cursor@^3.1.0: 514 | version "3.1.0" 515 | resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 516 | integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= 517 | dependencies: 518 | restore-cursor "^3.1.0" 519 | 520 | cli-truncate@2.1.0, cli-truncate@^2.1.0: 521 | version "2.1.0" 522 | resolved "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 523 | integrity sha1-w54ovwXtzeW+O5iZKiLe7Vork8c= 524 | dependencies: 525 | slice-ansi "^3.0.0" 526 | string-width "^4.2.0" 527 | 528 | cliui@^5.0.0: 529 | version "5.0.0" 530 | resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 531 | integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= 532 | dependencies: 533 | string-width "^3.1.0" 534 | strip-ansi "^5.2.0" 535 | wrap-ansi "^5.1.0" 536 | 537 | cliui@^6.0.0: 538 | version "6.0.0" 539 | resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" 540 | integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= 541 | dependencies: 542 | string-width "^4.2.0" 543 | strip-ansi "^6.0.0" 544 | wrap-ansi "^6.2.0" 545 | 546 | clone-response@^1.0.2: 547 | version "1.0.2" 548 | resolved "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 549 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= 550 | dependencies: 551 | mimic-response "^1.0.0" 552 | 553 | co-body@^6.0.0: 554 | version "6.0.0" 555 | resolved "https://registry.npm.taobao.org/co-body/download/co-body-6.0.0.tgz#965b9337d7f5655480787471f4237664820827e3" 556 | integrity sha1-lluTN9f1ZVSAeHRx9CN2ZIIIJ+M= 557 | dependencies: 558 | inflation "^2.0.0" 559 | qs "^6.5.2" 560 | raw-body "^2.3.3" 561 | type-is "^1.6.16" 562 | 563 | co@^4.6.0: 564 | version "4.6.0" 565 | resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 566 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 567 | 568 | code-point-at@^1.0.0: 569 | version "1.1.0" 570 | resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 571 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 572 | 573 | color-convert@^1.9.0: 574 | version "1.9.3" 575 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 576 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 577 | dependencies: 578 | color-name "1.1.3" 579 | 580 | color-convert@^2.0.1: 581 | version "2.0.1" 582 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 583 | integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= 584 | dependencies: 585 | color-name "~1.1.4" 586 | 587 | color-name@1.1.3: 588 | version "1.1.3" 589 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 590 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 591 | 592 | color-name@~1.1.4: 593 | version "1.1.4" 594 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 595 | integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= 596 | 597 | combined-stream@^1.0.6: 598 | version "1.0.8" 599 | resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 600 | integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= 601 | dependencies: 602 | delayed-stream "~1.0.0" 603 | 604 | commander@^5.1.0: 605 | version "5.1.0" 606 | resolved "https://registry.npm.taobao.org/commander/download/commander-5.1.0.tgz?cache=0&sync_timestamp=1593529720249&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" 607 | integrity sha1-Rqu9FlL44Fm92u+Zu9yyrZzxea4= 608 | 609 | compare-versions@^3.6.0: 610 | version "3.6.0" 611 | resolved "https://registry.npm.taobao.org/compare-versions/download/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" 612 | integrity sha1-GlaJkTaF5ah2N7jT/8p1UU7EHWI= 613 | 614 | component-emitter@^1.2.0: 615 | version "1.3.0" 616 | resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 617 | integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= 618 | 619 | concat-map@0.0.1: 620 | version "0.0.1" 621 | resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 622 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 623 | 624 | configstore@^5.0.1: 625 | version "5.0.1" 626 | resolved "https://registry.npm.taobao.org/configstore/download/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" 627 | integrity sha1-02UCG130uYzdGH1qOw4/anzF7ZY= 628 | dependencies: 629 | dot-prop "^5.2.0" 630 | graceful-fs "^4.1.2" 631 | make-dir "^3.0.0" 632 | unique-string "^2.0.0" 633 | write-file-atomic "^3.0.0" 634 | xdg-basedir "^4.0.0" 635 | 636 | confusing-browser-globals@^1.0.9: 637 | version "1.0.9" 638 | resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" 639 | integrity sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90= 640 | 641 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 642 | version "1.1.0" 643 | resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 644 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 645 | 646 | contains-path@^0.1.0: 647 | version "0.1.0" 648 | resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 649 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 650 | 651 | content-disposition@~0.5.2: 652 | version "0.5.3" 653 | resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 654 | integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= 655 | dependencies: 656 | safe-buffer "5.1.2" 657 | 658 | content-security-policy-builder@2.1.0: 659 | version "2.1.0" 660 | resolved "https://registry.npm.taobao.org/content-security-policy-builder/download/content-security-policy-builder-2.1.0.tgz#0a2364d769a3d7014eec79ff7699804deb8cfcbb" 661 | integrity sha1-CiNk12mj1wFO7Hn/dpmATeuM/Ls= 662 | 663 | content-type@^1.0.4: 664 | version "1.0.4" 665 | resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 666 | integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= 667 | 668 | convert-source-map@^1.1.0, convert-source-map@^1.1.1: 669 | version "1.7.0" 670 | resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1593529658092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 671 | integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= 672 | dependencies: 673 | safe-buffer "~5.1.1" 674 | 675 | cookiejar@^2.1.0: 676 | version "2.1.2" 677 | resolved "https://registry.npm.taobao.org/cookiejar/download/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" 678 | integrity sha1-3YojVTB1L5iPmghE8/xYnjERElw= 679 | 680 | cookies@~0.8.0: 681 | version "0.8.0" 682 | resolved "https://registry.npm.taobao.org/cookies/download/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" 683 | integrity sha1-EpPOSzkXQKhAbjyYcOgoxLVPP5A= 684 | dependencies: 685 | depd "~2.0.0" 686 | keygrip "~1.1.0" 687 | 688 | copy-to@^2.0.1: 689 | version "2.0.1" 690 | resolved "https://registry.npm.taobao.org/copy-to/download/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" 691 | integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= 692 | 693 | core-js@^2.0.0: 694 | version "2.6.11" 695 | resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1593529670544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" 696 | integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= 697 | 698 | core-util-is@~1.0.0: 699 | version "1.0.2" 700 | resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 701 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 702 | 703 | cosmiconfig@^6.0.0: 704 | version "6.0.0" 705 | resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" 706 | integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= 707 | dependencies: 708 | "@types/parse-json" "^4.0.0" 709 | import-fresh "^3.1.0" 710 | parse-json "^5.0.0" 711 | path-type "^4.0.0" 712 | yaml "^1.7.2" 713 | 714 | cross-env@^7.0.2: 715 | version "7.0.2" 716 | resolved "https://registry.npm.taobao.org/cross-env/download/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" 717 | integrity sha1-vV7TEzmpOjQYrE88qco0Awgq5fk= 718 | dependencies: 719 | cross-spawn "^7.0.1" 720 | 721 | cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: 722 | version "7.0.3" 723 | resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 724 | integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= 725 | dependencies: 726 | path-key "^3.1.0" 727 | shebang-command "^2.0.0" 728 | which "^2.0.1" 729 | 730 | crypto-random-string@^2.0.0: 731 | version "2.0.0" 732 | resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" 733 | integrity sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU= 734 | 735 | d@1, d@^1.0.1: 736 | version "1.0.1" 737 | resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" 738 | integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= 739 | dependencies: 740 | es5-ext "^0.10.50" 741 | type "^1.0.1" 742 | 743 | dasherize@2.0.0: 744 | version "2.0.0" 745 | resolved "https://registry.npm.taobao.org/dasherize/download/dasherize-2.0.0.tgz#6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308" 746 | integrity sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg= 747 | 748 | date-format@^2.1.0: 749 | version "2.1.0" 750 | resolved "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" 751 | integrity sha1-MdW16iEc9f12TNOLr50DPffhJc8= 752 | 753 | date-format@^3.0.0: 754 | version "3.0.0" 755 | resolved "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95" 756 | integrity sha1-64eANlx9KxURB4+0keZHl4DzrZU= 757 | 758 | debug@3.1.0, debug@~3.1.0: 759 | version "3.1.0" 760 | resolved "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1593529720846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 761 | integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= 762 | dependencies: 763 | ms "2.0.0" 764 | 765 | debug@3.2.6, debug@^3.1.0, debug@^3.2.6: 766 | version "3.2.6" 767 | resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1593529720846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 768 | integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= 769 | dependencies: 770 | ms "^2.1.1" 771 | 772 | debug@^2.2.0, debug@^2.6.9: 773 | version "2.6.9" 774 | resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1593529720846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 775 | integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= 776 | dependencies: 777 | ms "2.0.0" 778 | 779 | debug@^4.0.1, debug@^4.1.1: 780 | version "4.1.1" 781 | resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1593529720846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 782 | integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= 783 | dependencies: 784 | ms "^2.1.1" 785 | 786 | decamelize@^1.2.0: 787 | version "1.2.0" 788 | resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 789 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 790 | 791 | decompress-response@^3.3.0: 792 | version "3.3.0" 793 | resolved "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 794 | integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= 795 | dependencies: 796 | mimic-response "^1.0.0" 797 | 798 | dedent@^0.7.0: 799 | version "0.7.0" 800 | resolved "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 801 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= 802 | 803 | deep-equal@^1.0.0: 804 | version "1.1.1" 805 | resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1593529721051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" 806 | integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= 807 | dependencies: 808 | is-arguments "^1.0.4" 809 | is-date-object "^1.0.1" 810 | is-regex "^1.0.4" 811 | object-is "^1.0.1" 812 | object-keys "^1.1.1" 813 | regexp.prototype.flags "^1.2.0" 814 | 815 | deep-equal@~1.0.1: 816 | version "1.0.1" 817 | resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz?cache=0&sync_timestamp=1593529721051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 818 | integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= 819 | 820 | deep-extend@^0.6.0: 821 | version "0.6.0" 822 | resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 823 | integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= 824 | 825 | deep-is@^0.1.3, deep-is@~0.1.3: 826 | version "0.1.3" 827 | resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 828 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 829 | 830 | defer-to-connect@^1.0.1: 831 | version "1.1.3" 832 | resolved "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" 833 | integrity sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE= 834 | 835 | define-properties@^1.1.2, define-properties@^1.1.3: 836 | version "1.1.3" 837 | resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 838 | integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= 839 | dependencies: 840 | object-keys "^1.0.12" 841 | 842 | delayed-stream@~1.0.0: 843 | version "1.0.0" 844 | resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 845 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 846 | 847 | delegates@^1.0.0: 848 | version "1.0.0" 849 | resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 850 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 851 | 852 | denque@^1.4.1: 853 | version "1.4.1" 854 | resolved "https://registry.npm.taobao.org/denque/download/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf" 855 | integrity sha1-Z0T/dkHBSMP4ppwwflEjXB9KN88= 856 | 857 | depd@2.0.0, depd@~2.0.0: 858 | version "2.0.0" 859 | resolved "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 860 | integrity sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8= 861 | 862 | depd@^1.1.2, depd@~1.1.2: 863 | version "1.1.2" 864 | resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 865 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 866 | 867 | destroy@^1.0.4: 868 | version "1.0.4" 869 | resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 870 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 871 | 872 | detect-libc@^1.0.2: 873 | version "1.0.3" 874 | resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 875 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 876 | 877 | diff-match-patch@^1.0.0: 878 | version "1.0.5" 879 | resolved "https://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" 880 | integrity sha1-q7WE1fEM0Rlt/FWqA3AVkq4/ezc= 881 | 882 | diff@4.0.2: 883 | version "4.0.2" 884 | resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 885 | integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= 886 | 887 | doctrine@1.5.0: 888 | version "1.5.0" 889 | resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 890 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 891 | dependencies: 892 | esutils "^2.0.2" 893 | isarray "^1.0.0" 894 | 895 | doctrine@^3.0.0: 896 | version "3.0.0" 897 | resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 898 | integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= 899 | dependencies: 900 | esutils "^2.0.2" 901 | 902 | dont-sniff-mimetype@1.1.0: 903 | version "1.1.0" 904 | resolved "https://registry.npm.taobao.org/dont-sniff-mimetype/download/dont-sniff-mimetype-1.1.0.tgz#c7d0427f8bcb095762751252af59d148b0a623b2" 905 | integrity sha1-x9BCf4vLCVdidRJSr1nRSLCmI7I= 906 | 907 | dot-prop@^5.2.0: 908 | version "5.2.0" 909 | resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" 910 | integrity sha1-w07MKVVtxF8fTCJpe29JBODMT8s= 911 | dependencies: 912 | is-obj "^2.0.0" 913 | 914 | duplexer3@^0.1.4: 915 | version "0.1.4" 916 | resolved "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 917 | integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= 918 | 919 | eastasianwidth@^0.2.0: 920 | version "0.2.0" 921 | resolved "https://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 922 | integrity sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s= 923 | 924 | ecdsa-sig-formatter@1.0.11: 925 | version "1.0.11" 926 | resolved "https://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 927 | integrity sha1-rg8PothQRe8UqBfao86azQSJ5b8= 928 | dependencies: 929 | safe-buffer "^5.0.1" 930 | 931 | ee-first@1.1.1: 932 | version "1.1.1" 933 | resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 934 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 935 | 936 | emoji-regex@^7.0.1: 937 | version "7.0.3" 938 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 939 | integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= 940 | 941 | emoji-regex@^8.0.0: 942 | version "8.0.0" 943 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 944 | integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= 945 | 946 | empower-assert@^1.0.0: 947 | version "1.1.0" 948 | resolved "https://registry.npm.taobao.org/empower-assert/download/empower-assert-1.1.0.tgz#8d327fbe69a88af90dda98d1bfc9829d2a24fd62" 949 | integrity sha1-jTJ/vmmoivkN2pjRv8mCnSok/WI= 950 | dependencies: 951 | estraverse "^4.2.0" 952 | 953 | empower-core@^1.2.0: 954 | version "1.2.0" 955 | resolved "https://registry.npm.taobao.org/empower-core/download/empower-core-1.2.0.tgz#ce3fb2484d5187fa29c23fba8344b0b2fdf5601c" 956 | integrity sha1-zj+ySE1Rh/opwj+6g0Swsv31YBw= 957 | dependencies: 958 | call-signature "0.0.2" 959 | core-js "^2.0.0" 960 | 961 | empower@^1.3.1: 962 | version "1.3.1" 963 | resolved "https://registry.npm.taobao.org/empower/download/empower-1.3.1.tgz#768979cbbb36d71d8f5edaab663deacb9dab916c" 964 | integrity sha1-dol5y7s21x2PXtqrZj3qy52rkWw= 965 | dependencies: 966 | core-js "^2.0.0" 967 | empower-core "^1.2.0" 968 | 969 | encodeurl@^1.0.2: 970 | version "1.0.2" 971 | resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 972 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 973 | 974 | end-of-stream@^1.1.0: 975 | version "1.4.4" 976 | resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 977 | integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= 978 | dependencies: 979 | once "^1.4.0" 980 | 981 | enquirer@^2.3.5: 982 | version "2.3.6" 983 | resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 984 | integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= 985 | dependencies: 986 | ansi-colors "^4.1.1" 987 | 988 | error-ex@^1.2.0, error-ex@^1.3.1: 989 | version "1.3.2" 990 | resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 991 | integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= 992 | dependencies: 993 | is-arrayish "^0.2.1" 994 | 995 | es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: 996 | version "1.17.6" 997 | resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" 998 | integrity sha1-kUIHFweFeyysx7iey2cDFsPi1So= 999 | dependencies: 1000 | es-to-primitive "^1.2.1" 1001 | function-bind "^1.1.1" 1002 | has "^1.0.3" 1003 | has-symbols "^1.0.1" 1004 | is-callable "^1.2.0" 1005 | is-regex "^1.1.0" 1006 | object-inspect "^1.7.0" 1007 | object-keys "^1.1.1" 1008 | object.assign "^4.1.0" 1009 | string.prototype.trimend "^1.0.1" 1010 | string.prototype.trimstart "^1.0.1" 1011 | 1012 | es-array-method-boxes-properly@^1.0.0: 1013 | version "1.0.0" 1014 | resolved "https://registry.npm.taobao.org/es-array-method-boxes-properly/download/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" 1015 | integrity sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4= 1016 | 1017 | es-get-iterator@^1.0.2: 1018 | version "1.1.0" 1019 | resolved "https://registry.npm.taobao.org/es-get-iterator/download/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" 1020 | integrity sha1-u5itnW1jsxqs3I+J1dDuV7y1tMg= 1021 | dependencies: 1022 | es-abstract "^1.17.4" 1023 | has-symbols "^1.0.1" 1024 | is-arguments "^1.0.4" 1025 | is-map "^2.0.1" 1026 | is-set "^2.0.1" 1027 | is-string "^1.0.5" 1028 | isarray "^2.0.5" 1029 | 1030 | es-to-primitive@^1.2.1: 1031 | version "1.2.1" 1032 | resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1033 | integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= 1034 | dependencies: 1035 | is-callable "^1.1.4" 1036 | is-date-object "^1.0.1" 1037 | is-symbol "^1.0.2" 1038 | 1039 | es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: 1040 | version "0.10.53" 1041 | resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" 1042 | integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= 1043 | dependencies: 1044 | es6-iterator "~2.0.3" 1045 | es6-symbol "~3.1.3" 1046 | next-tick "~1.0.0" 1047 | 1048 | es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: 1049 | version "2.0.3" 1050 | resolved "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 1051 | integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= 1052 | dependencies: 1053 | d "1" 1054 | es5-ext "^0.10.35" 1055 | es6-symbol "^3.1.1" 1056 | 1057 | es6-map@^0.1.3: 1058 | version "0.1.5" 1059 | resolved "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" 1060 | integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= 1061 | dependencies: 1062 | d "1" 1063 | es5-ext "~0.10.14" 1064 | es6-iterator "~2.0.1" 1065 | es6-set "~0.1.5" 1066 | es6-symbol "~3.1.1" 1067 | event-emitter "~0.3.5" 1068 | 1069 | es6-set@~0.1.5: 1070 | version "0.1.5" 1071 | resolved "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" 1072 | integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= 1073 | dependencies: 1074 | d "1" 1075 | es5-ext "~0.10.14" 1076 | es6-iterator "~2.0.1" 1077 | es6-symbol "3.1.1" 1078 | event-emitter "~0.3.5" 1079 | 1080 | es6-symbol@3.1.1: 1081 | version "3.1.1" 1082 | resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" 1083 | integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= 1084 | dependencies: 1085 | d "1" 1086 | es5-ext "~0.10.14" 1087 | 1088 | es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: 1089 | version "3.1.3" 1090 | resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" 1091 | integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= 1092 | dependencies: 1093 | d "^1.0.1" 1094 | ext "^1.1.2" 1095 | 1096 | es6-weak-map@^2.0.1: 1097 | version "2.0.3" 1098 | resolved "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" 1099 | integrity sha1-ttofFswswNm+Q+a9v8Xn383zHVM= 1100 | dependencies: 1101 | d "1" 1102 | es5-ext "^0.10.46" 1103 | es6-iterator "^2.0.3" 1104 | es6-symbol "^3.1.1" 1105 | 1106 | escallmatch@^1.5.0: 1107 | version "1.5.0" 1108 | resolved "https://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz#50099d86e8091b092df8ddfbc3f9a6fb05a024d0" 1109 | integrity sha1-UAmdhugJGwkt+N37w/mm+wWgJNA= 1110 | dependencies: 1111 | call-matcher "^1.0.0" 1112 | esprima "^2.0.0" 1113 | 1114 | escape-goat@^2.0.0: 1115 | version "2.1.1" 1116 | resolved "https://registry.npm.taobao.org/escape-goat/download/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" 1117 | integrity sha1-Gy3HcANnbEV+x2Cy3GjttkgYhnU= 1118 | 1119 | escape-html@^1.0.3: 1120 | version "1.0.3" 1121 | resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 1122 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 1123 | 1124 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 1125 | version "1.0.5" 1126 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1127 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1128 | 1129 | escodegen@^1.10.0, escodegen@^1.7.0: 1130 | version "1.14.3" 1131 | resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" 1132 | integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= 1133 | dependencies: 1134 | esprima "^4.0.1" 1135 | estraverse "^4.2.0" 1136 | esutils "^2.0.2" 1137 | optionator "^0.8.1" 1138 | optionalDependencies: 1139 | source-map "~0.6.1" 1140 | 1141 | escope@^3.3.0: 1142 | version "3.6.0" 1143 | resolved "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 1144 | integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= 1145 | dependencies: 1146 | es6-map "^0.1.3" 1147 | es6-weak-map "^2.0.1" 1148 | esrecurse "^4.1.0" 1149 | estraverse "^4.1.1" 1150 | 1151 | eslint-config-airbnb-base@^14.2.0: 1152 | version "14.2.0" 1153 | resolved "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-14.2.0.tgz#fe89c24b3f9dc8008c9c0d0d88c28f95ed65e9c4" 1154 | integrity sha1-/onCSz+dyACMnA0NiMKPle1l6cQ= 1155 | dependencies: 1156 | confusing-browser-globals "^1.0.9" 1157 | object.assign "^4.1.0" 1158 | object.entries "^1.1.2" 1159 | 1160 | eslint-config-prettier@^6.11.0: 1161 | version "6.11.0" 1162 | resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" 1163 | integrity sha1-9tIjjBKQ0ByFmotcH301KgsNqLE= 1164 | dependencies: 1165 | get-stdin "^6.0.0" 1166 | 1167 | eslint-import-resolver-node@^0.3.3: 1168 | version "0.3.4" 1169 | resolved "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" 1170 | integrity sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc= 1171 | dependencies: 1172 | debug "^2.6.9" 1173 | resolve "^1.13.1" 1174 | 1175 | eslint-module-utils@^2.6.0: 1176 | version "2.6.0" 1177 | resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" 1178 | integrity sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y= 1179 | dependencies: 1180 | debug "^2.6.9" 1181 | pkg-dir "^2.0.0" 1182 | 1183 | eslint-plugin-import@^2.22.0: 1184 | version "2.22.0" 1185 | resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" 1186 | integrity sha1-kvdzb+H94+Led2I8g43Zkv9f+34= 1187 | dependencies: 1188 | array-includes "^3.1.1" 1189 | array.prototype.flat "^1.2.3" 1190 | contains-path "^0.1.0" 1191 | debug "^2.6.9" 1192 | doctrine "1.5.0" 1193 | eslint-import-resolver-node "^0.3.3" 1194 | eslint-module-utils "^2.6.0" 1195 | has "^1.0.3" 1196 | minimatch "^3.0.4" 1197 | object.values "^1.1.1" 1198 | read-pkg-up "^2.0.0" 1199 | resolve "^1.17.0" 1200 | tsconfig-paths "^3.9.0" 1201 | 1202 | eslint-scope@^5.1.0: 1203 | version "5.1.0" 1204 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.0.tgz?cache=0&sync_timestamp=1593529731941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" 1205 | integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU= 1206 | dependencies: 1207 | esrecurse "^4.1.0" 1208 | estraverse "^4.1.1" 1209 | 1210 | eslint-utils@^2.0.0: 1211 | version "2.1.0" 1212 | resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 1213 | integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= 1214 | dependencies: 1215 | eslint-visitor-keys "^1.1.0" 1216 | 1217 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2.0: 1218 | version "1.3.0" 1219 | resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 1220 | integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= 1221 | 1222 | eslint@^7.4.0: 1223 | version "7.4.0" 1224 | resolved "https://registry.npm.taobao.org/eslint/download/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f" 1225 | integrity sha1-TjWiaX5sGXL51u8raQrTGfgPIG8= 1226 | dependencies: 1227 | "@babel/code-frame" "^7.0.0" 1228 | ajv "^6.10.0" 1229 | chalk "^4.0.0" 1230 | cross-spawn "^7.0.2" 1231 | debug "^4.0.1" 1232 | doctrine "^3.0.0" 1233 | enquirer "^2.3.5" 1234 | eslint-scope "^5.1.0" 1235 | eslint-utils "^2.0.0" 1236 | eslint-visitor-keys "^1.2.0" 1237 | espree "^7.1.0" 1238 | esquery "^1.2.0" 1239 | esutils "^2.0.2" 1240 | file-entry-cache "^5.0.1" 1241 | functional-red-black-tree "^1.0.1" 1242 | glob-parent "^5.0.0" 1243 | globals "^12.1.0" 1244 | ignore "^4.0.6" 1245 | import-fresh "^3.0.0" 1246 | imurmurhash "^0.1.4" 1247 | is-glob "^4.0.0" 1248 | js-yaml "^3.13.1" 1249 | json-stable-stringify-without-jsonify "^1.0.1" 1250 | levn "^0.4.1" 1251 | lodash "^4.17.14" 1252 | minimatch "^3.0.4" 1253 | natural-compare "^1.4.0" 1254 | optionator "^0.9.1" 1255 | progress "^2.0.0" 1256 | regexpp "^3.1.0" 1257 | semver "^7.2.1" 1258 | strip-ansi "^6.0.0" 1259 | strip-json-comments "^3.1.0" 1260 | table "^5.2.3" 1261 | text-table "^0.2.0" 1262 | v8-compile-cache "^2.0.3" 1263 | 1264 | espower-loader@^1.0.0: 1265 | version "1.2.2" 1266 | resolved "https://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz#edb46c3c59a06bac8ea73a695c86e5c5a0bc82da" 1267 | integrity sha1-7bRsPFmga6yOpzppXIblxaC8gto= 1268 | dependencies: 1269 | convert-source-map "^1.1.0" 1270 | espower-source "^2.0.0" 1271 | minimatch "^3.0.0" 1272 | source-map-support "^0.4.0" 1273 | xtend "^4.0.0" 1274 | 1275 | espower-location-detector@^1.0.0: 1276 | version "1.0.0" 1277 | resolved "https://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" 1278 | integrity sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU= 1279 | dependencies: 1280 | is-url "^1.2.1" 1281 | path-is-absolute "^1.0.0" 1282 | source-map "^0.5.0" 1283 | xtend "^4.0.0" 1284 | 1285 | espower-source@^2.0.0: 1286 | version "2.3.0" 1287 | resolved "https://registry.npm.taobao.org/espower-source/download/espower-source-2.3.0.tgz#43e93b2c18af50018bdb1bea7a1271f4a1c125f4" 1288 | integrity sha1-Q+k7LBivUAGL2xvqehJx9KHBJfQ= 1289 | dependencies: 1290 | acorn "^5.0.0" 1291 | acorn-es7-plugin "^1.0.10" 1292 | convert-source-map "^1.1.1" 1293 | empower-assert "^1.0.0" 1294 | escodegen "^1.10.0" 1295 | espower "^2.1.1" 1296 | estraverse "^4.0.0" 1297 | merge-estraverse-visitors "^1.0.0" 1298 | multi-stage-sourcemap "^0.2.1" 1299 | path-is-absolute "^1.0.0" 1300 | xtend "^4.0.0" 1301 | 1302 | espower@^2.1.1: 1303 | version "2.1.2" 1304 | resolved "https://registry.npm.taobao.org/espower/download/espower-2.1.2.tgz#824f88788f9fedf4cf0f928f5e11bb907ce9b918" 1305 | integrity sha1-gk+IeI+f7fTPD5KPXhG7kHzpuRg= 1306 | dependencies: 1307 | array-find "^1.0.0" 1308 | escallmatch "^1.5.0" 1309 | escodegen "^1.7.0" 1310 | escope "^3.3.0" 1311 | espower-location-detector "^1.0.0" 1312 | espurify "^1.3.0" 1313 | estraverse "^4.1.0" 1314 | source-map "^0.5.0" 1315 | type-name "^2.0.0" 1316 | 1317 | espree@^7.1.0: 1318 | version "7.1.0" 1319 | resolved "https://registry.npm.taobao.org/espree/download/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c" 1320 | integrity sha1-qcfxinUgVnNb8boUyxtwrcOlzhw= 1321 | dependencies: 1322 | acorn "^7.2.0" 1323 | acorn-jsx "^5.2.0" 1324 | eslint-visitor-keys "^1.2.0" 1325 | 1326 | esprima@^2.0.0: 1327 | version "2.7.3" 1328 | resolved "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 1329 | integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= 1330 | 1331 | esprima@^4.0.0, esprima@^4.0.1: 1332 | version "4.0.1" 1333 | resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1334 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= 1335 | 1336 | espurify@^1.3.0, espurify@^1.6.0: 1337 | version "1.8.1" 1338 | resolved "https://registry.npm.taobao.org/espurify/download/espurify-1.8.1.tgz#5746c6c1ab42d302de10bd1d5bf7f0e8c0515056" 1339 | integrity sha1-V0bGwatC0wLeEL0dW/fw6MBRUFY= 1340 | dependencies: 1341 | core-js "^2.0.0" 1342 | 1343 | esquery@^1.2.0: 1344 | version "1.3.1" 1345 | resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" 1346 | integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= 1347 | dependencies: 1348 | estraverse "^5.1.0" 1349 | 1350 | esrecurse@^4.1.0: 1351 | version "4.2.1" 1352 | resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1353 | integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= 1354 | dependencies: 1355 | estraverse "^4.1.0" 1356 | 1357 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: 1358 | version "4.3.0" 1359 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1360 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= 1361 | 1362 | estraverse@^5.1.0: 1363 | version "5.1.0" 1364 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" 1365 | integrity sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI= 1366 | 1367 | esutils@^2.0.2: 1368 | version "2.0.3" 1369 | resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1370 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= 1371 | 1372 | event-emitter@~0.3.5: 1373 | version "0.3.5" 1374 | resolved "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" 1375 | integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= 1376 | dependencies: 1377 | d "1" 1378 | es5-ext "~0.10.14" 1379 | 1380 | execa@^4.0.1: 1381 | version "4.0.3" 1382 | resolved "https://registry.npm.taobao.org/execa/download/execa-4.0.3.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" 1383 | integrity sha1-CjTau61tZhAL1vLFdshmlAPzF/I= 1384 | dependencies: 1385 | cross-spawn "^7.0.0" 1386 | get-stream "^5.0.0" 1387 | human-signals "^1.1.1" 1388 | is-stream "^2.0.0" 1389 | merge-stream "^2.0.0" 1390 | npm-run-path "^4.0.0" 1391 | onetime "^5.1.0" 1392 | signal-exit "^3.0.2" 1393 | strip-final-newline "^2.0.0" 1394 | 1395 | ext@^1.1.2: 1396 | version "1.4.0" 1397 | resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" 1398 | integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= 1399 | dependencies: 1400 | type "^2.0.0" 1401 | 1402 | extend@^3.0.0: 1403 | version "3.0.2" 1404 | resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1405 | integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= 1406 | 1407 | fast-deep-equal@^3.1.1: 1408 | version "3.1.3" 1409 | resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1410 | integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= 1411 | 1412 | fast-json-stable-stringify@^2.0.0: 1413 | version "2.1.0" 1414 | resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1415 | integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= 1416 | 1417 | fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: 1418 | version "2.0.6" 1419 | resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz?cache=0&sync_timestamp=1593529678628&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-levenshtein%2Fdownload%2Ffast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1420 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1421 | 1422 | feature-policy@0.3.0: 1423 | version "0.3.0" 1424 | resolved "https://registry.npm.taobao.org/feature-policy/download/feature-policy-0.3.0.tgz#7430e8e54a40da01156ca30aaec1a381ce536069" 1425 | integrity sha1-dDDo5UpA2gEVbKMKrsGjgc5TYGk= 1426 | 1427 | figures@^3.2.0: 1428 | version "3.2.0" 1429 | resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" 1430 | integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= 1431 | dependencies: 1432 | escape-string-regexp "^1.0.5" 1433 | 1434 | file-entry-cache@^5.0.1: 1435 | version "5.0.1" 1436 | resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 1437 | integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= 1438 | dependencies: 1439 | flat-cache "^2.0.1" 1440 | 1441 | fill-range@^7.0.1: 1442 | version "7.0.1" 1443 | resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1444 | integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= 1445 | dependencies: 1446 | to-regex-range "^5.0.1" 1447 | 1448 | find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: 1449 | version "4.1.0" 1450 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1451 | integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= 1452 | dependencies: 1453 | locate-path "^5.0.0" 1454 | path-exists "^4.0.0" 1455 | 1456 | find-up@^2.0.0, find-up@^2.1.0: 1457 | version "2.1.0" 1458 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1459 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 1460 | dependencies: 1461 | locate-path "^2.0.0" 1462 | 1463 | find-up@^3.0.0: 1464 | version "3.0.0" 1465 | resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1466 | integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= 1467 | dependencies: 1468 | locate-path "^3.0.0" 1469 | 1470 | find-versions@^3.2.0: 1471 | version "3.2.0" 1472 | resolved "https://registry.npm.taobao.org/find-versions/download/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" 1473 | integrity sha1-ECl/mAMKeGgpaBaQVF72We0dJU4= 1474 | dependencies: 1475 | semver-regex "^2.0.0" 1476 | 1477 | flat-cache@^2.0.1: 1478 | version "2.0.1" 1479 | resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 1480 | integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= 1481 | dependencies: 1482 | flatted "^2.0.0" 1483 | rimraf "2.6.3" 1484 | write "1.0.3" 1485 | 1486 | flat@^4.1.0: 1487 | version "4.1.0" 1488 | resolved "https://registry.npm.taobao.org/flat/download/flat-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat%2Fdownload%2Fflat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 1489 | integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= 1490 | dependencies: 1491 | is-buffer "~2.0.3" 1492 | 1493 | flatted@^2.0.0, flatted@^2.0.1: 1494 | version "2.0.2" 1495 | resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1593953211017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" 1496 | integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= 1497 | 1498 | form-data@^2.3.1: 1499 | version "2.5.1" 1500 | resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" 1501 | integrity sha1-8svsV7XlniNxbhKP5E1OXdI4lfQ= 1502 | dependencies: 1503 | asynckit "^0.4.0" 1504 | combined-stream "^1.0.6" 1505 | mime-types "^2.1.12" 1506 | 1507 | formidable@^1.2.0: 1508 | version "1.2.2" 1509 | resolved "https://registry.npm.taobao.org/formidable/download/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" 1510 | integrity sha1-v2muopcpgmdfAIZTQrmCmG9rjdk= 1511 | 1512 | fresh@~0.5.2: 1513 | version "0.5.2" 1514 | resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1515 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 1516 | 1517 | fs-extra@^8.1.0: 1518 | version "8.1.0" 1519 | resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 1520 | integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= 1521 | dependencies: 1522 | graceful-fs "^4.2.0" 1523 | jsonfile "^4.0.0" 1524 | universalify "^0.1.0" 1525 | 1526 | fs-minipass@^1.2.5: 1527 | version "1.2.7" 1528 | resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" 1529 | integrity sha1-zP+FcIQef+QmVpPaiJNsVa7X98c= 1530 | dependencies: 1531 | minipass "^2.6.0" 1532 | 1533 | fs.realpath@^1.0.0: 1534 | version "1.0.0" 1535 | resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1536 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1537 | 1538 | fsevents@~2.1.2: 1539 | version "2.1.3" 1540 | resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 1541 | integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= 1542 | 1543 | function-bind@^1.1.1: 1544 | version "1.1.1" 1545 | resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1546 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= 1547 | 1548 | functional-red-black-tree@^1.0.1: 1549 | version "1.0.1" 1550 | resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1551 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1552 | 1553 | gauge@~2.7.3: 1554 | version "2.7.4" 1555 | resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1556 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1557 | dependencies: 1558 | aproba "^1.0.3" 1559 | console-control-strings "^1.0.0" 1560 | has-unicode "^2.0.0" 1561 | object-assign "^4.1.0" 1562 | signal-exit "^3.0.0" 1563 | string-width "^1.0.1" 1564 | strip-ansi "^3.0.1" 1565 | wide-align "^1.1.0" 1566 | 1567 | get-caller-file@^2.0.1: 1568 | version "2.0.5" 1569 | resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1570 | integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= 1571 | 1572 | get-own-enumerable-property-symbols@^3.0.0: 1573 | version "3.0.2" 1574 | resolved "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" 1575 | integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= 1576 | 1577 | get-stdin@^6.0.0: 1578 | version "6.0.0" 1579 | resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" 1580 | integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs= 1581 | 1582 | get-stream@^4.1.0: 1583 | version "4.1.0" 1584 | resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1585 | integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= 1586 | dependencies: 1587 | pump "^3.0.0" 1588 | 1589 | get-stream@^5.0.0, get-stream@^5.1.0: 1590 | version "5.1.0" 1591 | resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" 1592 | integrity sha1-ASA83JJZf5uQkGfD5lbMH008Tck= 1593 | dependencies: 1594 | pump "^3.0.0" 1595 | 1596 | glob-parent@^5.0.0, glob-parent@~5.1.0: 1597 | version "5.1.1" 1598 | resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 1599 | integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= 1600 | dependencies: 1601 | is-glob "^4.0.1" 1602 | 1603 | glob@7.1.6, glob@^7.1.3: 1604 | version "7.1.6" 1605 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1606 | integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= 1607 | dependencies: 1608 | fs.realpath "^1.0.0" 1609 | inflight "^1.0.4" 1610 | inherits "2" 1611 | minimatch "^3.0.4" 1612 | once "^1.3.0" 1613 | path-is-absolute "^1.0.0" 1614 | 1615 | global-dirs@^2.0.1: 1616 | version "2.0.1" 1617 | resolved "https://registry.npm.taobao.org/global-dirs/download/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" 1618 | integrity sha1-rN87tmhbzVXLNeigUiZlaelGkgE= 1619 | dependencies: 1620 | ini "^1.3.5" 1621 | 1622 | globals@^12.1.0: 1623 | version "12.4.0" 1624 | resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" 1625 | integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= 1626 | dependencies: 1627 | type-fest "^0.8.1" 1628 | 1629 | got@^9.6.0: 1630 | version "9.6.0" 1631 | resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1594901803333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 1632 | integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU= 1633 | dependencies: 1634 | "@sindresorhus/is" "^0.14.0" 1635 | "@szmarczak/http-timer" "^1.1.2" 1636 | cacheable-request "^6.0.0" 1637 | decompress-response "^3.3.0" 1638 | duplexer3 "^0.1.4" 1639 | get-stream "^4.1.0" 1640 | lowercase-keys "^1.0.1" 1641 | mimic-response "^1.0.1" 1642 | p-cancelable "^1.0.0" 1643 | to-readable-stream "^1.0.0" 1644 | url-parse-lax "^3.0.0" 1645 | 1646 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: 1647 | version "4.2.4" 1648 | resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 1649 | integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= 1650 | 1651 | growl@1.10.5: 1652 | version "1.10.5" 1653 | resolved "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1654 | integrity sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4= 1655 | 1656 | has-flag@^3.0.0: 1657 | version "3.0.0" 1658 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1659 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1660 | 1661 | has-flag@^4.0.0: 1662 | version "4.0.0" 1663 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1664 | integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= 1665 | 1666 | has-symbols@^1.0.0, has-symbols@^1.0.1: 1667 | version "1.0.1" 1668 | resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1669 | integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= 1670 | 1671 | has-unicode@^2.0.0: 1672 | version "2.0.1" 1673 | resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1674 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1675 | 1676 | has-yarn@^2.1.0: 1677 | version "2.1.0" 1678 | resolved "https://registry.npm.taobao.org/has-yarn/download/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" 1679 | integrity sha1-E34RNUp7W/EapctknPDG8/8rLnc= 1680 | 1681 | has@^1.0.3: 1682 | version "1.0.3" 1683 | resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1684 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= 1685 | dependencies: 1686 | function-bind "^1.1.1" 1687 | 1688 | he@1.2.0: 1689 | version "1.2.0" 1690 | resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1691 | integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= 1692 | 1693 | helmet-crossdomain@0.4.0: 1694 | version "0.4.0" 1695 | resolved "https://registry.npm.taobao.org/helmet-crossdomain/download/helmet-crossdomain-0.4.0.tgz#5f1fe5a836d0325f1da0a78eaa5fd8429078894e" 1696 | integrity sha1-Xx/lqDbQMl8doKeOql/YQpB4iU4= 1697 | 1698 | helmet-csp@2.10.0: 1699 | version "2.10.0" 1700 | resolved "https://registry.npm.taobao.org/helmet-csp/download/helmet-csp-2.10.0.tgz#685dde1747bc16c5e28ad9d91e229a69f0a85e84" 1701 | integrity sha1-aF3eF0e8FsXiitnZHiKaafCoXoQ= 1702 | dependencies: 1703 | bowser "2.9.0" 1704 | camelize "1.0.0" 1705 | content-security-policy-builder "2.1.0" 1706 | dasherize "2.0.0" 1707 | 1708 | helmet@^3.21.1: 1709 | version "3.23.3" 1710 | resolved "https://registry.npm.taobao.org/helmet/download/helmet-3.23.3.tgz#5ba30209c5f73ded4ab65746a3a11bedd4579ab7" 1711 | integrity sha1-W6MCCcX3Pe1KtldGo6Eb7dRXmrc= 1712 | dependencies: 1713 | depd "2.0.0" 1714 | dont-sniff-mimetype "1.1.0" 1715 | feature-policy "0.3.0" 1716 | helmet-crossdomain "0.4.0" 1717 | helmet-csp "2.10.0" 1718 | hide-powered-by "1.1.0" 1719 | hpkp "2.0.0" 1720 | hsts "2.2.0" 1721 | nocache "2.1.0" 1722 | referrer-policy "1.2.0" 1723 | x-xss-protection "1.3.0" 1724 | 1725 | hide-powered-by@1.1.0: 1726 | version "1.1.0" 1727 | resolved "https://registry.npm.taobao.org/hide-powered-by/download/hide-powered-by-1.1.0.tgz#be3ea9cab4bdb16f8744be873755ca663383fa7a" 1728 | integrity sha1-vj6pyrS9sW+HRL6HN1XKZjOD+no= 1729 | 1730 | hosted-git-info@^2.1.4: 1731 | version "2.8.8" 1732 | resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594427917138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" 1733 | integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= 1734 | 1735 | hpkp@2.0.0: 1736 | version "2.0.0" 1737 | resolved "https://registry.npm.taobao.org/hpkp/download/hpkp-2.0.0.tgz#10e142264e76215a5d30c44ec43de64dee6d1672" 1738 | integrity sha1-EOFCJk52IVpdMMROxD3mTe5tFnI= 1739 | 1740 | hsts@2.2.0: 1741 | version "2.2.0" 1742 | resolved "https://registry.npm.taobao.org/hsts/download/hsts-2.2.0.tgz#09119d42f7a8587035d027dda4522366fe75d964" 1743 | integrity sha1-CRGdQveoWHA10CfdpFIjZv512WQ= 1744 | dependencies: 1745 | depd "2.0.0" 1746 | 1747 | http-assert@^1.3.0: 1748 | version "1.4.1" 1749 | resolved "https://registry.npm.taobao.org/http-assert/download/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" 1750 | integrity sha1-xfcl1neqfoc+9zYZm4lobM6zeHg= 1751 | dependencies: 1752 | deep-equal "~1.0.1" 1753 | http-errors "~1.7.2" 1754 | 1755 | http-cache-semantics@^4.0.0: 1756 | version "4.1.0" 1757 | resolved "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" 1758 | integrity sha1-SekcXL82yblLz81xwj1SSex045A= 1759 | 1760 | http-errors@1.7.3, http-errors@~1.7.2: 1761 | version "1.7.3" 1762 | resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 1763 | integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= 1764 | dependencies: 1765 | depd "~1.1.2" 1766 | inherits "2.0.4" 1767 | setprototypeof "1.1.1" 1768 | statuses ">= 1.5.0 < 2" 1769 | toidentifier "1.0.0" 1770 | 1771 | http-errors@^1.6.3, http-errors@^1.7.3: 1772 | version "1.8.0" 1773 | resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" 1774 | integrity sha1-ddG75JfhBE9R5O6ecEpi8o0zZQc= 1775 | dependencies: 1776 | depd "~1.1.2" 1777 | inherits "2.0.4" 1778 | setprototypeof "1.2.0" 1779 | statuses ">= 1.5.0 < 2" 1780 | toidentifier "1.0.0" 1781 | 1782 | human-signals@^1.1.1: 1783 | version "1.1.1" 1784 | resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" 1785 | integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= 1786 | 1787 | humanize-number@0.0.2: 1788 | version "0.0.2" 1789 | resolved "https://registry.npm.taobao.org/humanize-number/download/humanize-number-0.0.2.tgz#11c0af6a471643633588588048f1799541489c18" 1790 | integrity sha1-EcCvakcWQ2M1iFiASPF5lUFInBg= 1791 | 1792 | husky@^4.2.5: 1793 | version "4.2.5" 1794 | resolved "https://registry.npm.taobao.org/husky/download/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" 1795 | integrity sha1-K092Imc6cVefkB2Yhe1Eg5S1+jY= 1796 | dependencies: 1797 | chalk "^4.0.0" 1798 | ci-info "^2.0.0" 1799 | compare-versions "^3.6.0" 1800 | cosmiconfig "^6.0.0" 1801 | find-versions "^3.2.0" 1802 | opencollective-postinstall "^2.0.2" 1803 | pkg-dir "^4.2.0" 1804 | please-upgrade-node "^3.2.0" 1805 | slash "^3.0.0" 1806 | which-pm-runs "^1.0.0" 1807 | 1808 | iconv-lite@0.4.24, iconv-lite@^0.4.4: 1809 | version "0.4.24" 1810 | resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184250387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1811 | integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= 1812 | dependencies: 1813 | safer-buffer ">= 2.1.2 < 3" 1814 | 1815 | ignore-by-default@^1.0.1: 1816 | version "1.0.1" 1817 | resolved "https://registry.npm.taobao.org/ignore-by-default/download/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" 1818 | integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= 1819 | 1820 | ignore-walk@^3.0.1: 1821 | version "3.0.3" 1822 | resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" 1823 | integrity sha1-AX4kRxhL/q3nwjjkrv3R6PlbHjc= 1824 | dependencies: 1825 | minimatch "^3.0.4" 1826 | 1827 | ignore@^4.0.6: 1828 | version "4.0.6" 1829 | resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1830 | integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= 1831 | 1832 | import-fresh@^3.0.0, import-fresh@^3.1.0: 1833 | version "3.2.1" 1834 | resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" 1835 | integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= 1836 | dependencies: 1837 | parent-module "^1.0.0" 1838 | resolve-from "^4.0.0" 1839 | 1840 | import-lazy@^2.1.0: 1841 | version "2.1.0" 1842 | resolved "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 1843 | integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= 1844 | 1845 | imurmurhash@^0.1.4: 1846 | version "0.1.4" 1847 | resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1848 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1849 | 1850 | indent-string@^4.0.0: 1851 | version "4.0.0" 1852 | resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1853 | integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= 1854 | 1855 | indexof@0.0.1: 1856 | version "0.0.1" 1857 | resolved "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1858 | integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= 1859 | 1860 | inflation@^2.0.0: 1861 | version "2.0.0" 1862 | resolved "https://registry.npm.taobao.org/inflation/download/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" 1863 | integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= 1864 | 1865 | inflight@^1.0.4: 1866 | version "1.0.6" 1867 | resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1868 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1869 | dependencies: 1870 | once "^1.3.0" 1871 | wrappy "1" 1872 | 1873 | inherits@2, inherits@2.0.4, inherits@~2.0.3: 1874 | version "2.0.4" 1875 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1876 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 1877 | 1878 | ini@^1.3.5, ini@~1.3.0: 1879 | version "1.3.5" 1880 | resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1881 | integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= 1882 | 1883 | intelli-espower-loader@^1.0.1: 1884 | version "1.0.1" 1885 | resolved "https://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz#2c7b03146bc1d46bf210d0a0397c5c91ab4ca2b0" 1886 | integrity sha1-LHsDFGvB1GvyENCgOXxckatMorA= 1887 | dependencies: 1888 | espower-loader "^1.0.0" 1889 | 1890 | is-arguments@^1.0.4: 1891 | version "1.0.4" 1892 | resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" 1893 | integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= 1894 | 1895 | is-arrayish@^0.2.1: 1896 | version "0.2.1" 1897 | resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1898 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1899 | 1900 | is-binary-path@~2.1.0: 1901 | version "2.1.0" 1902 | resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1903 | integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= 1904 | dependencies: 1905 | binary-extensions "^2.0.0" 1906 | 1907 | is-buffer@~2.0.3: 1908 | version "2.0.4" 1909 | resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" 1910 | integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= 1911 | 1912 | is-callable@^1.1.4, is-callable@^1.2.0: 1913 | version "1.2.0" 1914 | resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" 1915 | integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= 1916 | 1917 | is-ci@^2.0.0: 1918 | version "2.0.0" 1919 | resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1920 | integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= 1921 | dependencies: 1922 | ci-info "^2.0.0" 1923 | 1924 | is-date-object@^1.0.1: 1925 | version "1.0.2" 1926 | resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 1927 | integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= 1928 | 1929 | is-extglob@^2.1.1: 1930 | version "2.1.1" 1931 | resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1932 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1933 | 1934 | is-fullwidth-code-point@^1.0.0: 1935 | version "1.0.0" 1936 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1937 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1938 | dependencies: 1939 | number-is-nan "^1.0.0" 1940 | 1941 | is-fullwidth-code-point@^2.0.0: 1942 | version "2.0.0" 1943 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1944 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1945 | 1946 | is-fullwidth-code-point@^3.0.0: 1947 | version "3.0.0" 1948 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1949 | integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= 1950 | 1951 | is-generator-function@^1.0.7: 1952 | version "1.0.7" 1953 | resolved "https://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" 1954 | integrity sha1-0hMuUpuwAAp/gHlNS99c1eWBNSI= 1955 | 1956 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1957 | version "4.0.1" 1958 | resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1959 | integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= 1960 | dependencies: 1961 | is-extglob "^2.1.1" 1962 | 1963 | is-installed-globally@^0.3.1: 1964 | version "0.3.2" 1965 | resolved "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" 1966 | integrity sha1-/T76ee5nDRGHIzGC1bCh3QAxMUE= 1967 | dependencies: 1968 | global-dirs "^2.0.1" 1969 | is-path-inside "^3.0.1" 1970 | 1971 | is-map@^2.0.1: 1972 | version "2.0.1" 1973 | resolved "https://registry.npm.taobao.org/is-map/download/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" 1974 | integrity sha1-Ug2vxDB7uOvDO4E95c58lADWRKE= 1975 | 1976 | is-npm@^4.0.0: 1977 | version "4.0.0" 1978 | resolved "https://registry.npm.taobao.org/is-npm/download/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" 1979 | integrity sha1-yQ3YOAaW34enptgjwg0LErvjyE0= 1980 | 1981 | is-number@^7.0.0: 1982 | version "7.0.0" 1983 | resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1984 | integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= 1985 | 1986 | is-obj@^1.0.1: 1987 | version "1.0.1" 1988 | resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1989 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 1990 | 1991 | is-obj@^2.0.0: 1992 | version "2.0.0" 1993 | resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 1994 | integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= 1995 | 1996 | is-path-inside@^3.0.1: 1997 | version "3.0.2" 1998 | resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" 1999 | integrity sha1-9SIPyCo+IzdXKR3dycWHfyofMBc= 2000 | 2001 | is-regex@^1.0.4, is-regex@^1.1.0: 2002 | version "1.1.0" 2003 | resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" 2004 | integrity sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8= 2005 | dependencies: 2006 | has-symbols "^1.0.1" 2007 | 2008 | is-regexp@^1.0.0: 2009 | version "1.0.0" 2010 | resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 2011 | integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= 2012 | 2013 | is-set@^2.0.1: 2014 | version "2.0.1" 2015 | resolved "https://registry.npm.taobao.org/is-set/download/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" 2016 | integrity sha1-0WBK/asXJJhtMAkVdfVJRdp+X0M= 2017 | 2018 | is-stream@^2.0.0: 2019 | version "2.0.0" 2020 | resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 2021 | integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= 2022 | 2023 | is-string@^1.0.4, is-string@^1.0.5: 2024 | version "1.0.5" 2025 | resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 2026 | integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= 2027 | 2028 | is-symbol@^1.0.2: 2029 | version "1.0.3" 2030 | resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 2031 | integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= 2032 | dependencies: 2033 | has-symbols "^1.0.1" 2034 | 2035 | is-typedarray@^1.0.0: 2036 | version "1.0.0" 2037 | resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 2038 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 2039 | 2040 | is-url@^1.2.1: 2041 | version "1.2.4" 2042 | resolved "https://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz?cache=0&sync_timestamp=1593531508014&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-url%2Fdownload%2Fis-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" 2043 | integrity sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI= 2044 | 2045 | is-yarn-global@^0.3.0: 2046 | version "0.3.0" 2047 | resolved "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" 2048 | integrity sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI= 2049 | 2050 | isarray@^1.0.0, isarray@~1.0.0: 2051 | version "1.0.0" 2052 | resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2053 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 2054 | 2055 | isarray@^2.0.5: 2056 | version "2.0.5" 2057 | resolved "https://registry.npm.taobao.org/isarray/download/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 2058 | integrity sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM= 2059 | 2060 | isexe@^2.0.0: 2061 | version "2.0.0" 2062 | resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2063 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 2064 | 2065 | iterate-iterator@^1.0.1: 2066 | version "1.0.1" 2067 | resolved "https://registry.npm.taobao.org/iterate-iterator/download/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" 2068 | integrity sha1-FpOnaMHd15yWkFFFlFPwgv6C6fY= 2069 | 2070 | iterate-value@^1.0.0: 2071 | version "1.0.2" 2072 | resolved "https://registry.npm.taobao.org/iterate-value/download/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" 2073 | integrity sha1-k1EVvTfQBqUgRlNevI0H6ckzf1c= 2074 | dependencies: 2075 | es-get-iterator "^1.0.2" 2076 | iterate-iterator "^1.0.1" 2077 | 2078 | js-tokens@^4.0.0: 2079 | version "4.0.0" 2080 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2081 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 2082 | 2083 | js-yaml@3.13.1: 2084 | version "3.13.1" 2085 | resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz?cache=0&sync_timestamp=1593529722001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 2086 | integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= 2087 | dependencies: 2088 | argparse "^1.0.7" 2089 | esprima "^4.0.0" 2090 | 2091 | js-yaml@^3.13.1: 2092 | version "3.14.0" 2093 | resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1593529722001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" 2094 | integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= 2095 | dependencies: 2096 | argparse "^1.0.7" 2097 | esprima "^4.0.0" 2098 | 2099 | json-buffer@3.0.0: 2100 | version "3.0.0" 2101 | resolved "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 2102 | integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= 2103 | 2104 | json-parse-better-errors@^1.0.1: 2105 | version "1.0.2" 2106 | resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2107 | integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= 2108 | 2109 | json-schema-traverse@^0.4.1: 2110 | version "0.4.1" 2111 | resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2112 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 2113 | 2114 | json-stable-stringify-without-jsonify@^1.0.1: 2115 | version "1.0.1" 2116 | resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2117 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 2118 | 2119 | json5@^1.0.1: 2120 | version "1.0.1" 2121 | resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 2122 | integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= 2123 | dependencies: 2124 | minimist "^1.2.0" 2125 | 2126 | jsonfile@^4.0.0: 2127 | version "4.0.0" 2128 | resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 2129 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 2130 | optionalDependencies: 2131 | graceful-fs "^4.1.6" 2132 | 2133 | jsonwebtoken@^8.5.1: 2134 | version "8.5.1" 2135 | resolved "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" 2136 | integrity sha1-AOceC431TCEhofJhN98igGc7zA0= 2137 | dependencies: 2138 | jws "^3.2.2" 2139 | lodash.includes "^4.3.0" 2140 | lodash.isboolean "^3.0.3" 2141 | lodash.isinteger "^4.0.4" 2142 | lodash.isnumber "^3.0.3" 2143 | lodash.isplainobject "^4.0.6" 2144 | lodash.isstring "^4.0.1" 2145 | lodash.once "^4.0.0" 2146 | ms "^2.1.1" 2147 | semver "^5.6.0" 2148 | 2149 | jwa@^1.4.1: 2150 | version "1.4.1" 2151 | resolved "https://registry.npm.taobao.org/jwa/download/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 2152 | integrity sha1-dDwymFy56YZVUw1TZBtmyGRbA5o= 2153 | dependencies: 2154 | buffer-equal-constant-time "1.0.1" 2155 | ecdsa-sig-formatter "1.0.11" 2156 | safe-buffer "^5.0.1" 2157 | 2158 | jws@^3.2.2: 2159 | version "3.2.2" 2160 | resolved "https://registry.npm.taobao.org/jws/download/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 2161 | integrity sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ= 2162 | dependencies: 2163 | jwa "^1.4.1" 2164 | safe-buffer "^5.0.1" 2165 | 2166 | kareem@2.3.1: 2167 | version "2.3.1" 2168 | resolved "https://registry.npm.taobao.org/kareem/download/kareem-2.3.1.tgz#def12d9c941017fabfb00f873af95e9c99e1be87" 2169 | integrity sha1-3vEtnJQQF/q/sA+HOvlenJnhvoc= 2170 | 2171 | keygrip@~1.1.0: 2172 | version "1.1.0" 2173 | resolved "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" 2174 | integrity sha1-hxsWgdXhWcYqRFsMdLYV4JF+ciY= 2175 | dependencies: 2176 | tsscmp "1.0.6" 2177 | 2178 | keyv@^3.0.0: 2179 | version "3.1.0" 2180 | resolved "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 2181 | integrity sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk= 2182 | dependencies: 2183 | json-buffer "3.0.0" 2184 | 2185 | koa-bodyparser@^4.3.0: 2186 | version "4.3.0" 2187 | resolved "https://registry.npm.taobao.org/koa-bodyparser/download/koa-bodyparser-4.3.0.tgz#274c778555ff48fa221ee7f36a9fbdbace22759a" 2188 | integrity sha1-J0x3hVX/SPoiHufzap+9us4idZo= 2189 | dependencies: 2190 | co-body "^6.0.0" 2191 | copy-to "^2.0.1" 2192 | 2193 | koa-compose@^3.0.0: 2194 | version "3.2.1" 2195 | resolved "https://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" 2196 | integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= 2197 | dependencies: 2198 | any-promise "^1.1.0" 2199 | 2200 | koa-compose@^4.1.0: 2201 | version "4.1.0" 2202 | resolved "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" 2203 | integrity sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc= 2204 | 2205 | koa-convert@^1.2.0: 2206 | version "1.2.0" 2207 | resolved "https://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" 2208 | integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= 2209 | dependencies: 2210 | co "^4.6.0" 2211 | koa-compose "^3.0.0" 2212 | 2213 | koa-helmet@^5.2.0: 2214 | version "5.2.0" 2215 | resolved "https://registry.npm.taobao.org/koa-helmet/download/koa-helmet-5.2.0.tgz#6529f64dd4539261a9bb0a56e201e4976f0200f0" 2216 | integrity sha1-ZSn2TdRTkmGpuwpW4gHkl28CAPA= 2217 | dependencies: 2218 | helmet "^3.21.1" 2219 | 2220 | koa-jwt@^4.0.0: 2221 | version "4.0.0" 2222 | resolved "https://registry.npm.taobao.org/koa-jwt/download/koa-jwt-4.0.0.tgz#4cac70cde5e225bc961a266303d4b6e873cba9bc" 2223 | integrity sha1-TKxwzeXiJbyWGiZjA9S26HPLqbw= 2224 | dependencies: 2225 | jsonwebtoken "^8.5.1" 2226 | koa-unless "^1.0.7" 2227 | p-any "^2.1.0" 2228 | 2229 | koa-logger@^3.2.1: 2230 | version "3.2.1" 2231 | resolved "https://registry.npm.taobao.org/koa-logger/download/koa-logger-3.2.1.tgz#ab9db879526db3837cc9ce4fd983c025b1689f22" 2232 | integrity sha1-q524eVJts4N8yc5P2YPAJbFonyI= 2233 | dependencies: 2234 | bytes "^3.1.0" 2235 | chalk "^2.4.2" 2236 | humanize-number "0.0.2" 2237 | passthrough-counter "^1.0.0" 2238 | 2239 | koa-response-time@^2.1.0: 2240 | version "2.1.0" 2241 | resolved "https://registry.npm.taobao.org/koa-response-time/download/koa-response-time-2.1.0.tgz#bc8473207255fcbddaf10004bd7a8e59f2e948c9" 2242 | integrity sha1-vIRzIHJV/L3a8QAEvXqOWfLpSMk= 2243 | 2244 | koa-router@^9.1.0: 2245 | version "9.1.0" 2246 | resolved "https://registry.npm.taobao.org/koa-router/download/koa-router-9.1.0.tgz#47d1ce2109fd62b1d76eb42df90b635ff93b6831" 2247 | integrity sha1-R9HOIQn9YrHXbrQt+QtjX/k7aDE= 2248 | dependencies: 2249 | debug "^4.1.1" 2250 | http-errors "^1.7.3" 2251 | koa-compose "^4.1.0" 2252 | methods "^1.1.2" 2253 | path-to-regexp "^6.1.0" 2254 | 2255 | koa-unless@^1.0.7: 2256 | version "1.0.7" 2257 | resolved "https://registry.npm.taobao.org/koa-unless/download/koa-unless-1.0.7.tgz#b9df375e2b4da3043918d48622520c2c0b79f032" 2258 | integrity sha1-ud83XitNowQ5GNSGIlIMLAt58DI= 2259 | 2260 | koa@^2.13.0: 2261 | version "2.13.0" 2262 | resolved "https://registry.npm.taobao.org/koa/download/koa-2.13.0.tgz#25217e05efd3358a7e5ddec00f0a380c9b71b501" 2263 | integrity sha1-JSF+Be/TNYp+Xd7ADwo4DJtxtQE= 2264 | dependencies: 2265 | accepts "^1.3.5" 2266 | cache-content-type "^1.0.0" 2267 | content-disposition "~0.5.2" 2268 | content-type "^1.0.4" 2269 | cookies "~0.8.0" 2270 | debug "~3.1.0" 2271 | delegates "^1.0.0" 2272 | depd "^1.1.2" 2273 | destroy "^1.0.4" 2274 | encodeurl "^1.0.2" 2275 | escape-html "^1.0.3" 2276 | fresh "~0.5.2" 2277 | http-assert "^1.3.0" 2278 | http-errors "^1.6.3" 2279 | is-generator-function "^1.0.7" 2280 | koa-compose "^4.1.0" 2281 | koa-convert "^1.2.0" 2282 | on-finished "^2.3.0" 2283 | only "~0.0.2" 2284 | parseurl "^1.3.2" 2285 | statuses "^1.5.0" 2286 | type-is "^1.6.16" 2287 | vary "^1.1.2" 2288 | 2289 | latest-version@^5.0.0: 2290 | version "5.1.0" 2291 | resolved "https://registry.npm.taobao.org/latest-version/download/latest-version-5.1.0.tgz?cache=0&sync_timestamp=1593529716730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flatest-version%2Fdownload%2Flatest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" 2292 | integrity sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4= 2293 | dependencies: 2294 | package-json "^6.3.0" 2295 | 2296 | levn@^0.4.1: 2297 | version "0.4.1" 2298 | resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 2299 | integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= 2300 | dependencies: 2301 | prelude-ls "^1.2.1" 2302 | type-check "~0.4.0" 2303 | 2304 | levn@~0.3.0: 2305 | version "0.3.0" 2306 | resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2307 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 2308 | dependencies: 2309 | prelude-ls "~1.1.2" 2310 | type-check "~0.3.2" 2311 | 2312 | lines-and-columns@^1.1.6: 2313 | version "1.1.6" 2314 | resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 2315 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 2316 | 2317 | lint-staged@^10.2.11: 2318 | version "10.2.11" 2319 | resolved "https://registry.npm.taobao.org/lint-staged/download/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" 2320 | integrity sha1-cTyAh38tyLYJsFvFkCAjTnZslyA= 2321 | dependencies: 2322 | chalk "^4.0.0" 2323 | cli-truncate "2.1.0" 2324 | commander "^5.1.0" 2325 | cosmiconfig "^6.0.0" 2326 | debug "^4.1.1" 2327 | dedent "^0.7.0" 2328 | enquirer "^2.3.5" 2329 | execa "^4.0.1" 2330 | listr2 "^2.1.0" 2331 | log-symbols "^4.0.0" 2332 | micromatch "^4.0.2" 2333 | normalize-path "^3.0.0" 2334 | please-upgrade-node "^3.2.0" 2335 | string-argv "0.3.1" 2336 | stringify-object "^3.3.0" 2337 | 2338 | listr2@^2.1.0: 2339 | version "2.2.0" 2340 | resolved "https://registry.npm.taobao.org/listr2/download/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac" 2341 | integrity sha1-y4hjElirxXjH+2TlkP5XQvKOSqw= 2342 | dependencies: 2343 | chalk "^4.0.0" 2344 | cli-truncate "^2.1.0" 2345 | figures "^3.2.0" 2346 | indent-string "^4.0.0" 2347 | log-update "^4.0.0" 2348 | p-map "^4.0.0" 2349 | rxjs "^6.5.5" 2350 | through "^2.3.8" 2351 | 2352 | load-json-file@^2.0.0: 2353 | version "2.0.0" 2354 | resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2355 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 2356 | dependencies: 2357 | graceful-fs "^4.1.2" 2358 | parse-json "^2.2.0" 2359 | pify "^2.0.0" 2360 | strip-bom "^3.0.0" 2361 | 2362 | locate-path@^2.0.0: 2363 | version "2.0.0" 2364 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2365 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 2366 | dependencies: 2367 | p-locate "^2.0.0" 2368 | path-exists "^3.0.0" 2369 | 2370 | locate-path@^3.0.0: 2371 | version "3.0.0" 2372 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 2373 | integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= 2374 | dependencies: 2375 | p-locate "^3.0.0" 2376 | path-exists "^3.0.0" 2377 | 2378 | locate-path@^5.0.0: 2379 | version "5.0.0" 2380 | resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2381 | integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= 2382 | dependencies: 2383 | p-locate "^4.1.0" 2384 | 2385 | lodash.includes@^4.3.0: 2386 | version "4.3.0" 2387 | resolved "https://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" 2388 | integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= 2389 | 2390 | lodash.isboolean@^3.0.3: 2391 | version "3.0.3" 2392 | resolved "https://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" 2393 | integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= 2394 | 2395 | lodash.isinteger@^4.0.4: 2396 | version "4.0.4" 2397 | resolved "https://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" 2398 | integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= 2399 | 2400 | lodash.isnumber@^3.0.3: 2401 | version "3.0.3" 2402 | resolved "https://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" 2403 | integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= 2404 | 2405 | lodash.isplainobject@^4.0.6: 2406 | version "4.0.6" 2407 | resolved "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 2408 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= 2409 | 2410 | lodash.isstring@^4.0.1: 2411 | version "4.0.1" 2412 | resolved "https://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 2413 | integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= 2414 | 2415 | lodash.once@^4.0.0: 2416 | version "4.1.1" 2417 | resolved "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" 2418 | integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= 2419 | 2420 | lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: 2421 | version "4.17.19" 2422 | resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" 2423 | integrity sha1-5I3e2+MLMyF4PFtDAfvTU7weSks= 2424 | 2425 | log-symbols@3.0.0: 2426 | version "3.0.0" 2427 | resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" 2428 | integrity sha1-86CFFqXeqJMzan3uFNGKHP2rd8Q= 2429 | dependencies: 2430 | chalk "^2.4.2" 2431 | 2432 | log-symbols@^4.0.0: 2433 | version "4.0.0" 2434 | resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" 2435 | integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA= 2436 | dependencies: 2437 | chalk "^4.0.0" 2438 | 2439 | log-update@^4.0.0: 2440 | version "4.0.0" 2441 | resolved "https://registry.npm.taobao.org/log-update/download/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 2442 | integrity sha1-WJ7NNSRx8qHAxXAodUOmTf0g4KE= 2443 | dependencies: 2444 | ansi-escapes "^4.3.0" 2445 | cli-cursor "^3.1.0" 2446 | slice-ansi "^4.0.0" 2447 | wrap-ansi "^6.2.0" 2448 | 2449 | log4js@^6.3.0: 2450 | version "6.3.0" 2451 | resolved "https://registry.npm.taobao.org/log4js/download/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" 2452 | integrity sha1-EN+vu0NDUaPjAnegC5h5RG9xW8s= 2453 | dependencies: 2454 | date-format "^3.0.0" 2455 | debug "^4.1.1" 2456 | flatted "^2.0.1" 2457 | rfdc "^1.1.4" 2458 | streamroller "^2.2.4" 2459 | 2460 | lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: 2461 | version "1.0.1" 2462 | resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 2463 | integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= 2464 | 2465 | lowercase-keys@^2.0.0: 2466 | version "2.0.0" 2467 | resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 2468 | integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk= 2469 | 2470 | make-dir@^3.0.0: 2471 | version "3.1.0" 2472 | resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 2473 | integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= 2474 | dependencies: 2475 | semver "^6.0.0" 2476 | 2477 | media-typer@0.3.0: 2478 | version "0.3.0" 2479 | resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 2480 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 2481 | 2482 | memory-pager@^1.0.2: 2483 | version "1.5.0" 2484 | resolved "https://registry.npm.taobao.org/memory-pager/download/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" 2485 | integrity sha1-2HUWVdItOEaCdByXLyw9bfo+ZrU= 2486 | 2487 | merge-estraverse-visitors@^1.0.0: 2488 | version "1.0.0" 2489 | resolved "https://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz#eb968338b5ded5ceed82cec0307decba2d8ea994" 2490 | integrity sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ= 2491 | dependencies: 2492 | estraverse "^4.0.0" 2493 | 2494 | merge-stream@^2.0.0: 2495 | version "2.0.0" 2496 | resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2497 | integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= 2498 | 2499 | methods@^1.1.1, methods@^1.1.2: 2500 | version "1.1.2" 2501 | resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 2502 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 2503 | 2504 | micromatch@^4.0.2: 2505 | version "4.0.2" 2506 | resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz?cache=0&sync_timestamp=1593529693281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 2507 | integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= 2508 | dependencies: 2509 | braces "^3.0.1" 2510 | picomatch "^2.0.5" 2511 | 2512 | mime-db@1.44.0: 2513 | version "1.44.0" 2514 | resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" 2515 | integrity sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I= 2516 | 2517 | mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.24: 2518 | version "2.1.27" 2519 | resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" 2520 | integrity sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8= 2521 | dependencies: 2522 | mime-db "1.44.0" 2523 | 2524 | mime@^1.4.1: 2525 | version "1.6.0" 2526 | resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1593529693583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 2527 | integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= 2528 | 2529 | mimic-fn@^2.1.0: 2530 | version "2.1.0" 2531 | resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2532 | integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= 2533 | 2534 | mimic-response@^1.0.0, mimic-response@^1.0.1: 2535 | version "1.0.1" 2536 | resolved "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 2537 | integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= 2538 | 2539 | minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: 2540 | version "3.0.4" 2541 | resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2542 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 2543 | dependencies: 2544 | brace-expansion "^1.1.7" 2545 | 2546 | minimist@^1.2.0, minimist@^1.2.5: 2547 | version "1.2.5" 2548 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2549 | integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= 2550 | 2551 | minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: 2552 | version "2.9.0" 2553 | resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" 2554 | integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= 2555 | dependencies: 2556 | safe-buffer "^5.1.2" 2557 | yallist "^3.0.0" 2558 | 2559 | minizlib@^1.2.1: 2560 | version "1.3.3" 2561 | resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" 2562 | integrity sha1-IpDeloGKNMKVUcio0wEha9Zahh0= 2563 | dependencies: 2564 | minipass "^2.9.0" 2565 | 2566 | mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3: 2567 | version "0.5.5" 2568 | resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1593529694459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 2569 | integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= 2570 | dependencies: 2571 | minimist "^1.2.5" 2572 | 2573 | mocha@^8.0.1: 2574 | version "8.0.1" 2575 | resolved "https://registry.npm.taobao.org/mocha/download/mocha-8.0.1.tgz#fe01f0530362df271aa8f99510447bc38b88d8ed" 2576 | integrity sha1-/gHwUwNi3ycaqPmVEER7w4uI2O0= 2577 | dependencies: 2578 | ansi-colors "4.1.1" 2579 | browser-stdout "1.3.1" 2580 | chokidar "3.3.1" 2581 | debug "3.2.6" 2582 | diff "4.0.2" 2583 | escape-string-regexp "1.0.5" 2584 | find-up "4.1.0" 2585 | glob "7.1.6" 2586 | growl "1.10.5" 2587 | he "1.2.0" 2588 | js-yaml "3.13.1" 2589 | log-symbols "3.0.0" 2590 | minimatch "3.0.4" 2591 | ms "2.1.2" 2592 | object.assign "4.1.0" 2593 | promise.allsettled "1.0.2" 2594 | serialize-javascript "3.0.0" 2595 | strip-json-comments "3.0.1" 2596 | supports-color "7.1.0" 2597 | which "2.0.2" 2598 | wide-align "1.1.3" 2599 | workerpool "6.0.0" 2600 | yargs "13.3.2" 2601 | yargs-parser "13.1.2" 2602 | yargs-unparser "1.6.0" 2603 | 2604 | mongodb@3.5.9: 2605 | version "3.5.9" 2606 | resolved "https://registry.npm.taobao.org/mongodb/download/mongodb-3.5.9.tgz#799b72be8110b7e71a882bb7ce0d84d05429f772" 2607 | integrity sha1-eZtyvoEQt+caiCu3zg2E0FQp93I= 2608 | dependencies: 2609 | bl "^2.2.0" 2610 | bson "^1.1.4" 2611 | denque "^1.4.1" 2612 | require_optional "^1.0.1" 2613 | safe-buffer "^5.1.2" 2614 | optionalDependencies: 2615 | saslprep "^1.0.0" 2616 | 2617 | mongoose-legacy-pluralize@1.0.2: 2618 | version "1.0.2" 2619 | resolved "https://registry.npm.taobao.org/mongoose-legacy-pluralize/download/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" 2620 | integrity sha1-O6n5H6UHtRhtOZ+0CFS/8Y+1Y+Q= 2621 | 2622 | mongoose@^5.9.24: 2623 | version "5.9.24" 2624 | resolved "https://registry.npm.taobao.org/mongoose/download/mongoose-5.9.24.tgz#ba7f95529da8fa2160d9b4d708b3fe9856c56636" 2625 | integrity sha1-un+VUp2o+iFg2bTXCLP+mFbFZjY= 2626 | dependencies: 2627 | bson "^1.1.4" 2628 | kareem "2.3.1" 2629 | mongodb "3.5.9" 2630 | mongoose-legacy-pluralize "1.0.2" 2631 | mpath "0.7.0" 2632 | mquery "3.2.2" 2633 | ms "2.1.2" 2634 | regexp-clone "1.0.0" 2635 | safe-buffer "5.2.1" 2636 | sift "7.0.1" 2637 | sliced "1.0.1" 2638 | 2639 | mpath@0.7.0: 2640 | version "0.7.0" 2641 | resolved "https://registry.npm.taobao.org/mpath/download/mpath-0.7.0.tgz#20e8102e276b71709d6e07e9f8d4d0f641afbfb8" 2642 | integrity sha1-IOgQLidrcXCdbgfp+NTQ9kGvv7g= 2643 | 2644 | mquery@3.2.2: 2645 | version "3.2.2" 2646 | resolved "https://registry.npm.taobao.org/mquery/download/mquery-3.2.2.tgz#e1383a3951852ce23e37f619a9b350f1fb3664e7" 2647 | integrity sha1-4Tg6OVGFLOI+N/YZqbNQ8fs2ZOc= 2648 | dependencies: 2649 | bluebird "3.5.1" 2650 | debug "3.1.0" 2651 | regexp-clone "^1.0.0" 2652 | safe-buffer "5.1.2" 2653 | sliced "1.0.1" 2654 | 2655 | ms@2.0.0: 2656 | version "2.0.0" 2657 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2658 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2659 | 2660 | ms@2.1.2, ms@^2.1.1: 2661 | version "2.1.2" 2662 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2663 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 2664 | 2665 | multi-stage-sourcemap@^0.2.1: 2666 | version "0.2.1" 2667 | resolved "https://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz#b09fc8586eaa17f81d575c4ad02e0f7a3f6b1105" 2668 | integrity sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU= 2669 | dependencies: 2670 | source-map "^0.1.34" 2671 | 2672 | natural-compare@^1.4.0: 2673 | version "1.4.0" 2674 | resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2675 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2676 | 2677 | needle@^2.5.0: 2678 | version "2.5.0" 2679 | resolved "https://registry.npm.taobao.org/needle/download/needle-2.5.0.tgz#e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0" 2680 | integrity sha1-5vxLPMbCXK7XVUvWE6XPC6yMMcA= 2681 | dependencies: 2682 | debug "^3.2.6" 2683 | iconv-lite "^0.4.4" 2684 | sax "^1.2.4" 2685 | 2686 | negotiator@0.6.2: 2687 | version "0.6.2" 2688 | resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 2689 | integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= 2690 | 2691 | next-tick@~1.0.0: 2692 | version "1.0.0" 2693 | resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" 2694 | integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= 2695 | 2696 | nocache@2.1.0: 2697 | version "2.1.0" 2698 | resolved "https://registry.npm.taobao.org/nocache/download/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" 2699 | integrity sha1-Egyf/sQ7Vymx1d6IzXGqdaC6SR8= 2700 | 2701 | node-addon-api@^3.0.0: 2702 | version "3.0.1" 2703 | resolved "https://registry.npm.taobao.org/node-addon-api/download/node-addon-api-3.0.1.tgz#990544a2607ec3f538443df4858f8c40089b7783" 2704 | integrity sha1-mQVEomB+w/U4RD30hY+MQAibd4M= 2705 | 2706 | node-pre-gyp@0.15.0: 2707 | version "0.15.0" 2708 | resolved "https://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.15.0.tgz#c2fc383276b74c7ffa842925241553e8b40f1087" 2709 | integrity sha1-wvw4Mna3TH/6hCklJBVT6LQPEIc= 2710 | dependencies: 2711 | detect-libc "^1.0.2" 2712 | mkdirp "^0.5.3" 2713 | needle "^2.5.0" 2714 | nopt "^4.0.1" 2715 | npm-packlist "^1.1.6" 2716 | npmlog "^4.0.2" 2717 | rc "^1.2.7" 2718 | rimraf "^2.6.1" 2719 | semver "^5.3.0" 2720 | tar "^4.4.2" 2721 | 2722 | nodemon@^2.0.4: 2723 | version "2.0.4" 2724 | resolved "https://registry.npm.taobao.org/nodemon/download/nodemon-2.0.4.tgz#55b09319eb488d6394aa9818148c0c2d1c04c416" 2725 | integrity sha1-VbCTGetIjWOUqpgYFIwMLRwExBY= 2726 | dependencies: 2727 | chokidar "^3.2.2" 2728 | debug "^3.2.6" 2729 | ignore-by-default "^1.0.1" 2730 | minimatch "^3.0.4" 2731 | pstree.remy "^1.1.7" 2732 | semver "^5.7.1" 2733 | supports-color "^5.5.0" 2734 | touch "^3.1.0" 2735 | undefsafe "^2.0.2" 2736 | update-notifier "^4.0.0" 2737 | 2738 | nopt@^4.0.1: 2739 | version "4.0.3" 2740 | resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" 2741 | integrity sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg= 2742 | dependencies: 2743 | abbrev "1" 2744 | osenv "^0.1.4" 2745 | 2746 | nopt@~1.0.10: 2747 | version "1.0.10" 2748 | resolved "https://registry.npm.taobao.org/nopt/download/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" 2749 | integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= 2750 | dependencies: 2751 | abbrev "1" 2752 | 2753 | normalize-package-data@^2.3.2: 2754 | version "2.5.0" 2755 | resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2756 | integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= 2757 | dependencies: 2758 | hosted-git-info "^2.1.4" 2759 | resolve "^1.10.0" 2760 | semver "2 || 3 || 4 || 5" 2761 | validate-npm-package-license "^3.0.1" 2762 | 2763 | normalize-path@^3.0.0, normalize-path@~3.0.0: 2764 | version "3.0.0" 2765 | resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz?cache=0&sync_timestamp=1593529695654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-path%2Fdownload%2Fnormalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2766 | integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= 2767 | 2768 | normalize-url@^4.1.0: 2769 | version "4.5.0" 2770 | resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" 2771 | integrity sha1-RTNUCH5sqWlXvY9br3U/WYIUISk= 2772 | 2773 | npm-bundled@^1.0.1: 2774 | version "1.1.1" 2775 | resolved "https://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" 2776 | integrity sha1-Ht1XCGWpTNsbyCIHdeKUZsn7I0s= 2777 | dependencies: 2778 | npm-normalize-package-bin "^1.0.1" 2779 | 2780 | npm-normalize-package-bin@^1.0.1: 2781 | version "1.0.1" 2782 | resolved "https://registry.npm.taobao.org/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" 2783 | integrity sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI= 2784 | 2785 | npm-packlist@^1.1.6: 2786 | version "1.4.8" 2787 | resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" 2788 | integrity sha1-Vu5swTW5+YrT1Rwcldoiu7my7z4= 2789 | dependencies: 2790 | ignore-walk "^3.0.1" 2791 | npm-bundled "^1.0.1" 2792 | npm-normalize-package-bin "^1.0.1" 2793 | 2794 | npm-run-path@^4.0.0: 2795 | version "4.0.1" 2796 | resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2797 | integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= 2798 | dependencies: 2799 | path-key "^3.0.0" 2800 | 2801 | npmlog@^4.0.2: 2802 | version "4.1.2" 2803 | resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2804 | integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= 2805 | dependencies: 2806 | are-we-there-yet "~1.1.2" 2807 | console-control-strings "~1.1.0" 2808 | gauge "~2.7.3" 2809 | set-blocking "~2.0.0" 2810 | 2811 | number-is-nan@^1.0.0: 2812 | version "1.0.1" 2813 | resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2814 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2815 | 2816 | object-assign@^4.1.0: 2817 | version "4.1.1" 2818 | resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2819 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2820 | 2821 | object-inspect@^1.7.0: 2822 | version "1.8.0" 2823 | resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" 2824 | integrity sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA= 2825 | 2826 | object-is@^1.0.1: 2827 | version "1.1.2" 2828 | resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" 2829 | integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y= 2830 | dependencies: 2831 | define-properties "^1.1.3" 2832 | es-abstract "^1.17.5" 2833 | 2834 | object-keys@^1.0.0, object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 2835 | version "1.1.1" 2836 | resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2837 | integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= 2838 | 2839 | object.assign@4.1.0, object.assign@^4.1.0: 2840 | version "4.1.0" 2841 | resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 2842 | integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= 2843 | dependencies: 2844 | define-properties "^1.1.2" 2845 | function-bind "^1.1.1" 2846 | has-symbols "^1.0.0" 2847 | object-keys "^1.0.11" 2848 | 2849 | object.entries@^1.1.2: 2850 | version "1.1.2" 2851 | resolved "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" 2852 | integrity sha1-vHPwCstra7FsIDQ0sQ+afnl9Ot0= 2853 | dependencies: 2854 | define-properties "^1.1.3" 2855 | es-abstract "^1.17.5" 2856 | has "^1.0.3" 2857 | 2858 | object.values@^1.1.1: 2859 | version "1.1.1" 2860 | resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.values%2Fdownload%2Fobject.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" 2861 | integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= 2862 | dependencies: 2863 | define-properties "^1.1.3" 2864 | es-abstract "^1.17.0-next.1" 2865 | function-bind "^1.1.1" 2866 | has "^1.0.3" 2867 | 2868 | on-finished@^2.3.0: 2869 | version "2.3.0" 2870 | resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2871 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 2872 | dependencies: 2873 | ee-first "1.1.1" 2874 | 2875 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2876 | version "1.4.0" 2877 | resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2878 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2879 | dependencies: 2880 | wrappy "1" 2881 | 2882 | onetime@^5.1.0: 2883 | version "5.1.0" 2884 | resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" 2885 | integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U= 2886 | dependencies: 2887 | mimic-fn "^2.1.0" 2888 | 2889 | only@~0.0.2: 2890 | version "0.0.2" 2891 | resolved "https://registry.npm.taobao.org/only/download/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" 2892 | integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= 2893 | 2894 | opencollective-postinstall@^2.0.2: 2895 | version "2.0.3" 2896 | resolved "https://registry.npm.taobao.org/opencollective-postinstall/download/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" 2897 | integrity sha1-eg//l49tv6TQBiOPusmO1BmMMlk= 2898 | 2899 | optionator@^0.8.1: 2900 | version "0.8.3" 2901 | resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 2902 | integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= 2903 | dependencies: 2904 | deep-is "~0.1.3" 2905 | fast-levenshtein "~2.0.6" 2906 | levn "~0.3.0" 2907 | prelude-ls "~1.1.2" 2908 | type-check "~0.3.2" 2909 | word-wrap "~1.2.3" 2910 | 2911 | optionator@^0.9.1: 2912 | version "0.9.1" 2913 | resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 2914 | integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= 2915 | dependencies: 2916 | deep-is "^0.1.3" 2917 | fast-levenshtein "^2.0.6" 2918 | levn "^0.4.1" 2919 | prelude-ls "^1.2.1" 2920 | type-check "^0.4.0" 2921 | word-wrap "^1.2.3" 2922 | 2923 | os-homedir@^1.0.0: 2924 | version "1.0.2" 2925 | resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2926 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2927 | 2928 | os-tmpdir@^1.0.0: 2929 | version "1.0.2" 2930 | resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2931 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2932 | 2933 | osenv@^0.1.4: 2934 | version "0.1.5" 2935 | resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2936 | integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= 2937 | dependencies: 2938 | os-homedir "^1.0.0" 2939 | os-tmpdir "^1.0.0" 2940 | 2941 | p-any@^2.1.0: 2942 | version "2.1.0" 2943 | resolved "https://registry.npm.taobao.org/p-any/download/p-any-2.1.0.tgz#719489408e14f5f941a748f1e817f5c71cab35cb" 2944 | integrity sha1-cZSJQI4U9flBp0jx6Bf1xxyrNcs= 2945 | dependencies: 2946 | p-cancelable "^2.0.0" 2947 | p-some "^4.0.0" 2948 | type-fest "^0.3.0" 2949 | 2950 | p-cancelable@^1.0.0: 2951 | version "1.1.0" 2952 | resolved "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 2953 | integrity sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw= 2954 | 2955 | p-cancelable@^2.0.0: 2956 | version "2.0.0" 2957 | resolved "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" 2958 | integrity sha1-SjdA9b2vXtXXw+NIgsb7XWsmam4= 2959 | 2960 | p-limit@^1.1.0: 2961 | version "1.3.0" 2962 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559734248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2963 | integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= 2964 | dependencies: 2965 | p-try "^1.0.0" 2966 | 2967 | p-limit@^2.0.0, p-limit@^2.2.0: 2968 | version "2.3.0" 2969 | resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559734248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2970 | integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= 2971 | dependencies: 2972 | p-try "^2.0.0" 2973 | 2974 | p-locate@^2.0.0: 2975 | version "2.0.0" 2976 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2977 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 2978 | dependencies: 2979 | p-limit "^1.1.0" 2980 | 2981 | p-locate@^3.0.0: 2982 | version "3.0.0" 2983 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2984 | integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= 2985 | dependencies: 2986 | p-limit "^2.0.0" 2987 | 2988 | p-locate@^4.1.0: 2989 | version "4.1.0" 2990 | resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2991 | integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= 2992 | dependencies: 2993 | p-limit "^2.2.0" 2994 | 2995 | p-map@^4.0.0: 2996 | version "4.0.0" 2997 | resolved "https://registry.npm.taobao.org/p-map/download/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 2998 | integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= 2999 | dependencies: 3000 | aggregate-error "^3.0.0" 3001 | 3002 | p-some@^4.0.0: 3003 | version "4.1.0" 3004 | resolved "https://registry.npm.taobao.org/p-some/download/p-some-4.1.0.tgz#28e73bc1e0d62db54c2ed513acd03acba30d5c04" 3005 | integrity sha1-KOc7weDWLbVMLtUTrNA6y6MNXAQ= 3006 | dependencies: 3007 | aggregate-error "^3.0.0" 3008 | p-cancelable "^2.0.0" 3009 | 3010 | p-try@^1.0.0: 3011 | version "1.0.0" 3012 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 3013 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 3014 | 3015 | p-try@^2.0.0: 3016 | version "2.2.0" 3017 | resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 3018 | integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= 3019 | 3020 | package-json@^6.3.0: 3021 | version "6.5.0" 3022 | resolved "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" 3023 | integrity sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA= 3024 | dependencies: 3025 | got "^9.6.0" 3026 | registry-auth-token "^4.0.0" 3027 | registry-url "^5.0.0" 3028 | semver "^6.2.0" 3029 | 3030 | parent-module@^1.0.0: 3031 | version "1.0.1" 3032 | resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 3033 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= 3034 | dependencies: 3035 | callsites "^3.0.0" 3036 | 3037 | parse-json@^2.2.0: 3038 | version "2.2.0" 3039 | resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 3040 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 3041 | dependencies: 3042 | error-ex "^1.2.0" 3043 | 3044 | parse-json@^5.0.0: 3045 | version "5.0.0" 3046 | resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" 3047 | integrity sha1-c+URTJhtFD76NxLU6iTbmkJm9g8= 3048 | dependencies: 3049 | "@babel/code-frame" "^7.0.0" 3050 | error-ex "^1.3.1" 3051 | json-parse-better-errors "^1.0.1" 3052 | lines-and-columns "^1.1.6" 3053 | 3054 | parseurl@^1.3.2: 3055 | version "1.3.3" 3056 | resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz?cache=0&sync_timestamp=1593529696791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparseurl%2Fdownload%2Fparseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 3057 | integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= 3058 | 3059 | passthrough-counter@^1.0.0: 3060 | version "1.0.0" 3061 | resolved "https://registry.npm.taobao.org/passthrough-counter/download/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa" 3062 | integrity sha1-GWfZ5m2lcrXAI8eH2xEqOHqxZvo= 3063 | 3064 | path-exists@^3.0.0: 3065 | version "3.0.0" 3066 | resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 3067 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 3068 | 3069 | path-exists@^4.0.0: 3070 | version "4.0.0" 3071 | resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 3072 | integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= 3073 | 3074 | path-is-absolute@^1.0.0: 3075 | version "1.0.1" 3076 | resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 3077 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 3078 | 3079 | path-key@^3.0.0, path-key@^3.1.0: 3080 | version "3.1.1" 3081 | resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 3082 | integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= 3083 | 3084 | path-parse@^1.0.6: 3085 | version "1.0.6" 3086 | resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 3087 | integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= 3088 | 3089 | path-to-regexp@^6.1.0: 3090 | version "6.1.0" 3091 | resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" 3092 | integrity sha1-Cxj4i3oM4L+uaiWZDJCauG9RJCc= 3093 | 3094 | path-type@^2.0.0: 3095 | version "2.0.0" 3096 | resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 3097 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 3098 | dependencies: 3099 | pify "^2.0.0" 3100 | 3101 | path-type@^4.0.0: 3102 | version "4.0.0" 3103 | resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 3104 | integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= 3105 | 3106 | picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1: 3107 | version "2.2.2" 3108 | resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 3109 | integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= 3110 | 3111 | pify@^2.0.0: 3112 | version "2.3.0" 3113 | resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1593529716831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 3114 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 3115 | 3116 | pkg-dir@^2.0.0: 3117 | version "2.0.0" 3118 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 3119 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 3120 | dependencies: 3121 | find-up "^2.1.0" 3122 | 3123 | pkg-dir@^4.2.0: 3124 | version "4.2.0" 3125 | resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 3126 | integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= 3127 | dependencies: 3128 | find-up "^4.0.0" 3129 | 3130 | please-upgrade-node@^3.2.0: 3131 | version "3.2.0" 3132 | resolved "https://registry.npm.taobao.org/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 3133 | integrity sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI= 3134 | dependencies: 3135 | semver-compare "^1.0.0" 3136 | 3137 | power-assert-context-formatter@^1.0.7: 3138 | version "1.2.0" 3139 | resolved "https://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.2.0.tgz#8fbe72692288ec5a7203cdf215c8b838a6061d2a" 3140 | integrity sha1-j75yaSKI7FpyA83yFci4OKYGHSo= 3141 | dependencies: 3142 | core-js "^2.0.0" 3143 | power-assert-context-traversal "^1.2.0" 3144 | 3145 | power-assert-context-reducer-ast@^1.0.7: 3146 | version "1.2.0" 3147 | resolved "https://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.2.0.tgz#c7ca1c9e39a6fb717f7ac5fe9e76e192bf525df3" 3148 | integrity sha1-x8ocnjmm+3F/esX+nnbhkr9SXfM= 3149 | dependencies: 3150 | acorn "^5.0.0" 3151 | acorn-es7-plugin "^1.0.12" 3152 | core-js "^2.0.0" 3153 | espurify "^1.6.0" 3154 | estraverse "^4.2.0" 3155 | 3156 | power-assert-context-traversal@^1.2.0: 3157 | version "1.2.0" 3158 | resolved "https://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.2.0.tgz#f6e71454baf640de5c1c9c270349f5c9ab0b2e94" 3159 | integrity sha1-9ucUVLr2QN5cHJwnA0n1yasLLpQ= 3160 | dependencies: 3161 | core-js "^2.0.0" 3162 | estraverse "^4.1.0" 3163 | 3164 | power-assert-formatter@^1.4.1: 3165 | version "1.4.1" 3166 | resolved "https://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz#5dc125ed50a3dfb1dda26c19347f3bf58ec2884a" 3167 | integrity sha1-XcEl7VCj37HdomwZNH879Y7CiEo= 3168 | dependencies: 3169 | core-js "^2.0.0" 3170 | power-assert-context-formatter "^1.0.7" 3171 | power-assert-context-reducer-ast "^1.0.7" 3172 | power-assert-renderer-assertion "^1.0.7" 3173 | power-assert-renderer-comparison "^1.0.7" 3174 | power-assert-renderer-diagram "^1.0.7" 3175 | power-assert-renderer-file "^1.0.7" 3176 | 3177 | power-assert-renderer-assertion@^1.0.7: 3178 | version "1.2.0" 3179 | resolved "https://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.2.0.tgz#3db6ffcda106b37bc1e06432ad0d748a682b147a" 3180 | integrity sha1-Pbb/zaEGs3vB4GQyrQ10imgrFHo= 3181 | dependencies: 3182 | power-assert-renderer-base "^1.1.1" 3183 | power-assert-util-string-width "^1.2.0" 3184 | 3185 | power-assert-renderer-base@^1.1.1: 3186 | version "1.1.1" 3187 | resolved "https://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" 3188 | integrity sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s= 3189 | 3190 | power-assert-renderer-comparison@^1.0.7: 3191 | version "1.2.0" 3192 | resolved "https://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.2.0.tgz#e4f88113225a69be8aa586ead05aef99462c0495" 3193 | integrity sha1-5PiBEyJaab6KpYbq0FrvmUYsBJU= 3194 | dependencies: 3195 | core-js "^2.0.0" 3196 | diff-match-patch "^1.0.0" 3197 | power-assert-renderer-base "^1.1.1" 3198 | stringifier "^1.3.0" 3199 | type-name "^2.0.1" 3200 | 3201 | power-assert-renderer-diagram@^1.0.7: 3202 | version "1.2.0" 3203 | resolved "https://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.2.0.tgz#37f66e8542e5677c5b58e6d72b01c0d9a30e2219" 3204 | integrity sha1-N/ZuhULlZ3xbWObXKwHA2aMOIhk= 3205 | dependencies: 3206 | core-js "^2.0.0" 3207 | power-assert-renderer-base "^1.1.1" 3208 | power-assert-util-string-width "^1.2.0" 3209 | stringifier "^1.3.0" 3210 | 3211 | power-assert-renderer-file@^1.0.7: 3212 | version "1.2.0" 3213 | resolved "https://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.2.0.tgz#3f4bebd9e1455d75cf2ac541e7bb515a87d4ce4b" 3214 | integrity sha1-P0vr2eFFXXXPKsVB57tRWofUzks= 3215 | dependencies: 3216 | power-assert-renderer-base "^1.1.1" 3217 | 3218 | power-assert-util-string-width@^1.2.0: 3219 | version "1.2.0" 3220 | resolved "https://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.2.0.tgz#6e06d5e3581bb876c5d377c53109fffa95bd91a0" 3221 | integrity sha1-bgbV41gbuHbF03fFMQn/+pW9kaA= 3222 | dependencies: 3223 | eastasianwidth "^0.2.0" 3224 | 3225 | power-assert@^1.6.1: 3226 | version "1.6.1" 3227 | resolved "https://registry.npm.taobao.org/power-assert/download/power-assert-1.6.1.tgz#b28cbc02ae808afd1431d0cd5093a39ac5a5b1fe" 3228 | integrity sha1-soy8Aq6Aiv0UMdDNUJOjmsWlsf4= 3229 | dependencies: 3230 | define-properties "^1.1.2" 3231 | empower "^1.3.1" 3232 | power-assert-formatter "^1.4.1" 3233 | universal-deep-strict-equal "^1.2.1" 3234 | xtend "^4.0.0" 3235 | 3236 | prelude-ls@^1.2.1: 3237 | version "1.2.1" 3238 | resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 3239 | integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= 3240 | 3241 | prelude-ls@~1.1.2: 3242 | version "1.1.2" 3243 | resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 3244 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 3245 | 3246 | prepend-http@^2.0.0: 3247 | version "2.0.0" 3248 | resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 3249 | integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= 3250 | 3251 | prettier@^2.0.5: 3252 | version "2.0.5" 3253 | resolved "https://registry.npm.taobao.org/prettier/download/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" 3254 | integrity sha1-1tVigkVSQ/L5LMFxZpLAiqMVItQ= 3255 | 3256 | process-nextick-args@~2.0.0: 3257 | version "2.0.1" 3258 | resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 3259 | integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= 3260 | 3261 | progress@^2.0.0: 3262 | version "2.0.3" 3263 | resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 3264 | integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= 3265 | 3266 | promise.allsettled@1.0.2: 3267 | version "1.0.2" 3268 | resolved "https://registry.npm.taobao.org/promise.allsettled/download/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" 3269 | integrity sha1-1m94+7YA6D6GPYk+mLPUN2qcR8k= 3270 | dependencies: 3271 | array.prototype.map "^1.0.1" 3272 | define-properties "^1.1.3" 3273 | es-abstract "^1.17.0-next.1" 3274 | function-bind "^1.1.1" 3275 | iterate-value "^1.0.0" 3276 | 3277 | pstree.remy@^1.1.7: 3278 | version "1.1.8" 3279 | resolved "https://registry.npm.taobao.org/pstree.remy/download/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" 3280 | integrity sha1-wkIiT0pnwh9oaDm720rCgrg3PTo= 3281 | 3282 | pump@^3.0.0: 3283 | version "3.0.0" 3284 | resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 3285 | integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= 3286 | dependencies: 3287 | end-of-stream "^1.1.0" 3288 | once "^1.3.1" 3289 | 3290 | punycode@^2.1.0: 3291 | version "2.1.1" 3292 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 3293 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 3294 | 3295 | pupa@^2.0.1: 3296 | version "2.0.1" 3297 | resolved "https://registry.npm.taobao.org/pupa/download/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726" 3298 | integrity sha1-29yf9I/76komoGm2+fersFEAhyY= 3299 | dependencies: 3300 | escape-goat "^2.0.0" 3301 | 3302 | qs@^6.5.1, qs@^6.5.2: 3303 | version "6.9.4" 3304 | resolved "https://registry.npm.taobao.org/qs/download/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" 3305 | integrity sha1-kJCykNH5FyjTwi5UhDykSupatoc= 3306 | 3307 | raw-body@^2.3.3: 3308 | version "2.4.1" 3309 | resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" 3310 | integrity sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow= 3311 | dependencies: 3312 | bytes "3.1.0" 3313 | http-errors "1.7.3" 3314 | iconv-lite "0.4.24" 3315 | unpipe "1.0.0" 3316 | 3317 | rc@^1.2.7, rc@^1.2.8: 3318 | version "1.2.8" 3319 | resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz?cache=0&sync_timestamp=1593529723659&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc%2Fdownload%2Frc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 3320 | integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= 3321 | dependencies: 3322 | deep-extend "^0.6.0" 3323 | ini "~1.3.0" 3324 | minimist "^1.2.0" 3325 | strip-json-comments "~2.0.1" 3326 | 3327 | read-pkg-up@^2.0.0: 3328 | version "2.0.0" 3329 | resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 3330 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 3331 | dependencies: 3332 | find-up "^2.0.0" 3333 | read-pkg "^2.0.0" 3334 | 3335 | read-pkg@^2.0.0: 3336 | version "2.0.0" 3337 | resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 3338 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 3339 | dependencies: 3340 | load-json-file "^2.0.0" 3341 | normalize-package-data "^2.3.2" 3342 | path-type "^2.0.0" 3343 | 3344 | readable-stream@^2.0.6, readable-stream@^2.3.5: 3345 | version "2.3.7" 3346 | resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 3347 | integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= 3348 | dependencies: 3349 | core-util-is "~1.0.0" 3350 | inherits "~2.0.3" 3351 | isarray "~1.0.0" 3352 | process-nextick-args "~2.0.0" 3353 | safe-buffer "~5.1.1" 3354 | string_decoder "~1.1.1" 3355 | util-deprecate "~1.0.1" 3356 | 3357 | readdirp@~3.3.0: 3358 | version "3.3.0" 3359 | resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" 3360 | integrity sha1-mERY0ToeQuLp9YQbEp4WLzaa/xc= 3361 | dependencies: 3362 | picomatch "^2.0.7" 3363 | 3364 | readdirp@~3.4.0: 3365 | version "3.4.0" 3366 | resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" 3367 | integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto= 3368 | dependencies: 3369 | picomatch "^2.2.1" 3370 | 3371 | referrer-policy@1.2.0: 3372 | version "1.2.0" 3373 | resolved "https://registry.npm.taobao.org/referrer-policy/download/referrer-policy-1.2.0.tgz#b99cfb8b57090dc454895ef897a4cc35ef67a98e" 3374 | integrity sha1-uZz7i1cJDcRUiV74l6TMNe9nqY4= 3375 | 3376 | regexp-clone@1.0.0, regexp-clone@^1.0.0: 3377 | version "1.0.0" 3378 | resolved "https://registry.npm.taobao.org/regexp-clone/download/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63" 3379 | integrity sha1-Ii25Z2IydwViYLmSYmNUoEzpv2M= 3380 | 3381 | regexp.prototype.flags@^1.2.0: 3382 | version "1.3.0" 3383 | resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" 3384 | integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= 3385 | dependencies: 3386 | define-properties "^1.1.3" 3387 | es-abstract "^1.17.0-next.1" 3388 | 3389 | regexpp@^3.1.0: 3390 | version "3.1.0" 3391 | resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" 3392 | integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= 3393 | 3394 | registry-auth-token@^4.0.0: 3395 | version "4.2.0" 3396 | resolved "https://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-4.2.0.tgz?cache=0&sync_timestamp=1594638396805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregistry-auth-token%2Fdownload%2Fregistry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da" 3397 | integrity sha1-HTff/acrvs0PWB5HFVQCE6Zet9o= 3398 | dependencies: 3399 | rc "^1.2.8" 3400 | 3401 | registry-url@^5.0.0: 3402 | version "5.1.0" 3403 | resolved "https://registry.npm.taobao.org/registry-url/download/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" 3404 | integrity sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk= 3405 | dependencies: 3406 | rc "^1.2.8" 3407 | 3408 | require-directory@^2.1.1: 3409 | version "2.1.1" 3410 | resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3411 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 3412 | 3413 | require-main-filename@^2.0.0: 3414 | version "2.0.0" 3415 | resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 3416 | integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= 3417 | 3418 | require_optional@^1.0.1: 3419 | version "1.0.1" 3420 | resolved "https://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e" 3421 | integrity sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4= 3422 | dependencies: 3423 | resolve-from "^2.0.0" 3424 | semver "^5.1.0" 3425 | 3426 | resolve-from@^2.0.0: 3427 | version "2.0.0" 3428 | resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 3429 | integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= 3430 | 3431 | resolve-from@^4.0.0: 3432 | version "4.0.0" 3433 | resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 3434 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= 3435 | 3436 | resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0: 3437 | version "1.17.0" 3438 | resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&sync_timestamp=1593529717717&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" 3439 | integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ= 3440 | dependencies: 3441 | path-parse "^1.0.6" 3442 | 3443 | responselike@^1.0.2: 3444 | version "1.0.2" 3445 | resolved "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 3446 | integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= 3447 | dependencies: 3448 | lowercase-keys "^1.0.0" 3449 | 3450 | restore-cursor@^3.1.0: 3451 | version "3.1.0" 3452 | resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 3453 | integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= 3454 | dependencies: 3455 | onetime "^5.1.0" 3456 | signal-exit "^3.0.2" 3457 | 3458 | rfdc@^1.1.4: 3459 | version "1.1.4" 3460 | resolved "https://registry.npm.taobao.org/rfdc/download/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" 3461 | integrity sha1-unLME2egzNnPgahws7WL060H+MI= 3462 | 3463 | rimraf@2.6.3: 3464 | version "2.6.3" 3465 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 3466 | integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= 3467 | dependencies: 3468 | glob "^7.1.3" 3469 | 3470 | rimraf@^2.6.1: 3471 | version "2.7.1" 3472 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 3473 | integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= 3474 | dependencies: 3475 | glob "^7.1.3" 3476 | 3477 | rimraf@^3.0.2: 3478 | version "3.0.2" 3479 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 3480 | integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= 3481 | dependencies: 3482 | glob "^7.1.3" 3483 | 3484 | rxjs@^6.5.5: 3485 | version "6.6.0" 3486 | resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.0.tgz?cache=0&sync_timestamp=1593794887039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" 3487 | integrity sha1-rykB7t8C46g/+n+IYkD/kBi77IQ= 3488 | dependencies: 3489 | tslib "^1.9.0" 3490 | 3491 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3492 | version "5.1.2" 3493 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3494 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 3495 | 3496 | safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 3497 | version "5.2.1" 3498 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 3499 | integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= 3500 | 3501 | "safer-buffer@>= 2.1.2 < 3": 3502 | version "2.1.2" 3503 | resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3504 | integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= 3505 | 3506 | saslprep@^1.0.0: 3507 | version "1.0.3" 3508 | resolved "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" 3509 | integrity sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY= 3510 | dependencies: 3511 | sparse-bitfield "^3.0.3" 3512 | 3513 | sax@^1.2.4: 3514 | version "1.2.4" 3515 | resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz?cache=0&sync_timestamp=1593529670203&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsax%2Fdownload%2Fsax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 3516 | integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= 3517 | 3518 | semver-compare@^1.0.0: 3519 | version "1.0.0" 3520 | resolved "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 3521 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 3522 | 3523 | semver-diff@^3.1.1: 3524 | version "3.1.1" 3525 | resolved "https://registry.npm.taobao.org/semver-diff/download/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" 3526 | integrity sha1-Bfd85Z8yXgDicGr9Z7tQbdscoys= 3527 | dependencies: 3528 | semver "^6.3.0" 3529 | 3530 | semver-regex@^2.0.0: 3531 | version "2.0.0" 3532 | resolved "https://registry.npm.taobao.org/semver-regex/download/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" 3533 | integrity sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg= 3534 | 3535 | "semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.6.0, semver@^5.7.1: 3536 | version "5.7.1" 3537 | resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 3538 | integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= 3539 | 3540 | semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: 3541 | version "6.3.0" 3542 | resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3543 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= 3544 | 3545 | semver@^7.2.1: 3546 | version "7.3.2" 3547 | resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 3548 | integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= 3549 | 3550 | serialize-javascript@3.0.0: 3551 | version "3.0.0" 3552 | resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.0.0.tgz#492e489a2d77b7b804ad391a5f5d97870952548e" 3553 | integrity sha1-SS5Imi13t7gErTkaX12XhwlSVI4= 3554 | 3555 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3556 | version "2.0.0" 3557 | resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3558 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 3559 | 3560 | setprototypeof@1.1.1: 3561 | version "1.1.1" 3562 | resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 3563 | integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= 3564 | 3565 | setprototypeof@1.2.0: 3566 | version "1.2.0" 3567 | resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 3568 | integrity sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ= 3569 | 3570 | shebang-command@^2.0.0: 3571 | version "2.0.0" 3572 | resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 3573 | integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= 3574 | dependencies: 3575 | shebang-regex "^3.0.0" 3576 | 3577 | shebang-regex@^3.0.0: 3578 | version "3.0.0" 3579 | resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 3580 | integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= 3581 | 3582 | sift@7.0.1: 3583 | version "7.0.1" 3584 | resolved "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz?cache=0&sync_timestamp=1594916485192&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsift%2Fdownload%2Fsift-7.0.1.tgz#47d62c50b159d316f1372f8b53f9c10cd21a4b08" 3585 | integrity sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg= 3586 | 3587 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3588 | version "3.0.3" 3589 | resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1593529702917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 3590 | integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= 3591 | 3592 | slash@^3.0.0: 3593 | version "3.0.0" 3594 | resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz?cache=0&sync_timestamp=1593529703136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 3595 | integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= 3596 | 3597 | slice-ansi@^2.1.0: 3598 | version "2.1.0" 3599 | resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 3600 | integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= 3601 | dependencies: 3602 | ansi-styles "^3.2.0" 3603 | astral-regex "^1.0.0" 3604 | is-fullwidth-code-point "^2.0.0" 3605 | 3606 | slice-ansi@^3.0.0: 3607 | version "3.0.0" 3608 | resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 3609 | integrity sha1-Md3BCTCht+C2ewjJbC9Jt3p4l4c= 3610 | dependencies: 3611 | ansi-styles "^4.0.0" 3612 | astral-regex "^2.0.0" 3613 | is-fullwidth-code-point "^3.0.0" 3614 | 3615 | slice-ansi@^4.0.0: 3616 | version "4.0.0" 3617 | resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 3618 | integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= 3619 | dependencies: 3620 | ansi-styles "^4.0.0" 3621 | astral-regex "^2.0.0" 3622 | is-fullwidth-code-point "^3.0.0" 3623 | 3624 | sliced@1.0.1: 3625 | version "1.0.1" 3626 | resolved "https://registry.npm.taobao.org/sliced/download/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" 3627 | integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= 3628 | 3629 | source-map-support@^0.4.0: 3630 | version "0.4.18" 3631 | resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 3632 | integrity sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8= 3633 | dependencies: 3634 | source-map "^0.5.6" 3635 | 3636 | source-map@^0.1.34: 3637 | version "0.1.43" 3638 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" 3639 | integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= 3640 | dependencies: 3641 | amdefine ">=0.0.4" 3642 | 3643 | source-map@^0.5.0, source-map@^0.5.6: 3644 | version "0.5.7" 3645 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3646 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3647 | 3648 | source-map@~0.6.1: 3649 | version "0.6.1" 3650 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1593529658602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3651 | integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= 3652 | 3653 | sparse-bitfield@^3.0.3: 3654 | version "3.0.3" 3655 | resolved "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" 3656 | integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= 3657 | dependencies: 3658 | memory-pager "^1.0.2" 3659 | 3660 | spdx-correct@^3.0.0: 3661 | version "3.1.1" 3662 | resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 3663 | integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= 3664 | dependencies: 3665 | spdx-expression-parse "^3.0.0" 3666 | spdx-license-ids "^3.0.0" 3667 | 3668 | spdx-exceptions@^2.1.0: 3669 | version "2.3.0" 3670 | resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 3671 | integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= 3672 | 3673 | spdx-expression-parse@^3.0.0: 3674 | version "3.0.1" 3675 | resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 3676 | integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= 3677 | dependencies: 3678 | spdx-exceptions "^2.1.0" 3679 | spdx-license-ids "^3.0.0" 3680 | 3681 | spdx-license-ids@^3.0.0: 3682 | version "3.0.5" 3683 | resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 3684 | integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= 3685 | 3686 | sprintf-js@~1.0.2: 3687 | version "1.0.3" 3688 | resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3689 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3690 | 3691 | "statuses@>= 1.5.0 < 2", statuses@^1.5.0: 3692 | version "1.5.0" 3693 | resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 3694 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 3695 | 3696 | streamroller@^2.2.4: 3697 | version "2.2.4" 3698 | resolved "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" 3699 | integrity sha1-wZjO1C25QIamGTYIGHzoCl8rDlM= 3700 | dependencies: 3701 | date-format "^2.1.0" 3702 | debug "^4.1.1" 3703 | fs-extra "^8.1.0" 3704 | 3705 | string-argv@0.3.1: 3706 | version "0.3.1" 3707 | resolved "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 3708 | integrity sha1-leL77AQnrhkYSTX4FtdKqkxcGdo= 3709 | 3710 | string-width@^1.0.1: 3711 | version "1.0.2" 3712 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3713 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 3714 | dependencies: 3715 | code-point-at "^1.0.0" 3716 | is-fullwidth-code-point "^1.0.0" 3717 | strip-ansi "^3.0.0" 3718 | 3719 | "string-width@^1.0.2 || 2": 3720 | version "2.1.1" 3721 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3722 | integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= 3723 | dependencies: 3724 | is-fullwidth-code-point "^2.0.0" 3725 | strip-ansi "^4.0.0" 3726 | 3727 | string-width@^3.0.0, string-width@^3.1.0: 3728 | version "3.1.0" 3729 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 3730 | integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= 3731 | dependencies: 3732 | emoji-regex "^7.0.1" 3733 | is-fullwidth-code-point "^2.0.0" 3734 | strip-ansi "^5.1.0" 3735 | 3736 | string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: 3737 | version "4.2.0" 3738 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 3739 | integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= 3740 | dependencies: 3741 | emoji-regex "^8.0.0" 3742 | is-fullwidth-code-point "^3.0.0" 3743 | strip-ansi "^6.0.0" 3744 | 3745 | string.prototype.trimend@^1.0.1: 3746 | version "1.0.1" 3747 | resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 3748 | integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= 3749 | dependencies: 3750 | define-properties "^1.1.3" 3751 | es-abstract "^1.17.5" 3752 | 3753 | string.prototype.trimstart@^1.0.1: 3754 | version "1.0.1" 3755 | resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 3756 | integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= 3757 | dependencies: 3758 | define-properties "^1.1.3" 3759 | es-abstract "^1.17.5" 3760 | 3761 | string_decoder@~1.1.1: 3762 | version "1.1.1" 3763 | resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3764 | integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= 3765 | dependencies: 3766 | safe-buffer "~5.1.0" 3767 | 3768 | stringifier@^1.3.0: 3769 | version "1.4.0" 3770 | resolved "https://registry.npm.taobao.org/stringifier/download/stringifier-1.4.0.tgz#d704581567f4526265d00ed8ecb354a02c3fec28" 3771 | integrity sha1-1wRYFWf0UmJl0A7Y7LNUoCw/7Cg= 3772 | dependencies: 3773 | core-js "^2.0.0" 3774 | traverse "^0.6.6" 3775 | type-name "^2.0.1" 3776 | 3777 | stringify-object@^3.3.0: 3778 | version "3.3.0" 3779 | resolved "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" 3780 | integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= 3781 | dependencies: 3782 | get-own-enumerable-property-symbols "^3.0.0" 3783 | is-obj "^1.0.1" 3784 | is-regexp "^1.0.0" 3785 | 3786 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3787 | version "3.0.1" 3788 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3789 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 3790 | dependencies: 3791 | ansi-regex "^2.0.0" 3792 | 3793 | strip-ansi@^4.0.0: 3794 | version "4.0.0" 3795 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3796 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3797 | dependencies: 3798 | ansi-regex "^3.0.0" 3799 | 3800 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 3801 | version "5.2.0" 3802 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 3803 | integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= 3804 | dependencies: 3805 | ansi-regex "^4.1.0" 3806 | 3807 | strip-ansi@^6.0.0: 3808 | version "6.0.0" 3809 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 3810 | integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= 3811 | dependencies: 3812 | ansi-regex "^5.0.0" 3813 | 3814 | strip-bom@^3.0.0: 3815 | version "3.0.0" 3816 | resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3817 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 3818 | 3819 | strip-final-newline@^2.0.0: 3820 | version "2.0.0" 3821 | resolved "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 3822 | integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= 3823 | 3824 | strip-json-comments@3.0.1: 3825 | version "3.0.1" 3826 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz?cache=0&sync_timestamp=1594567555399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 3827 | integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc= 3828 | 3829 | strip-json-comments@^3.1.0: 3830 | version "3.1.1" 3831 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1594567555399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 3832 | integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= 3833 | 3834 | strip-json-comments@~2.0.1: 3835 | version "2.0.1" 3836 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594567555399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3837 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3838 | 3839 | superagent@^3.8.3: 3840 | version "3.8.3" 3841 | resolved "https://registry.npm.taobao.org/superagent/download/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128" 3842 | integrity sha1-Rg6g29t9WxG8T3jeulZfhqF44Sg= 3843 | dependencies: 3844 | component-emitter "^1.2.0" 3845 | cookiejar "^2.1.0" 3846 | debug "^3.1.0" 3847 | extend "^3.0.0" 3848 | form-data "^2.3.1" 3849 | formidable "^1.2.0" 3850 | methods "^1.1.1" 3851 | mime "^1.4.1" 3852 | qs "^6.5.1" 3853 | readable-stream "^2.3.5" 3854 | 3855 | supertest@^4.0.2: 3856 | version "4.0.2" 3857 | resolved "https://registry.npm.taobao.org/supertest/download/supertest-4.0.2.tgz#c2234dbdd6dc79b6f15b99c8d6577b90e4ce3f36" 3858 | integrity sha1-wiNNvdbcebbxW5nI1ld7kOTOPzY= 3859 | dependencies: 3860 | methods "^1.1.2" 3861 | superagent "^3.8.3" 3862 | 3863 | supports-color@7.1.0, supports-color@^7.1.0: 3864 | version "7.1.0" 3865 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 3866 | integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= 3867 | dependencies: 3868 | has-flag "^4.0.0" 3869 | 3870 | supports-color@^5.3.0, supports-color@^5.5.0: 3871 | version "5.5.0" 3872 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3873 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 3874 | dependencies: 3875 | has-flag "^3.0.0" 3876 | 3877 | table@^5.2.3: 3878 | version "5.4.6" 3879 | resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 3880 | integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= 3881 | dependencies: 3882 | ajv "^6.10.2" 3883 | lodash "^4.17.14" 3884 | slice-ansi "^2.1.0" 3885 | string-width "^3.0.0" 3886 | 3887 | tar@^4.4.2: 3888 | version "4.4.13" 3889 | resolved "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" 3890 | integrity sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU= 3891 | dependencies: 3892 | chownr "^1.1.1" 3893 | fs-minipass "^1.2.5" 3894 | minipass "^2.8.6" 3895 | minizlib "^1.2.1" 3896 | mkdirp "^0.5.0" 3897 | safe-buffer "^5.1.2" 3898 | yallist "^3.0.3" 3899 | 3900 | term-size@^2.1.0: 3901 | version "2.2.0" 3902 | resolved "https://registry.npm.taobao.org/term-size/download/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" 3903 | integrity sha1-Hxat7f6b3BiADhd2ghc0CG/MZ1M= 3904 | 3905 | text-table@^0.2.0: 3906 | version "0.2.0" 3907 | resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3908 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 3909 | 3910 | through@^2.3.8: 3911 | version "2.3.8" 3912 | resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3913 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 3914 | 3915 | to-readable-stream@^1.0.0: 3916 | version "1.0.0" 3917 | resolved "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 3918 | integrity sha1-zgqgwvPfat+FLvtASng+d8BHV3E= 3919 | 3920 | to-regex-range@^5.0.1: 3921 | version "5.0.1" 3922 | resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 3923 | integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= 3924 | dependencies: 3925 | is-number "^7.0.0" 3926 | 3927 | toidentifier@1.0.0: 3928 | version "1.0.0" 3929 | resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 3930 | integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= 3931 | 3932 | touch@^3.1.0: 3933 | version "3.1.0" 3934 | resolved "https://registry.npm.taobao.org/touch/download/touch-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftouch%2Fdownload%2Ftouch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" 3935 | integrity sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds= 3936 | dependencies: 3937 | nopt "~1.0.10" 3938 | 3939 | traverse@^0.6.6: 3940 | version "0.6.6" 3941 | resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" 3942 | integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= 3943 | 3944 | tsconfig-paths@^3.9.0: 3945 | version "3.9.0" 3946 | resolved "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" 3947 | integrity sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs= 3948 | dependencies: 3949 | "@types/json5" "^0.0.29" 3950 | json5 "^1.0.1" 3951 | minimist "^1.2.0" 3952 | strip-bom "^3.0.0" 3953 | 3954 | tslib@^1.9.0: 3955 | version "1.13.0" 3956 | resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz?cache=0&sync_timestamp=1593529718411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" 3957 | integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM= 3958 | 3959 | tsscmp@1.0.6: 3960 | version "1.0.6" 3961 | resolved "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" 3962 | integrity sha1-hbmVg6w1iexL/vgltQAKqRHWBes= 3963 | 3964 | type-check@^0.4.0, type-check@~0.4.0: 3965 | version "0.4.0" 3966 | resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 3967 | integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= 3968 | dependencies: 3969 | prelude-ls "^1.2.1" 3970 | 3971 | type-check@~0.3.2: 3972 | version "0.3.2" 3973 | resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3974 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 3975 | dependencies: 3976 | prelude-ls "~1.1.2" 3977 | 3978 | type-fest@^0.11.0: 3979 | version "0.11.0" 3980 | resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 3981 | integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= 3982 | 3983 | type-fest@^0.3.0: 3984 | version "0.3.1" 3985 | resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" 3986 | integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= 3987 | 3988 | type-fest@^0.8.1: 3989 | version "0.8.1" 3990 | resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 3991 | integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= 3992 | 3993 | type-is@^1.6.16: 3994 | version "1.6.18" 3995 | resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 3996 | integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= 3997 | dependencies: 3998 | media-typer "0.3.0" 3999 | mime-types "~2.1.24" 4000 | 4001 | type-name@^2.0.0, type-name@^2.0.1: 4002 | version "2.0.2" 4003 | resolved "https://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" 4004 | integrity sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q= 4005 | 4006 | type@^1.0.1: 4007 | version "1.2.0" 4008 | resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" 4009 | integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= 4010 | 4011 | type@^2.0.0: 4012 | version "2.0.0" 4013 | resolved "https://registry.npm.taobao.org/type/download/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" 4014 | integrity sha1-Xxb/bvLrRPJgSU2uJxAzspwJqcM= 4015 | 4016 | typedarray-to-buffer@^3.1.5: 4017 | version "3.1.5" 4018 | resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 4019 | integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= 4020 | dependencies: 4021 | is-typedarray "^1.0.0" 4022 | 4023 | undefsafe@^2.0.2: 4024 | version "2.0.3" 4025 | resolved "https://registry.npm.taobao.org/undefsafe/download/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" 4026 | integrity sha1-axZucJStRjE7IgLafsws18xueq4= 4027 | dependencies: 4028 | debug "^2.2.0" 4029 | 4030 | unique-string@^2.0.0: 4031 | version "2.0.0" 4032 | resolved "https://registry.npm.taobao.org/unique-string/download/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 4033 | integrity sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0= 4034 | dependencies: 4035 | crypto-random-string "^2.0.0" 4036 | 4037 | universal-deep-strict-equal@^1.2.1: 4038 | version "1.2.2" 4039 | resolved "https://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz#0da4ac2f73cff7924c81fa4de018ca562ca2b0a7" 4040 | integrity sha1-DaSsL3PP95JMgfpN4BjKViyisKc= 4041 | dependencies: 4042 | array-filter "^1.0.0" 4043 | indexof "0.0.1" 4044 | object-keys "^1.0.0" 4045 | 4046 | universalify@^0.1.0: 4047 | version "0.1.2" 4048 | resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 4049 | integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= 4050 | 4051 | unpipe@1.0.0: 4052 | version "1.0.0" 4053 | resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 4054 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 4055 | 4056 | update-notifier@^4.0.0: 4057 | version "4.1.0" 4058 | resolved "https://registry.npm.taobao.org/update-notifier/download/update-notifier-4.1.0.tgz?cache=0&sync_timestamp=1593529725735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupdate-notifier%2Fdownload%2Fupdate-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" 4059 | integrity sha1-SGa5jDvFtUc8AgsSUFg2KPmjKPM= 4060 | dependencies: 4061 | boxen "^4.2.0" 4062 | chalk "^3.0.0" 4063 | configstore "^5.0.1" 4064 | has-yarn "^2.1.0" 4065 | import-lazy "^2.1.0" 4066 | is-ci "^2.0.0" 4067 | is-installed-globally "^0.3.1" 4068 | is-npm "^4.0.0" 4069 | is-yarn-global "^0.3.0" 4070 | latest-version "^5.0.0" 4071 | pupa "^2.0.1" 4072 | semver-diff "^3.1.1" 4073 | xdg-basedir "^4.0.0" 4074 | 4075 | uri-js@^4.2.2: 4076 | version "4.2.2" 4077 | resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 4078 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 4079 | dependencies: 4080 | punycode "^2.1.0" 4081 | 4082 | url-parse-lax@^3.0.0: 4083 | version "3.0.0" 4084 | resolved "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 4085 | integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= 4086 | dependencies: 4087 | prepend-http "^2.0.0" 4088 | 4089 | util-deprecate@~1.0.1: 4090 | version "1.0.2" 4091 | resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 4092 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 4093 | 4094 | uuid@^8.2.0: 4095 | version "8.2.0" 4096 | resolved "https://registry.npm.taobao.org/uuid/download/uuid-8.2.0.tgz#cb10dd6b118e2dada7d0cd9730ba7417c93d920e" 4097 | integrity sha1-yxDdaxGOLa2n0M2XMLp0F8k9kg4= 4098 | 4099 | v8-compile-cache@^2.0.3: 4100 | version "2.1.1" 4101 | resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz?cache=0&sync_timestamp=1593529707025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" 4102 | integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= 4103 | 4104 | validate-npm-package-license@^3.0.1: 4105 | version "3.0.4" 4106 | resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 4107 | integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= 4108 | dependencies: 4109 | spdx-correct "^3.0.0" 4110 | spdx-expression-parse "^3.0.0" 4111 | 4112 | vary@^1.1.2: 4113 | version "1.1.2" 4114 | resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 4115 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 4116 | 4117 | which-module@^2.0.0: 4118 | version "2.0.0" 4119 | resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 4120 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 4121 | 4122 | which-pm-runs@^1.0.0: 4123 | version "1.0.0" 4124 | resolved "https://registry.npm.taobao.org/which-pm-runs/download/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" 4125 | integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= 4126 | 4127 | which@2.0.2, which@^2.0.1: 4128 | version "2.0.2" 4129 | resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 4130 | integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= 4131 | dependencies: 4132 | isexe "^2.0.0" 4133 | 4134 | wide-align@1.1.3, wide-align@^1.1.0: 4135 | version "1.1.3" 4136 | resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 4137 | integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= 4138 | dependencies: 4139 | string-width "^1.0.2 || 2" 4140 | 4141 | widest-line@^3.1.0: 4142 | version "3.1.0" 4143 | resolved "https://registry.npm.taobao.org/widest-line/download/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" 4144 | integrity sha1-gpIzO79my0X/DeFgOxNreuFJbso= 4145 | dependencies: 4146 | string-width "^4.0.0" 4147 | 4148 | word-wrap@^1.2.3, word-wrap@~1.2.3: 4149 | version "1.2.3" 4150 | resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 4151 | integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= 4152 | 4153 | workerpool@6.0.0: 4154 | version "6.0.0" 4155 | resolved "https://registry.npm.taobao.org/workerpool/download/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" 4156 | integrity sha1-harWf6GiyO+ThqG0NTmQD2HQPVg= 4157 | 4158 | wrap-ansi@^5.1.0: 4159 | version "5.1.0" 4160 | resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 4161 | integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= 4162 | dependencies: 4163 | ansi-styles "^3.2.0" 4164 | string-width "^3.0.0" 4165 | strip-ansi "^5.0.0" 4166 | 4167 | wrap-ansi@^6.2.0: 4168 | version "6.2.0" 4169 | resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 4170 | integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= 4171 | dependencies: 4172 | ansi-styles "^4.0.0" 4173 | string-width "^4.1.0" 4174 | strip-ansi "^6.0.0" 4175 | 4176 | wrappy@1: 4177 | version "1.0.2" 4178 | resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 4179 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 4180 | 4181 | write-file-atomic@^3.0.0: 4182 | version "3.0.3" 4183 | resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 4184 | integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= 4185 | dependencies: 4186 | imurmurhash "^0.1.4" 4187 | is-typedarray "^1.0.0" 4188 | signal-exit "^3.0.2" 4189 | typedarray-to-buffer "^3.1.5" 4190 | 4191 | write@1.0.3: 4192 | version "1.0.3" 4193 | resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 4194 | integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= 4195 | dependencies: 4196 | mkdirp "^0.5.1" 4197 | 4198 | x-xss-protection@1.3.0: 4199 | version "1.3.0" 4200 | resolved "https://registry.npm.taobao.org/x-xss-protection/download/x-xss-protection-1.3.0.tgz#3e3a8dd638da80421b0e9fff11a2dbe168f6d52c" 4201 | integrity sha1-PjqN1jjagEIbDp//EaLb4Wj21Sw= 4202 | 4203 | xdg-basedir@^4.0.0: 4204 | version "4.0.0" 4205 | resolved "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" 4206 | integrity sha1-S8jZmEQDaWIl74OhVzy7y0552xM= 4207 | 4208 | xtend@^4.0.0: 4209 | version "4.0.2" 4210 | resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 4211 | integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= 4212 | 4213 | y18n@^4.0.0: 4214 | version "4.0.0" 4215 | resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 4216 | integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= 4217 | 4218 | yallist@^3.0.0, yallist@^3.0.3: 4219 | version "3.1.1" 4220 | resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 4221 | integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= 4222 | 4223 | yaml@^1.7.2: 4224 | version "1.10.0" 4225 | resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" 4226 | integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4= 4227 | 4228 | yargs-parser@13.1.2, yargs-parser@^13.1.2: 4229 | version "13.1.2" 4230 | resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" 4231 | integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= 4232 | dependencies: 4233 | camelcase "^5.0.0" 4234 | decamelize "^1.2.0" 4235 | 4236 | yargs-parser@^18.1.2: 4237 | version "18.1.3" 4238 | resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 4239 | integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A= 4240 | dependencies: 4241 | camelcase "^5.0.0" 4242 | decamelize "^1.2.0" 4243 | 4244 | yargs-unparser@1.6.0: 4245 | version "1.6.0" 4246 | resolved "https://registry.npm.taobao.org/yargs-unparser/download/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" 4247 | integrity sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8= 4248 | dependencies: 4249 | flat "^4.1.0" 4250 | lodash "^4.17.15" 4251 | yargs "^13.3.0" 4252 | 4253 | yargs@13.3.2, yargs@^13.3.0: 4254 | version "13.3.2" 4255 | resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 4256 | integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= 4257 | dependencies: 4258 | cliui "^5.0.0" 4259 | find-up "^3.0.0" 4260 | get-caller-file "^2.0.1" 4261 | require-directory "^2.1.1" 4262 | require-main-filename "^2.0.0" 4263 | set-blocking "^2.0.0" 4264 | string-width "^3.0.0" 4265 | which-module "^2.0.0" 4266 | y18n "^4.0.0" 4267 | yargs-parser "^13.1.2" 4268 | 4269 | yargs@^15.4.1: 4270 | version "15.4.1" 4271 | resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" 4272 | integrity sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg= 4273 | dependencies: 4274 | cliui "^6.0.0" 4275 | decamelize "^1.2.0" 4276 | find-up "^4.1.0" 4277 | get-caller-file "^2.0.1" 4278 | require-directory "^2.1.1" 4279 | require-main-filename "^2.0.0" 4280 | set-blocking "^2.0.0" 4281 | string-width "^4.2.0" 4282 | which-module "^2.0.0" 4283 | y18n "^4.0.0" 4284 | yargs-parser "^18.1.2" 4285 | 4286 | ylru@^1.2.0: 4287 | version "1.2.1" 4288 | resolved "https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" 4289 | integrity sha1-9Xa2M0FUeYnB3nuiiHYJI7J/6E8= 4290 | --------------------------------------------------------------------------------