diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..4d54b63 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,19 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "rules": { + "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/semi": "warn", + "curly": "warn", + "eqeqeq": "warn", + "no-throw-literal": "warn", + "semi": "off" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..72450c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +out +node_modules +.vscode-test/ +*.vsix +src/config.ts diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..3ac9aeb --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "dbaeumer.vscode-eslint" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..670d6e6 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,34 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ], + "outFiles": [ + "${workspaceFolder}/out/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + }, + { + "name": "Extension Tests", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" + ], + "outFiles": [ + "${workspaceFolder}/out/test/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..30bf8c2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false // set this to true to hide the "out" folder with the compiled JS files + }, + "search.exclude": { + "out": true // set this to false to include "out" folder in search results + }, + // Turn off tsc task auto detection since we have the necessary tasks as npm scripts + "typescript.tsc.autoDetect": "off" +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..3b17e53 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,20 @@ +// See https://go.microsoft.com/fwlink/?LinkId=733558 +// for the documentation about the tasks.json format +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "watch", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never" + }, + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..0a5a2bf --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,11 @@ +.vscode/** +.vscode-test/** +out/test/** +src/** +.gitignore +.yarnrc +vsc-extension-quickstart.md +**/tsconfig.json +**/.eslintrc.json +**/*.map +**/*.ts diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000..f757a6a --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +--ignore-engines true \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c58918e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log + +All notable changes to the "front-end-interview" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [Unreleased] + +- Initial release \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c611ef2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 滑威 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..c10df40 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# front-end-interview README + +一个前端刷题插件 + +## Features + +1. 内置题库 +2. 自动生成记录你答题答案的文件夹 + +## Requirements + +🈚️ + +## Extension Settings + +* `interview.workspaceFolder`: 文件夹地址 + +## Known Issues + +## Release Notes + +### Beta 0.0.1 + +完成第一版,仅有题目以及文件夹 + +## Working with Markdown + +### For more information + +**Enjoy!** diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..2d8fe7c --- /dev/null +++ b/index.d.ts @@ -0,0 +1 @@ +declare type ProgressEvent = any; \ No newline at end of file diff --git a/lerna.json b/lerna.json deleted file mode 100644 index d6707ca..0000000 --- a/lerna.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "packages": [ - "packages/*" - ], - "version": "0.0.0" -} diff --git a/media/interview.svg b/media/interview.svg new file mode 100644 index 0000000..2eed464 --- /dev/null +++ b/media/interview.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..4f271b3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2980 @@ +{ + "name": "front-end-interview", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "http://npm-registry.qunhequnhe.com/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz", + "integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "http://npm-registry.qunhequnhe.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "http://npm-registry.qunhequnhe.com/@babel/highlight/download/@babel/highlight-7.10.4.tgz", + "integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "http://npm-registry.qunhequnhe.com/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "http://npm-registry.qunhequnhe.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://npm-registry.qunhequnhe.com/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@eslint/eslintrc": { + "version": "0.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/@eslint/eslintrc/download/@eslint/eslintrc-0.1.3.tgz", + "integrity": "sha1-fRorI1hVLMBINMCXm9QnU2LjcIU=", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz", + "integrity": "sha1-Olgr21OATGum0UZXnEblITDPSjs=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz", + "integrity": "sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M=", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "http://npm-registry.qunhequnhe.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz", + "integrity": "sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@types/ali-oss": { + "version": "6.0.5", + "resolved": "http://npm-registry.qunhequnhe.com/@types/ali-oss/download/@types/ali-oss-6.0.5.tgz", + "integrity": "sha1-UGIaEpvIDbxK2zdkx2nKL+yt5xo=", + "dev": true + }, + "@types/fs-extra": { + "version": "9.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/@types/fs-extra/download/@types/fs-extra-9.0.1.tgz", + "integrity": "sha1-kcj8TFH21dvkTCypqwkxC9AMeRg=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/@types/glob/download/@types/glob-7.1.3.tgz", + "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.11.2", + "resolved": "http://npm-registry.qunhequnhe.com/@types/node/download/@types/node-14.11.2.tgz", + "integrity": "sha1-LeHtZnBDk4faHJ9UmireKwp5klY=", + "dev": true + } + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/@types/json-schema/download/@types/json-schema-7.0.6.tgz", + "integrity": "sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", + "dev": true + }, + "@types/mocha": { + "version": "8.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/@types/mocha/download/@types/mocha-8.0.3.tgz", + "integrity": "sha1-UbIbasttG5I7vcdyXDj59FUWZAI=", + "dev": true + }, + "@types/node": { + "version": "12.12.62", + "resolved": "http://npm-registry.qunhequnhe.com/@types/node/download/@types/node-12.12.62.tgz", + "integrity": "sha1-czkj1zZpGI01lQJT3RiiFXAIXSs=", + "dev": true + }, + "@types/vscode": { + "version": "1.49.0", + "resolved": "http://npm-registry.qunhequnhe.com/@types/vscode/download/@types/vscode-1.49.0.tgz", + "integrity": "sha1-83Mdl9fosml1EOsm9ubQTujBc1I=", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.3.0.tgz", + "integrity": "sha1-GiPZBL+OokjQncN2GvUw2Q85yPo=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.3.0", + "@typescript-eslint/scope-manager": "4.3.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.3.0.tgz", + "integrity": "sha1-PzxsUI4BuAUNUbAW5/faDjrvy4c=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.3.0", + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/typescript-estree": "4.3.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.3.0.tgz", + "integrity": "sha1-aE/AvmVRor/LJTmR7sPHhqjAY6M=", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.3.0", + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/typescript-estree": "4.3.0", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.3.0.tgz", + "integrity": "sha1-x0Mifgh1RZaAgNI2LPsSc4Qstqc=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/visitor-keys": "4.3.0" + } + }, + "@typescript-eslint/types": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/types/download/@typescript-eslint/types-4.3.0.tgz", + "integrity": "sha1-HwstXhQFQ+JhTwbUj7OulRk8bd8=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.3.0.tgz", + "integrity": "sha1-DtwQaOay5Mf9xU1h4yn852JBzug=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/visitor-keys": "4.3.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.3.0.tgz", + "integrity": "sha1-DlqwoJVSkD7eriBZguhSHhdjWuA=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/eslint-visitor-keys/download/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha1-If3I+82ceVzAMh8FY3AglXUVEag=", + "dev": true + } + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "http://npm-registry.qunhequnhe.com/acorn/download/acorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "http://npm-registry.qunhequnhe.com/acorn-jsx/download/acorn-jsx-5.3.1.tgz", + "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/address/download/address-1.1.2.tgz", + "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/agent-base/download/agent-base-4.3.0.tgz", + "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "resolved": "http://npm-registry.qunhequnhe.com/agentkeepalive/download/agentkeepalive-3.5.2.tgz", + "integrity": "sha1-oROSTdP6JKC8O3gQjEUMKr7gD2c=", + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "6.12.5", + "resolved": "http://npm-registry.qunhequnhe.com/ajv/download/ajv-6.12.5.tgz", + "integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ali-oss": { + "version": "6.10.0", + "resolved": "http://npm-registry.qunhequnhe.com/ali-oss/download/ali-oss-6.10.0.tgz", + "integrity": "sha1-m21hWGJZhR0/fjOuni7VjnflJX4=", + "requires": { + "address": "^1.0.0", + "agentkeepalive": "^3.4.1", + "any-promise": "^1.3.0", + "bowser": "^1.6.0", + "co-defer": "^1.0.0", + "copy-to": "^2.0.1", + "dateformat": "^2.0.0", + "debug": "^2.2.0", + "destroy": "^1.0.4", + "end-or-error": "^1.0.1", + "get-ready": "^1.0.0", + "humanize-ms": "^1.2.0", + "is-type-of": "^1.0.0", + "js-base64": "^2.5.2", + "jstoxml": "^0.2.3", + "merge-descriptors": "^1.0.1", + "mime": "^2.4.5", + "mz-modules": "^2.1.0", + "platform": "^1.3.1", + "pump": "^3.0.0", + "sdk-base": "^2.0.1", + "stream-http": "2.8.2", + "stream-wormhole": "^1.0.4", + "urllib": "^2.33.1", + "utility": "^1.8.0", + "xml2js": "^0.4.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-colors/download/ansi-colors-4.1.1.tgz", + "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/any-promise/download/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "3.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/anymatch/download/anymatch-3.1.1.tgz", + "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "http://npm-registry.qunhequnhe.com/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/array-union/download/array-union-2.1.0.tgz", + "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", + "dev": true + }, + "array.prototype.map": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/array.prototype.map/download/array.prototype.map-1.0.2.tgz", + "integrity": "sha1-mkFZ9BZFiiPpSDB43hEGsu9o+Ow=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.4" + } + }, + "ast-types": { + "version": "0.14.2", + "resolved": "http://npm-registry.qunhequnhe.com/ast-types/download/ast-types-0.14.2.tgz", + "integrity": "sha1-YAuILfhYPjzU8t9fog+oN1nUvf0=", + "requires": { + "tslib": "^2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/tslib/download/tslib-2.0.2.tgz", + "integrity": "sha1-RiKVYxGF20SyGx6jYVtjzRwDgkI=" + } + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/binary-extensions/download/binary-extensions-2.1.0.tgz", + "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", + "dev": true + }, + "bowser": { + "version": "1.9.4", + "resolved": "http://npm-registry.qunhequnhe.com/bowser/download/bowser-1.9.4.tgz", + "integrity": "sha1-iQxYooE6nTJDcEM0+oG5alwVDJo=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "http://npm-registry.qunhequnhe.com/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "http://npm-registry.qunhequnhe.com/browser-stdout/download/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/bytes/download/bytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "http://npm-registry.qunhequnhe.com/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/chalk/download/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "http://npm-registry.qunhequnhe.com/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "http://npm-registry.qunhequnhe.com/chokidar/download/chokidar-3.4.2.tgz", + "integrity": "sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0=", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "http://npm-registry.qunhequnhe.com/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-defer": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/co-defer/download/co-defer-1.0.0.tgz", + "integrity": "sha1-Pkp4eo7tawoh7ih8CU9+jeDTyBg=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "http://npm-registry.qunhequnhe.com/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" + }, + "copy-to": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/copy-to/download/copy-to-2.0.1.tgz", + "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/data-uri-to-buffer/download/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU=" + }, + "dateformat": { + "version": "2.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/dateformat/download/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" + }, + "debug": { + "version": "4.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-4.2.0.tgz", + "integrity": "sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-user-agent": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/default-user-agent/download/default-user-agent-1.0.0.tgz", + "integrity": "sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY=", + "requires": { + "os-name": "~1.0.3" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/degenerator/download/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/esprima/download/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diff": { + "version": "4.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", + "dev": true + }, + "digest-header": { + "version": "0.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/digest-header/download/digest-header-0.0.1.tgz", + "integrity": "sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y=", + "requires": { + "utility": "0.1.11" + }, + "dependencies": { + "utility": { + "version": "0.1.11", + "resolved": "http://npm-registry.qunhequnhe.com/utility/download/utility-0.1.11.tgz", + "integrity": "sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU=", + "requires": { + "address": ">=0.0.1" + } + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/dir-glob/download/dir-glob-3.0.1.tgz", + "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "http://npm-registry.qunhequnhe.com/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "end-or-error": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/end-or-error/download/end-or-error-1.0.1.tgz", + "integrity": "sha1-3HpiEP5403L+4kqLSJnb0VVBTcs=" + }, + "enquirer": { + "version": "2.3.6", + "resolved": "http://npm-registry.qunhequnhe.com/enquirer/download/enquirer-2.3.6.tgz", + "integrity": "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "es-abstract": { + "version": "1.17.7", + "resolved": "http://npm-registry.qunhequnhe.com/es-abstract/download/es-abstract-1.17.7.tgz", + "integrity": "sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "http://npm-registry.qunhequnhe.com/es-abstract/download/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/object.assign/download/object.assign-4.1.1.tgz", + "integrity": "sha1-MDhnpmbN1Bk27N7fsfjz4ypHjN0=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "http://npm-registry.qunhequnhe.com/es-abstract/download/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + } + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/es-array-method-boxes-properly/download/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4=", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/es-get-iterator/download/es-get-iterator-1.1.0.tgz", + "integrity": "sha1-u5itnW1jsxqs3I+J1dDuV7y1tMg=", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "http://npm-registry.qunhequnhe.com/isarray/download/isarray-2.0.5.tgz", + "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "http://npm-registry.qunhequnhe.com/es6-promise/download/es6-promise-4.2.8.tgz", + "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/es6-promisify/download/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "http://npm-registry.qunhequnhe.com/escodegen/download/escodegen-1.14.3.tgz", + "integrity": "sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "http://npm-registry.qunhequnhe.com/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + } + } + }, + "eslint": { + "version": "7.10.0", + "resolved": "http://npm-registry.qunhequnhe.com/eslint/download/eslint-7.10.0.tgz", + "integrity": "sha1-SU7bPkdQ+3kRM8o3nnhqj2SMcrk=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.1.3", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/eslint-scope/download/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/eslint-utils/download/eslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/espree/download/espree-7.3.0.tgz", + "integrity": "sha1-3DBDfPZ5R89XYSHr14DxXurHI0g=", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "esquery": { + "version": "1.3.1", + "resolved": "http://npm-registry.qunhequnhe.com/esquery/download/esquery-1.3.1.tgz", + "integrity": "sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/estraverse/download/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/esrecurse/download/esrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/estraverse/download/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/estraverse/download/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" + }, + "extend": { + "version": "3.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "http://npm-registry.qunhequnhe.com/fast-glob/download/fast-glob-3.2.4.tgz", + "integrity": "sha1-0grvv5lXk4Pn88xmUpFYybmFVNM=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastq": { + "version": "1.8.0", + "resolved": "http://npm-registry.qunhequnhe.com/fastq/download/fastq-1.8.0.tgz", + "integrity": "sha1-VQ4fn1m7xl/hhctqm02VNXEH9IE=", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/find-up/download/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "4.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/flat/download/flat-4.1.0.tgz", + "integrity": "sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI=", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "http://npm-registry.qunhequnhe.com/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/flatted/download/flatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + }, + "formstream": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/formstream/download/formstream-1.1.0.tgz", + "integrity": "sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk=", + "requires": { + "destroy": "^1.0.4", + "mime": "^1.3.4", + "pause-stream": "~0.0.11" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "http://npm-registry.qunhequnhe.com/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/fsevents/download/fsevents-2.1.3.tgz", + "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", + "dev": true, + "optional": true + }, + "ftp": { + "version": "0.3.10", + "resolved": "http://npm-registry.qunhequnhe.com/ftp/download/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://npm-registry.qunhequnhe.com/readable-stream/download/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "http://npm-registry.qunhequnhe.com/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "http://npm-registry.qunhequnhe.com/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-ready": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/get-ready/download/get-ready-1.0.0.tgz", + "integrity": "sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=" + }, + "get-uri": { + "version": "2.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/get-uri/download/get-uri-2.0.4.tgz", + "integrity": "sha1-1JN6uBniGNTLWuGOT1livvFpzGo=", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "glob": { + "version": "7.1.6", + "resolved": "http://npm-registry.qunhequnhe.com/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/glob-parent/download/glob-parent-5.1.1.tgz", + "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/globals/download/globals-12.4.0.tgz", + "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "globby": { + "version": "11.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/globby/download/globby-11.0.1.tgz", + "integrity": "sha1-mivxB6Bo8//qvEmtcCx57ejP01c=", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "http://npm-registry.qunhequnhe.com/ignore/download/ignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", + "dev": true + } + } + }, + "growl": { + "version": "1.10.5", + "resolved": "http://npm-registry.qunhequnhe.com/growl/download/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" + }, + "he": { + "version": "1.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "http://npm-registry.qunhequnhe.com/http-errors/download/http-errors-1.7.3.tgz", + "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz", + "integrity": "sha1-5IIb7vWyFCogJr1zkm/lN2McVAU=", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/https-proxy-agent/download/https-proxy-agent-3.0.1.tgz", + "integrity": "sha1-uMKGQz6HYCMRsByOo0QT2Fakr4E=", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/humanize-ms/download/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "http://npm-registry.qunhequnhe.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/ignore/download/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "http://npm-registry.qunhequnhe.com/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ip": { + "version": "1.1.5", + "resolved": "http://npm-registry.qunhequnhe.com/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/is-arguments/download/is-arguments-1.0.4.tgz", + "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=", + "dev": true + }, + "is-callable": { + "version": "1.2.2", + "resolved": "http://npm-registry.qunhequnhe.com/is-callable/download/is-callable-1.2.2.tgz", + "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=" + }, + "is-class-hotfix": { + "version": "0.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/is-class-hotfix/download/is-class-hotfix-0.0.6.tgz", + "integrity": "sha1-pSfTH7IyeSgd3l84XHe13nCnJDU=" + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/is-date-object/download/is-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-map": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-map/download/is-map-2.0.1.tgz", + "integrity": "sha1-Ug2vxDB7uOvDO4E95c58lADWRKE=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/is-negative-zero/download/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + }, + "is-number": { + "version": "7.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-regex/download/is-regex-1.1.1.tgz", + "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-set": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-set/download/is-set-2.0.1.tgz", + "integrity": "sha1-0WBK/asXJJhtMAkVdfVJRdp+X0M=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "http://npm-registry.qunhequnhe.com/is-string/download/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-type-of": { + "version": "1.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/is-type-of/download/is-type-of-1.2.1.tgz", + "integrity": "sha1-4mPsOFes608oxHEw7HjbCakg+MU=", + "requires": { + "core-util-is": "^1.0.2", + "is-class-hotfix": "~0.0.6", + "isstream": "~0.1.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/iterate-iterator/download/iterate-iterator-1.0.1.tgz", + "integrity": "sha1-FpOnaMHd15yWkFFFlFPwgv6C6fY=", + "dev": true + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/iterate-value/download/iterate-value-1.0.2.tgz", + "integrity": "sha1-k1EVvTfQBqUgRlNevI0H6ckzf1c=", + "dev": true, + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "http://npm-registry.qunhequnhe.com/js-base64/download/js-base64-2.6.4.tgz", + "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "http://npm-registry.qunhequnhe.com/js-yaml/download/js-yaml-3.14.0.tgz", + "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "http://npm-registry.qunhequnhe.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jstoxml": { + "version": "0.2.4", + "resolved": "http://npm-registry.qunhequnhe.com/jstoxml/download/jstoxml-0.2.4.tgz", + "integrity": "sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc=" + }, + "ko-sleep": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/ko-sleep/download/ko-sleep-1.0.3.tgz", + "integrity": "sha1-KKKgoUhei39BX/SI3uF9JHiKsII=", + "requires": { + "ms": "^2.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "http://npm-registry.qunhequnhe.com/levn/download/levn-0.4.1.tgz", + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "dependencies": { + "prelude-ls": { + "version": "1.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/prelude-ls/download/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/type-check/download/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/locate-path/download/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "http://npm-registry.qunhequnhe.com/lodash/download/lodash-4.17.20.tgz", + "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=", + "dev": true + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/log-symbols/download/log-symbols-4.0.0.tgz", + "integrity": "sha1-abPMRtIPRI7M23XqH6cz2eghySA=", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/lru-cache/download/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "requires": { + "yallist": "^3.0.2" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge2": { + "version": "1.4.1", + "resolved": "http://npm-registry.qunhequnhe.com/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/micromatch/download/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime": { + "version": "2.4.6", + "resolved": "http://npm-registry.qunhequnhe.com/mime/download/mime-2.4.6.tgz", + "integrity": "sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "http://npm-registry.qunhequnhe.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "http://npm-registry.qunhequnhe.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "8.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/mocha/download/mocha-8.1.3.tgz", + "integrity": "sha1-XpP4c+Nd/daWF+p1+caMLKYcKsU=", + "dev": true, + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.4.2", + "debug": "4.1.1", + "diff": "4.0.2", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.14.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.2", + "object.assign": "4.1.0", + "promise.allsettled": "1.0.2", + "serialize-javascript": "4.0.0", + "strip-json-comments": "3.0.1", + "supports-color": "7.1.0", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.0.0", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/strip-json-comments/download/strip-json-comments-3.0.1.tgz", + "integrity": "sha1-hXE5dakfuHvxswXMp3OV5A0qZKc=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + }, + "mz": { + "version": "2.7.0", + "resolved": "http://npm-registry.qunhequnhe.com/mz/download/mz-2.7.0.tgz", + "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "mz-modules": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/mz-modules/download/mz-modules-2.1.0.tgz", + "integrity": "sha1-f1KYd6/Q1C9AmnRjuWmG1hz7z5Y=", + "requires": { + "glob": "^7.1.2", + "ko-sleep": "^1.0.3", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "rimraf": "^2.6.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "netmask": { + "version": "1.0.6", + "resolved": "http://npm-registry.qunhequnhe.com/netmask/download/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "http://npm-registry.qunhequnhe.com/object-inspect/download/object-inspect-1.8.0.tgz", + "integrity": "sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object.assign": { + "version": "4.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "once": { + "version": "1.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "http://npm-registry.qunhequnhe.com/optionator/download/optionator-0.9.1.tgz", + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "dependencies": { + "prelude-ls": { + "version": "1.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/prelude-ls/download/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/type-check/download/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "os-name": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/os-name/download/os-name-1.0.3.tgz", + "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", + "requires": { + "osx-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "osx-release": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/osx-release/download/osx-release-1.1.0.tgz", + "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", + "requires": { + "minimist": "^1.1.0" + } + }, + "p-limit": { + "version": "3.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/p-limit/download/p-limit-3.0.2.tgz", + "integrity": "sha1-FmTgEK88rcaBuq/T4qQ3vnsPtf4=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-locate/download/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "pac-proxy-agent": { + "version": "3.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/pac-proxy-agent/download/pac-proxy-agent-3.0.1.tgz", + "integrity": "sha1-EVseWPkldsrC66cYWTynsON94q0=", + "requires": { + "agent-base": "^4.2.0", + "debug": "^4.1.1", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/pac-resolver/download/pac-resolver-3.0.0.tgz", + "integrity": "sha1-auoweH2wqJFwTet4AKcip2FabyY=", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/path-key/download/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/path-type/download/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "http://npm-registry.qunhequnhe.com/pause-stream/download/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "~2.3" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "http://npm-registry.qunhequnhe.com/picomatch/download/picomatch-2.2.2.tgz", + "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", + "dev": true + }, + "platform": { + "version": "1.3.6", + "resolved": "http://npm-registry.qunhequnhe.com/platform/download/platform-1.3.6.tgz", + "integrity": "sha1-SLTOmDFksgnC1FoQetsx9HOm56c=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "progress": { + "version": "2.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "promise.allsettled": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/promise.allsettled/download/promise.allsettled-1.0.2.tgz", + "integrity": "sha1-1m94+7YA6D6GPYk+mLPUN2qcR8k=", + "dev": true, + "requires": { + "array.prototype.map": "^1.0.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" + } + }, + "proxy-agent": { + "version": "3.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/proxy-agent/download/proxy-agent-3.1.1.tgz", + "integrity": "sha1-fgTga/Nq+mJKFUC+JHtHyXC9MBQ=", + "requires": { + "agent-base": "^4.2.0", + "debug": "4", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^3.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/proxy-from-env/download/proxy-from-env-1.1.0.tgz", + "integrity": "sha1-4QLxbKNVQkhldV0sno6k8k1Yw+I=" + }, + "pump": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "qs": { + "version": "6.9.4", + "resolved": "http://npm-registry.qunhequnhe.com/qs/download/qs-6.9.4.tgz", + "integrity": "sha1-kJCykNH5FyjTwi5UhDykSupatoc=" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "http://npm-registry.qunhequnhe.com/raw-body/download/raw-body-2.4.1.tgz", + "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "http://npm-registry.qunhequnhe.com/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/readdirp/download/readdirp-3.4.0.tgz", + "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/regexpp/download/regexpp-3.1.0.tgz", + "integrity": "sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "http://npm-registry.qunhequnhe.com/reusify/download/reusify-1.0.4.tgz", + "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "http://npm-registry.qunhequnhe.com/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "http://npm-registry.qunhequnhe.com/run-parallel/download/run-parallel-1.1.9.tgz", + "integrity": "sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sax": { + "version": "1.2.4", + "resolved": "http://npm-registry.qunhequnhe.com/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + }, + "sdk-base": { + "version": "2.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/sdk-base/download/sdk-base-2.0.1.tgz", + "integrity": "sha1-ukAonovfJy7RHdnql+r5jgNtJMY=", + "requires": { + "get-ready": "~1.0.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "http://npm-registry.qunhequnhe.com/semver/download/semver-7.3.2.tgz", + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", + "dev": true + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz", + "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/smart-buffer/download/smart-buffer-4.1.0.tgz", + "integrity": "sha1-kWBcJdkWUvRmHqacz0XxszHKIbo=" + }, + "socks": { + "version": "2.3.3", + "resolved": "http://npm-registry.qunhequnhe.com/socks/download/socks-2.3.3.tgz", + "integrity": "sha1-ARKfCl1TTSuJdxLtis6rfuZdeOM=", + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/socks-proxy-agent/download/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha1-PImR8xRbJ5nnDhG9X7yLGWMRY4Y=", + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "http://npm-registry.qunhequnhe.com/agent-base/download/agent-base-4.2.1.tgz", + "integrity": "sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk=", + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://npm-registry.qunhequnhe.com/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "optional": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/sprintf-js/download/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "http://npm-registry.qunhequnhe.com/statuses/download/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-http": { + "version": "2.8.2", + "resolved": "http://npm-registry.qunhequnhe.com/stream-http/download/stream-http-2.8.2.tgz", + "integrity": "sha1-QSboxrEHAERlkYqi/DVUnndALIc=", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-wormhole": { + "version": "1.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/stream-wormhole/download/stream-wormhole-1.1.0.tgz", + "integrity": "sha1-MAr/Rs7VU8/sZCoFJRiFQXaTwz0=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + } + } + }, + "table": { + "version": "5.4.6", + "resolved": "http://npm-registry.qunhequnhe.com/table/download/table-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "http://npm-registry.qunhequnhe.com/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "http://npm-registry.qunhequnhe.com/thenify/download/thenify-3.3.1.tgz", + "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "http://npm-registry.qunhequnhe.com/thenify-all/download/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "http://npm-registry.qunhequnhe.com/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "thunkify": { + "version": "2.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/thunkify/download/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=" + }, + "tslib": { + "version": "1.14.0", + "resolved": "http://npm-registry.qunhequnhe.com/tslib/download/tslib-1.14.0.tgz", + "integrity": "sha1-1iSYPz4sXgtVMHw91shqzXN2IsY=", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "http://npm-registry.qunhequnhe.com/tsutils/download/tsutils-3.17.1.tgz", + "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "http://npm-registry.qunhequnhe.com/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "http://npm-registry.qunhequnhe.com/type-fest/download/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + }, + "typescript": { + "version": "4.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/typescript/download/typescript-4.0.3.tgz", + "integrity": "sha1-FTu9Ro7wdyXB35x36LRT+NNqu6U=", + "dev": true + }, + "unescape": { + "version": "1.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/unescape/download/unescape-1.0.1.tgz", + "integrity": "sha1-lW5DD2HK2KTVfYLFGPXmzF0N2pY=", + "requires": { + "extend-shallow": "^2.0.1" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/uri-js/download/uri-js-4.4.0.tgz", + "integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urllib": { + "version": "2.36.1", + "resolved": "http://npm-registry.qunhequnhe.com/urllib/download/urllib-2.36.1.tgz", + "integrity": "sha1-+9n7E7vBQOH8FbzbqHA9YUKn6zo=", + "requires": { + "any-promise": "^1.3.0", + "content-type": "^1.0.2", + "debug": "^2.6.9", + "default-user-agent": "^1.0.0", + "digest-header": "^0.0.1", + "ee-first": "~1.1.1", + "formstream": "^1.1.0", + "humanize-ms": "^1.2.0", + "iconv-lite": "^0.4.15", + "ip": "^1.1.5", + "proxy-agent": "^3.1.0", + "pump": "^3.0.0", + "qs": "^6.4.0", + "statuses": "^1.3.1", + "utility": "^1.16.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utility": { + "version": "1.16.3", + "resolved": "http://npm-registry.qunhequnhe.com/utility/download/utility-1.16.3.tgz", + "integrity": "sha1-Xf0R3nTmv92CbMShZ+YwHZL0tw0=", + "requires": { + "copy-to": "^2.0.1", + "escape-html": "^1.0.3", + "mkdirp": "^0.5.1", + "mz": "^2.7.0", + "unescape": "^1.0.1" + } + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz", + "integrity": "sha1-VLw83UMxe8qR413K8wWxpyN950U=", + "dev": true + }, + "vscode-test": { + "version": "1.4.0", + "resolved": "http://npm-registry.qunhequnhe.com/vscode-test/download/vscode-test-1.4.0.tgz", + "integrity": "sha1-pW9zwWZ7TTe6a6pnZfIzoZ1P+/4=", + "dev": true, + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.4", + "rimraf": "^2.6.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "http://npm-registry.qunhequnhe.com/debug/download/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "http://npm-registry.qunhequnhe.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz", + "integrity": "sha1-TuenN6vZJniik9mzShr00NCMeHs=", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "http://npm-registry.qunhequnhe.com/wide-align/download/wide-align-1.1.3.tgz", + "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "win-release": { + "version": "1.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/win-release/download/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "requires": { + "semver": "^5.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "http://npm-registry.qunhequnhe.com/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "http://npm-registry.qunhequnhe.com/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "workerpool": { + "version": "6.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/workerpool/download/workerpool-6.0.0.tgz", + "integrity": "sha1-harWf6GiyO+ThqG0NTmQD2HQPVg=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "http://npm-registry.qunhequnhe.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "http://npm-registry.qunhequnhe.com/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "http://npm-registry.qunhequnhe.com/xml2js/download/xml2js-0.4.23.tgz", + "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/xmlbuilder/download/xmlbuilder-11.0.1.tgz", + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/xregexp/download/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "http://npm-registry.qunhequnhe.com/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "http://npm-registry.qunhequnhe.com/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=" + }, + "yargs": { + "version": "13.3.2", + "resolved": "http://npm-registry.qunhequnhe.com/yargs/download/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "http://npm-registry.qunhequnhe.com/yargs-parser/download/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.1", + "resolved": "http://npm-registry.qunhequnhe.com/yargs-unparser/download/yargs-unparser-1.6.1.tgz", + "integrity": "sha1-vUsO4FtMlNBYkpwyywnj/OcdPF8=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "decamelize": "^1.2.0", + "flat": "^4.1.0", + "is-plain-obj": "^1.1.0", + "yargs": "^14.2.3" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "http://npm-registry.qunhequnhe.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "yargs": { + "version": "14.2.3", + "resolved": "http://npm-registry.qunhequnhe.com/yargs/download/yargs-14.2.3.tgz", + "integrity": "sha1-Ghw+3O0a+yov6jNgS8bR2NaIpBQ=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "http://npm-registry.qunhequnhe.com/yargs-parser/download/yargs-parser-15.0.1.tgz", + "integrity": "sha1-VHhq9AuCDcsvuAJbEbTWWddjI7M=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + } + } +} diff --git a/package.json b/package.json index 99f61af..fb26a23 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,77 @@ { - "name": "root", - "private": true, + "name": "front-end-interview", + "displayName": "front-end-interview", + "description": "A vscode extension for frontEnd Interviewer", + "version": "0.0.2", + "publisher": "front-end-interview", + "engines": { + "vscode": "^1.49.0" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "onView:interview" + ], + "main": "./out/extension.js", + "contributes": { + "views": { + "front-end-interview": [ + { + "id": "interview", + "name": "Interview" + } + ] + }, + "viewsContainers": { + "activitybar": [ + { + "id": "front-end-interview", + "title": "front-end-interview", + "icon": "media/interview.svg" + } + ] + }, + "commands": [], + "configuration": [ + { + "title": "front-end-interview", + "properties": { + "interview.workspaceFolder": { + "type": "string", + "scope": "application", + "description": "The path of the workspace folder to store the problem files.", + "default": "" + } + } + } + ] + }, + "scripts": { + "vscode:prepublish": "yarn run compile", + "compile": "tsc -p ./", + "lint": "eslint src --ext ts", + "watch": "tsc -watch -p ./", + "pretest": "yarn run compile && yarn run lint", + "test": "node ./out/test/runTest.js" + }, "devDependencies": { - "lerna": "^3.22.1" + "@types/ali-oss": "^6.0.5", + "@types/fs-extra": "^9.0.1", + "@types/glob": "^7.1.3", + "@types/mocha": "^8.0.0", + "@types/node": "^12.11.7", + "@types/vscode": "^1.49.0", + "@typescript-eslint/eslint-plugin": "^4.1.1", + "@typescript-eslint/parser": "^4.1.1", + "eslint": "^7.9.0", + "glob": "^7.1.6", + "mocha": "^8.1.3", + "typescript": "^4.0.2", + "vscode-test": "^1.4.0" + }, + "dependencies": { + "ali-oss": "^6.10.0", + "fs-extra": "^9.0.1" } } diff --git a/packages/requirements/README.md b/packages/requirements/README.md deleted file mode 100644 index 1f05596..0000000 --- a/packages/requirements/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# 需求文档 -- 需要使用github进行第三方登录 -- 能在vscode左侧看到每日一题的标题,每天更新一道题 -- 点击题目可以在右则看到题目的具体内容,然后可以通过md格式进行回答 -- 回答之后可以看到参考答案以及其它人的回答 \ No newline at end of file diff --git a/packages/requirements/__tests__/requirements.test.js b/packages/requirements/__tests__/requirements.test.js deleted file mode 100644 index 5be9dc9..0000000 --- a/packages/requirements/__tests__/requirements.test.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -const requirements = require('..'); - -describe('requirements', () => { - it('needs tests'); -}); diff --git a/packages/requirements/lib/requirements.js b/packages/requirements/lib/requirements.js deleted file mode 100644 index 254adcf..0000000 --- a/packages/requirements/lib/requirements.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = requirements; - -function requirements() { - // TODO -} diff --git a/packages/requirements/package.json b/packages/requirements/package.json deleted file mode 100644 index 28dd0dd..0000000 --- a/packages/requirements/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "requirements", - "version": "0.0.0", - "description": "> TODO: description", - "keywords": [ - "requirements" - ], - "author": "zhangrenyang ", - "homepage": "", - "license": "MIT", - "main": "lib/requirements.js", - "directories": { - "lib": "lib", - "test": "__tests__" - }, - "files": [ - "lib" - ], - "publishConfig": { - "registry": "https://registry.npm.taobao.org/" - }, - "scripts": { - "test": "echo \"Error: run tests from root\" && exit 1" - } -} diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..130b6d9 Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/command/openQuestion.ts b/src/command/openQuestion.ts new file mode 100644 index 0000000..671a0c9 --- /dev/null +++ b/src/command/openQuestion.ts @@ -0,0 +1,40 @@ +import { resolve } from "path"; +import * as fse from "fs-extra"; +import client from "../mock"; +import { selectWorkspaceFolder } from "../shared/selectWorkspaceFolder"; +import { Uri, ViewColumn, window } from "vscode"; + +export async function openQuestion(name: string, index: number): Promise { + const workspaceFolder: string = await selectWorkspaceFolder(); + if (!workspaceFolder) { + return; + } + const codeTemplate = await getCodeTemplate(index); + const finalPath = await showProblem( + resolve(workspaceFolder, name + '.md'), + codeTemplate || "" + ); + await window.showTextDocument(Uri.file(finalPath), { + preview: false, + viewColumn: ViewColumn.One, + }); + return; +} + +async function showProblem(filePath: string, codeTemplate: string) { + if (!(await fse.pathExists(filePath))) { + await fse.createFile(filePath); + await fse.writeFile(filePath, codeTemplate); + } + return filePath; +} + +async function getCodeTemplate(index: number) { + try { + let result = await client.get(index); + let buf = result.content; + return buf; + } catch (e) { + console.log(e); + } +} diff --git a/src/extension.ts b/src/extension.ts new file mode 100644 index 0000000..702e2fa --- /dev/null +++ b/src/extension.ts @@ -0,0 +1,25 @@ +import * as vscode from "vscode"; +import { commands, ExtensionContext, window, workspace } from "vscode"; +import { openQuestion } from "./command/openQuestion"; +import { Interview } from "./interviewTreeView"; +export async function activate( + context: vscode.ExtensionContext +): Promise { + try { + // -------- interview 相关 !!! 才是重点!!!!!!!!!!!!!!!!!!!!!!!!!------------- + const interviewProvider = new Interview(); + window.createTreeView("interview", { + treeDataProvider: interviewProvider, + }); + commands.registerCommand("interview.openQuestion", (name, index) => { + openQuestion(name, index); + }); + + // -------- interview 相关 !!! 才是重点!!!!!!!!!!!!!!!!!!!!!!!!!------------- + } catch (error) { + window.showInformationMessage(error); + } +} + +// this method is called when your extension is deactivated +export function deactivate() {} diff --git a/src/interviewTreeView.ts b/src/interviewTreeView.ts new file mode 100644 index 0000000..c534476 --- /dev/null +++ b/src/interviewTreeView.ts @@ -0,0 +1,74 @@ +import { + ProviderResult, + TreeItemCollapsibleState, + Command, + TreeItem, + TreeDataProvider, + Event, +} from "vscode"; +import * as fs from "fs"; +import * as path from "path"; +import * as globby from "globby"; +import client from "./mock"; + +export class Interview implements TreeDataProvider { + onDidChangeTreeData?: Event | undefined; + getTreeItem(element: Question): TreeItem { + return element; + } + getChildren(element?: Question): ProviderResult { + return this.getQuestions(); + throw new Error("Method not implemented."); + } + async getQuestions() { + try { + let result = client.list(); + let arr = result.objects.map( + (ele: any, index: number) => + new Question(ele.name, { + command: "interview.openQuestion", + title: "", + arguments: [ele.name, index], + }) + ); + arr.sort((a: Question, b: Question): number => { + return Number(a.label.split(".")[0]) - Number(b.label.split(".")[0]); + }); + return arr; + } catch (e) { + console.log(e); + } + } +} + +export class Question extends TreeItem { + constructor( + public readonly label: string, + // public readonly url: string, + public readonly command?: Command + ) { + super(label); + this.tooltip = `${this.label}`; + } + + iconPath = { + light: path.join( + __filename, + "..", + "..", + "resources", + "light", + "dependency.svg" + ), + dark: path.join( + __filename, + "..", + "..", + "resources", + "dark", + "dependency.svg" + ), + }; + + contextValue = "dependency"; +} diff --git a/src/media/interview.svg b/src/media/interview.svg new file mode 100644 index 0000000..2eed464 --- /dev/null +++ b/src/media/interview.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/mock.ts b/src/mock.ts new file mode 100644 index 0000000..fcbaef2 --- /dev/null +++ b/src/mock.ts @@ -0,0 +1,12 @@ +const list = { + objects: [ + { name: "1. 什么是原型链", content: "原型链" }, + { name: "2. 什么是闭包", content: "闭包" }, + { name: "3. 什么是xxx", content: "xxx" }, + ], +}; +const client = { + list: () => list, + get: (i: number) => list.objects[i], +}; +export default client; diff --git a/src/shared/index.ts b/src/shared/index.ts new file mode 100644 index 0000000..779444b --- /dev/null +++ b/src/shared/index.ts @@ -0,0 +1,20 @@ +import { QuickPickItem, workspace, WorkspaceConfiguration } from "vscode"; + +export interface IQuickItemEx extends QuickPickItem { + value: T; +} + +export function getWorkspaceConfiguration(): WorkspaceConfiguration { + return workspace.getConfiguration("front-end-interview"); +} + +export function getWorkspaceFolder(): string { + return getWorkspaceConfiguration().get("workspaceFolder", ""); +} + +export enum DescriptionConfiguration { + InWebView = "In Webview", + InFileComment = "In File Comment", + Both = "Both", + None = "None", +} diff --git a/src/shared/selectWorkspaceFolder.ts b/src/shared/selectWorkspaceFolder.ts new file mode 100644 index 0000000..1c4a979 --- /dev/null +++ b/src/shared/selectWorkspaceFolder.ts @@ -0,0 +1,167 @@ +import * as os from "os"; +import * as path from "path"; +import * as vscode from "vscode"; +import { IQuickItemEx } from "../shared"; +import { getWorkspaceConfiguration, getWorkspaceFolder } from "./settingUtils"; + +export async function selectWorkspaceFolder(): Promise { + let workspaceFolderSetting: string = getWorkspaceFolder(); + if (workspaceFolderSetting.trim() === "") { + workspaceFolderSetting = await determineFEInterviewFolder(); + if (workspaceFolderSetting === "") { + // User cancelled + return workspaceFolderSetting; + } + } + const workspaceFolders = vscode.workspace.workspaceFolders || []; + let needAsk: boolean = true; + for (const folder of workspaceFolders) { + if (isSubFolder(folder.uri.fsPath, workspaceFolderSetting)) { + needAsk = false; + } + } + + if (needAsk) { + const choice: string | undefined = await vscode.window.showQuickPick( + [ + OpenOption.justOpenFile, + OpenOption.openInCurrentWindow, + OpenOption.openInNewWindow, + OpenOption.addToWorkspace, + ], + { + placeHolder: + "The FEInterview workspace folder is not opened in VS Code, would you like to open it?", + } + ); + + switch (choice) { + case OpenOption.justOpenFile: + return workspaceFolderSetting; + case OpenOption.openInCurrentWindow: + await vscode.commands.executeCommand( + "vscode.openFolder", + vscode.Uri.file(workspaceFolderSetting), + false + ); + return ""; + case OpenOption.openInNewWindow: + await vscode.commands.executeCommand( + "vscode.openFolder", + vscode.Uri.file(workspaceFolderSetting), + true + ); + return ""; + case OpenOption.addToWorkspace: + vscode.workspace.updateWorkspaceFolders(workspaceFolders.length, 0, { + uri: vscode.Uri.file(workspaceFolderSetting), + }); + break; + default: + return ""; + } + } + + return workspaceFolderSetting; +} + +export async function getActiveFilePath( + uri?: vscode.Uri +): Promise { + let textEditor: vscode.TextEditor | undefined; + if (uri) { + textEditor = await vscode.window.showTextDocument(uri, { preview: false }); + } else { + textEditor = vscode.window.activeTextEditor; + } + + if (!textEditor) { + return undefined; + } + if (textEditor.document.isDirty && !(await textEditor.document.save())) { + vscode.window.showWarningMessage("Please save the solution file first."); + return undefined; + } + return textEditor.document.uri.fsPath; +} + +function isSubFolder(from: string, to: string): boolean { + const relative: string = path.relative(from, to); + if (relative === "") { + return true; + } + return !relative.startsWith("..") && !path.isAbsolute(relative); +} + +async function determineFEInterviewFolder(): Promise { + let result: string; + const picks: Array> = []; + picks.push( + { + label: `Default location`, + detail: `${path.join(os.homedir(), ".FEInterview")}`, + value: `${path.join(os.homedir(), ".FEInterview")}`, + }, + { + label: "$(file-directory) Browse...", + value: ":browse", + } + ); + const choice: + | IQuickItemEx + | undefined = await vscode.window.showQuickPick(picks, { + placeHolder: "Select where you would like to save your question files", + }); + if (!choice) { + result = ""; + } else if (choice.value === ":browse") { + const directory: + | vscode.Uri[] + | undefined = await showDirectorySelectDialog(); + if (!directory || directory.length < 1) { + result = ""; + } else { + result = directory[0].fsPath; + } + } else { + result = choice.value; + } + + getWorkspaceConfiguration().update( + "workspaceFolder", + result, + vscode.ConfigurationTarget.Global + ); + + return result; +} + +function getBelongingWorkspaceFolderUri(fsPath: string | undefined): vscode.Uri | undefined { + let defaultUri: vscode.Uri | undefined; + if (fsPath) { + const workspaceFolder: vscode.WorkspaceFolder | undefined = vscode.workspace.getWorkspaceFolder(vscode.Uri.file(fsPath)); + if (workspaceFolder) { + defaultUri = workspaceFolder.uri; + } + } + return defaultUri; +} + +export async function showDirectorySelectDialog(fsPath?: string): Promise { + const defaultUri: vscode.Uri | undefined = getBelongingWorkspaceFolderUri(fsPath); + const options: vscode.OpenDialogOptions = { + defaultUri, + canSelectFiles: false, + canSelectFolders: true, + canSelectMany: false, + openLabel: "Select", + }; + return await vscode.window.showOpenDialog(options); +} + +enum OpenOption { + justOpenFile = "Just open the problem file", + openInCurrentWindow = "Open in current window", + openInNewWindow = "Open in new window", + addToWorkspace = "Add to workspace", +} diff --git a/src/shared/settingUtils.ts b/src/shared/settingUtils.ts new file mode 100644 index 0000000..c48b773 --- /dev/null +++ b/src/shared/settingUtils.ts @@ -0,0 +1,70 @@ +import { workspace, WorkspaceConfiguration } from "vscode"; +import { DescriptionConfiguration } from "../shared"; + +export function getWorkspaceConfiguration(): WorkspaceConfiguration { + return workspace.getConfiguration("interview"); +} + +export function shouldHideSolvedProblem(): boolean { + return getWorkspaceConfiguration().get("hideSolved", false); +} + +export function getWorkspaceFolder(): string { + return getWorkspaceConfiguration().get("workspaceFolder", ""); +} + +export function getEditorShortcuts(): string[] { + return getWorkspaceConfiguration().get("editor.shortcuts", [ + "submit", + "test", + ]); +} + +export function hasStarShortcut(): boolean { + const shortcuts: string[] = getWorkspaceConfiguration().get( + "editor.shortcuts", + ["submit", "test"] + ); + return shortcuts.indexOf("star") >= 0; +} + +export function getDescriptionConfiguration(): IDescriptionConfiguration { + const setting: string = getWorkspaceConfiguration().get( + "showDescription", + DescriptionConfiguration.InWebView + ); + const config: IDescriptionConfiguration = { + showInComment: false, + showInWebview: true, + }; + switch (setting) { + case DescriptionConfiguration.Both: + config.showInComment = true; + config.showInWebview = true; + break; + case DescriptionConfiguration.None: + config.showInComment = false; + config.showInWebview = false; + break; + case DescriptionConfiguration.InFileComment: + config.showInComment = true; + config.showInWebview = false; + break; + case DescriptionConfiguration.InWebView: + config.showInComment = false; + config.showInWebview = true; + break; + } + + // To be compatible with the deprecated setting: + if (getWorkspaceConfiguration().get("showCommentDescription")) { + config.showInComment = true; + } + + return config; +} + +export interface IDescriptionConfiguration { + showInComment: boolean; + showInWebview: boolean; +} diff --git "a/src/sources/1.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseAll.js" "b/src/sources/1.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseAll.js" new file mode 100644 index 0000000..f6261a5 --- /dev/null +++ "b/src/sources/1.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseAll.js" @@ -0,0 +1,5 @@ +/** + * 实现一个 Promise All + * @param {Promise[]} ProArr + */ +Promise.All = (ProArr) => {} \ No newline at end of file diff --git "a/src/sources/10.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\275\240\347\237\245\351\201\223SameSite\345\220\227.md" "b/src/sources/10.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\275\240\347\237\245\351\201\223SameSite\345\220\227.md" new file mode 100644 index 0000000..02b0c46 --- /dev/null +++ "b/src/sources/10.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\275\240\347\237\245\351\201\223SameSite\345\220\227.md" @@ -0,0 +1,2 @@ +# 你知道SameSite吗?来说一下 samesite +- [参考资料](https://github.com/mqyqingfeng/Blog/issues/157) \ No newline at end of file diff --git "a/src/sources/11.[vue]v-for\347\232\204key\345\217\257\344\273\245\347\224\250\351\201\215\345\216\206\347\264\242\345\274\225index\345\220\227.md" "b/src/sources/11.[vue]v-for\347\232\204key\345\217\257\344\273\245\347\224\250\351\201\215\345\216\206\347\264\242\345\274\225index\345\220\227.md" new file mode 100644 index 0000000..1531127 --- /dev/null +++ "b/src/sources/11.[vue]v-for\347\232\204key\345\217\257\344\273\245\347\224\250\351\201\215\345\216\206\347\264\242\345\274\225index\345\220\227.md" @@ -0,0 +1,2 @@ +# v-for 的 key 可以用遍历索引 index 吗? +- 来源 & 参考答案: [黄轶黄老师/ 公众号:老黄的前端私房菜]https://mp.weixin.qq.com/s/k2Q2F8dB9GF4a07rIStFFA diff --git "a/src/sources/12.[vue]\345\260\244\345\244\247\345\217\252\346\234\21180\345\210\206\347\232\204\351\235\242\350\257\225\351\242\230.md" "b/src/sources/12.[vue]\345\260\244\345\244\247\345\217\252\346\234\21180\345\210\206\347\232\204\351\235\242\350\257\225\351\242\230.md" new file mode 100644 index 0000000..6eeed14 --- /dev/null +++ "b/src/sources/12.[vue]\345\260\244\345\244\247\345\217\252\346\234\21180\345\210\206\347\232\204\351\235\242\350\257\225\351\242\230.md" @@ -0,0 +1,67 @@ +# 尤大只有80分的面试题 + +- [原题传送门](https://kaoba.101test.com/cand/index?redirect=0&paperId=YWJGVO) + +- [答案传送门](https://zhuanlan.zhihu.com/p/231510566) + +``` +1. Vue 实例的 data 属性,可以在哪些生命周期中获取到? +A. beforeCreate +B. created +C. beforeMount +D. mounted + +2. 下列对 Vue 原理的叙述,哪些是正确的? +A. Vue 中的数组变更通知,通过拦截数组操作方法而实现 +B. 编译器目标是创建渲染函数,渲染函数执行后将得到 VNode 树 +C. 组件内 data 发生变化时会通知其对应 watcher,执行异步更新 +D. patching 算法首先进行同层级比较,可能执行的操作是节点的增加、删除和更新 + +3. 对于 Vue 中响应式数据原理的说法,下列哪项是不正确的? +A. 采用数据劫持方式,即 Object.defineProperty() 劫持 data 中各属性,实现响应式数据 +B. 视图中的变化会通过 watcher 更新 data 中的数据 +C. 若 data 中某属性多次发生变化,watcher 仅会进入更新队列一次 +D. 通过编译过程进行依赖收集 + +4. 下列说法不正确的是哪项? +A. key 的作用主要是为了高效地更新虚拟 DOM +B. 若指定了组件的 template 选项,render 函数不会执行 +C. 使用 vm.$nextTick 可以确保获得 DOM 异步更新的结果 +D. 若没有 el 选项,vm.$mount(dom) 可将 Vue 实例挂载于指定元素上 + +5. 下列关于 Vuex 的描述,不正确的是哪项? +A. Vuex 通过 Vue 实现响应式状态,因此只能用于 Vue +B. Vuex 是一个状态管理模式 +C. Vuex 主要用于多视图间状态全局共享与管理 +D. 在 Vuex 中改变状态,可以通过 mutations 和 actions + +6. 关于 Vue 组件间的参数传递,下列哪项是不正确的? +A. 若子组件给父组件传值,可使用 $emit 方法 +B. 祖孙组件之间可以使用 provide 和 inject 方式跨层级相互传值 +C. 若子组件使用 $emit('say') 派发事件,父组件可使用 @say 监听 +D. 若父组件给子组件传值,子组件可通过 props 接受数据 + +7. 下列关于 vue-router 的描述,不正确的是哪项? +A. vue-router 的常用模式有 hash 和 history 两种 +B. 可通过 addRoutes 方法动态添加路由 +C. 可通过 beforeEnter 对单个组件进行路由守卫 +D. vue-router 借助 Vue 实现响应式的路由,因此只能用于 Vue + +8. 下列说法不正确的是哪项? +A. 可通过 this.$parent 查找当前组件的父组件 +B. 可使用 this.$refs 查找命名子组件 +C. 可使用 this.$children 按顺序查找当前组件的直接子组件 +D. 可使用 $root 查找根组件,并可配合 children 遍历全部组件 + +9. 下列关于 v-model 的说法,哪项是不正确的? +A. v-model 能实现双向绑定 +B. v-model 本质上是语法糖,它负责监听用户的输入事件以更新数据 +C. v-model 是内置指令,不能用在自定义组件上 +D. 对 input 使用 v-model,实际上是指定其 :value 和 :input + +10. 关于 Vue 的生命周期,下列哪项是不正确的? +A. DOM 渲染在 mounted 中就已经完成了 +B. Vue 实例从创建到销毁的过程,就是生命周期 +C. created 表示完成数据观测、属性和方法的运算和初始化事件,此时 $el 属性还未显示出来 +D. 页面首次加载过程中,会依次触发 beforeCreate,created,beforeMount,mounted,beforeUpdate,updated +``` \ No newline at end of file diff --git "a/src/sources/13.[vue]vue\345\223\215\345\272\224\345\274\217\345\216\237\347\220\206\357\274\237\350\257\246\347\273\206\350\257\264\344\270\200\344\270\213\350\277\207\347\250\213.md" "b/src/sources/13.[vue]vue\345\223\215\345\272\224\345\274\217\345\216\237\347\220\206\357\274\237\350\257\246\347\273\206\350\257\264\344\270\200\344\270\213\350\277\207\347\250\213.md" new file mode 100644 index 0000000..68d19fd --- /dev/null +++ "b/src/sources/13.[vue]vue\345\223\215\345\272\224\345\274\217\345\216\237\347\220\206\357\274\237\350\257\246\347\273\206\350\257\264\344\270\200\344\270\213\350\277\207\347\250\213.md" @@ -0,0 +1,2 @@ +# vue响应式原理?详细说一下过程 +- 网上答案太多 略 \ No newline at end of file diff --git "a/src/sources/14.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" "b/src/sources/14.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" new file mode 100644 index 0000000..241ed57 --- /dev/null +++ "b/src/sources/14.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" @@ -0,0 +1,2 @@ +# vue的生命周期 +- 网上答案太多 略 \ No newline at end of file diff --git "a/src/sources/15.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204diff\350\277\220\347\256\227.md" "b/src/sources/15.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204diff\350\277\220\347\256\227.md" new file mode 100644 index 0000000..39c5a7c --- /dev/null +++ "b/src/sources/15.[vue]\350\257\264\344\270\200\344\270\213vue\347\232\204diff\350\277\220\347\256\227.md" @@ -0,0 +1,2 @@ +# 说一下vue的diff算法 +- 网上答案太多 略 \ No newline at end of file diff --git "a/src/sources/2.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseRetry.js" "b/src/sources/2.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseRetry.js" new file mode 100644 index 0000000..6966407 --- /dev/null +++ "b/src/sources/2.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252PromiseRetry.js" @@ -0,0 +1,3 @@ +// 实现 Promise.retry,成功后 resolve 结果,失败后重试,尝试超过一定次数才真正的 reject +// 在这里输入你的答案 +Promise.retry = (fn, times) => {} diff --git "a/src/sources/3.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252\346\225\260\347\273\204\345\216\273\351\207\215\345\207\275\346\225\260.js" "b/src/sources/3.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252\346\225\260\347\273\204\345\216\273\351\207\215\345\207\275\346\225\260.js" new file mode 100644 index 0000000..69f42df --- /dev/null +++ "b/src/sources/3.[\346\211\213\345\206\231]\345\256\236\347\216\260\344\270\200\344\270\252\346\225\260\347\273\204\345\216\273\351\207\215\345\207\275\346\225\260.js" @@ -0,0 +1,8 @@ +/** + * 实现一个数组去重函数, 实现方法越多越好 + * @param {Array} Arr + * @returns {Array} newArr + */ +function unique(Arr) { + +} \ No newline at end of file diff --git "a/src/sources/4.[\346\211\213\345\206\231]\345\256\236\347\216\260new\346\223\215\344\275\234\347\254\246.js" "b/src/sources/4.[\346\211\213\345\206\231]\345\256\236\347\216\260new\346\223\215\344\275\234\347\254\246.js" new file mode 100644 index 0000000..ca5396c --- /dev/null +++ "b/src/sources/4.[\346\211\213\345\206\231]\345\256\236\347\216\260new\346\223\215\344\275\234\347\254\246.js" @@ -0,0 +1,7 @@ +/** + * 实现new操作符 + * @param {...any} options + */ +function myNew(...options) { + +} \ No newline at end of file diff --git "a/src/sources/5.[\346\211\213\345\206\231]call-bind-apply\345\207\275\346\225\260\345\256\236\347\216\260.js" "b/src/sources/5.[\346\211\213\345\206\231]call-bind-apply\345\207\275\346\225\260\345\256\236\347\216\260.js" new file mode 100644 index 0000000..65129ea --- /dev/null +++ "b/src/sources/5.[\346\211\213\345\206\231]call-bind-apply\345\207\275\346\225\260\345\256\236\347\216\260.js" @@ -0,0 +1,6 @@ +// 实现apply/call/bind函数 +Function.prototype._apply = function(context) { +} +Function.prototype._call = function (context) { +} +Function.prototype._bind = function() {} \ No newline at end of file diff --git "a/src/sources/7.[\347\275\221\347\273\234\345\237\272\347\241\200]\350\276\223\345\205\245url\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" "b/src/sources/7.[\347\275\221\347\273\234\345\237\272\347\241\200]\350\276\223\345\205\245url\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" new file mode 100644 index 0000000..fec1743 --- /dev/null +++ "b/src/sources/7.[\347\275\221\347\273\234\345\237\272\347\241\200]\350\276\223\345\205\245url\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" @@ -0,0 +1,2 @@ +# 输入url后发生了什么 +- [参考答案](https://github.com/mqyqingfeng/frontend-interview-question-and-answer/issues/32) \ No newline at end of file diff --git "a/src/sources/8.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\270\200\344\270\252tcp\350\277\236\346\216\245\350\203\275\345\217\221\345\207\240\344\270\252http\350\257\267\346\261\202.md" "b/src/sources/8.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\270\200\344\270\252tcp\350\277\236\346\216\245\350\203\275\345\217\221\345\207\240\344\270\252http\350\257\267\346\261\202.md" new file mode 100644 index 0000000..f80a50c --- /dev/null +++ "b/src/sources/8.[\347\275\221\347\273\234\345\237\272\347\241\200]\344\270\200\344\270\252tcp\350\277\236\346\216\245\350\203\275\345\217\221\345\207\240\344\270\252http\350\257\267\346\261\202.md" @@ -0,0 +1,2 @@ +# 一个tcp连接能发几个http请求 +- [参考资料](https://github.com/mqyqingfeng/frontend-interview-question-and-answer/issues/1) \ No newline at end of file diff --git "a/src/sources/9.[\347\275\221\347\273\234\345\237\272\347\241\200]cookieToken\345\222\214session\347\232\204\345\214\272\345\210\253.md" "b/src/sources/9.[\347\275\221\347\273\234\345\237\272\347\241\200]cookieToken\345\222\214session\347\232\204\345\214\272\345\210\253.md" new file mode 100644 index 0000000..a73dffe --- /dev/null +++ "b/src/sources/9.[\347\275\221\347\273\234\345\237\272\347\241\200]cookieToken\345\222\214session\347\232\204\345\214\272\345\210\253.md" @@ -0,0 +1,2 @@ +# cookieToken和session的区别 +- [参考资料](https://github.com/mqyqingfeng/Blog/issues/157) \ No newline at end of file diff --git a/src/test/runTest.ts b/src/test/runTest.ts new file mode 100644 index 0000000..1eabfa3 --- /dev/null +++ b/src/test/runTest.ts @@ -0,0 +1,23 @@ +import * as path from 'path'; + +import { runTests } from 'vscode-test'; + +async function main() { + try { + // The folder containing the Extension Manifest package.json + // Passed to `--extensionDevelopmentPath` + const extensionDevelopmentPath = path.resolve(__dirname, '../../'); + + // The path to test runner + // Passed to --extensionTestsPath + const extensionTestsPath = path.resolve(__dirname, './suite/index'); + + // Download VS Code, unzip it and run the integration test + await runTests({ extensionDevelopmentPath, extensionTestsPath }); + } catch (err) { + console.error('Failed to run tests'); + process.exit(1); + } +} + +main(); diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts new file mode 100644 index 0000000..08a6f78 --- /dev/null +++ b/src/test/suite/extension.test.ts @@ -0,0 +1,15 @@ +import * as assert from 'assert'; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from 'vscode'; +// import * as myExtension from '../../extension'; + +suite('Extension Test Suite', () => { + vscode.window.showInformationMessage('Start all tests.'); + + test('Sample test', () => { + assert.equal(-1, [1, 2, 3].indexOf(5)); + assert.equal(-1, [1, 2, 3].indexOf(0)); + }); +}); diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts new file mode 100644 index 0000000..7029e38 --- /dev/null +++ b/src/test/suite/index.ts @@ -0,0 +1,38 @@ +import * as path from 'path'; +import * as Mocha from 'mocha'; +import * as glob from 'glob'; + +export function run(): Promise { + // Create the mocha test + const mocha = new Mocha({ + ui: 'tdd', + color: true + }); + + const testsRoot = path.resolve(__dirname, '..'); + + return new Promise((c, e) => { + glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { + if (err) { + return e(err); + } + + // Add files to the test suite + files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); + + try { + // Run the mocha test + mocha.run(failures => { + if (failures > 0) { + e(new Error(`${failures} tests failed.`)); + } else { + c(); + } + }); + } catch (err) { + console.error(err); + e(err); + } + }); + }); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..b65c745 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "rootDir": "src", + "strict": true /* enable all strict type-checking options */ + /* Additional Checks */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + }, + "exclude": [ + "node_modules", + ".vscode-test" + ] +} diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md new file mode 100644 index 0000000..b510bff --- /dev/null +++ b/vsc-extension-quickstart.md @@ -0,0 +1,42 @@ +# Welcome to your VS Code Extension + +## What's in the folder + +* This folder contains all of the files necessary for your extension. +* `package.json` - this is the manifest file in which you declare your extension and command. + * The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. +* `src/extension.ts` - this is the main file where you will provide the implementation of your command. + * The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. + * We pass the function containing the implementation of the command as the second parameter to `registerCommand`. + +## Get up and running straight away + +* Press `F5` to open a new window with your extension loaded. +* Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`. +* Set breakpoints in your code inside `src/extension.ts` to debug your extension. +* Find output from your extension in the debug console. + +## Make changes + +* You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`. +* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. + + +## Explore the API + +* You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`. + +## Run tests + +* Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`. +* Press `F5` to run the tests in a new window with your extension loaded. +* See the output of the test result in the debug console. +* Make changes to `src/test/suite/extension.test.ts` or create new test files inside the `test/suite` folder. + * The provided test runner will only consider files matching the name pattern `**.test.ts`. + * You can create folders inside the `test` folder to structure your tests any way you want. + +## Go further + + * Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension). + * [Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VSCode extension marketplace. + * Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration). diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..6c2456d --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2477 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.10.4" + resolved "http://npm-registry.qunhequnhe.com/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "http://npm-registry.qunhequnhe.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "http://npm-registry.qunhequnhe.com/@babel/highlight/download/@babel/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@eslint/eslintrc@^0.1.3": + version "0.1.3" + resolved "http://npm-registry.qunhequnhe.com/@eslint/eslintrc/download/@eslint/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" + integrity sha1-fRorI1hVLMBINMCXm9QnU2LjcIU= + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "http://npm-registry.qunhequnhe.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha1-Olgr21OATGum0UZXnEblITDPSjs= + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "http://npm-registry.qunhequnhe.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M= + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "http://npm-registry.qunhequnhe.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY= + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@types/ali-oss@^6.0.5": + version "6.0.5" + resolved "http://npm-registry.qunhequnhe.com/@types/ali-oss/download/@types/ali-oss-6.0.5.tgz#50621a129bc80dbc4adb3764c769ca2fecade71a" + integrity sha1-UGIaEpvIDbxK2zdkx2nKL+yt5xo= + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/@types/color-name/download/@types/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/fs-extra@^9.0.1": + version "9.0.1" + resolved "http://npm-registry.qunhequnhe.com/@types/fs-extra/download/@types/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" + integrity sha1-kcj8TFH21dvkTCypqwkxC9AMeRg= + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.3": + version "7.1.3" + resolved "http://npm-registry.qunhequnhe.com/@types/glob/download/@types/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@^7.0.3": + version "7.0.6" + resolved "http://npm-registry.qunhequnhe.com/@types/json-schema/download/@types/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA= + +"@types/minimatch@*": + version "3.0.3" + resolved "http://npm-registry.qunhequnhe.com/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= + +"@types/mocha@^8.0.0": + version "8.0.3" + resolved "http://npm-registry.qunhequnhe.com/@types/mocha/download/@types/mocha-8.0.3.tgz#51b21b6acb6d1b923bbdc7725c38f9f455166402" + integrity sha1-UbIbasttG5I7vcdyXDj59FUWZAI= + +"@types/node@*": + version "14.11.2" + resolved "http://npm-registry.qunhequnhe.com/@types/node/download/@types/node-14.11.2.tgz#2de1ed6670439387da1c9f549a2ade2b0a799256" + integrity sha1-LeHtZnBDk4faHJ9UmireKwp5klY= + +"@types/node@^12.11.7": + version "12.12.62" + resolved "http://npm-registry.qunhequnhe.com/@types/node/download/@types/node-12.12.62.tgz#733923d73669188d35950253dd18a21570085d2b" + integrity sha1-czkj1zZpGI01lQJT3RiiFXAIXSs= + +"@types/vscode@^1.49.0": + version "1.49.0" + resolved "http://npm-registry.qunhequnhe.com/@types/vscode/download/@types/vscode-1.49.0.tgz#f3731d97d7e8b2697510eb26f6e6d04ee8c17352" + integrity sha1-83Mdl9fosml1EOsm9ubQTujBc1I= + +"@typescript-eslint/eslint-plugin@^4.1.1": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.3.0.tgz#1a23d904bf8ea248d09dc3761af530d90f39c8fa" + integrity sha1-GiPZBL+OokjQncN2GvUw2Q85yPo= + dependencies: + "@typescript-eslint/experimental-utils" "4.3.0" + "@typescript-eslint/scope-manager" "4.3.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.3.0": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87" + integrity sha1-PzxsUI4BuAUNUbAW5/faDjrvy4c= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.3.0" + "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/typescript-estree" "4.3.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.1.1": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.3.0.tgz#684fc0be6551a2bfcb253991eec3c786a8c063a3" + integrity sha1-aE/AvmVRor/LJTmR7sPHhqjAY6M= + dependencies: + "@typescript-eslint/scope-manager" "4.3.0" + "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/typescript-estree" "4.3.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.3.0": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7" + integrity sha1-x0Mifgh1RZaAgNI2LPsSc4Qstqc= + dependencies: + "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/visitor-keys" "4.3.0" + +"@typescript-eslint/types@4.3.0": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/types/download/@typescript-eslint/types-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf" + integrity sha1-HwstXhQFQ+JhTwbUj7OulRk8bd8= + +"@typescript-eslint/typescript-estree@4.3.0": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8" + integrity sha1-DtwQaOay5Mf9xU1h4yn852JBzug= + dependencies: + "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/visitor-keys" "4.3.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.3.0": + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0" + integrity sha1-DlqwoJVSkD7eriBZguhSHhdjWuA= + dependencies: + "@typescript-eslint/types" "4.3.0" + eslint-visitor-keys "^2.0.0" + +acorn-jsx@^5.2.0: + version "5.3.1" + resolved "http://npm-registry.qunhequnhe.com/acorn-jsx/download/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns= + +acorn@^7.4.0: + version "7.4.0" + resolved "http://npm-registry.qunhequnhe.com/acorn/download/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw= + +address@>=0.0.1, address@^1.0.0: + version "1.1.2" + resolved "http://npm-registry.qunhequnhe.com/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/agent-base/download/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= + dependencies: + es6-promisify "^5.0.0" + +agent-base@~4.2.1: + version "4.2.1" + resolved "http://npm-registry.qunhequnhe.com/agent-base/download/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" + integrity sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk= + dependencies: + es6-promisify "^5.0.0" + +agentkeepalive@^3.4.1: + version "3.5.2" + resolved "http://npm-registry.qunhequnhe.com/agentkeepalive/download/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha1-oROSTdP6JKC8O3gQjEUMKr7gD2c= + dependencies: + humanize-ms "^1.2.1" + +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4: + version "6.12.5" + resolved "http://npm-registry.qunhequnhe.com/ajv/download/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" + integrity sha1-GbDouuj0duW6ZmMAOHd1+xoApNo= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ali-oss@^6.10.0: + version "6.10.0" + resolved "http://npm-registry.qunhequnhe.com/ali-oss/download/ali-oss-6.10.0.tgz#9b6d61586259851d3f7e33ae9e2ed58e77e5257e" + integrity sha1-m21hWGJZhR0/fjOuni7VjnflJX4= + dependencies: + address "^1.0.0" + agentkeepalive "^3.4.1" + any-promise "^1.3.0" + bowser "^1.6.0" + co-defer "^1.0.0" + copy-to "^2.0.1" + dateformat "^2.0.0" + debug "^2.2.0" + destroy "^1.0.4" + end-or-error "^1.0.1" + get-ready "^1.0.0" + humanize-ms "^1.2.0" + is-type-of "^1.0.0" + js-base64 "^2.5.2" + jstoxml "^0.2.3" + merge-descriptors "^1.0.1" + mime "^2.4.5" + mz-modules "^2.1.0" + platform "^1.3.1" + pump "^3.0.0" + sdk-base "^2.0.1" + stream-http "2.8.2" + stream-wormhole "^1.0.4" + urllib "^2.33.1" + utility "^1.8.0" + xml2js "^0.4.16" + +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "http://npm-registry.qunhequnhe.com/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "http://npm-registry.qunhequnhe.com/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "http://npm-registry.qunhequnhe.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.2.1" + resolved "http://npm-registry.qunhequnhe.com/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +any-promise@^1.0.0, any-promise@^1.3.0: + version "1.3.0" + resolved "http://npm-registry.qunhequnhe.com/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@~3.1.1: + version "3.1.1" + resolved "http://npm-registry.qunhequnhe.com/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "http://npm-registry.qunhequnhe.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +array-union@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array.prototype.map@^1.0.1: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/array.prototype.map/download/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" + integrity sha1-mkFZ9BZFiiPpSDB43hEGsu9o+Ow= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.4" + +ast-types@0.x.x: + version "0.14.2" + resolved "http://npm-registry.qunhequnhe.com/ast-types/download/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" + integrity sha1-YAuILfhYPjzU8t9fog+oN1nUvf0= + dependencies: + tslib "^2.0.1" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= + +balanced-match@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/binary-extensions/download/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= + +bowser@^1.6.0: + version "1.9.4" + resolved "http://npm-registry.qunhequnhe.com/bowser/download/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" + integrity sha1-iQxYooE6nTJDcEM0+oG5alwVDJo= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "http://npm-registry.qunhequnhe.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "http://npm-registry.qunhequnhe.com/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "http://npm-registry.qunhequnhe.com/browser-stdout/download/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.1.0: + version "3.1.0" + resolved "http://npm-registry.qunhequnhe.com/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +callsites@^3.0.0: + version "3.1.0" + resolved "http://npm-registry.qunhequnhe.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "http://npm-registry.qunhequnhe.com/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +chalk@^2.0.0: + version "2.4.2" + resolved "http://npm-registry.qunhequnhe.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.0" + resolved "http://npm-registry.qunhequnhe.com/chalk/download/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.4.2: + version "3.4.2" + resolved "http://npm-registry.qunhequnhe.com/chokidar/download/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +cliui@^5.0.0: + version "5.0.0" + resolved "http://npm-registry.qunhequnhe.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +co-defer@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/co-defer/download/co-defer-1.0.0.tgz#3e4a787a8eed6b0a21ee287c094f7e8de0d3c818" + integrity sha1-Pkp4eo7tawoh7ih8CU9+jeDTyBg= + +co@^4.6.0: + version "4.6.0" + resolved "http://npm-registry.qunhequnhe.com/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +color-convert@^1.9.0: + version "1.9.3" + resolved "http://npm-registry.qunhequnhe.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "http://npm-registry.qunhequnhe.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "http://npm-registry.qunhequnhe.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +concat-map@0.0.1: + version "0.0.1" + resolved "http://npm-registry.qunhequnhe.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-type@^1.0.2: + version "1.0.4" + resolved "http://npm-registry.qunhequnhe.com/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +copy-to@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/copy-to/download/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" + integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= + +core-util-is@^1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "http://npm-registry.qunhequnhe.com/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +data-uri-to-buffer@1: + version "1.2.0" + resolved "http://npm-registry.qunhequnhe.com/data-uri-to-buffer/download/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" + integrity sha1-dxY+qcINhkG0cH6PGKvfmnjzSDU= + +dateformat@^2.0.0: + version "2.2.0" + resolved "http://npm-registry.qunhequnhe.com/dateformat/download/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= + +debug@2, debug@^2.2.0, debug@^2.6.9: + version "2.6.9" + resolved "http://npm-registry.qunhequnhe.com/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@3.1.0: + version "3.1.0" + resolved "http://npm-registry.qunhequnhe.com/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.1: + version "4.2.0" + resolved "http://npm-registry.qunhequnhe.com/debug/download/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E= + dependencies: + ms "2.1.2" + +debug@4.1.1: + version "4.1.1" + resolved "http://npm-registry.qunhequnhe.com/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + +debug@^3.1.0: + version "3.2.6" + resolved "http://npm-registry.qunhequnhe.com/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "http://npm-registry.qunhequnhe.com/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "http://npm-registry.qunhequnhe.com/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-user-agent@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/default-user-agent/download/default-user-agent-1.0.0.tgz#16c46efdcaba3edc45f24f2bd4868b01b7c2adc6" + integrity sha1-FsRu/cq6PtxF8k8r1IaLAbfCrcY= + dependencies: + os-name "~1.0.3" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "http://npm-registry.qunhequnhe.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +degenerator@^1.0.4: + version "1.0.4" + resolved "http://npm-registry.qunhequnhe.com/degenerator/download/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" + integrity sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU= + dependencies: + ast-types "0.x.x" + escodegen "1.x.x" + esprima "3.x.x" + +depd@~1.1.2: + version "1.1.2" + resolved "http://npm-registry.qunhequnhe.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@^1.0.4: + version "1.0.4" + resolved "http://npm-registry.qunhequnhe.com/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +diff@4.0.2: + version "4.0.2" + resolved "http://npm-registry.qunhequnhe.com/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + +digest-header@^0.0.1: + version "0.0.1" + resolved "http://npm-registry.qunhequnhe.com/digest-header/download/digest-header-0.0.1.tgz#11ccf6deec5766ac379744d901c12cba49514be6" + integrity sha1-Ecz23uxXZqw3l0TZAcEsuklRS+Y= + dependencies: + utility "0.1.11" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "http://npm-registry.qunhequnhe.com/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +ee-first@~1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "http://npm-registry.qunhequnhe.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "http://npm-registry.qunhequnhe.com/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +end-or-error@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/end-or-error/download/end-or-error-1.0.1.tgz#dc7a6210fe78d372fee24a8b4899dbd155414dcb" + integrity sha1-3HpiEP5403L+4kqLSJnb0VVBTcs= + +enquirer@^2.3.5: + version "2.3.6" + resolved "http://npm-registry.qunhequnhe.com/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= + dependencies: + ansi-colors "^4.1.1" + +es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: + version "1.17.6" + resolved "http://npm-registry.qunhequnhe.com/es-abstract/download/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha1-kUIHFweFeyysx7iey2cDFsPi1So= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0: + version "1.18.0-next.0" + resolved "http://npm-registry.qunhequnhe.com/es-abstract/download/es-abstract-1.18.0-next.0.tgz#b302834927e624d8e5837ed48224291f2c66e6fc" + integrity sha1-swKDSSfmJNjlg37UgiQpHyxm5vw= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/es-array-method-boxes-properly/download/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4= + +es-get-iterator@^1.0.2: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/es-get-iterator/download/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" + integrity sha1-u5itnW1jsxqs3I+J1dDuV7y1tMg= + dependencies: + es-abstract "^1.17.4" + has-symbols "^1.0.1" + is-arguments "^1.0.4" + is-map "^2.0.1" + is-set "^2.0.1" + is-string "^1.0.5" + isarray "^2.0.5" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "http://npm-registry.qunhequnhe.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "http://npm-registry.qunhequnhe.com/es6-promise/download/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo= + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "http://npm-registry.qunhequnhe.com/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +escape-html@^1.0.3: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "http://npm-registry.qunhequnhe.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@1.x.x: + version "1.14.3" + resolved "http://npm-registry.qunhequnhe.com/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "http://npm-registry.qunhequnhe.com/eslint-scope/download/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "http://npm-registry.qunhequnhe.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/eslint-visitor-keys/download/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha1-If3I+82ceVzAMh8FY3AglXUVEag= + +eslint@^7.9.0: + version "7.10.0" + resolved "http://npm-registry.qunhequnhe.com/eslint/download/eslint-7.10.0.tgz#494edb3e4750fb791133ca379e786a8f648c72b9" + integrity sha1-SU7bPkdQ+3kRM8o3nnhqj2SMcrk= + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.3" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^1.3.0" + espree "^7.3.0" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.19" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0: + version "7.3.0" + resolved "http://npm-registry.qunhequnhe.com/espree/download/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha1-3DBDfPZ5R89XYSHr14DxXurHI0g= + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.3.0" + +esprima@3.x.x: + version "3.1.3" + resolved "http://npm-registry.qunhequnhe.com/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "http://npm-registry.qunhequnhe.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.2.0: + version "1.3.1" + resolved "http://npm-registry.qunhequnhe.com/esquery/download/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "http://npm-registry.qunhequnhe.com/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "http://npm-registry.qunhequnhe.com/estraverse/download/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= + +esutils@^2.0.2: + version "2.0.3" + resolved "http://npm-registry.qunhequnhe.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend@~3.0.2: + version "3.0.2" + resolved "http://npm-registry.qunhequnhe.com/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "http://npm-registry.qunhequnhe.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-glob@^3.1.1: + version "3.2.4" + resolved "http://npm-registry.qunhequnhe.com/fast-glob/download/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha1-0grvv5lXk4Pn88xmUpFYybmFVNM= + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "http://npm-registry.qunhequnhe.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.8.0" + resolved "http://npm-registry.qunhequnhe.com/fastq/download/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha1-VQ4fn1m7xl/hhctqm02VNXEH9IE= + dependencies: + reusify "^1.0.4" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "http://npm-registry.qunhequnhe.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-uri-to-path@1: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +fill-range@^7.0.1: + version "7.0.1" + resolved "http://npm-registry.qunhequnhe.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +find-up@5.0.0: + version "5.0.0" + resolved "http://npm-registry.qunhequnhe.com/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat@^4.1.0: + version "4.1.0" + resolved "http://npm-registry.qunhequnhe.com/flat/download/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= + dependencies: + is-buffer "~2.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "http://npm-registry.qunhequnhe.com/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +formstream@^1.1.0: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/formstream/download/formstream-1.1.0.tgz#51f3970f26136eb0ad44304de4cebb50207b4479" + integrity sha1-UfOXDyYTbrCtRDBN5M67UCB7RHk= + dependencies: + destroy "^1.0.4" + mime "^1.3.4" + pause-stream "~0.0.11" + +fs-extra@^9.0.1: + version "9.0.1" + resolved "http://npm-registry.qunhequnhe.com/fs-extra/download/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha1-kQ2gBiQ3ukw5/t2GPxZ1zP78ufw= + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.1.2: + version "2.1.3" + resolved "http://npm-registry.qunhequnhe.com/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= + +ftp@~0.3.10: + version "0.3.10" + resolved "http://npm-registry.qunhequnhe.com/ftp/download/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "http://npm-registry.qunhequnhe.com/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-ready@^1.0.0, get-ready@~1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/get-ready/download/get-ready-1.0.0.tgz#f91817f1e9adecfea13a562adfc8de883ab34782" + integrity sha1-+RgX8emt7P6hOlYq38jeiDqzR4I= + +get-uri@^2.0.0: + version "2.0.4" + resolved "http://npm-registry.qunhequnhe.com/get-uri/download/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a" + integrity sha1-1JN6uBniGNTLWuGOT1livvFpzGo= + dependencies: + data-uri-to-buffer "1" + debug "2" + extend "~3.0.2" + file-uri-to-path "1" + ftp "~0.3.10" + readable-stream "2" + +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "http://npm-registry.qunhequnhe.com/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= + dependencies: + is-glob "^4.0.1" + +glob@7.1.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6: + version "7.1.6" + resolved "http://npm-registry.qunhequnhe.com/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^12.1.0: + version "12.4.0" + resolved "http://npm-registry.qunhequnhe.com/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@^11.0.1: + version "11.0.1" + resolved "http://npm-registry.qunhequnhe.com/globby/download/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha1-mivxB6Bo8//qvEmtcCx57ejP01c= + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.4" + resolved "http://npm-registry.qunhequnhe.com/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= + +growl@1.10.5: + version "1.10.5" + resolved "http://npm-registry.qunhequnhe.com/growl/download/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4= + +has-flag@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + +has@^1.0.3: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "http://npm-registry.qunhequnhe.com/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +http-errors@1.7.3: + version "1.7.3" + resolved "http://npm-registry.qunhequnhe.com/http-errors/download/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-proxy-agent@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha1-5IIb7vWyFCogJr1zkm/lN2McVAU= + dependencies: + agent-base "4" + debug "3.1.0" + +https-proxy-agent@^2.2.4: + version "2.2.4" + resolved "http://npm-registry.qunhequnhe.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha1-TuenN6vZJniik9mzShr00NCMeHs= + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +https-proxy-agent@^3.0.0: + version "3.0.1" + resolved "http://npm-registry.qunhequnhe.com/https-proxy-agent/download/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" + integrity sha1-uMKGQz6HYCMRsByOo0QT2Fakr4E= + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +humanize-ms@^1.2.0, humanize-ms@^1.2.1: + version "1.2.1" + resolved "http://npm-registry.qunhequnhe.com/humanize-ms/download/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.15: + version "0.4.24" + resolved "http://npm-registry.qunhequnhe.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^4.0.6: + version "4.0.6" + resolved "http://npm-registry.qunhequnhe.com/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.4: + version "5.1.8" + resolved "http://npm-registry.qunhequnhe.com/ignore/download/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc= + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.2.1" + resolved "http://npm-registry.qunhequnhe.com/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "http://npm-registry.qunhequnhe.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "http://npm-registry.qunhequnhe.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "http://npm-registry.qunhequnhe.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +ip@1.1.5, ip@^1.1.5: + version "1.1.5" + resolved "http://npm-registry.qunhequnhe.com/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +is-arguments@^1.0.4: + version "1.0.4" + resolved "http://npm-registry.qunhequnhe.com/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-buffer@~2.0.3: + version "2.0.4" + resolved "http://npm-registry.qunhequnhe.com/is-buffer/download/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM= + +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.2" + resolved "http://npm-registry.qunhequnhe.com/is-callable/download/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk= + +is-class-hotfix@~0.0.6: + version "0.0.6" + resolved "http://npm-registry.qunhequnhe.com/is-class-hotfix/download/is-class-hotfix-0.0.6.tgz#a527d31fb23279281dde5f385c77b5de70a72435" + integrity sha1-pSfTH7IyeSgd3l84XHe13nCnJDU= + +is-date-object@^1.0.1: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + +is-extendable@^0.1.0: + version "0.1.1" + resolved "http://npm-registry.qunhequnhe.com/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "http://npm-registry.qunhequnhe.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "http://npm-registry.qunhequnhe.com/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-map@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/is-map/download/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" + integrity sha1-Ug2vxDB7uOvDO4E95c58lADWRKE= + +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/is-negative-zero/download/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + +is-number@^7.0.0: + version "7.0.0" + resolved "http://npm-registry.qunhequnhe.com/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-regex@^1.1.0, is-regex@^1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/is-regex/download/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k= + dependencies: + has-symbols "^1.0.1" + +is-set@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/is-set/download/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" + integrity sha1-0WBK/asXJJhtMAkVdfVJRdp+X0M= + +is-string@^1.0.4, is-string@^1.0.5: + version "1.0.5" + resolved "http://npm-registry.qunhequnhe.com/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + +is-symbol@^1.0.2: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + +is-type-of@^1.0.0: + version "1.2.1" + resolved "http://npm-registry.qunhequnhe.com/is-type-of/download/is-type-of-1.2.1.tgz#e263ec3857aceb4f28c47130ec78db09a920f8c5" + integrity sha1-4mPsOFes608oxHEw7HjbCakg+MU= + dependencies: + core-util-is "^1.0.2" + is-class-hotfix "~0.0.6" + isstream "~0.1.2" + +isarray@0.0.1: + version "0.0.1" + resolved "http://npm-registry.qunhequnhe.com/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@^2.0.5: + version "2.0.5" + resolved "http://npm-registry.qunhequnhe.com/isarray/download/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM= + +isarray@~1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "http://npm-registry.qunhequnhe.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +iterate-iterator@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/iterate-iterator/download/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" + integrity sha1-FpOnaMHd15yWkFFFlFPwgv6C6fY= + +iterate-value@^1.0.0: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/iterate-value/download/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha1-k1EVvTfQBqUgRlNevI0H6ckzf1c= + dependencies: + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" + +js-base64@^2.5.2: + version "2.6.4" + resolved "http://npm-registry.qunhequnhe.com/js-base64/download/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-yaml@3.14.0, js-yaml@^3.13.1: + version "3.14.0" + resolved "http://npm-registry.qunhequnhe.com/js-yaml/download/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "http://npm-registry.qunhequnhe.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +jsonfile@^6.0.1: + version "6.0.1" + resolved "http://npm-registry.qunhequnhe.com/jsonfile/download/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" + integrity sha1-mJZsuiFDeMjIS4LghZB7QL9hQXk= + dependencies: + universalify "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jstoxml@^0.2.3: + version "0.2.4" + resolved "http://npm-registry.qunhequnhe.com/jstoxml/download/jstoxml-0.2.4.tgz#ff3fb67856883a032953c7ce8ce7486210f48447" + integrity sha1-/z+2eFaIOgMpU8fOjOdIYhD0hEc= + +ko-sleep@^1.0.3: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/ko-sleep/download/ko-sleep-1.0.3.tgz#28a2a0a1485e8b7f415ff488dee17d24788ab082" + integrity sha1-KKKgoUhei39BX/SI3uF9JHiKsII= + dependencies: + ms "^2.0.0" + +levn@^0.4.1: + version "0.4.1" + resolved "http://npm-registry.qunhequnhe.com/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "http://npm-registry.qunhequnhe.com/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "http://npm-registry.qunhequnhe.com/locate-path/download/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= + dependencies: + p-locate "^5.0.0" + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: + version "4.17.20" + resolved "http://npm-registry.qunhequnhe.com/lodash/download/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= + +log-symbols@4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA= + dependencies: + chalk "^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "http://npm-registry.qunhequnhe.com/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +merge-descriptors@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge2@^1.3.0: + version "1.4.1" + resolved "http://npm-registry.qunhequnhe.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +micromatch@^4.0.2: + version "4.0.2" + resolved "http://npm-registry.qunhequnhe.com/micromatch/download/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime@^1.3.4: + version "1.6.0" + resolved "http://npm-registry.qunhequnhe.com/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.5: + version "2.4.6" + resolved "http://npm-registry.qunhequnhe.com/mime/download/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE= + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "http://npm-registry.qunhequnhe.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.0, minimist@^1.2.5: + version "1.2.5" + resolved "http://npm-registry.qunhequnhe.com/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +mkdirp@^0.5.1: + version "0.5.5" + resolved "http://npm-registry.qunhequnhe.com/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +mocha@^8.1.3: + version "8.1.3" + resolved "http://npm-registry.qunhequnhe.com/mocha/download/mocha-8.1.3.tgz#5e93f873e35dfdd69617ea75f9c68c2ca61c2ac5" + integrity sha1-XpP4c+Nd/daWF+p1+caMLKYcKsU= + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.4.2" + debug "4.1.1" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.2" + object.assign "4.1.0" + promise.allsettled "1.0.2" + serialize-javascript "4.0.0" + strip-json-comments "3.0.1" + supports-color "7.1.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.0" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "1.6.1" + +ms@2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: + version "2.1.2" + resolved "http://npm-registry.qunhequnhe.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +mz-modules@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/mz-modules/download/mz-modules-2.1.0.tgz#7f529877afd0d42f409a7463b96986d61cfbcf96" + integrity sha1-f1KYd6/Q1C9AmnRjuWmG1hz7z5Y= + dependencies: + glob "^7.1.2" + ko-sleep "^1.0.3" + mkdirp "^0.5.1" + pump "^3.0.0" + rimraf "^2.6.1" + +mz@^2.7.0: + version "2.7.0" + resolved "http://npm-registry.qunhequnhe.com/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI= + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "http://npm-registry.qunhequnhe.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +netmask@^1.0.6: + version "1.0.6" + resolved "http://npm-registry.qunhequnhe.com/netmask/download/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" + integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +object-assign@^4.0.1: + version "4.1.1" + resolved "http://npm-registry.qunhequnhe.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.7.0, object-inspect@^1.8.0: + version "1.8.0" + resolved "http://npm-registry.qunhequnhe.com/object-inspect/download/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA= + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object.assign@4.1.0: + version "4.1.0" + resolved "http://npm-registry.qunhequnhe.com/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.assign@^4.1.0: + version "4.1.1" + resolved "http://npm-registry.qunhequnhe.com/object.assign/download/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" + integrity sha1-MDhnpmbN1Bk27N7fsfjz4ypHjN0= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.0" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "http://npm-registry.qunhequnhe.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optionator@^0.8.1: + version "0.8.3" + resolved "http://npm-registry.qunhequnhe.com/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "http://npm-registry.qunhequnhe.com/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +os-name@~1.0.3: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/os-name/download/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf" + integrity sha1-GzefZINa98Wn9JizV8uVIVwVnt8= + dependencies: + osx-release "^1.0.0" + win-release "^1.0.0" + +osx-release@^1.0.0: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/osx-release/download/osx-release-1.1.0.tgz#f217911a28136949af1bf9308b241e2737d3cd6c" + integrity sha1-8heRGigTaUmvG/kwiyQeJzfTzWw= + dependencies: + minimist "^1.1.0" + +p-limit@^2.0.0: + version "2.3.0" + resolved "http://npm-registry.qunhequnhe.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.0.2" + resolved "http://npm-registry.qunhequnhe.com/p-limit/download/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha1-FmTgEK88rcaBuq/T4qQ3vnsPtf4= + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "http://npm-registry.qunhequnhe.com/p-locate/download/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "http://npm-registry.qunhequnhe.com/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pac-proxy-agent@^3.0.1: + version "3.0.1" + resolved "http://npm-registry.qunhequnhe.com/pac-proxy-agent/download/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad" + integrity sha1-EVseWPkldsrC66cYWTynsON94q0= + dependencies: + agent-base "^4.2.0" + debug "^4.1.1" + get-uri "^2.0.0" + http-proxy-agent "^2.1.0" + https-proxy-agent "^3.0.0" + pac-resolver "^3.0.0" + raw-body "^2.2.0" + socks-proxy-agent "^4.0.1" + +pac-resolver@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/pac-resolver/download/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" + integrity sha1-auoweH2wqJFwTet4AKcip2FabyY= + dependencies: + co "^4.6.0" + degenerator "^1.0.4" + ip "^1.1.5" + netmask "^1.0.6" + thunkify "^2.1.2" + +parent-module@^1.0.0: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.1.0: + version "3.1.1" + resolved "http://npm-registry.qunhequnhe.com/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-type@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pause-stream@~0.0.11: + version "0.0.11" + resolved "http://npm-registry.qunhequnhe.com/pause-stream/download/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + dependencies: + through "~2.3" + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "http://npm-registry.qunhequnhe.com/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +platform@^1.3.1: + version "1.3.6" + resolved "http://npm-registry.qunhequnhe.com/platform/download/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha1-SLTOmDFksgnC1FoQetsx9HOm56c= + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "http://npm-registry.qunhequnhe.com/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "http://npm-registry.qunhequnhe.com/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +progress@^2.0.0: + version "2.0.3" + resolved "http://npm-registry.qunhequnhe.com/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise.allsettled@1.0.2: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/promise.allsettled/download/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" + integrity sha1-1m94+7YA6D6GPYk+mLPUN2qcR8k= + dependencies: + array.prototype.map "^1.0.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + iterate-value "^1.0.0" + +proxy-agent@^3.1.0: + version "3.1.1" + resolved "http://npm-registry.qunhequnhe.com/proxy-agent/download/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" + integrity sha1-fgTga/Nq+mJKFUC+JHtHyXC9MBQ= + dependencies: + agent-base "^4.2.0" + debug "4" + http-proxy-agent "^2.1.0" + https-proxy-agent "^3.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^3.0.1" + proxy-from-env "^1.0.0" + socks-proxy-agent "^4.0.1" + +proxy-from-env@^1.0.0: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/proxy-from-env/download/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha1-4QLxbKNVQkhldV0sno6k8k1Yw+I= + +pump@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.1.1" + resolved "http://npm-registry.qunhequnhe.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +qs@^6.4.0: + version "6.9.4" + resolved "http://npm-registry.qunhequnhe.com/qs/download/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" + integrity sha1-kJCykNH5FyjTwi5UhDykSupatoc= + +randombytes@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +raw-body@^2.2.0: + version "2.4.1" + resolved "http://npm-registry.qunhequnhe.com/raw-body/download/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow= + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@1.1.x: + version "1.1.14" + resolved "http://npm-registry.qunhequnhe.com/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@2, readable-stream@^2.3.6: + version "2.3.7" + resolved "http://npm-registry.qunhequnhe.com/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.4.0: + version "3.4.0" + resolved "http://npm-registry.qunhequnhe.com/readdirp/download/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto= + dependencies: + picomatch "^2.2.1" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "http://npm-registry.qunhequnhe.com/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= + +require-directory@^2.1.1: + version "2.1.1" + resolved "http://npm-registry.qunhequnhe.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +reusify@^1.0.4: + version "1.0.4" + resolved "http://npm-registry.qunhequnhe.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rimraf@2.6.3: + version "2.6.3" + resolved "http://npm-registry.qunhequnhe.com/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "http://npm-registry.qunhequnhe.com/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.1.9" + resolved "http://npm-registry.qunhequnhe.com/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk= + +safe-buffer@^5.1.0: + version "5.2.1" + resolved "http://npm-registry.qunhequnhe.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "http://npm-registry.qunhequnhe.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "http://npm-registry.qunhequnhe.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sax@>=0.6.0: + version "1.2.4" + resolved "http://npm-registry.qunhequnhe.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +sdk-base@^2.0.1: + version "2.0.1" + resolved "http://npm-registry.qunhequnhe.com/sdk-base/download/sdk-base-2.0.1.tgz#ba40289e8bdf272ed11dd9ea97eaf98e036d24c6" + integrity sha1-ukAonovfJy7RHdnql+r5jgNtJMY= + dependencies: + get-ready "~1.0.0" + +semver@^5.0.1: + version "5.7.1" + resolved "http://npm-registry.qunhequnhe.com/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@^7.2.1, semver@^7.3.2: + version "7.3.2" + resolved "http://npm-registry.qunhequnhe.com/semver/download/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= + +serialize-javascript@4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +shebang-command@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +slash@^3.0.0: + version "3.0.0" + resolved "http://npm-registry.qunhequnhe.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "http://npm-registry.qunhequnhe.com/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +smart-buffer@^4.1.0: + version "4.1.0" + resolved "http://npm-registry.qunhequnhe.com/smart-buffer/download/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha1-kWBcJdkWUvRmHqacz0XxszHKIbo= + +socks-proxy-agent@^4.0.1: + version "4.0.2" + resolved "http://npm-registry.qunhequnhe.com/socks-proxy-agent/download/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" + integrity sha1-PImR8xRbJ5nnDhG9X7yLGWMRY4Y= + dependencies: + agent-base "~4.2.1" + socks "~2.3.2" + +socks@~2.3.2: + version "2.3.3" + resolved "http://npm-registry.qunhequnhe.com/socks/download/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" + integrity sha1-ARKfCl1TTSuJdxLtis6rfuZdeOM= + dependencies: + ip "1.1.5" + smart-buffer "^4.1.0" + +source-map@~0.6.1: + version "0.6.1" + resolved "http://npm-registry.qunhequnhe.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +"statuses@>= 1.5.0 < 2", statuses@^1.3.1: + version "1.5.0" + resolved "http://npm-registry.qunhequnhe.com/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-http@2.8.2: + version "2.8.2" + resolved "http://npm-registry.qunhequnhe.com/stream-http/download/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" + integrity sha1-QSboxrEHAERlkYqi/DVUnndALIc= + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-wormhole@^1.0.4: + version "1.1.0" + resolved "http://npm-registry.qunhequnhe.com/stream-wormhole/download/stream-wormhole-1.1.0.tgz#300aff46ced553cfec642a05251885417693c33d" + integrity sha1-MAr/Rs7VU8/sZCoFJRiFQXaTwz0= + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "http://npm-registry.qunhequnhe.com/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "http://npm-registry.qunhequnhe.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "http://npm-registry.qunhequnhe.com/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "http://npm-registry.qunhequnhe.com/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-json-comments@3.0.1: + version "3.0.1" + resolved "http://npm-registry.qunhequnhe.com/strip-json-comments/download/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc= + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "http://npm-registry.qunhequnhe.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +supports-color@7.1.0: + version "7.1.0" + resolved "http://npm-registry.qunhequnhe.com/supports-color/download/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "http://npm-registry.qunhequnhe.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "http://npm-registry.qunhequnhe.com/supports-color/download/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "http://npm-registry.qunhequnhe.com/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "http://npm-registry.qunhequnhe.com/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "http://npm-registry.qunhequnhe.com/thenify-all/download/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "http://npm-registry.qunhequnhe.com/thenify/download/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8= + dependencies: + any-promise "^1.0.0" + +through@~2.3: + version "2.3.8" + resolved "http://npm-registry.qunhequnhe.com/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunkify@^2.1.2: + version "2.1.2" + resolved "http://npm-registry.qunhequnhe.com/thunkify/download/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" + integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "http://npm-registry.qunhequnhe.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +tslib@^1.8.1: + version "1.13.0" + resolved "http://npm-registry.qunhequnhe.com/tslib/download/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM= + +tslib@^2.0.1: + version "2.0.2" + resolved "http://npm-registry.qunhequnhe.com/tslib/download/tslib-2.0.2.tgz#462295631185db44b21b1ea3615b63cd1c038242" + integrity sha1-RiKVYxGF20SyGx6jYVtjzRwDgkI= + +tsutils@^3.17.1: + version "3.17.1" + resolved "http://npm-registry.qunhequnhe.com/tsutils/download/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha1-7XGZF/EcoN7lhicrKsSeAVot11k= + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "http://npm-registry.qunhequnhe.com/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "http://npm-registry.qunhequnhe.com/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.8.1: + version "0.8.1" + resolved "http://npm-registry.qunhequnhe.com/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +typescript@^4.0.2: + version "4.0.3" + resolved "http://npm-registry.qunhequnhe.com/typescript/download/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" + integrity sha1-FTu9Ro7wdyXB35x36LRT+NNqu6U= + +unescape@^1.0.1: + version "1.0.1" + resolved "http://npm-registry.qunhequnhe.com/unescape/download/unescape-1.0.1.tgz#956e430f61cad8a4d57d82c518f5e6cc5d0dda96" + integrity sha1-lW5DD2HK2KTVfYLFGPXmzF0N2pY= + dependencies: + extend-shallow "^2.0.1" + +universalify@^1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/universalify/download/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha1-thodoXPoQ1sv48Z9Kbmt+FlL0W0= + +unpipe@1.0.0: + version "1.0.0" + resolved "http://npm-registry.qunhequnhe.com/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +uri-js@^4.2.2: + version "4.4.0" + resolved "http://npm-registry.qunhequnhe.com/uri-js/download/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha1-qnFCYd55PoqCNHp7zJznTobyhgI= + dependencies: + punycode "^2.1.0" + +urllib@^2.33.1: + version "2.36.1" + resolved "http://npm-registry.qunhequnhe.com/urllib/download/urllib-2.36.1.tgz#fbd9fb13bbc140e1fc15bcdba8703d6142a7eb3a" + integrity sha1-+9n7E7vBQOH8FbzbqHA9YUKn6zo= + dependencies: + any-promise "^1.3.0" + content-type "^1.0.2" + debug "^2.6.9" + default-user-agent "^1.0.0" + digest-header "^0.0.1" + ee-first "~1.1.1" + formstream "^1.1.0" + humanize-ms "^1.2.0" + iconv-lite "^0.4.15" + ip "^1.1.5" + proxy-agent "^3.1.0" + pump "^3.0.0" + qs "^6.4.0" + statuses "^1.3.1" + utility "^1.16.1" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utility@0.1.11: + version "0.1.11" + resolved "http://npm-registry.qunhequnhe.com/utility/download/utility-0.1.11.tgz#fde60cf9b4e4751947a0cf5d104ce29367226715" + integrity sha1-/eYM+bTkdRlHoM9dEEzik2ciZxU= + dependencies: + address ">=0.0.1" + +utility@^1.16.1, utility@^1.8.0: + version "1.16.3" + resolved "http://npm-registry.qunhequnhe.com/utility/download/utility-1.16.3.tgz#5dfd11de74e6bfdd826cc4a167e6301d92f4b70d" + integrity sha1-Xf0R3nTmv92CbMShZ+YwHZL0tw0= + dependencies: + copy-to "^2.0.1" + escape-html "^1.0.3" + mkdirp "^0.5.1" + mz "^2.7.0" + unescape "^1.0.1" + +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "http://npm-registry.qunhequnhe.com/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= + +vscode-test@^1.4.0: + version "1.4.0" + resolved "http://npm-registry.qunhequnhe.com/vscode-test/download/vscode-test-1.4.0.tgz#a56f73c1667b4d37ba6baa6765f233a19d4ffbfe" + integrity sha1-pW9zwWZ7TTe6a6pnZfIzoZ1P+/4= + dependencies: + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.4" + rimraf "^2.6.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "http://npm-registry.qunhequnhe.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "http://npm-registry.qunhequnhe.com/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= + dependencies: + string-width "^1.0.2 || 2" + +win-release@^1.0.0: + version "1.1.1" + resolved "http://npm-registry.qunhequnhe.com/win-release/download/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" + integrity sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk= + dependencies: + semver "^5.0.1" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "http://npm-registry.qunhequnhe.com/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +workerpool@6.0.0: + version "6.0.0" + resolved "http://npm-registry.qunhequnhe.com/workerpool/download/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" + integrity sha1-harWf6GiyO+ThqG0NTmQD2HQPVg= + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "http://npm-registry.qunhequnhe.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "http://npm-registry.qunhequnhe.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@1.0.3: + version "1.0.3" + resolved "http://npm-registry.qunhequnhe.com/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +xml2js@^0.4.16: + version "0.4.23" + resolved "http://npm-registry.qunhequnhe.com/xml2js/download/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY= + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "http://npm-registry.qunhequnhe.com/xmlbuilder/download/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha1-vpuuHIoEbnazESdyY0fQrXACvrM= + +xregexp@2.0.0: + version "2.0.0" + resolved "http://npm-registry.qunhequnhe.com/xregexp/download/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + +xtend@^4.0.0: + version "4.0.2" + resolved "http://npm-registry.qunhequnhe.com/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +y18n@^4.0.0: + version "4.0.0" + resolved "http://npm-registry.qunhequnhe.com/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= + +yallist@^3.0.2: + version "3.1.1" + resolved "http://npm-registry.qunhequnhe.com/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yargs-parser@13.1.2, yargs-parser@^13.1.2: + version "13.1.2" + resolved "http://npm-registry.qunhequnhe.com/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^15.0.1: + version "15.0.1" + resolved "http://npm-registry.qunhequnhe.com/yargs-parser/download/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha1-VHhq9AuCDcsvuAJbEbTWWddjI7M= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.6.1: + version "1.6.1" + resolved "http://npm-registry.qunhequnhe.com/yargs-unparser/download/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" + integrity sha1-vUsO4FtMlNBYkpwyywnj/OcdPF8= + dependencies: + camelcase "^5.3.1" + decamelize "^1.2.0" + flat "^4.1.0" + is-plain-obj "^1.1.0" + yargs "^14.2.3" + +yargs@13.3.2: + version "13.3.2" + resolved "http://npm-registry.qunhequnhe.com/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^14.2.3: + version "14.2.3" + resolved "http://npm-registry.qunhequnhe.com/yargs/download/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha1-Ghw+3O0a+yov6jNgS8bR2NaIpBQ= + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.1"