├── .editorconfig ├── .env.example ├── .eslintrc.json ├── .gitignore ├── .travis.yml ├── README.md ├── package.json ├── src ├── index.ts ├── lib │ ├── config.ts │ ├── leetcode.ts │ ├── problem.ts │ └── submission.ts └── utils │ ├── helper.ts │ └── interfaces.ts ├── test ├── leetcode.ts ├── problem.ts └── submission.ts ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [src/*.ts] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = false 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | LEETCODE_USERNAME="your username here" 2 | LEETCODE_PASSWORD="your password here" 3 | LEETCODE_ENDPOINT="US" 4 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "es6": true, 5 | "node": true 6 | }, 7 | "parser": "@typescript-eslint/parser", 8 | "extends": [ 9 | "plugin:@typescript-eslint/recommended" 10 | ], 11 | "parserOptions": { 12 | "sourceType": "module" 13 | }, 14 | "rules": { 15 | "semi": "error", 16 | "@typescript-eslint/indent": [ 17 | "error", 18 | 4 19 | ], 20 | "eqeqeq": [ 21 | "error", 22 | "always" 23 | ], 24 | "@typescript-eslint/no-explicit-any": "off" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .vscode/ 4 | .env 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "12" 4 | 5 | script: 6 | yarn build 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Leetcode API 2 | > Leetcode API written with TypeScript, fully support async. 3 | > 4 | > Thanks for the excellent work for [leetcode-cli](https://github.com/skygragon/leetcode-cli) project! ❤️ 5 | 6 | ![GitHub package.json dynamic](https://img.shields.io/github/package-json/keywords/realVEct0r/leetcode-api) 7 | ![GitHub package.json version](https://img.shields.io/github/package-json/v/realVEct0r/leetcode-api) 8 | [![Build Status](https://travis-ci.org/realVEct0r/leetcode-api.svg?branch=master)](https://travis-ci.org/realVEct0r/leetcode-api) 9 | 10 | ## Install 11 | * npm: `npm i leetcode-api-ts` 12 | * yarn: `yarn add leetcode-api-ts` 13 | 14 | 15 | ## Usage 16 | ```typescript 17 | (async (): Promise => { 18 | 19 | // Login 20 | const leetcode: Leetcode = await Leetcode.build( 21 | "your username", 22 | "yout password", 23 | EndPoint.US // or EndPoint.CN 24 | ); 25 | 26 | // Get a special problem 27 | const problem: Problem = new Problem("two-sum"); 28 | 29 | // Fetch more properties of this problem 30 | await problem.detail(); 31 | 32 | // Show problem content, test case, code snippet etc 33 | const content: string = problem.content; 34 | const testcase: string = problem.simpleTestCase; 35 | const codeSnippets: Array = problem.codeSnippets; 36 | 37 | // submit your answer 38 | problem.submit("your code language", "your code here"); 39 | 40 | // Get All problems' base infomation 41 | const problems: Array = await leetcode.getAllProblems(); 42 | 43 | // Filter problems by status, difficulty, etc 44 | const acceptedProblems: Array = problems.filter((p: Problem) => { 45 | return p.status === ProblemStatus.Accept; 46 | }); 47 | 48 | acceptedProblems.forEach(async (problem: Problem) => { 49 | 50 | // Get all submissions 51 | const submissions: Array = await problem.getSubmissions(); 52 | 53 | // Filter submission which lang = cpp 54 | const cppSubmissions: Array = submissions.filter((s: Submission) => { 55 | return s.lang === "cpp"; 56 | }); 57 | 58 | submissions.forEach((submission: Submission) => { 59 | 60 | // Get submission's status 61 | const code: string = await submission.detail(); 62 | 63 | // Then you can handle them casually 64 | }); 65 | }); 66 | })(); 67 | ``` 68 | 69 | ## Tips 70 | I especially recommend you fetch base properties first because of the large number of problems. Then call `Problem.detail()` or `Submission.detail()` fetch all properties of them. 71 | 72 | ## TODO 73 | * [X] ~~*Support Leetcode CN.*~~ [2019-08-24] 74 | * [ ] Fetch more user profile. 75 | * [ ] Fully parse submission status type. 76 | * [ ] Support problems filter by categories. 77 | * [ ] Support problems filter by companies. 78 | 79 | ## Test 80 | * `mv .env.example .env` 81 | * Update your leetcode account in `.env` 82 | * `yarn test`. 83 | 84 | ## Contribute 85 | * start: `yarn start` 86 | * build: `yarn build` 87 | * lint: `yarn lint` 88 | 89 | ## License 90 | MIT. 91 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leetcode-api-ts", 3 | "version": "1.1.1", 4 | "description": "Leetcode api with typescript and full async", 5 | "keywords": [ 6 | "typescript", 7 | "leetcode", 8 | "api", 9 | "async", 10 | "promise" 11 | ], 12 | "author": { 13 | "name": "VEct0r", 14 | "email": "twskec@gmail.com", 15 | "url": "https://vect0r.me" 16 | }, 17 | "license": "MIT", 18 | "main": "dist/index.js", 19 | "types": "dist/index.d.ts", 20 | "files": [ 21 | "dist/**/*.js", 22 | "dist/**/*.d.ts", 23 | "README.md" 24 | ], 25 | "dependencies": { 26 | "@types/request-promise-native": "^1.0.16", 27 | "graphql-request": "^1.8.2", 28 | "request": "^2.88.0", 29 | "request-promise-native": "^1.0.7", 30 | "type-graphql": "^0.17.4" 31 | }, 32 | "scripts": { 33 | "build": "rm -rf dist && tsc -p tsconfig.json", 34 | "start": "node dist", 35 | "lint": "eslint src --ext .ts", 36 | "test": "./node_modules/.bin/mocha -r ./node_modules/ts-node/register test/**/*.ts" 37 | }, 38 | "devDependencies": { 39 | "@types/chai": "^4.2.0", 40 | "@types/dotenv": "^6.1.1", 41 | "@types/mocha": "^5.2.7", 42 | "@typescript-eslint/eslint-plugin": "^2.0.0", 43 | "@typescript-eslint/parser": "^2.0.0", 44 | "chai": "^4.2.0", 45 | "dotenv": "^8.1.0", 46 | "eslint": "^6.2.0", 47 | "eslint-config-google": "^0.13.0", 48 | "mocha": "^6.2.0", 49 | "nyc": "^14.1.1", 50 | "ts-node": "^8.3.0", 51 | "typescript": "^3.5.3" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import Leetcode from "./lib/leetcode"; 2 | 3 | export default Leetcode; 4 | -------------------------------------------------------------------------------- /src/lib/config.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | uri: { 3 | us: { 4 | base: "https://leetcode.com/", 5 | login: "https://leetcode.com/accounts/login/", 6 | graphql: "https://leetcode.com/graphql", 7 | problemsAll: "https://leetcode.com/api/problems/all/", 8 | problem: "https://leetcode.com/problems/$slug", 9 | submit: "https://leetcode.com/problems/$slug/submit/", 10 | submission: "https://leetcode.com/submissions/detail/$id/", 11 | }, 12 | cn: { 13 | base: "https://leetcode-cn.com/", 14 | login: "https://leetcode-cn.com/accounts/login/", 15 | graphql: "https://leetcode-cn.com/graphql", 16 | problemsAll: "https://leetcode-cn.com/api/problems/all/", 17 | problem: "https://leetcode-cn.com/problems/$slug", 18 | submit: "https://leetcode-cn.com/problems/$slug/submit/", 19 | submission: "https://leetcode-cn.com/submissions/detail/$id/", 20 | } 21 | } 22 | }; 23 | -------------------------------------------------------------------------------- /src/lib/leetcode.ts: -------------------------------------------------------------------------------- 1 | import { StatusCodeError } from 'request-promise-native/errors'; 2 | import Helper from '../utils/helper'; 3 | import { Credit, EndPoint, Uris } from '../utils/interfaces'; 4 | import Problem from './problem'; 5 | 6 | class Leetcode { 7 | 8 | session?: string; 9 | csrfToken: string; 10 | 11 | static uris: Uris; 12 | static setUris(uris: Uris): void { 13 | Leetcode.uris = uris; 14 | } 15 | 16 | constructor(credit: Credit) { 17 | this.session = credit.session; 18 | this.csrfToken = credit.csrfToken; 19 | } 20 | 21 | get credit(): Credit { 22 | return { 23 | session: this.session, 24 | csrfToken: this.csrfToken, 25 | }; 26 | } 27 | 28 | static async build(username: string, password: string, endpoint: EndPoint): Promise { 29 | Helper.switchEndPoint(endpoint); 30 | const credit: Credit = await this.login(username, password); 31 | Helper.setCredit(credit); 32 | return new Leetcode(credit); 33 | } 34 | 35 | static async login(username: string, password: string): Promise { 36 | // got login token first 37 | const response = await Helper.HttpRequest({ 38 | url: Leetcode.uris.login, 39 | resolveWithFullResponse: true, 40 | }); 41 | const token: string = Helper.parseCookie(response.headers['set-cookie'], "csrftoken"); 42 | // Leetcode CN return null here, but it's does not matter 43 | let credit: Credit = { 44 | csrfToken: token 45 | }; 46 | Helper.setCredit(credit); 47 | 48 | // then login 49 | try { 50 | const _response = await Helper.HttpRequest({ 51 | method: "POST", 52 | url: Leetcode.uris.login, 53 | form: { 54 | csrfmiddlewaretoken: token, 55 | login: username, 56 | password: password, 57 | }, 58 | resolveWithFullResponse: true, 59 | }); 60 | const session = Helper.parseCookie(_response.headers['set-cookie'], "LEETCODE_SESSION"); 61 | const csrfToken = Helper.parseCookie(_response.headers['set-cookie'], "csrftoken"); 62 | credit = { 63 | session: session, 64 | csrfToken: csrfToken, 65 | }; 66 | } catch (e) { 67 | if (e instanceof StatusCodeError) { 68 | throw new Error("Login Fail"); 69 | } 70 | } 71 | return credit; 72 | } 73 | 74 | async getProfile(): Promise { 75 | // ? TODO : fetch more user profile. 76 | const response: any = await Helper.GraphQLRequest({ 77 | query: ` 78 | { 79 | user { 80 | username 81 | } 82 | } 83 | ` 84 | }); 85 | return response.user; 86 | } 87 | 88 | async getAllProblems(): Promise> { 89 | let response = await Helper.HttpRequest({ 90 | url: Leetcode.uris.problemsAll, 91 | }); 92 | response = JSON.parse(response); 93 | const problems: Array = response.stat_status_pairs.map((p: any) => { 94 | return new Problem( 95 | p.stat.question__title_slug, 96 | p.stat.question_id, 97 | p.stat.question__title, 98 | Helper.difficultyMap(p.difficulty.level), 99 | p.is_favor, 100 | p.paid_only, 101 | undefined, 102 | undefined, 103 | Helper.statusMap(p.status), 104 | undefined, 105 | p.stat.total_acs, 106 | p.stat.total_submitted, 107 | undefined, 108 | undefined, 109 | undefined 110 | ); 111 | }); 112 | return problems; 113 | } 114 | 115 | async getProblemsByTag(tag: string): Promise> { 116 | const response = await Helper.GraphQLRequest({ 117 | query: ` 118 | query getTopicTag($slug: String!) { 119 | topicTag(slug: $slug) { 120 | questions { 121 | status 122 | questionId 123 | title 124 | titleSlug 125 | stats 126 | difficulty 127 | isPaidOnly 128 | topicTags { 129 | slug 130 | } 131 | } 132 | } 133 | } 134 | `, 135 | variables: { 136 | slug: tag, 137 | } 138 | }); 139 | const problems: Array = response.topicTag.questions.map((p: any) => { 140 | const stat: any = JSON.parse(p.stats); 141 | return new Problem( 142 | p.titleSlug, 143 | p.questionId, 144 | p.title, 145 | stat.title, 146 | undefined, 147 | p.isPaidOnly, 148 | undefined, 149 | undefined, 150 | Helper.statusMap(p.status), 151 | p.topicTags.map((t: any) => t.slug), 152 | stat.totalAcceptedRaw, 153 | stat.totalSubmissionRaw, 154 | undefined, 155 | undefined, 156 | undefined 157 | ); 158 | }); 159 | return problems; 160 | } 161 | 162 | } 163 | 164 | export default Leetcode; 165 | -------------------------------------------------------------------------------- /src/lib/problem.ts: -------------------------------------------------------------------------------- 1 | import Helper from "../utils/helper"; 2 | import { ProblemDifficulty, ProblemStatus, Uris } from "../utils/interfaces"; 3 | import Submission from "./submission"; 4 | 5 | class Problem { 6 | 7 | static uris: Uris; 8 | 9 | static setUris(uris: Uris): void { 10 | Problem.uris = uris; 11 | } 12 | 13 | constructor( 14 | readonly slug: string, 15 | public id?: number, 16 | public title?: string, 17 | public difficulty?: ProblemDifficulty, 18 | public starred?: boolean, 19 | public locked?: boolean, 20 | public likes?: number, 21 | public dislikes?: number, 22 | public status?: ProblemStatus, 23 | public tag?: Array, 24 | public totalAccepted?: number, 25 | public totalSubmission?: number, 26 | 27 | public sampleTestCase?: string, 28 | public content?: string, 29 | public codeSnippets?: Array, 30 | ) { } 31 | 32 | async detail(): Promise { 33 | const response = await Helper.GraphQLRequest({ 34 | query: ` 35 | query getQuestionDetail($titleSlug: String!) { 36 | question(titleSlug: $titleSlug) { 37 | questionId 38 | title 39 | difficulty 40 | likes 41 | dislikes 42 | isLiked 43 | isPaidOnly 44 | stats 45 | status 46 | content 47 | topicTags { 48 | name 49 | } 50 | codeSnippets { 51 | lang 52 | langSlug 53 | code 54 | } 55 | sampleTestCase 56 | } 57 | } 58 | `, 59 | variables: { 60 | titleSlug: this.slug, 61 | } 62 | }); 63 | const question = response.question; 64 | this.id = Number(question.questionId); 65 | this.title = question.title; 66 | this.difficulty = Helper.difficultyMap(question.difficulty); 67 | this.starred = question.isLiked !== null; 68 | this.locked = question.isPaidOnly; 69 | this.likes = question.likes; 70 | this.dislikes = question.dislikes; 71 | this.status = Helper.statusMap(question.status); 72 | this.tag = question.topicTags.map(function (t: any) { 73 | return t.name; 74 | }); 75 | const stats: any = JSON.parse(question.stats); 76 | this.totalAccepted = stats.totalAcceptedRaw; 77 | this.totalSubmission = stats.totalSubmissionRaw; 78 | 79 | this.sampleTestCase = question.sampleTestCase; 80 | this.content = question.content; 81 | this.codeSnippets = question.codeSnippets; 82 | return this; 83 | } 84 | 85 | async getSubmissions(): Promise> { 86 | const submissions: Array = []; 87 | let offet = 0; 88 | const limit = 20; 89 | let hasNext = true; 90 | while (hasNext) { 91 | const response = await Helper.GraphQLRequest({ 92 | query: ` 93 | query Submissions($offset: Int!, $limit: Int!, $questionSlug: String!) { 94 | submissionList(offset: $offset, limit: $limit, questionSlug: $questionSlug) { 95 | lastKey 96 | hasNext 97 | submissions { 98 | id 99 | statusDisplay 100 | lang 101 | runtime 102 | timestamp 103 | url 104 | isPending 105 | memory 106 | } 107 | } 108 | } 109 | `, 110 | variables: { 111 | offset: offet, 112 | limit: limit, 113 | questionSlug: this.slug, 114 | } 115 | }); 116 | 117 | hasNext = response.submissionList.hasNext; 118 | const submission: Array = response.submissionList.submissions; 119 | offet += submission.length; 120 | submission.map(s => { 121 | submissions.push(new Submission( 122 | Number(s.id), 123 | s.isPending, 124 | s.lang, 125 | s.memory, 126 | s.runtime, 127 | Helper.submissionStatusMap(s.statusDisplay), 128 | Number(s.timestamp), 129 | )); 130 | }); 131 | } 132 | return submissions; 133 | } 134 | 135 | async submit(lang: string, code: string): Promise { 136 | const response = await Helper.HttpRequest({ 137 | url: Problem.uris.submit.replace("$slug", this.slug), 138 | method: "POST", 139 | body: { 140 | lang: lang, 141 | "question_id": this.id, 142 | "typed_code": code, 143 | } 144 | }); 145 | return new Submission(JSON.parse(response).submission_id); 146 | } 147 | } 148 | 149 | export default Problem; 150 | -------------------------------------------------------------------------------- /src/lib/submission.ts: -------------------------------------------------------------------------------- 1 | import Helper from "../utils/helper"; 2 | import { SubmissionStatus, Uris } from "../utils/interfaces"; 3 | 4 | class Submission { 5 | static uris: Uris; 6 | 7 | static setUris(uris: Uris): void { 8 | Submission.uris = uris; 9 | } 10 | 11 | constructor( 12 | public id: number, 13 | public isPending?: string, 14 | public lang?: string, 15 | public memory?: string, 16 | public runtime?: string, 17 | public status?: SubmissionStatus, 18 | public timestamp?: number, 19 | public code?: string, 20 | ) { } 21 | 22 | async detail(): Promise { 23 | const response = await Helper.HttpRequest({ 24 | url: Submission.uris.submission.replace("$id", this.id.toString()), 25 | }); 26 | this.lang = response.match(/getLangDisplay:\s'([^']*)'/)[1]; 27 | this.memory = response.match(/memory:\s'([^']*)'/)[1]; 28 | this.runtime = response.match(/runtime:\s'([^']*)'/)[1]; 29 | this.status = Helper.submissionStatusMap(response.match(/parseInt\('(\d+)', 10/)[1]); 30 | this.code = JSON.parse(`"${response.match(/submissionCode:\s'([^']*)'/)[1]}"`); 31 | // TODO : add submit time parse 32 | //
Submitted: 33 minutes ago
33 | return this; 34 | } 35 | } 36 | 37 | export default Submission; 38 | -------------------------------------------------------------------------------- /src/utils/helper.ts: -------------------------------------------------------------------------------- 1 | import { GraphQLClient } from 'graphql-request'; 2 | import Request from 'request-promise-native'; 3 | import Config from '../lib/config'; 4 | import Leetcode from '../lib/leetcode'; 5 | import Problem from '../lib/problem'; 6 | import Submission from '../lib/submission'; 7 | import { Credit, EndPoint, GraphQLRequestOptions, HttpRequestOptions, ProblemDifficulty, ProblemStatus, SubmissionStatus, Uris } from './interfaces'; 8 | 9 | 10 | class Helper { 11 | 12 | static credit: Credit; 13 | static uris: Uris; 14 | 15 | static setCredit(credit: Credit): void { 16 | Helper.credit = credit; 17 | } 18 | 19 | static setUris(uris: Uris): void { 20 | Helper.uris = uris; 21 | } 22 | 23 | static parseCookie(cookies: Array, key: string): string { 24 | if (!cookies) { 25 | return ""; 26 | } 27 | for (let ix = 0; ix !== cookies.length; ++ix) { 28 | const result = cookies[ix].match(new RegExp(`${key}=(.+?);`)); 29 | if (result) { 30 | return result[1] || ""; 31 | } 32 | } 33 | return ""; 34 | } 35 | 36 | static levelToName(level: number): string { 37 | switch (level) { 38 | case 1: return 'Easy'; 39 | case 2: return 'Medium'; 40 | case 3: return 'Hard'; 41 | default: return ''; 42 | } 43 | } 44 | 45 | static statusMap(status: string | null): ProblemStatus { 46 | switch (status) { 47 | case "ac": return ProblemStatus["Accept"]; 48 | case "notac": return ProblemStatus["Not Accept"]; 49 | case null: return ProblemStatus["Not Start"]; 50 | default: return ProblemStatus["Not Start"]; 51 | } 52 | } 53 | 54 | static difficultyMap(difficulty: number): ProblemDifficulty { 55 | switch (difficulty) { 56 | case 1: return ProblemDifficulty.Easy; 57 | case 2: return ProblemDifficulty.Medium; 58 | case 3: return ProblemDifficulty.Hard; 59 | default: return ProblemDifficulty.Easy; 60 | } 61 | } 62 | 63 | static submissionStatusMap(submission: string): SubmissionStatus { 64 | switch (submission) { 65 | case "Accepted": return SubmissionStatus["Accepted"]; 66 | case "Compile Error": return SubmissionStatus["Compile Error"]; 67 | case "Time Limit Exceeded": return SubmissionStatus["Time Limit Exceeded"]; 68 | case "Wrong Answer": return SubmissionStatus["Wrong Answer"]; 69 | 70 | case "10": return SubmissionStatus["Accepted"]; 71 | case "11": return SubmissionStatus["Wrong Answer"]; 72 | case "14": return SubmissionStatus["Time Limit Exceeded"]; 73 | case "20": return SubmissionStatus["Compile Error"]; 74 | // TODO : find out what this numbers mean 75 | // 12 => MLE 76 | // 13 => OLE 77 | // 15 => RE 78 | // 16 => IE 79 | // 21 => UE 80 | // 30 => TO 81 | // default => UE 82 | default: return SubmissionStatus["Wrong Answer"]; 83 | } 84 | } 85 | 86 | static async HttpRequest(options: HttpRequestOptions): Promise { 87 | return await Request({ 88 | method: options.method || "GET", 89 | uri: options.url, 90 | followRedirect: false, 91 | headers: { 92 | Cookie: Helper.credit ? `LEETCODE_SESSION=${Helper.credit.session};csrftoken=${Helper.credit.csrfToken}` : "", 93 | "X-Requested-With": 'XMLHttpRequest', 94 | "X-CSRFToken": Helper.credit ? Helper.credit.csrfToken : "", 95 | Referer: options.referer || Helper.uris.base, 96 | }, 97 | resolveWithFullResponse: options.resolveWithFullResponse || false, 98 | form: options.form || null, 99 | body: JSON.stringify(options.body) || "", 100 | }); 101 | } 102 | 103 | static async GraphQLRequest(options: GraphQLRequestOptions): Promise { 104 | const client = new GraphQLClient( 105 | Helper.uris.graphql, 106 | { 107 | headers: { 108 | Origin: options.origin || Helper.uris.base, 109 | Referer: options.referer || Helper.uris.base, 110 | Cookie: `LEETCODE_SESSION=${Helper.credit.session};csrftoken=${Helper.credit.csrfToken};`, 111 | "X-Requested-With": 'XMLHttpRequest', 112 | "X-CSRFToken": Helper.credit.csrfToken, 113 | } 114 | } 115 | ); 116 | return await client.request( 117 | options.query, 118 | options.variables || {}, 119 | ); 120 | } 121 | 122 | static switchEndPoint(endPoint: EndPoint): void { 123 | if (endPoint === EndPoint.US) { 124 | const uris: Uris = Config.uri.us; 125 | Helper.setUris(uris); 126 | Leetcode.setUris(uris); 127 | Problem.setUris(uris); 128 | Submission.setUris(uris); 129 | } else if (endPoint === EndPoint.CN) { 130 | const uris: Uris = Config.uri.cn; 131 | Helper.setUris(uris); 132 | Leetcode.setUris(uris); 133 | Problem.setUris(uris); 134 | Submission.setUris(uris); 135 | } 136 | } 137 | } 138 | 139 | export default Helper; 140 | -------------------------------------------------------------------------------- /src/utils/interfaces.ts: -------------------------------------------------------------------------------- 1 | interface HttpRequestOptions { 2 | method?: string; 3 | url: string; 4 | referer?: string; 5 | resolveWithFullResponse?: boolean; 6 | form?: any; 7 | body?: any; 8 | } 9 | 10 | interface GraphQLRequestOptions { 11 | origin?: string; 12 | referer?: string; 13 | query: string; 14 | variables?: object; 15 | } 16 | 17 | interface Credit { 18 | session?: string; 19 | csrfToken: string; 20 | } 21 | 22 | enum ProblemStatus { 23 | "Accept", 24 | "Not Accept", 25 | "Not Start" 26 | } 27 | 28 | enum ProblemDifficulty { 29 | "Easy", 30 | "Medium", 31 | "Hard", 32 | } 33 | 34 | enum SubmissionStatus { 35 | "Accepted", 36 | "Compile Error", 37 | "Wrong Answer", 38 | "Time Limit Exceeded", 39 | } 40 | 41 | enum EndPoint { 42 | "US", 43 | "CN", 44 | } 45 | 46 | interface Uris { 47 | base: string; 48 | login: string; 49 | graphql: string; 50 | problemsAll: string; 51 | problem: string; 52 | submit: string; 53 | submission: string; 54 | } 55 | 56 | export { HttpRequestOptions, GraphQLRequestOptions, Credit, ProblemStatus, ProblemDifficulty, SubmissionStatus, EndPoint, Uris, }; 57 | 58 | -------------------------------------------------------------------------------- /test/leetcode.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import Dotenv from 'dotenv'; 3 | import 'mocha'; 4 | import Leetcode from '../src'; 5 | import Problem from '../src/lib/problem'; 6 | import { EndPoint } from '../src/utils/interfaces'; 7 | 8 | describe("# Leetcode", () => { 9 | describe("Correct Account", async function () { 10 | this.enableTimeouts(false); 11 | let leetcode: Leetcode; 12 | before(async () => { 13 | Dotenv.config(); 14 | leetcode = await Leetcode.build( 15 | process.env.LEETCODE_USERNAME || "", 16 | process.env.LEETCODE_PASSWORD || "", 17 | process.env.LEETCODE_ENDPOINT === "CN" ? EndPoint.CN : EndPoint.US, 18 | ); 19 | }); 20 | it("Should be intance of Leetcode", () => { 21 | expect(leetcode).to.instanceOf(Leetcode); 22 | }); 23 | it("Should has session", () => { 24 | expect(leetcode.session).to.not.null; 25 | }); 26 | it("Should has csrf token", () => { 27 | expect(leetcode.csrfToken).to.not.null; 28 | }); 29 | it("Could get profile", async () => { 30 | const profile: any = await leetcode.getProfile(); 31 | expect(profile.username).to.not.null; 32 | }); 33 | it("Could get all problems", async () => { 34 | const problems: Array = await leetcode.getAllProblems(); 35 | expect(problems.length).least(1000); 36 | const problem: Problem = problems[Math.floor(Math.random() * problems.length)]; 37 | expect(problem.slug).to.not.null; 38 | }); 39 | it("Could get problems by tag", async () => { 40 | const problems: Array = await leetcode.getProblemsByTag("array"); 41 | expect(problems.length).least(150); 42 | const problem: Problem = problems[Math.floor(Math.random() * problems.length)]; 43 | expect(problem.slug).to.not.null; 44 | }); 45 | }); 46 | describe("Incorrect Account", async function () { 47 | this.enableTimeouts(false); 48 | it("Should throw login error", async () => { 49 | try { 50 | await Leetcode.build( 51 | "a wrong username", 52 | "a wrong password", 53 | EndPoint.US 54 | ); 55 | } catch (e) { 56 | expect(e).to.be.an("Error"); 57 | expect(e.message).to.equal("Login Fail"); 58 | } 59 | }); 60 | }); 61 | }); 62 | -------------------------------------------------------------------------------- /test/problem.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import Dotenv from 'dotenv'; 3 | import 'mocha'; 4 | import Leetcode from '../src'; 5 | import Problem from '../src/lib/problem'; 6 | import Submission from '../src/lib/submission'; 7 | import { EndPoint, ProblemDifficulty, ProblemStatus } from '../src/utils/interfaces'; 8 | 9 | describe("# Problem", async function () { 10 | this.enableTimeouts(false); 11 | const problem: Problem = new Problem("two-sum"); 12 | before(async () => { 13 | Dotenv.config(); 14 | await Leetcode.build( 15 | process.env.LEETCODE_USERNAME || "", 16 | process.env.LEETCODE_PASSWORD || "", 17 | process.env.LEETCODE_ENDPOINT === "CN" ? EndPoint.CN : EndPoint.US, 18 | ); 19 | await problem.detail(); 20 | }); 21 | 22 | it("Should be instance of Problem", () => { 23 | expect(problem).to.instanceOf(Problem); 24 | }); 25 | 26 | it("Should contain base field", () => { 27 | expect(problem.id).to.be.a("number"); 28 | expect(problem.title).to.be.a("string"); 29 | expect(problem.content).to.be.a("string"); 30 | expect(problem.difficulty).to.be.oneOf([ 31 | ProblemDifficulty["Easy"], 32 | ProblemDifficulty["Medium"], 33 | ProblemDifficulty["Hard"], 34 | ]); 35 | expect(problem.starred).to.be.a("boolean"); 36 | expect(problem.locked).to.be.a("boolean"); 37 | expect(problem.likes).to.be.a("number"); 38 | expect(problem.dislikes).to.be.a("number"); 39 | expect(problem.status).to.be.oneOf([ 40 | ProblemStatus["Accept"], 41 | ProblemStatus["Not Accept"], 42 | ProblemStatus["Not Start"], 43 | ]); 44 | expect(problem.tag).to.be.an("array"); 45 | expect(problem.totalAccepted).to.be.a("number"); 46 | expect(problem.totalSubmission).to.be.a("number"); 47 | expect(problem.sampleTestCase).to.be.a("string"); 48 | expect(problem.content).to.be.a("string"); 49 | expect(problem.codeSnippets).to.be.an("array"); 50 | }); 51 | it("Could get submissions", async () => { 52 | const submissions: Array = await problem.getSubmissions(); 53 | expect(submissions).to.be.a("array"); 54 | }); 55 | 56 | it("Could submit solution", async () => { 57 | const submission = await problem.submit("cpp", "test code here"); 58 | setTimeout(async () => { 59 | await submission.detail(); 60 | expect(submission.status).to.be.a("number"); 61 | }, 5000); 62 | }); 63 | }); 64 | -------------------------------------------------------------------------------- /test/submission.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import Dotenv from 'dotenv'; 3 | import 'mocha'; 4 | import Leetcode from '../src'; 5 | import Problem from '../src/lib/problem'; 6 | import Submission from '../src/lib/submission'; 7 | import { EndPoint, ProblemStatus, SubmissionStatus } from '../src/utils/interfaces'; 8 | 9 | describe("# Submission", async function () { 10 | this.enableTimeouts(false); 11 | let submission: Submission; 12 | before(async () => { 13 | Dotenv.config(); 14 | const leetcode: Leetcode = await Leetcode.build( 15 | process.env.LEETCODE_USERNAME || "", 16 | process.env.LEETCODE_PASSWORD || "", 17 | process.env.LEETCODE_ENDPOINT === "CN" ? EndPoint.CN : EndPoint.US, 18 | ); 19 | const problems: Array = await leetcode.getAllProblems(); 20 | const acceptedProblems: Array = problems.filter((p: Problem) => { 21 | return p.status === ProblemStatus.Accept; 22 | }); 23 | const submissions: Array = await acceptedProblems[0].getSubmissions(); 24 | submission = submissions[0]; 25 | await submission.detail(); 26 | }); 27 | 28 | it("Should be instance of Submission", () => { 29 | expect(submission).to.instanceOf(Submission); 30 | }); 31 | 32 | it("Should has base field", () => { 33 | expect(submission.id).to.be.an("number"); 34 | expect(submission.isPending).to.be.a("string"); 35 | expect(submission.lang).to.be.a("string"); 36 | expect(submission.memory).to.be.a("string"); 37 | expect(submission.runtime).to.be.a("string"); 38 | expect(submission.status).to.be.oneOf([ 39 | SubmissionStatus["Accepted"], 40 | SubmissionStatus["Compile Error"], 41 | SubmissionStatus["Time Limit Exceeded"], 42 | SubmissionStatus["Wrong Answer"], 43 | ]); 44 | expect(submission.timestamp).to.be.an("number"); 45 | expect(submission.code).to.be.a("string"); 46 | }); 47 | }); 48 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | // "incremental": true, /* Enable incremental compilation */ 5 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ 6 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 7 | // "lib": [], /* Specify library files to be included in the compilation. */ 8 | "allowJs": false, /* Allow javascript files to be compiled. */ 9 | // "checkJs": true, /* Report errors in .js files. */ 10 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 11 | "declaration": true, /* Generates corresponding '.d.ts' file. */ 12 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 13 | "sourceMap": true, /* Generates corresponding '.map' file. */ 14 | // "outFile": "./", /* Concatenate and emit output to single file. */ 15 | "outDir": "./dist", /* Redirect output structure to the directory. */ 16 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 17 | // "composite": true, /* Enable project compilation */ 18 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 19 | // "removeComments": true, /* Do not emit comments to output. */ 20 | // "noEmit": true, /* Do not emit outputs. */ 21 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 22 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 23 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 24 | /* Strict Type-Checking Options */ 25 | "strict": true, /* Enable all strict type-checking options. */ 26 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 27 | // "strictNullChecks": true, /* Enable strict null checks. */ 28 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 29 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 30 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 31 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 32 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 33 | /* Additional Checks */ 34 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 35 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 36 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 37 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 38 | /* Module Resolution Options */ 39 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 40 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 41 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 42 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 43 | // "typeRoots": [], /* List of folders to include type definitions from. */ 44 | // "types": [], /* Type declaration files to be included in compilation. */ 45 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 46 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 47 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 48 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 49 | /* Source Map Options */ 50 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 51 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 52 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 53 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 54 | /* Experimental Options */ 55 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 56 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 57 | }, 58 | "exclude": [ 59 | "./dist", 60 | "./test", 61 | ] 62 | } 63 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": 6 | version "7.5.5" 7 | resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 8 | integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/generator@^7.4.0", "@babel/generator@^7.5.5": 13 | version "7.5.5" 14 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" 15 | integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== 16 | dependencies: 17 | "@babel/types" "^7.5.5" 18 | jsesc "^2.5.1" 19 | lodash "^4.17.13" 20 | source-map "^0.5.0" 21 | trim-right "^1.0.1" 22 | 23 | "@babel/helper-function-name@^7.1.0": 24 | version "7.1.0" 25 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 26 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== 27 | dependencies: 28 | "@babel/helper-get-function-arity" "^7.0.0" 29 | "@babel/template" "^7.1.0" 30 | "@babel/types" "^7.0.0" 31 | 32 | "@babel/helper-get-function-arity@^7.0.0": 33 | version "7.0.0" 34 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 35 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== 36 | dependencies: 37 | "@babel/types" "^7.0.0" 38 | 39 | "@babel/helper-split-export-declaration@^7.4.4": 40 | version "7.4.4" 41 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" 42 | integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== 43 | dependencies: 44 | "@babel/types" "^7.4.4" 45 | 46 | "@babel/highlight@^7.0.0": 47 | version "7.5.0" 48 | resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.5.0.tgz?cache=0&sync_timestamp=1562245140883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 49 | integrity sha1-VtETEr2SSPphlZHQJHK+boyzJUA= 50 | dependencies: 51 | chalk "^2.0.0" 52 | esutils "^2.0.2" 53 | js-tokens "^4.0.0" 54 | 55 | "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": 56 | version "7.5.5" 57 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" 58 | integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== 59 | 60 | "@babel/template@^7.1.0", "@babel/template@^7.4.0": 61 | version "7.4.4" 62 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" 63 | integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== 64 | dependencies: 65 | "@babel/code-frame" "^7.0.0" 66 | "@babel/parser" "^7.4.4" 67 | "@babel/types" "^7.4.4" 68 | 69 | "@babel/traverse@^7.4.3": 70 | version "7.5.5" 71 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" 72 | integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== 73 | dependencies: 74 | "@babel/code-frame" "^7.5.5" 75 | "@babel/generator" "^7.5.5" 76 | "@babel/helper-function-name" "^7.1.0" 77 | "@babel/helper-split-export-declaration" "^7.4.4" 78 | "@babel/parser" "^7.5.5" 79 | "@babel/types" "^7.5.5" 80 | debug "^4.1.0" 81 | globals "^11.1.0" 82 | lodash "^4.17.13" 83 | 84 | "@babel/types@^7.0.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": 85 | version "7.5.5" 86 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" 87 | integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== 88 | dependencies: 89 | esutils "^2.0.2" 90 | lodash "^4.17.13" 91 | to-fast-properties "^2.0.0" 92 | 93 | "@types/caseless@*": 94 | version "0.12.2" 95 | resolved "https://registry.npm.taobao.org/@types/caseless/download/@types/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" 96 | integrity sha1-9l09Y4ngHutFi9VNyPUrlalGO8g= 97 | 98 | "@types/chai@^4.2.0": 99 | version "4.2.0" 100 | resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.0.tgz#2478260021408dec32c123a7cad3414beb811a07" 101 | integrity sha512-zw8UvoBEImn392tLjxoavuonblX/4Yb9ha4KBU10FirCfwgzhKO0dvyJSF9ByxV1xK1r2AgnAi/tvQaLgxQqxA== 102 | 103 | "@types/dotenv@^6.1.1": 104 | version "6.1.1" 105 | resolved "https://registry.yarnpkg.com/@types/dotenv/-/dotenv-6.1.1.tgz#f7ce1cc4fe34f0a4373ba99fefa437b0bec54b46" 106 | integrity sha512-ftQl3DtBvqHl9L16tpqqzA4YzCSXZfi7g8cQceTz5rOlYtk/IZbFjAv3mLOQlNIgOaylCQWQoBdDQHPgEBJPHg== 107 | dependencies: 108 | "@types/node" "*" 109 | 110 | "@types/eslint-visitor-keys@^1.0.0": 111 | version "1.0.0" 112 | resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" 113 | integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= 114 | 115 | "@types/events@*": 116 | version "3.0.0" 117 | resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" 118 | integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc= 119 | 120 | "@types/glob@^7.1.1": 121 | version "7.1.1" 122 | resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" 123 | integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU= 124 | dependencies: 125 | "@types/events" "*" 126 | "@types/minimatch" "*" 127 | "@types/node" "*" 128 | 129 | "@types/json-schema@^7.0.3": 130 | version "7.0.3" 131 | resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" 132 | integrity sha1-vf1p1h5GTcyBslFZwnDXWnPBpjY= 133 | 134 | "@types/minimatch@*": 135 | version "3.0.3" 136 | resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" 137 | integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= 138 | 139 | "@types/mocha@^5.2.7": 140 | version "5.2.7" 141 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" 142 | integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== 143 | 144 | "@types/node@*", "@types/node@^12.6.2": 145 | version "12.7.2" 146 | resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.7.2.tgz?cache=0&sync_timestamp=1566325318079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" 147 | integrity sha1-xOY69eiCPOnMPws097mYwhcfDEQ= 148 | 149 | "@types/request-promise-native@^1.0.16": 150 | version "1.0.16" 151 | resolved "https://registry.npm.taobao.org/@types/request-promise-native/download/@types/request-promise-native-1.0.16.tgz#a326a6fb541da63c6c713293c1935e54b7d84d3b" 152 | integrity sha1-oyam+1QdpjxscTKTwZNeVLfYTTs= 153 | dependencies: 154 | "@types/request" "*" 155 | 156 | "@types/request@*": 157 | version "2.48.2" 158 | resolved "https://registry.npm.taobao.org/@types/request/download/@types/request-2.48.2.tgz?cache=0&sync_timestamp=1563031024939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Frequest%2Fdownload%2F%40types%2Frequest-2.48.2.tgz#936374cbe1179d7ed529fc02543deb4597450fed" 159 | integrity sha1-k2N0y+EXnX7VKfwCVD3rRZdFD+0= 160 | dependencies: 161 | "@types/caseless" "*" 162 | "@types/node" "*" 163 | "@types/tough-cookie" "*" 164 | form-data "^2.5.0" 165 | 166 | "@types/semver@^6.0.1": 167 | version "6.0.1" 168 | resolved "https://registry.npm.taobao.org/@types/semver/download/@types/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" 169 | integrity sha1-qYS0BccC+lp+xqvFazfyujXvWvY= 170 | 171 | "@types/tough-cookie@*": 172 | version "2.3.5" 173 | resolved "https://registry.npm.taobao.org/@types/tough-cookie/download/@types/tough-cookie-2.3.5.tgz#9da44ed75571999b65c37b60c9b2b88db54c585d" 174 | integrity sha1-naRO11VxmZtlw3tgybK4jbVMWF0= 175 | 176 | "@types/validator@10.11.2": 177 | version "10.11.2" 178 | resolved "https://registry.npm.taobao.org/@types/validator/download/@types/validator-10.11.2.tgz#48b60ca2cca927081f37a1ad1de3e25d04abc9f0" 179 | integrity sha1-SLYMosypJwgfN6GtHePiXQSryfA= 180 | 181 | "@typescript-eslint/eslint-plugin@^2.0.0": 182 | version "2.0.0" 183 | resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.0.0.tgz?cache=0&sync_timestamp=1566318483864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-2.0.0.tgz#609a5d7b00ce21a6f94d7ef282eba9da57ca1e42" 184 | integrity sha1-YJpdewDOIab5TX7yguup2lfKHkI= 185 | dependencies: 186 | "@typescript-eslint/experimental-utils" "2.0.0" 187 | eslint-utils "^1.4.0" 188 | functional-red-black-tree "^1.0.1" 189 | regexpp "^2.0.1" 190 | tsutils "^3.14.0" 191 | 192 | "@typescript-eslint/experimental-utils@2.0.0": 193 | version "2.0.0" 194 | resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.0.0.tgz#f3d298bb411357f35c4184e24280b256b6321949" 195 | integrity sha1-89KYu0ETV/NcQYTiQoCyVrYyGUk= 196 | dependencies: 197 | "@types/json-schema" "^7.0.3" 198 | "@typescript-eslint/typescript-estree" "2.0.0" 199 | eslint-scope "^4.0.0" 200 | 201 | "@typescript-eslint/parser@^2.0.0": 202 | version "2.0.0" 203 | resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.0.0.tgz?cache=0&sync_timestamp=1566318482853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-2.0.0.tgz#4273bb19d03489daf8372cdaccbc8042e098178f" 204 | integrity sha1-QnO7GdA0idr4NyzazLyAQuCYF48= 205 | dependencies: 206 | "@types/eslint-visitor-keys" "^1.0.0" 207 | "@typescript-eslint/experimental-utils" "2.0.0" 208 | "@typescript-eslint/typescript-estree" "2.0.0" 209 | eslint-visitor-keys "^1.0.0" 210 | 211 | "@typescript-eslint/typescript-estree@2.0.0": 212 | version "2.0.0" 213 | resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.0.0.tgz?cache=0&sync_timestamp=1566318480265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-2.0.0.tgz#c9f6c0efd1b11475540d6a55dc973cc5b9a67e77" 214 | integrity sha1-yfbA79GxFHVUDWpV3Jc8xbmmfnc= 215 | dependencies: 216 | lodash.unescape "4.0.1" 217 | semver "^6.2.0" 218 | 219 | acorn-jsx@^5.0.0: 220 | version "5.0.2" 221 | resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" 222 | integrity sha1-hLaOpEs3PE+GhgI6VR9hoht8Sk8= 223 | 224 | acorn@^7.0.0: 225 | version "7.0.0" 226 | resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" 227 | integrity sha1-JrjRzZqbcANQtxwJBVRvZNEoTno= 228 | 229 | ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: 230 | version "6.10.2" 231 | resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz?cache=0&sync_timestamp=1563113786760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 232 | integrity sha1-086gTWsBeyiUrWkED+yLYj60vVI= 233 | dependencies: 234 | fast-deep-equal "^2.0.1" 235 | fast-json-stable-stringify "^2.0.0" 236 | json-schema-traverse "^0.4.1" 237 | uri-js "^4.2.2" 238 | 239 | ansi-colors@3.2.3: 240 | version "3.2.3" 241 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" 242 | integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== 243 | 244 | ansi-escapes@^4.2.1: 245 | version "4.2.1" 246 | resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" 247 | integrity sha1-TczbhGw+7hD21k3qZic+q5DDcig= 248 | dependencies: 249 | type-fest "^0.5.2" 250 | 251 | ansi-regex@^2.0.0: 252 | version "2.1.1" 253 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 254 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 255 | 256 | ansi-regex@^3.0.0: 257 | version "3.0.0" 258 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 259 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 260 | 261 | ansi-regex@^4.1.0: 262 | version "4.1.0" 263 | resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 264 | integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= 265 | 266 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 267 | version "3.2.1" 268 | resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 269 | integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= 270 | dependencies: 271 | color-convert "^1.9.0" 272 | 273 | append-transform@^1.0.0: 274 | version "1.0.0" 275 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" 276 | integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== 277 | dependencies: 278 | default-require-extensions "^2.0.0" 279 | 280 | archy@^1.0.0: 281 | version "1.0.0" 282 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 283 | integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= 284 | 285 | arg@^4.1.0: 286 | version "4.1.1" 287 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" 288 | integrity sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== 289 | 290 | argparse@^1.0.7: 291 | version "1.0.10" 292 | resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 293 | integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= 294 | dependencies: 295 | sprintf-js "~1.0.2" 296 | 297 | asn1@~0.2.3: 298 | version "0.2.4" 299 | resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 300 | integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= 301 | dependencies: 302 | safer-buffer "~2.1.0" 303 | 304 | assert-plus@1.0.0, assert-plus@^1.0.0: 305 | version "1.0.0" 306 | resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 307 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 308 | 309 | assertion-error@^1.1.0: 310 | version "1.1.0" 311 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 312 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 313 | 314 | astral-regex@^1.0.0: 315 | version "1.0.0" 316 | resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 317 | integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= 318 | 319 | asynckit@^0.4.0: 320 | version "0.4.0" 321 | resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 322 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 323 | 324 | aws-sign2@~0.7.0: 325 | version "0.7.0" 326 | resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 327 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 328 | 329 | aws4@^1.8.0: 330 | version "1.8.0" 331 | resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 332 | integrity sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8= 333 | 334 | balanced-match@^1.0.0: 335 | version "1.0.0" 336 | resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 337 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 338 | 339 | bcrypt-pbkdf@^1.0.0: 340 | version "1.0.2" 341 | resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 342 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 343 | dependencies: 344 | tweetnacl "^0.14.3" 345 | 346 | brace-expansion@^1.1.7: 347 | version "1.1.11" 348 | resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 349 | integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= 350 | dependencies: 351 | balanced-match "^1.0.0" 352 | concat-map "0.0.1" 353 | 354 | browser-stdout@1.3.1: 355 | version "1.3.1" 356 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 357 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 358 | 359 | buffer-from@^1.0.0: 360 | version "1.1.1" 361 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 362 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 363 | 364 | caching-transform@^3.0.2: 365 | version "3.0.2" 366 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70" 367 | integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== 368 | dependencies: 369 | hasha "^3.0.0" 370 | make-dir "^2.0.0" 371 | package-hash "^3.0.0" 372 | write-file-atomic "^2.4.2" 373 | 374 | callsites@^3.0.0: 375 | version "3.1.0" 376 | resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 377 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= 378 | 379 | camelcase@^5.0.0: 380 | version "5.3.1" 381 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 382 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 383 | 384 | caseless@~0.12.0: 385 | version "0.12.0" 386 | resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 387 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 388 | 389 | chai@^4.2.0: 390 | version "4.2.0" 391 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" 392 | integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== 393 | dependencies: 394 | assertion-error "^1.1.0" 395 | check-error "^1.0.2" 396 | deep-eql "^3.0.1" 397 | get-func-name "^2.0.0" 398 | pathval "^1.1.0" 399 | type-detect "^4.0.5" 400 | 401 | chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: 402 | version "2.4.2" 403 | resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 404 | integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= 405 | dependencies: 406 | ansi-styles "^3.2.1" 407 | escape-string-regexp "^1.0.5" 408 | supports-color "^5.3.0" 409 | 410 | chardet@^0.7.0: 411 | version "0.7.0" 412 | resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 413 | integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= 414 | 415 | check-error@^1.0.2: 416 | version "1.0.2" 417 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 418 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= 419 | 420 | class-validator@>=0.9.1: 421 | version "0.10.0" 422 | resolved "https://registry.npm.taobao.org/class-validator/download/class-validator-0.10.0.tgz#5e5f8108fa200d5ce1906cd5537af102c072dbcd" 423 | integrity sha1-Xl+BCPogDVzhkGzVU3rxAsBy280= 424 | dependencies: 425 | "@types/validator" "10.11.2" 426 | google-libphonenumber "^3.1.6" 427 | validator "11.1.0" 428 | 429 | cli-cursor@^3.1.0: 430 | version "3.1.0" 431 | resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 432 | integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= 433 | dependencies: 434 | restore-cursor "^3.1.0" 435 | 436 | cli-width@^2.0.0: 437 | version "2.2.0" 438 | resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 439 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 440 | 441 | cliui@^4.0.0: 442 | version "4.1.0" 443 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 444 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 445 | dependencies: 446 | string-width "^2.1.1" 447 | strip-ansi "^4.0.0" 448 | wrap-ansi "^2.0.0" 449 | 450 | cliui@^5.0.0: 451 | version "5.0.0" 452 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 453 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 454 | dependencies: 455 | string-width "^3.1.0" 456 | strip-ansi "^5.2.0" 457 | wrap-ansi "^5.1.0" 458 | 459 | code-point-at@^1.0.0: 460 | version "1.1.0" 461 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 462 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 463 | 464 | color-convert@^1.9.0: 465 | version "1.9.3" 466 | resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-convert%2Fdownload%2Fcolor-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 467 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 468 | dependencies: 469 | color-name "1.1.3" 470 | 471 | color-name@1.1.3: 472 | version "1.1.3" 473 | resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 474 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 475 | 476 | combined-stream@^1.0.6, combined-stream@~1.0.6: 477 | version "1.0.8" 478 | resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 479 | integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= 480 | dependencies: 481 | delayed-stream "~1.0.0" 482 | 483 | commondir@^1.0.1: 484 | version "1.0.1" 485 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 486 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 487 | 488 | concat-map@0.0.1: 489 | version "0.0.1" 490 | resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 491 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 492 | 493 | convert-source-map@^1.6.0: 494 | version "1.6.0" 495 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 496 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== 497 | dependencies: 498 | safe-buffer "~5.1.1" 499 | 500 | core-util-is@1.0.2: 501 | version "1.0.2" 502 | resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 503 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 504 | 505 | cp-file@^6.2.0: 506 | version "6.2.0" 507 | resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d" 508 | integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== 509 | dependencies: 510 | graceful-fs "^4.1.2" 511 | make-dir "^2.0.0" 512 | nested-error-stacks "^2.0.0" 513 | pify "^4.0.1" 514 | safe-buffer "^5.0.1" 515 | 516 | cross-fetch@2.2.2: 517 | version "2.2.2" 518 | resolved "https://registry.npm.taobao.org/cross-fetch/download/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" 519 | integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM= 520 | dependencies: 521 | node-fetch "2.1.2" 522 | whatwg-fetch "2.0.4" 523 | 524 | cross-spawn@^4: 525 | version "4.0.2" 526 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 527 | integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= 528 | dependencies: 529 | lru-cache "^4.0.1" 530 | which "^1.2.9" 531 | 532 | cross-spawn@^6.0.0, cross-spawn@^6.0.5: 533 | version "6.0.5" 534 | resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 535 | integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= 536 | dependencies: 537 | nice-try "^1.0.4" 538 | path-key "^2.0.1" 539 | semver "^5.5.0" 540 | shebang-command "^1.2.0" 541 | which "^1.2.9" 542 | 543 | dashdash@^1.12.0: 544 | version "1.14.1" 545 | resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 546 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 547 | dependencies: 548 | assert-plus "^1.0.0" 549 | 550 | debug@3.2.6: 551 | version "3.2.6" 552 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 553 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 554 | dependencies: 555 | ms "^2.1.1" 556 | 557 | debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: 558 | version "4.1.1" 559 | resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 560 | integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= 561 | dependencies: 562 | ms "^2.1.1" 563 | 564 | decamelize@^1.2.0: 565 | version "1.2.0" 566 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 567 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 568 | 569 | deep-eql@^3.0.1: 570 | version "3.0.1" 571 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 572 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== 573 | dependencies: 574 | type-detect "^4.0.0" 575 | 576 | deep-is@~0.1.3: 577 | version "0.1.3" 578 | resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 579 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 580 | 581 | default-require-extensions@^2.0.0: 582 | version "2.0.0" 583 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" 584 | integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= 585 | dependencies: 586 | strip-bom "^3.0.0" 587 | 588 | define-properties@^1.1.2: 589 | version "1.1.3" 590 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 591 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 592 | dependencies: 593 | object-keys "^1.0.12" 594 | 595 | delayed-stream@~1.0.0: 596 | version "1.0.0" 597 | resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 598 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 599 | 600 | diff@3.5.0: 601 | version "3.5.0" 602 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 603 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 604 | 605 | diff@^4.0.1: 606 | version "4.0.1" 607 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" 608 | integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== 609 | 610 | doctrine@^3.0.0: 611 | version "3.0.0" 612 | resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 613 | integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= 614 | dependencies: 615 | esutils "^2.0.2" 616 | 617 | dotenv@^8.1.0: 618 | version "8.1.0" 619 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.1.0.tgz#d811e178652bfb8a1e593c6dd704ec7e90d85ea2" 620 | integrity sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA== 621 | 622 | ecc-jsbn@~0.1.1: 623 | version "0.1.2" 624 | resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 625 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 626 | dependencies: 627 | jsbn "~0.1.0" 628 | safer-buffer "^2.1.0" 629 | 630 | emoji-regex@^7.0.1: 631 | version "7.0.3" 632 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 633 | integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= 634 | 635 | emoji-regex@^8.0.0: 636 | version "8.0.0" 637 | resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 638 | integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= 639 | 640 | end-of-stream@^1.1.0: 641 | version "1.4.1" 642 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 643 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 644 | dependencies: 645 | once "^1.4.0" 646 | 647 | error-ex@^1.3.1: 648 | version "1.3.2" 649 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 650 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 651 | dependencies: 652 | is-arrayish "^0.2.1" 653 | 654 | es-abstract@^1.5.1: 655 | version "1.13.0" 656 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 657 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 658 | dependencies: 659 | es-to-primitive "^1.2.0" 660 | function-bind "^1.1.1" 661 | has "^1.0.3" 662 | is-callable "^1.1.4" 663 | is-regex "^1.0.4" 664 | object-keys "^1.0.12" 665 | 666 | es-to-primitive@^1.2.0: 667 | version "1.2.0" 668 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 669 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 670 | dependencies: 671 | is-callable "^1.1.4" 672 | is-date-object "^1.0.1" 673 | is-symbol "^1.0.2" 674 | 675 | es6-error@^4.0.1: 676 | version "4.1.1" 677 | resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" 678 | integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== 679 | 680 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 681 | version "1.0.5" 682 | resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 683 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 684 | 685 | eslint-config-google@^0.13.0: 686 | version "0.13.0" 687 | resolved "https://registry.npm.taobao.org/eslint-config-google/download/eslint-config-google-0.13.0.tgz#e277d16d2cb25c1ffd3fd13fb0035ad7421382fe" 688 | integrity sha1-4nfRbSyyXB/9P9E/sANa10ITgv4= 689 | 690 | eslint-scope@^4.0.0: 691 | version "4.0.3" 692 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1563679289211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 693 | integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= 694 | dependencies: 695 | esrecurse "^4.1.0" 696 | estraverse "^4.1.1" 697 | 698 | eslint-scope@^5.0.0: 699 | version "5.0.0" 700 | resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz?cache=0&sync_timestamp=1563679289211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" 701 | integrity sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k= 702 | dependencies: 703 | esrecurse "^4.1.0" 704 | estraverse "^4.1.1" 705 | 706 | eslint-utils@^1.4.0, eslint-utils@^1.4.2: 707 | version "1.4.2" 708 | resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" 709 | integrity sha1-FmpRgO9qt+tGLxYv0ObyRj1zCas= 710 | dependencies: 711 | eslint-visitor-keys "^1.0.0" 712 | 713 | eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: 714 | version "1.1.0" 715 | resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705483230&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 716 | integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI= 717 | 718 | eslint@^6.2.0: 719 | version "6.2.1" 720 | resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.2.1.tgz#66c2e4fe8b6356b9f01e828adc3ad04030122df1" 721 | integrity sha1-ZsLk/otjVrnwHoKK3DrQQDASLfE= 722 | dependencies: 723 | "@babel/code-frame" "^7.0.0" 724 | ajv "^6.10.0" 725 | chalk "^2.1.0" 726 | cross-spawn "^6.0.5" 727 | debug "^4.0.1" 728 | doctrine "^3.0.0" 729 | eslint-scope "^5.0.0" 730 | eslint-utils "^1.4.2" 731 | eslint-visitor-keys "^1.1.0" 732 | espree "^6.1.0" 733 | esquery "^1.0.1" 734 | esutils "^2.0.2" 735 | file-entry-cache "^5.0.1" 736 | functional-red-black-tree "^1.0.1" 737 | glob-parent "^5.0.0" 738 | globals "^11.7.0" 739 | ignore "^4.0.6" 740 | import-fresh "^3.0.0" 741 | imurmurhash "^0.1.4" 742 | inquirer "^6.4.1" 743 | is-glob "^4.0.0" 744 | js-yaml "^3.13.1" 745 | json-stable-stringify-without-jsonify "^1.0.1" 746 | levn "^0.3.0" 747 | lodash "^4.17.14" 748 | minimatch "^3.0.4" 749 | mkdirp "^0.5.1" 750 | natural-compare "^1.4.0" 751 | optionator "^0.8.2" 752 | progress "^2.0.0" 753 | regexpp "^2.0.1" 754 | semver "^6.1.2" 755 | strip-ansi "^5.2.0" 756 | strip-json-comments "^3.0.1" 757 | table "^5.2.3" 758 | text-table "^0.2.0" 759 | v8-compile-cache "^2.0.3" 760 | 761 | espree@^6.1.0: 762 | version "6.1.0" 763 | resolved "https://registry.npm.taobao.org/espree/download/espree-6.1.0.tgz#a1e8aa65bf29a331d70351ed814a80e7534e0884" 764 | integrity sha1-oeiqZb8pozHXA1HtgUqA51NOCIQ= 765 | dependencies: 766 | acorn "^7.0.0" 767 | acorn-jsx "^5.0.0" 768 | eslint-visitor-keys "^1.1.0" 769 | 770 | esprima@^4.0.0: 771 | version "4.0.1" 772 | resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 773 | integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= 774 | 775 | esquery@^1.0.1: 776 | version "1.0.1" 777 | resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 778 | integrity sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg= 779 | dependencies: 780 | estraverse "^4.0.0" 781 | 782 | esrecurse@^4.1.0: 783 | version "4.2.1" 784 | resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 785 | integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8= 786 | dependencies: 787 | estraverse "^4.1.0" 788 | 789 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 790 | version "4.3.0" 791 | resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565734335990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 792 | integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= 793 | 794 | esutils@^2.0.2: 795 | version "2.0.3" 796 | resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 797 | integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= 798 | 799 | execa@^1.0.0: 800 | version "1.0.0" 801 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 802 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 803 | dependencies: 804 | cross-spawn "^6.0.0" 805 | get-stream "^4.0.0" 806 | is-stream "^1.1.0" 807 | npm-run-path "^2.0.0" 808 | p-finally "^1.0.0" 809 | signal-exit "^3.0.0" 810 | strip-eof "^1.0.0" 811 | 812 | extend@~3.0.2: 813 | version "3.0.2" 814 | resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 815 | integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= 816 | 817 | external-editor@^3.0.3: 818 | version "3.1.0" 819 | resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 820 | integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= 821 | dependencies: 822 | chardet "^0.7.0" 823 | iconv-lite "^0.4.24" 824 | tmp "^0.0.33" 825 | 826 | extsprintf@1.3.0: 827 | version "1.3.0" 828 | resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 829 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 830 | 831 | extsprintf@^1.2.0: 832 | version "1.4.0" 833 | resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 834 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 835 | 836 | fast-deep-equal@^2.0.1: 837 | version "2.0.1" 838 | resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 839 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 840 | 841 | fast-json-stable-stringify@^2.0.0: 842 | version "2.0.0" 843 | resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 844 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 845 | 846 | fast-levenshtein@~2.0.4: 847 | version "2.0.6" 848 | resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 849 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 850 | 851 | figures@^3.0.0: 852 | version "3.0.0" 853 | resolved "https://registry.npm.taobao.org/figures/download/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" 854 | integrity sha1-dWJ1yWRkYWPMb5GXx6ApXb/QTek= 855 | dependencies: 856 | escape-string-regexp "^1.0.5" 857 | 858 | file-entry-cache@^5.0.1: 859 | version "5.0.1" 860 | resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 861 | integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= 862 | dependencies: 863 | flat-cache "^2.0.1" 864 | 865 | find-cache-dir@^2.1.0: 866 | version "2.1.0" 867 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 868 | integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== 869 | dependencies: 870 | commondir "^1.0.1" 871 | make-dir "^2.0.0" 872 | pkg-dir "^3.0.0" 873 | 874 | find-up@3.0.0, find-up@^3.0.0: 875 | version "3.0.0" 876 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 877 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 878 | dependencies: 879 | locate-path "^3.0.0" 880 | 881 | flat-cache@^2.0.1: 882 | version "2.0.1" 883 | resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 884 | integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= 885 | dependencies: 886 | flatted "^2.0.0" 887 | rimraf "2.6.3" 888 | write "1.0.3" 889 | 890 | flat@^4.1.0: 891 | version "4.1.0" 892 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 893 | integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== 894 | dependencies: 895 | is-buffer "~2.0.3" 896 | 897 | flatted@^2.0.0: 898 | version "2.0.1" 899 | resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" 900 | integrity sha1-aeV8qo8OrLwoHS4stFjUb9tEngg= 901 | 902 | foreground-child@^1.5.6: 903 | version "1.5.6" 904 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" 905 | integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= 906 | dependencies: 907 | cross-spawn "^4" 908 | signal-exit "^3.0.0" 909 | 910 | forever-agent@~0.6.1: 911 | version "0.6.1" 912 | resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 913 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 914 | 915 | form-data@^2.5.0: 916 | version "2.5.0" 917 | resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.5.0.tgz?cache=0&sync_timestamp=1562216133657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.5.0.tgz#094ec359dc4b55e7d62e0db4acd76e89fe874d37" 918 | integrity sha1-CU7DWdxLVefWLg20rNduif6HTTc= 919 | dependencies: 920 | asynckit "^0.4.0" 921 | combined-stream "^1.0.6" 922 | mime-types "^2.1.12" 923 | 924 | form-data@~2.3.2: 925 | version "2.3.3" 926 | resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1562216133657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 927 | integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= 928 | dependencies: 929 | asynckit "^0.4.0" 930 | combined-stream "^1.0.6" 931 | mime-types "^2.1.12" 932 | 933 | fs.realpath@^1.0.0: 934 | version "1.0.0" 935 | resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 936 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 937 | 938 | function-bind@^1.1.1: 939 | version "1.1.1" 940 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 941 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 942 | 943 | functional-red-black-tree@^1.0.1: 944 | version "1.0.1" 945 | resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 946 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 947 | 948 | get-caller-file@^1.0.1: 949 | version "1.0.3" 950 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 951 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 952 | 953 | get-caller-file@^2.0.1: 954 | version "2.0.5" 955 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 956 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 957 | 958 | get-func-name@^2.0.0: 959 | version "2.0.0" 960 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 961 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= 962 | 963 | get-stream@^4.0.0: 964 | version "4.1.0" 965 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 966 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 967 | dependencies: 968 | pump "^3.0.0" 969 | 970 | getpass@^0.1.1: 971 | version "0.1.7" 972 | resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 973 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 974 | dependencies: 975 | assert-plus "^1.0.0" 976 | 977 | glob-parent@^5.0.0: 978 | version "5.0.0" 979 | resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" 980 | integrity sha1-HcmfDzmwBtPpLCwoQGg4Lwwg6VQ= 981 | dependencies: 982 | is-glob "^4.0.1" 983 | 984 | glob@7.1.3: 985 | version "7.1.3" 986 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 987 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 988 | dependencies: 989 | fs.realpath "^1.0.0" 990 | inflight "^1.0.4" 991 | inherits "2" 992 | minimatch "^3.0.4" 993 | once "^1.3.0" 994 | path-is-absolute "^1.0.0" 995 | 996 | glob@^7.1.3, glob@^7.1.4: 997 | version "7.1.4" 998 | resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 999 | integrity sha1-qmCKL2xXetNX4a5aXCbZqNGWklU= 1000 | dependencies: 1001 | fs.realpath "^1.0.0" 1002 | inflight "^1.0.4" 1003 | inherits "2" 1004 | minimatch "^3.0.4" 1005 | once "^1.3.0" 1006 | path-is-absolute "^1.0.0" 1007 | 1008 | globals@^11.1.0, globals@^11.7.0: 1009 | version "11.12.0" 1010 | resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1011 | integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= 1012 | 1013 | google-libphonenumber@^3.1.6: 1014 | version "3.2.3" 1015 | resolved "https://registry.npm.taobao.org/google-libphonenumber/download/google-libphonenumber-3.2.3.tgz#5e5c138c81b8734ebbe5ed354f6cdd22e1b53e95" 1016 | integrity sha1-XlwTjIG4c0675e01T2zdIuG1PpU= 1017 | 1018 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: 1019 | version "4.2.2" 1020 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" 1021 | integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== 1022 | 1023 | graphql-query-complexity@^0.3.0: 1024 | version "0.3.0" 1025 | resolved "https://registry.npm.taobao.org/graphql-query-complexity/download/graphql-query-complexity-0.3.0.tgz#71a44e124b7591a185d9d8cde55205aa57680c5d" 1026 | integrity sha1-caROEkt1kaGF2djN5VIFqldoDF0= 1027 | dependencies: 1028 | lodash.get "^4.4.2" 1029 | 1030 | graphql-request@^1.8.2: 1031 | version "1.8.2" 1032 | resolved "https://registry.npm.taobao.org/graphql-request/download/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" 1033 | integrity sha1-OY0QrhXFhWdnQb3j/AHVypSPj74= 1034 | dependencies: 1035 | cross-fetch "2.2.2" 1036 | 1037 | graphql-subscriptions@^1.1.0: 1038 | version "1.1.0" 1039 | resolved "https://registry.npm.taobao.org/graphql-subscriptions/download/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11" 1040 | integrity sha1-Xy+kIz7aRM91cFJq3888FpN67xE= 1041 | dependencies: 1042 | iterall "^1.2.1" 1043 | 1044 | growl@1.10.5: 1045 | version "1.10.5" 1046 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1047 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 1048 | 1049 | handlebars@^4.1.2: 1050 | version "4.7.7" 1051 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" 1052 | integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== 1053 | dependencies: 1054 | minimist "^1.2.5" 1055 | neo-async "^2.6.0" 1056 | source-map "^0.6.1" 1057 | wordwrap "^1.0.0" 1058 | optionalDependencies: 1059 | uglify-js "^3.1.4" 1060 | 1061 | har-schema@^2.0.0: 1062 | version "2.0.0" 1063 | resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1064 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1065 | 1066 | har-validator@~5.1.0: 1067 | version "5.1.3" 1068 | resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 1069 | integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA= 1070 | dependencies: 1071 | ajv "^6.5.5" 1072 | har-schema "^2.0.0" 1073 | 1074 | has-flag@^3.0.0: 1075 | version "3.0.0" 1076 | resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1077 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1078 | 1079 | has-symbols@^1.0.0: 1080 | version "1.0.0" 1081 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 1082 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 1083 | 1084 | has@^1.0.1, has@^1.0.3: 1085 | version "1.0.3" 1086 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1087 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1088 | dependencies: 1089 | function-bind "^1.1.1" 1090 | 1091 | hasha@^3.0.0: 1092 | version "3.0.0" 1093 | resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39" 1094 | integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= 1095 | dependencies: 1096 | is-stream "^1.0.1" 1097 | 1098 | he@1.2.0: 1099 | version "1.2.0" 1100 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1101 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1102 | 1103 | hosted-git-info@^2.1.4: 1104 | version "2.8.4" 1105 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" 1106 | integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== 1107 | 1108 | http-signature@~1.2.0: 1109 | version "1.2.0" 1110 | resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1111 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1112 | dependencies: 1113 | assert-plus "^1.0.0" 1114 | jsprim "^1.2.2" 1115 | sshpk "^1.7.0" 1116 | 1117 | iconv-lite@^0.4.24: 1118 | version "0.4.24" 1119 | resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1120 | integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= 1121 | dependencies: 1122 | safer-buffer ">= 2.1.2 < 3" 1123 | 1124 | ignore@^4.0.6: 1125 | version "4.0.6" 1126 | resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1127 | integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= 1128 | 1129 | import-fresh@^3.0.0: 1130 | version "3.1.0" 1131 | resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" 1132 | integrity sha1-bTP6Hc7235MPrgA0RvM0Fa+QURg= 1133 | dependencies: 1134 | parent-module "^1.0.0" 1135 | resolve-from "^4.0.0" 1136 | 1137 | imurmurhash@^0.1.4: 1138 | version "0.1.4" 1139 | resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1140 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1141 | 1142 | inflight@^1.0.4: 1143 | version "1.0.6" 1144 | resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1145 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1146 | dependencies: 1147 | once "^1.3.0" 1148 | wrappy "1" 1149 | 1150 | inherits@2: 1151 | version "2.0.4" 1152 | resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1153 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 1154 | 1155 | inquirer@^6.4.1: 1156 | version "6.5.1" 1157 | resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.1.tgz#8bfb7a5ac02dac6ff641ac4c5ff17da112fcdb42" 1158 | integrity sha1-i/t6WsAtrG/2QaxMX/F9oRL820I= 1159 | dependencies: 1160 | ansi-escapes "^4.2.1" 1161 | chalk "^2.4.2" 1162 | cli-cursor "^3.1.0" 1163 | cli-width "^2.0.0" 1164 | external-editor "^3.0.3" 1165 | figures "^3.0.0" 1166 | lodash "^4.17.15" 1167 | mute-stream "0.0.8" 1168 | run-async "^2.2.0" 1169 | rxjs "^6.4.0" 1170 | string-width "^4.1.0" 1171 | strip-ansi "^5.1.0" 1172 | through "^2.3.6" 1173 | 1174 | invert-kv@^2.0.0: 1175 | version "2.0.0" 1176 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 1177 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 1178 | 1179 | is-arrayish@^0.2.1: 1180 | version "0.2.1" 1181 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1182 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1183 | 1184 | is-buffer@~2.0.3: 1185 | version "2.0.3" 1186 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" 1187 | integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== 1188 | 1189 | is-callable@^1.1.4: 1190 | version "1.1.4" 1191 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 1192 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 1193 | 1194 | is-date-object@^1.0.1: 1195 | version "1.0.1" 1196 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1197 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 1198 | 1199 | is-extglob@^2.1.1: 1200 | version "2.1.1" 1201 | resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1202 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1203 | 1204 | is-fullwidth-code-point@^1.0.0: 1205 | version "1.0.0" 1206 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1207 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1208 | dependencies: 1209 | number-is-nan "^1.0.0" 1210 | 1211 | is-fullwidth-code-point@^2.0.0: 1212 | version "2.0.0" 1213 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1214 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1215 | 1216 | is-fullwidth-code-point@^3.0.0: 1217 | version "3.0.0" 1218 | resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1219 | integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= 1220 | 1221 | is-glob@^4.0.0, is-glob@^4.0.1: 1222 | version "4.0.1" 1223 | resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1224 | integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= 1225 | dependencies: 1226 | is-extglob "^2.1.1" 1227 | 1228 | is-promise@^2.1.0: 1229 | version "2.1.0" 1230 | resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1231 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 1232 | 1233 | is-regex@^1.0.4: 1234 | version "1.0.4" 1235 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1236 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 1237 | dependencies: 1238 | has "^1.0.1" 1239 | 1240 | is-stream@^1.0.1, is-stream@^1.1.0: 1241 | version "1.1.0" 1242 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1243 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1244 | 1245 | is-symbol@^1.0.2: 1246 | version "1.0.2" 1247 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 1248 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 1249 | dependencies: 1250 | has-symbols "^1.0.0" 1251 | 1252 | is-typedarray@~1.0.0: 1253 | version "1.0.0" 1254 | resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1255 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1256 | 1257 | isexe@^2.0.0: 1258 | version "2.0.0" 1259 | resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1260 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1261 | 1262 | isstream@~0.1.2: 1263 | version "0.1.2" 1264 | resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1265 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 1266 | 1267 | istanbul-lib-coverage@^2.0.5: 1268 | version "2.0.5" 1269 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" 1270 | integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== 1271 | 1272 | istanbul-lib-hook@^2.0.7: 1273 | version "2.0.7" 1274 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" 1275 | integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== 1276 | dependencies: 1277 | append-transform "^1.0.0" 1278 | 1279 | istanbul-lib-instrument@^3.3.0: 1280 | version "3.3.0" 1281 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" 1282 | integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== 1283 | dependencies: 1284 | "@babel/generator" "^7.4.0" 1285 | "@babel/parser" "^7.4.3" 1286 | "@babel/template" "^7.4.0" 1287 | "@babel/traverse" "^7.4.3" 1288 | "@babel/types" "^7.4.0" 1289 | istanbul-lib-coverage "^2.0.5" 1290 | semver "^6.0.0" 1291 | 1292 | istanbul-lib-report@^2.0.8: 1293 | version "2.0.8" 1294 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" 1295 | integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== 1296 | dependencies: 1297 | istanbul-lib-coverage "^2.0.5" 1298 | make-dir "^2.1.0" 1299 | supports-color "^6.1.0" 1300 | 1301 | istanbul-lib-source-maps@^3.0.6: 1302 | version "3.0.6" 1303 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" 1304 | integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== 1305 | dependencies: 1306 | debug "^4.1.1" 1307 | istanbul-lib-coverage "^2.0.5" 1308 | make-dir "^2.1.0" 1309 | rimraf "^2.6.3" 1310 | source-map "^0.6.1" 1311 | 1312 | istanbul-reports@^2.2.4: 1313 | version "2.2.6" 1314 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" 1315 | integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== 1316 | dependencies: 1317 | handlebars "^4.1.2" 1318 | 1319 | iterall@^1.2.1: 1320 | version "1.2.2" 1321 | resolved "https://registry.npm.taobao.org/iterall/download/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" 1322 | integrity sha1-ktcN64Ao4MOf8xZP2/TYsIgTDNc= 1323 | 1324 | js-tokens@^4.0.0: 1325 | version "4.0.0" 1326 | resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1327 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 1328 | 1329 | js-yaml@3.13.1, js-yaml@^3.13.1: 1330 | version "3.13.1" 1331 | resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 1332 | integrity sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc= 1333 | dependencies: 1334 | argparse "^1.0.7" 1335 | esprima "^4.0.0" 1336 | 1337 | jsbn@~0.1.0: 1338 | version "0.1.1" 1339 | resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1340 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 1341 | 1342 | jsesc@^2.5.1: 1343 | version "2.5.2" 1344 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1345 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1346 | 1347 | json-parse-better-errors@^1.0.1: 1348 | version "1.0.2" 1349 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1350 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1351 | 1352 | json-schema-traverse@^0.4.1: 1353 | version "0.4.1" 1354 | resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1355 | integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= 1356 | 1357 | json-schema@0.2.3: 1358 | version "0.2.3" 1359 | resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1360 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 1361 | 1362 | json-stable-stringify-without-jsonify@^1.0.1: 1363 | version "1.0.1" 1364 | resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1365 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1366 | 1367 | json-stringify-safe@~5.0.1: 1368 | version "5.0.1" 1369 | resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1370 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1371 | 1372 | jsprim@^1.2.2: 1373 | version "1.4.1" 1374 | resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1375 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 1376 | dependencies: 1377 | assert-plus "1.0.0" 1378 | extsprintf "1.3.0" 1379 | json-schema "0.2.3" 1380 | verror "1.10.0" 1381 | 1382 | lcid@^2.0.0: 1383 | version "2.0.0" 1384 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 1385 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 1386 | dependencies: 1387 | invert-kv "^2.0.0" 1388 | 1389 | levn@^0.3.0, levn@~0.3.0: 1390 | version "0.3.0" 1391 | resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1392 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1393 | dependencies: 1394 | prelude-ls "~1.1.2" 1395 | type-check "~0.3.2" 1396 | 1397 | load-json-file@^4.0.0: 1398 | version "4.0.0" 1399 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 1400 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 1401 | dependencies: 1402 | graceful-fs "^4.1.2" 1403 | parse-json "^4.0.0" 1404 | pify "^3.0.0" 1405 | strip-bom "^3.0.0" 1406 | 1407 | locate-path@^3.0.0: 1408 | version "3.0.0" 1409 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1410 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1411 | dependencies: 1412 | p-locate "^3.0.0" 1413 | path-exists "^3.0.0" 1414 | 1415 | lodash.flattendeep@^4.4.0: 1416 | version "4.4.0" 1417 | resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" 1418 | integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= 1419 | 1420 | lodash.get@^4.4.2: 1421 | version "4.4.2" 1422 | resolved "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 1423 | integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= 1424 | 1425 | lodash.unescape@4.0.1: 1426 | version "4.0.1" 1427 | resolved "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" 1428 | integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= 1429 | 1430 | lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: 1431 | version "4.17.15" 1432 | resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1563508077056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 1433 | integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= 1434 | 1435 | log-symbols@2.2.0: 1436 | version "2.2.0" 1437 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" 1438 | integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== 1439 | dependencies: 1440 | chalk "^2.0.1" 1441 | 1442 | lru-cache@^4.0.1: 1443 | version "4.1.5" 1444 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 1445 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 1446 | dependencies: 1447 | pseudomap "^1.0.2" 1448 | yallist "^2.1.2" 1449 | 1450 | make-dir@^2.0.0, make-dir@^2.1.0: 1451 | version "2.1.0" 1452 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1453 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1454 | dependencies: 1455 | pify "^4.0.1" 1456 | semver "^5.6.0" 1457 | 1458 | make-error@^1.1.1: 1459 | version "1.3.5" 1460 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" 1461 | integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== 1462 | 1463 | map-age-cleaner@^0.1.1: 1464 | version "0.1.3" 1465 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 1466 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 1467 | dependencies: 1468 | p-defer "^1.0.0" 1469 | 1470 | mem@^4.0.0: 1471 | version "4.3.0" 1472 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" 1473 | integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== 1474 | dependencies: 1475 | map-age-cleaner "^0.1.1" 1476 | mimic-fn "^2.0.0" 1477 | p-is-promise "^2.0.0" 1478 | 1479 | merge-source-map@^1.1.0: 1480 | version "1.1.0" 1481 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" 1482 | integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== 1483 | dependencies: 1484 | source-map "^0.6.1" 1485 | 1486 | mime-db@1.40.0: 1487 | version "1.40.0" 1488 | resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" 1489 | integrity sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI= 1490 | 1491 | mime-types@^2.1.12, mime-types@~2.1.19: 1492 | version "2.1.24" 1493 | resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" 1494 | integrity sha1-tvjQs+lR77d97eyhlM/20W9nb4E= 1495 | dependencies: 1496 | mime-db "1.40.0" 1497 | 1498 | mimic-fn@^2.0.0, mimic-fn@^2.1.0: 1499 | version "2.1.0" 1500 | resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1501 | integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= 1502 | 1503 | minimatch@3.0.4, minimatch@^3.0.4: 1504 | version "3.0.4" 1505 | resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1506 | integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= 1507 | dependencies: 1508 | brace-expansion "^1.1.7" 1509 | 1510 | minimist@0.0.8: 1511 | version "0.0.8" 1512 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1513 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 1514 | 1515 | minimist@^1.2.5: 1516 | version "1.2.5" 1517 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1518 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1519 | 1520 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: 1521 | version "0.5.1" 1522 | resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1523 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 1524 | dependencies: 1525 | minimist "0.0.8" 1526 | 1527 | mocha@^6.2.0: 1528 | version "6.2.0" 1529 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" 1530 | integrity sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ== 1531 | dependencies: 1532 | ansi-colors "3.2.3" 1533 | browser-stdout "1.3.1" 1534 | debug "3.2.6" 1535 | diff "3.5.0" 1536 | escape-string-regexp "1.0.5" 1537 | find-up "3.0.0" 1538 | glob "7.1.3" 1539 | growl "1.10.5" 1540 | he "1.2.0" 1541 | js-yaml "3.13.1" 1542 | log-symbols "2.2.0" 1543 | minimatch "3.0.4" 1544 | mkdirp "0.5.1" 1545 | ms "2.1.1" 1546 | node-environment-flags "1.0.5" 1547 | object.assign "4.1.0" 1548 | strip-json-comments "2.0.1" 1549 | supports-color "6.0.0" 1550 | which "1.3.1" 1551 | wide-align "1.1.3" 1552 | yargs "13.2.2" 1553 | yargs-parser "13.0.0" 1554 | yargs-unparser "1.5.0" 1555 | 1556 | ms@2.1.1: 1557 | version "2.1.1" 1558 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1559 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1560 | 1561 | ms@^2.1.1: 1562 | version "2.1.2" 1563 | resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1564 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 1565 | 1566 | mute-stream@0.0.8: 1567 | version "0.0.8" 1568 | resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 1569 | integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= 1570 | 1571 | natural-compare@^1.4.0: 1572 | version "1.4.0" 1573 | resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1574 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1575 | 1576 | neo-async@^2.6.0: 1577 | version "2.6.2" 1578 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 1579 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1580 | 1581 | nested-error-stacks@^2.0.0: 1582 | version "2.1.0" 1583 | resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" 1584 | integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== 1585 | 1586 | nice-try@^1.0.4: 1587 | version "1.0.5" 1588 | resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 1589 | integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= 1590 | 1591 | node-environment-flags@1.0.5: 1592 | version "1.0.5" 1593 | resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" 1594 | integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== 1595 | dependencies: 1596 | object.getownpropertydescriptors "^2.0.3" 1597 | semver "^5.7.0" 1598 | 1599 | node-fetch@2.1.2: 1600 | version "2.1.2" 1601 | resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" 1602 | integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= 1603 | 1604 | normalize-package-data@^2.3.2: 1605 | version "2.5.0" 1606 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 1607 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 1608 | dependencies: 1609 | hosted-git-info "^2.1.4" 1610 | resolve "^1.10.0" 1611 | semver "2 || 3 || 4 || 5" 1612 | validate-npm-package-license "^3.0.1" 1613 | 1614 | npm-run-path@^2.0.0: 1615 | version "2.0.2" 1616 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1617 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 1618 | dependencies: 1619 | path-key "^2.0.0" 1620 | 1621 | number-is-nan@^1.0.0: 1622 | version "1.0.1" 1623 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1624 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 1625 | 1626 | nyc@^14.1.1: 1627 | version "14.1.1" 1628 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb" 1629 | integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== 1630 | dependencies: 1631 | archy "^1.0.0" 1632 | caching-transform "^3.0.2" 1633 | convert-source-map "^1.6.0" 1634 | cp-file "^6.2.0" 1635 | find-cache-dir "^2.1.0" 1636 | find-up "^3.0.0" 1637 | foreground-child "^1.5.6" 1638 | glob "^7.1.3" 1639 | istanbul-lib-coverage "^2.0.5" 1640 | istanbul-lib-hook "^2.0.7" 1641 | istanbul-lib-instrument "^3.3.0" 1642 | istanbul-lib-report "^2.0.8" 1643 | istanbul-lib-source-maps "^3.0.6" 1644 | istanbul-reports "^2.2.4" 1645 | js-yaml "^3.13.1" 1646 | make-dir "^2.1.0" 1647 | merge-source-map "^1.1.0" 1648 | resolve-from "^4.0.0" 1649 | rimraf "^2.6.3" 1650 | signal-exit "^3.0.2" 1651 | spawn-wrap "^1.4.2" 1652 | test-exclude "^5.2.3" 1653 | uuid "^3.3.2" 1654 | yargs "^13.2.2" 1655 | yargs-parser "^13.0.0" 1656 | 1657 | oauth-sign@~0.9.0: 1658 | version "0.9.0" 1659 | resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 1660 | integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= 1661 | 1662 | object-keys@^1.0.11, object-keys@^1.0.12: 1663 | version "1.1.1" 1664 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1665 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1666 | 1667 | object.assign@4.1.0: 1668 | version "4.1.0" 1669 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1670 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1671 | dependencies: 1672 | define-properties "^1.1.2" 1673 | function-bind "^1.1.1" 1674 | has-symbols "^1.0.0" 1675 | object-keys "^1.0.11" 1676 | 1677 | object.getownpropertydescriptors@^2.0.3: 1678 | version "2.0.3" 1679 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 1680 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 1681 | dependencies: 1682 | define-properties "^1.1.2" 1683 | es-abstract "^1.5.1" 1684 | 1685 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1686 | version "1.4.0" 1687 | resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1688 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1689 | dependencies: 1690 | wrappy "1" 1691 | 1692 | onetime@^5.1.0: 1693 | version "5.1.0" 1694 | resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" 1695 | integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U= 1696 | dependencies: 1697 | mimic-fn "^2.1.0" 1698 | 1699 | optionator@^0.8.2: 1700 | version "0.8.2" 1701 | resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 1702 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 1703 | dependencies: 1704 | deep-is "~0.1.3" 1705 | fast-levenshtein "~2.0.4" 1706 | levn "~0.3.0" 1707 | prelude-ls "~1.1.2" 1708 | type-check "~0.3.2" 1709 | wordwrap "~1.0.0" 1710 | 1711 | os-homedir@^1.0.1: 1712 | version "1.0.2" 1713 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1714 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 1715 | 1716 | os-locale@^3.0.0, os-locale@^3.1.0: 1717 | version "3.1.0" 1718 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" 1719 | integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== 1720 | dependencies: 1721 | execa "^1.0.0" 1722 | lcid "^2.0.0" 1723 | mem "^4.0.0" 1724 | 1725 | os-tmpdir@~1.0.2: 1726 | version "1.0.2" 1727 | resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1728 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 1729 | 1730 | p-defer@^1.0.0: 1731 | version "1.0.0" 1732 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 1733 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 1734 | 1735 | p-finally@^1.0.0: 1736 | version "1.0.0" 1737 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1738 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 1739 | 1740 | p-is-promise@^2.0.0: 1741 | version "2.1.0" 1742 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" 1743 | integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== 1744 | 1745 | p-limit@^2.0.0: 1746 | version "2.2.1" 1747 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 1748 | integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== 1749 | dependencies: 1750 | p-try "^2.0.0" 1751 | 1752 | p-locate@^3.0.0: 1753 | version "3.0.0" 1754 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 1755 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 1756 | dependencies: 1757 | p-limit "^2.0.0" 1758 | 1759 | p-try@^2.0.0: 1760 | version "2.2.0" 1761 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1762 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1763 | 1764 | package-hash@^3.0.0: 1765 | version "3.0.0" 1766 | resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e" 1767 | integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== 1768 | dependencies: 1769 | graceful-fs "^4.1.15" 1770 | hasha "^3.0.0" 1771 | lodash.flattendeep "^4.4.0" 1772 | release-zalgo "^1.0.0" 1773 | 1774 | parent-module@^1.0.0: 1775 | version "1.0.1" 1776 | resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1777 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= 1778 | dependencies: 1779 | callsites "^3.0.0" 1780 | 1781 | parse-json@^4.0.0: 1782 | version "4.0.0" 1783 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 1784 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 1785 | dependencies: 1786 | error-ex "^1.3.1" 1787 | json-parse-better-errors "^1.0.1" 1788 | 1789 | path-exists@^3.0.0: 1790 | version "3.0.0" 1791 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1792 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1793 | 1794 | path-is-absolute@^1.0.0: 1795 | version "1.0.1" 1796 | resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1797 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1798 | 1799 | path-key@^2.0.0, path-key@^2.0.1: 1800 | version "2.0.1" 1801 | resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1802 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1803 | 1804 | path-parse@^1.0.6: 1805 | version "1.0.6" 1806 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1807 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1808 | 1809 | path-type@^3.0.0: 1810 | version "3.0.0" 1811 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 1812 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 1813 | dependencies: 1814 | pify "^3.0.0" 1815 | 1816 | pathval@^1.1.0: 1817 | version "1.1.0" 1818 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" 1819 | integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= 1820 | 1821 | performance-now@^2.1.0: 1822 | version "2.1.0" 1823 | resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1824 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 1825 | 1826 | pify@^3.0.0: 1827 | version "3.0.0" 1828 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 1829 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 1830 | 1831 | pify@^4.0.1: 1832 | version "4.0.1" 1833 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 1834 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 1835 | 1836 | pkg-dir@^3.0.0: 1837 | version "3.0.0" 1838 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 1839 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 1840 | dependencies: 1841 | find-up "^3.0.0" 1842 | 1843 | prelude-ls@~1.1.2: 1844 | version "1.1.2" 1845 | resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1846 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1847 | 1848 | progress@^2.0.0: 1849 | version "2.0.3" 1850 | resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1851 | integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= 1852 | 1853 | pseudomap@^1.0.2: 1854 | version "1.0.2" 1855 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1856 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 1857 | 1858 | psl@^1.1.24, psl@^1.1.28: 1859 | version "1.3.0" 1860 | resolved "https://registry.npm.taobao.org/psl/download/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" 1861 | integrity sha1-4ev2o7VWT6g3bz2iJ12nbYdcob0= 1862 | 1863 | pump@^3.0.0: 1864 | version "3.0.0" 1865 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1866 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1867 | dependencies: 1868 | end-of-stream "^1.1.0" 1869 | once "^1.3.1" 1870 | 1871 | punycode@^1.4.1: 1872 | version "1.4.1" 1873 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1874 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 1875 | 1876 | punycode@^2.1.0, punycode@^2.1.1: 1877 | version "2.1.1" 1878 | resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1879 | integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= 1880 | 1881 | qs@~6.5.2: 1882 | version "6.5.2" 1883 | resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 1884 | integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= 1885 | 1886 | read-pkg-up@^4.0.0: 1887 | version "4.0.0" 1888 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" 1889 | integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== 1890 | dependencies: 1891 | find-up "^3.0.0" 1892 | read-pkg "^3.0.0" 1893 | 1894 | read-pkg@^3.0.0: 1895 | version "3.0.0" 1896 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 1897 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 1898 | dependencies: 1899 | load-json-file "^4.0.0" 1900 | normalize-package-data "^2.3.2" 1901 | path-type "^3.0.0" 1902 | 1903 | regexpp@^2.0.1: 1904 | version "2.0.1" 1905 | resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 1906 | integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= 1907 | 1908 | release-zalgo@^1.0.0: 1909 | version "1.0.0" 1910 | resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" 1911 | integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= 1912 | dependencies: 1913 | es6-error "^4.0.1" 1914 | 1915 | request-promise-core@1.1.2: 1916 | version "1.1.2" 1917 | resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" 1918 | integrity sha1-M59qq6vK/bMceZ/xWHADNjAdM0Y= 1919 | dependencies: 1920 | lodash "^4.17.11" 1921 | 1922 | request-promise-native@^1.0.7: 1923 | version "1.0.7" 1924 | resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" 1925 | integrity sha1-pJhopiS96lBp8SUdCoNuDYmqLFk= 1926 | dependencies: 1927 | request-promise-core "1.1.2" 1928 | stealthy-require "^1.1.1" 1929 | tough-cookie "^2.3.3" 1930 | 1931 | request@^2.88.0: 1932 | version "2.88.0" 1933 | resolved "https://registry.npm.taobao.org/request/download/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 1934 | integrity sha1-nC/KT301tZLv5Xx/ClXoEFIST+8= 1935 | dependencies: 1936 | aws-sign2 "~0.7.0" 1937 | aws4 "^1.8.0" 1938 | caseless "~0.12.0" 1939 | combined-stream "~1.0.6" 1940 | extend "~3.0.2" 1941 | forever-agent "~0.6.1" 1942 | form-data "~2.3.2" 1943 | har-validator "~5.1.0" 1944 | http-signature "~1.2.0" 1945 | is-typedarray "~1.0.0" 1946 | isstream "~0.1.2" 1947 | json-stringify-safe "~5.0.1" 1948 | mime-types "~2.1.19" 1949 | oauth-sign "~0.9.0" 1950 | performance-now "^2.1.0" 1951 | qs "~6.5.2" 1952 | safe-buffer "^5.1.2" 1953 | tough-cookie "~2.4.3" 1954 | tunnel-agent "^0.6.0" 1955 | uuid "^3.3.2" 1956 | 1957 | require-directory@^2.1.1: 1958 | version "2.1.1" 1959 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1960 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1961 | 1962 | require-main-filename@^1.0.1: 1963 | version "1.0.1" 1964 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 1965 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 1966 | 1967 | require-main-filename@^2.0.0: 1968 | version "2.0.0" 1969 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 1970 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 1971 | 1972 | resolve-from@^4.0.0: 1973 | version "4.0.0" 1974 | resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1975 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= 1976 | 1977 | resolve@^1.10.0: 1978 | version "1.12.0" 1979 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" 1980 | integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== 1981 | dependencies: 1982 | path-parse "^1.0.6" 1983 | 1984 | restore-cursor@^3.1.0: 1985 | version "3.1.0" 1986 | resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 1987 | integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= 1988 | dependencies: 1989 | onetime "^5.1.0" 1990 | signal-exit "^3.0.2" 1991 | 1992 | rimraf@2.6.3: 1993 | version "2.6.3" 1994 | resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1995 | integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= 1996 | dependencies: 1997 | glob "^7.1.3" 1998 | 1999 | rimraf@^2.6.2, rimraf@^2.6.3: 2000 | version "2.7.1" 2001 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 2002 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== 2003 | dependencies: 2004 | glob "^7.1.3" 2005 | 2006 | run-async@^2.2.0: 2007 | version "2.3.0" 2008 | resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 2009 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 2010 | dependencies: 2011 | is-promise "^2.1.0" 2012 | 2013 | rxjs@^6.4.0: 2014 | version "6.5.2" 2015 | resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" 2016 | integrity sha1-LjXOgVzUbYTQKiCftOWSHgUdvsc= 2017 | dependencies: 2018 | tslib "^1.9.0" 2019 | 2020 | safe-buffer@^5.0.1, safe-buffer@^5.1.2: 2021 | version "5.2.0" 2022 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 2023 | integrity sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk= 2024 | 2025 | safe-buffer@~5.1.1: 2026 | version "5.1.2" 2027 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2028 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2029 | 2030 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 2031 | version "2.1.2" 2032 | resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2033 | integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= 2034 | 2035 | "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: 2036 | version "5.7.1" 2037 | resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1565627367398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2038 | integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= 2039 | 2040 | semver@^6.0.0, semver@^6.1.2, semver@^6.2.0: 2041 | version "6.3.0" 2042 | resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1565627367398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2043 | integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= 2044 | 2045 | set-blocking@^2.0.0: 2046 | version "2.0.0" 2047 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2048 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 2049 | 2050 | shebang-command@^1.2.0: 2051 | version "1.2.0" 2052 | resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2053 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 2054 | dependencies: 2055 | shebang-regex "^1.0.0" 2056 | 2057 | shebang-regex@^1.0.0: 2058 | version "1.0.0" 2059 | resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2060 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 2061 | 2062 | signal-exit@^3.0.0, signal-exit@^3.0.2: 2063 | version "3.0.2" 2064 | resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2065 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 2066 | 2067 | slice-ansi@^2.1.0: 2068 | version "2.1.0" 2069 | resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 2070 | integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= 2071 | dependencies: 2072 | ansi-styles "^3.2.0" 2073 | astral-regex "^1.0.0" 2074 | is-fullwidth-code-point "^2.0.0" 2075 | 2076 | source-map-support@^0.5.6: 2077 | version "0.5.13" 2078 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2079 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2080 | dependencies: 2081 | buffer-from "^1.0.0" 2082 | source-map "^0.6.0" 2083 | 2084 | source-map@^0.5.0: 2085 | version "0.5.7" 2086 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2087 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2088 | 2089 | source-map@^0.6.0, source-map@^0.6.1: 2090 | version "0.6.1" 2091 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2092 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2093 | 2094 | spawn-wrap@^1.4.2: 2095 | version "1.4.3" 2096 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848" 2097 | integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== 2098 | dependencies: 2099 | foreground-child "^1.5.6" 2100 | mkdirp "^0.5.0" 2101 | os-homedir "^1.0.1" 2102 | rimraf "^2.6.2" 2103 | signal-exit "^3.0.2" 2104 | which "^1.3.0" 2105 | 2106 | spdx-correct@^3.0.0: 2107 | version "3.1.0" 2108 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 2109 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 2110 | dependencies: 2111 | spdx-expression-parse "^3.0.0" 2112 | spdx-license-ids "^3.0.0" 2113 | 2114 | spdx-exceptions@^2.1.0: 2115 | version "2.2.0" 2116 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 2117 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 2118 | 2119 | spdx-expression-parse@^3.0.0: 2120 | version "3.0.0" 2121 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 2122 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 2123 | dependencies: 2124 | spdx-exceptions "^2.1.0" 2125 | spdx-license-ids "^3.0.0" 2126 | 2127 | spdx-license-ids@^3.0.0: 2128 | version "3.0.5" 2129 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 2130 | integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== 2131 | 2132 | sprintf-js@~1.0.2: 2133 | version "1.0.3" 2134 | resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2135 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2136 | 2137 | sshpk@^1.7.0: 2138 | version "1.16.1" 2139 | resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 2140 | integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= 2141 | dependencies: 2142 | asn1 "~0.2.3" 2143 | assert-plus "^1.0.0" 2144 | bcrypt-pbkdf "^1.0.0" 2145 | dashdash "^1.12.0" 2146 | ecc-jsbn "~0.1.1" 2147 | getpass "^0.1.1" 2148 | jsbn "~0.1.0" 2149 | safer-buffer "^2.0.2" 2150 | tweetnacl "~0.14.0" 2151 | 2152 | stealthy-require@^1.1.1: 2153 | version "1.1.1" 2154 | resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 2155 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 2156 | 2157 | string-width@^1.0.1: 2158 | version "1.0.2" 2159 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2160 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 2161 | dependencies: 2162 | code-point-at "^1.0.0" 2163 | is-fullwidth-code-point "^1.0.0" 2164 | strip-ansi "^3.0.0" 2165 | 2166 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: 2167 | version "2.1.1" 2168 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 2169 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 2170 | dependencies: 2171 | is-fullwidth-code-point "^2.0.0" 2172 | strip-ansi "^4.0.0" 2173 | 2174 | string-width@^3.0.0, string-width@^3.1.0: 2175 | version "3.1.0" 2176 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 2177 | integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= 2178 | dependencies: 2179 | emoji-regex "^7.0.1" 2180 | is-fullwidth-code-point "^2.0.0" 2181 | strip-ansi "^5.1.0" 2182 | 2183 | string-width@^4.1.0: 2184 | version "4.1.0" 2185 | resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" 2186 | integrity sha1-uoRtHaqXw8WWFVMIBj4HXtHJmv8= 2187 | dependencies: 2188 | emoji-regex "^8.0.0" 2189 | is-fullwidth-code-point "^3.0.0" 2190 | strip-ansi "^5.2.0" 2191 | 2192 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2193 | version "3.0.1" 2194 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2195 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 2196 | dependencies: 2197 | ansi-regex "^2.0.0" 2198 | 2199 | strip-ansi@^4.0.0: 2200 | version "4.0.0" 2201 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 2202 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 2203 | dependencies: 2204 | ansi-regex "^3.0.0" 2205 | 2206 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 2207 | version "5.2.0" 2208 | resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 2209 | integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= 2210 | dependencies: 2211 | ansi-regex "^4.1.0" 2212 | 2213 | strip-bom@^3.0.0: 2214 | version "3.0.0" 2215 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2216 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 2217 | 2218 | strip-eof@^1.0.0: 2219 | version "1.0.0" 2220 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2221 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 2222 | 2223 | strip-json-comments@2.0.1: 2224 | version "2.0.1" 2225 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2226 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 2227 | 2228 | strip-json-comments@^3.0.1: 2229 | version "3.0.1" 2230 | resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 2231 | integrity sha1-hXE5dakfuHvxswXMp3OV5A0qZKc= 2232 | 2233 | supports-color@6.0.0: 2234 | version "6.0.0" 2235 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" 2236 | integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== 2237 | dependencies: 2238 | has-flag "^3.0.0" 2239 | 2240 | supports-color@^5.3.0: 2241 | version "5.5.0" 2242 | resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2243 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 2244 | dependencies: 2245 | has-flag "^3.0.0" 2246 | 2247 | supports-color@^6.1.0: 2248 | version "6.1.0" 2249 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 2250 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 2251 | dependencies: 2252 | has-flag "^3.0.0" 2253 | 2254 | table@^5.2.3: 2255 | version "5.4.6" 2256 | resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 2257 | integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= 2258 | dependencies: 2259 | ajv "^6.10.2" 2260 | lodash "^4.17.14" 2261 | slice-ansi "^2.1.0" 2262 | string-width "^3.0.0" 2263 | 2264 | test-exclude@^5.2.3: 2265 | version "5.2.3" 2266 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" 2267 | integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== 2268 | dependencies: 2269 | glob "^7.1.3" 2270 | minimatch "^3.0.4" 2271 | read-pkg-up "^4.0.0" 2272 | require-main-filename "^2.0.0" 2273 | 2274 | text-table@^0.2.0: 2275 | version "0.2.0" 2276 | resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2277 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 2278 | 2279 | through@^2.3.6: 2280 | version "2.3.8" 2281 | resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2282 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 2283 | 2284 | tmp@^0.0.33: 2285 | version "0.0.33" 2286 | resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 2287 | integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= 2288 | dependencies: 2289 | os-tmpdir "~1.0.2" 2290 | 2291 | to-fast-properties@^2.0.0: 2292 | version "2.0.0" 2293 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2294 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2295 | 2296 | tough-cookie@^2.3.3: 2297 | version "2.5.0" 2298 | resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 2299 | integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= 2300 | dependencies: 2301 | psl "^1.1.28" 2302 | punycode "^2.1.1" 2303 | 2304 | tough-cookie@~2.4.3: 2305 | version "2.4.3" 2306 | resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 2307 | integrity sha1-U/Nto/R3g7CSWvoG/587FlKA94E= 2308 | dependencies: 2309 | psl "^1.1.24" 2310 | punycode "^1.4.1" 2311 | 2312 | trim-right@^1.0.1: 2313 | version "1.0.1" 2314 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 2315 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 2316 | 2317 | ts-node@^8.3.0: 2318 | version "8.3.0" 2319 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.3.0.tgz#e4059618411371924a1fb5f3b125915f324efb57" 2320 | integrity sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ== 2321 | dependencies: 2322 | arg "^4.1.0" 2323 | diff "^4.0.1" 2324 | make-error "^1.1.1" 2325 | source-map-support "^0.5.6" 2326 | yn "^3.0.0" 2327 | 2328 | tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: 2329 | version "1.10.0" 2330 | resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 2331 | integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo= 2332 | 2333 | tsutils@^3.14.0: 2334 | version "3.17.1" 2335 | resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" 2336 | integrity sha1-7XGZF/EcoN7lhicrKsSeAVot11k= 2337 | dependencies: 2338 | tslib "^1.8.1" 2339 | 2340 | tunnel-agent@^0.6.0: 2341 | version "0.6.0" 2342 | resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2343 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 2344 | dependencies: 2345 | safe-buffer "^5.0.1" 2346 | 2347 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2348 | version "0.14.5" 2349 | resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2350 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 2351 | 2352 | type-check@~0.3.2: 2353 | version "0.3.2" 2354 | resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 2355 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 2356 | dependencies: 2357 | prelude-ls "~1.1.2" 2358 | 2359 | type-detect@^4.0.0, type-detect@^4.0.5: 2360 | version "4.0.8" 2361 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2362 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2363 | 2364 | type-fest@^0.5.2: 2365 | version "0.5.2" 2366 | resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" 2367 | integrity sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI= 2368 | 2369 | type-graphql@^0.17.4: 2370 | version "0.17.5" 2371 | resolved "https://registry.npm.taobao.org/type-graphql/download/type-graphql-0.17.5.tgz#7f2f189ff7b9faef33537291ef333ff9adbee21c" 2372 | integrity sha1-fy8Yn/e5+u8zU3KR7zM/+a2+4hw= 2373 | dependencies: 2374 | "@types/glob" "^7.1.1" 2375 | "@types/node" "^12.6.2" 2376 | "@types/semver" "^6.0.1" 2377 | class-validator ">=0.9.1" 2378 | glob "^7.1.4" 2379 | graphql-query-complexity "^0.3.0" 2380 | graphql-subscriptions "^1.1.0" 2381 | semver "^6.2.0" 2382 | tslib "^1.10.0" 2383 | 2384 | typescript@^3.5.3: 2385 | version "3.5.3" 2386 | resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" 2387 | integrity sha1-yDD2V/k/HqhGgZ6SkJL1/lmD6Xc= 2388 | 2389 | uglify-js@^3.1.4: 2390 | version "3.13.5" 2391 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113" 2392 | integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw== 2393 | 2394 | uri-js@^4.2.2: 2395 | version "4.2.2" 2396 | resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 2397 | integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA= 2398 | dependencies: 2399 | punycode "^2.1.0" 2400 | 2401 | uuid@^3.3.2: 2402 | version "3.3.3" 2403 | resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 2404 | integrity sha1-RWjwIW54dg7h2/Ok0s9T4iQRKGY= 2405 | 2406 | v8-compile-cache@^2.0.3: 2407 | version "2.1.0" 2408 | resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" 2409 | integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4= 2410 | 2411 | validate-npm-package-license@^3.0.1: 2412 | version "3.0.4" 2413 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2414 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2415 | dependencies: 2416 | spdx-correct "^3.0.0" 2417 | spdx-expression-parse "^3.0.0" 2418 | 2419 | validator@11.1.0: 2420 | version "11.1.0" 2421 | resolved "https://registry.npm.taobao.org/validator/download/validator-11.1.0.tgz#ac18cac42e0aa5902b603d7a5d9b7827e2346ac4" 2422 | integrity sha1-rBjKxC4KpZArYD16XZt4J+I0asQ= 2423 | 2424 | verror@1.10.0: 2425 | version "1.10.0" 2426 | resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2427 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 2428 | dependencies: 2429 | assert-plus "^1.0.0" 2430 | core-util-is "1.0.2" 2431 | extsprintf "^1.2.0" 2432 | 2433 | whatwg-fetch@2.0.4: 2434 | version "2.0.4" 2435 | resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" 2436 | integrity sha1-3eal3zFfnTmZGqF2IYU9cguFVm8= 2437 | 2438 | which-module@^2.0.0: 2439 | version "2.0.0" 2440 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 2441 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 2442 | 2443 | which@1.3.1, which@^1.2.9, which@^1.3.0: 2444 | version "1.3.1" 2445 | resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2446 | integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= 2447 | dependencies: 2448 | isexe "^2.0.0" 2449 | 2450 | wide-align@1.1.3: 2451 | version "1.1.3" 2452 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 2453 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 2454 | dependencies: 2455 | string-width "^1.0.2 || 2" 2456 | 2457 | wordwrap@^1.0.0, wordwrap@~1.0.0: 2458 | version "1.0.0" 2459 | resolved "https://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 2460 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 2461 | 2462 | wrap-ansi@^2.0.0: 2463 | version "2.1.0" 2464 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 2465 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 2466 | dependencies: 2467 | string-width "^1.0.1" 2468 | strip-ansi "^3.0.1" 2469 | 2470 | wrap-ansi@^5.1.0: 2471 | version "5.1.0" 2472 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 2473 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 2474 | dependencies: 2475 | ansi-styles "^3.2.0" 2476 | string-width "^3.0.0" 2477 | strip-ansi "^5.0.0" 2478 | 2479 | wrappy@1: 2480 | version "1.0.2" 2481 | resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2482 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2483 | 2484 | write-file-atomic@^2.4.2: 2485 | version "2.4.3" 2486 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" 2487 | integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== 2488 | dependencies: 2489 | graceful-fs "^4.1.11" 2490 | imurmurhash "^0.1.4" 2491 | signal-exit "^3.0.2" 2492 | 2493 | write@1.0.3: 2494 | version "1.0.3" 2495 | resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 2496 | integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= 2497 | dependencies: 2498 | mkdirp "^0.5.1" 2499 | 2500 | "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: 2501 | version "4.0.0" 2502 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 2503 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 2504 | 2505 | yallist@^2.1.2: 2506 | version "2.1.2" 2507 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 2508 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 2509 | 2510 | yargs-parser@13.0.0: 2511 | version "13.0.0" 2512 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" 2513 | integrity sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw== 2514 | dependencies: 2515 | camelcase "^5.0.0" 2516 | decamelize "^1.2.0" 2517 | 2518 | yargs-parser@^11.1.1: 2519 | version "11.1.1" 2520 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" 2521 | integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== 2522 | dependencies: 2523 | camelcase "^5.0.0" 2524 | decamelize "^1.2.0" 2525 | 2526 | yargs-parser@^13.0.0, yargs-parser@^13.1.1: 2527 | version "13.1.1" 2528 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" 2529 | integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== 2530 | dependencies: 2531 | camelcase "^5.0.0" 2532 | decamelize "^1.2.0" 2533 | 2534 | yargs-unparser@1.5.0: 2535 | version "1.5.0" 2536 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" 2537 | integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== 2538 | dependencies: 2539 | flat "^4.1.0" 2540 | lodash "^4.17.11" 2541 | yargs "^12.0.5" 2542 | 2543 | yargs@13.2.2: 2544 | version "13.2.2" 2545 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" 2546 | integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== 2547 | dependencies: 2548 | cliui "^4.0.0" 2549 | find-up "^3.0.0" 2550 | get-caller-file "^2.0.1" 2551 | os-locale "^3.1.0" 2552 | require-directory "^2.1.1" 2553 | require-main-filename "^2.0.0" 2554 | set-blocking "^2.0.0" 2555 | string-width "^3.0.0" 2556 | which-module "^2.0.0" 2557 | y18n "^4.0.0" 2558 | yargs-parser "^13.0.0" 2559 | 2560 | yargs@^12.0.5: 2561 | version "12.0.5" 2562 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" 2563 | integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== 2564 | dependencies: 2565 | cliui "^4.0.0" 2566 | decamelize "^1.2.0" 2567 | find-up "^3.0.0" 2568 | get-caller-file "^1.0.1" 2569 | os-locale "^3.0.0" 2570 | require-directory "^2.1.1" 2571 | require-main-filename "^1.0.1" 2572 | set-blocking "^2.0.0" 2573 | string-width "^2.0.0" 2574 | which-module "^2.0.0" 2575 | y18n "^3.2.1 || ^4.0.0" 2576 | yargs-parser "^11.1.1" 2577 | 2578 | yargs@^13.2.2: 2579 | version "13.3.0" 2580 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" 2581 | integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== 2582 | dependencies: 2583 | cliui "^5.0.0" 2584 | find-up "^3.0.0" 2585 | get-caller-file "^2.0.1" 2586 | require-directory "^2.1.1" 2587 | require-main-filename "^2.0.0" 2588 | set-blocking "^2.0.0" 2589 | string-width "^3.0.0" 2590 | which-module "^2.0.0" 2591 | y18n "^4.0.0" 2592 | yargs-parser "^13.1.1" 2593 | 2594 | yn@^3.0.0: 2595 | version "3.1.1" 2596 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 2597 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 2598 | --------------------------------------------------------------------------------