diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml new file mode 100644 index 0000000..d396997 --- /dev/null +++ b/.github/workflows/code_coverage.yml @@ -0,0 +1,36 @@ +name: Code coverage + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: windows-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + - name: Use Node.js 12.x + uses: actions/setup-node@v1 + with: + node-version: 12.x + + - run: yarn install + - run: yarn test + + - name: Coveralls GitHub Action + uses: coverallsapp/github-action@v1.1.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + # Path to lcov file + path-to-lcov: ./coverage/lcov.info diff --git a/.gitignore b/.gitignore index ec0e293..2f73341 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ node_modules !.vscode/ .vscode/extensions.json .vscode/settings.json +.nyc_output +coverage diff --git a/README.md b/README.md index 51a0a59..102827f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # OpenPAI VS Code Client [![Version](https://img.shields.io/github/release/Microsoft/openpaivscode.svg)](https://github.com/Microsoft/openpaivscode/releases/latest) +[![Coverage Status](https://coveralls.io/repos/github/microsoft/openpaivscode/badge.svg?branch=master)](https://coveralls.io/github/microsoft/openpaivscode?branch=master) [简体中文](https://github.com/microsoft/openpaivscode/blob/master/README_zh_CN.md) diff --git a/package.json b/package.json index fb0e445..0bf36d0 100644 --- a/package.json +++ b/package.json @@ -625,7 +625,8 @@ "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "package": "vsce package --yarn", - "test": "yarn compile && node ./installYamlExtension.js && node ./out/test/runTest.js" + "pretest": "yarn compile && node ./installYamlExtension.js", + "test": "nyc node ./node_modules/vscode/bin/test" }, "devDependencies": { "@types/fs-extra": "^5.0.4", @@ -645,14 +646,17 @@ "@types/sshpk": "^1.10.4", "@types/uuid": "^3.4.4", "@types/vscode": "^1.40.0", + "istanbul-lib-coverage": "^3.0.0", "mocha": "^7.1.1", "nock": "^11.8.2", + "nyc": "^15.1.0", "tslint": "^6.0.0", "tslint-microsoft-contrib": "^5.2.1", "typescript": "^3.5.1", "typescript-tslint-plugin": "^0.4.0", "vsce": "^1.74.0", - "vscode-test": "^1.3.0" + "vscode": "^1.1.37", + "vscode-test": "^1.4.0" }, "dependencies": { "@azure/storage-blob": "^12.0.1", @@ -671,7 +675,7 @@ "node-rsa": "^1.0.7", "node-yaml-parser": "^0.0.9", "opn": "^5.4.0", - "reflect-metadata": "^0.1.12", + "reflect-metadata": "^0.1.13", "request": "^2.88.0", "request-promise-native": "^1.0.8", "semver-compare": "^1.0.0", @@ -681,5 +685,17 @@ "unzipper": "^0.10.1", "uuid": "^3.3.2", "webhdfs": "^1.2.0" + }, + "nyc": { + "exclude": [ + ".vscode-test", + "src/test" + ], + "reporter": [ + "lcov", + "text", + "text-summary" + ], + "all": true } } diff --git a/src/common/singleton.ts b/src/common/singleton.ts index 58bd30f..f38cf31 100644 --- a/src/common/singleton.ts +++ b/src/common/singleton.ts @@ -5,7 +5,7 @@ */ import 'reflect-metadata'; // tslint:disable-line -import { injectable, Container } from 'inversify'; // tslint:disable-line +import { Container, injectable } from 'inversify'; // tslint:disable-line import * as vscode from 'vscode'; import { __ } from './i18n'; @@ -57,20 +57,20 @@ export function getSingleton(clazz: Constructor): Promis } export function bindExtensionContext(context: vscode.ExtensionContext): void { + if (container.isBound(EXTENSION_CONTEXT)) { + container.unbind(EXTENSION_CONTEXT); + } + container.bind(EXTENSION_CONTEXT).toConstantValue(context); } export async function initializeAll(singletonClasses: Constructor[]): Promise { - getSingletonDisabled = true; - const allSingletons: Singleton[] = singletonClasses.map(clazz => container.get(clazz)); - getSingletonDisabled = false; - await Promise.all(allSingletons.map(singleton => singleton.ensureActivated())); - initializationFinish = true; -} - -export async function waitForAllSingletonFinish(): Promise { - while (!initializationFinish) { - await delay(10); + if (!initializationFinish) { + getSingletonDisabled = true; + const allSingletons: Singleton[] = singletonClasses.map(clazz => container.get(clazz)); + getSingletonDisabled = false; + await Promise.all(allSingletons.map(singleton => singleton.ensureActivated())); + initializationFinish = true; } } diff --git a/src/pai/clusterManager.ts b/src/pai/clusterManager.ts index 4f3def2..82ea0ca 100644 --- a/src/pai/clusterManager.ts +++ b/src/pai/clusterManager.ts @@ -8,6 +8,7 @@ import { PAIV2 } from '@microsoft/openpai-js-sdk'; import { injectable } from 'inversify'; import { clone, range } from 'lodash'; import * as request from 'request-promise-native'; +import semverCompare = require('semver-compare'); // tslint:disable-line import * as vscode from 'vscode'; import { @@ -17,10 +18,8 @@ import { getSingleton, Singleton } from '../common/singleton'; import { Util } from '../common/util'; import { ClusterExplorerChildNode, ConfigurationTreeDataProvider, ITreeData } from './container/configurationTreeDataProvider'; -import { IPAICluster } from './utility/paiInterface'; - -import semverCompare = require('semver-compare'); // tslint:disable-line import { login } from './utility/azureADLogin'; +import { IPAICluster } from './utility/paiInterface'; export interface IConfiguration { readonly version: string; @@ -66,14 +65,14 @@ export class ClusterManager extends Singleton { protocol_version: '2' }; + public configuration: IConfiguration | undefined; + private onDidChangeEmitter: vscode.EventEmitter = new vscode.EventEmitter(); public onDidChange: vscode.Event = this.onDidChangeEmitter.event; // tslint:disable-line private readonly EDIT: string = __('common.edit'); private readonly DISCARD: string = __('cluster.activate.fix.discard'); - private configuration: IConfiguration | undefined; - public get allConfigurations(): IPAICluster[] { return this.configuration!.pais; } diff --git a/src/pai/storage/hdfs.ts b/src/pai/storage/hdfs.ts index 72fdda7..97217a2 100644 --- a/src/pai/storage/hdfs.ts +++ b/src/pai/storage/hdfs.ts @@ -34,6 +34,8 @@ import { IPAICluster } from '../utility/paiInterface'; import { createWebHDFSClient, IHDFSClient, IHDFSStatResult } from './webhdfs-workaround'; +type Constructor = new(...arg: any[]) => T; + const stat: (path: string) => Promise = promisify(fs.stat); const readdir: (path: string) => Promise = promisify(fs.readdir); const mkdir: (path: string) => Promise = fs.mkdirp; @@ -52,6 +54,11 @@ export class HDFSFileSystemProvider implements vscode.FileSystemProvider { public onDidChangeFile: vscode.Event = this.onDidChangeFileEmitter.event; // tslint:disable-line private clientMap: Map = new Map(); + private getSingleton: (clazz: Constructor) => T | Promise; + + constructor(getSingletonFunc?: (clazz: Constructor) => T | Promise) { + this.getSingleton = getSingletonFunc || getSingleton; + } // `${username}@${host}:${port}` (e.g. user@127.0.0.1:50070) as authority public async addClient(authority: string): Promise { @@ -60,7 +67,7 @@ export class HDFSFileSystemProvider implements vscode.FileSystemProvider { } const [user, uri] = authority.split('@'); const [host, port = '80'] = uri.split(':'); - const allConfigurations: IPAICluster[] = (await getSingleton(ClusterManager)).allConfigurations; + const allConfigurations: IPAICluster[] = (await this.getSingleton(ClusterManager)).allConfigurations; const currentCluster: IPAICluster | undefined = allConfigurations.find(cluster => !!(cluster.username === user && cluster.webhdfs_uri && cluster.webhdfs_uri.startsWith(uri + '/')) ); diff --git a/src/test/clusterConfiguration.test.ts b/src/test/clusterConfiguration.test.ts index 439050a..054dbc0 100644 --- a/src/test/clusterConfiguration.test.ts +++ b/src/test/clusterConfiguration.test.ts @@ -3,10 +3,11 @@ * Licensed under the MIT License. See License in the project root for license information. * @author Microsoft */ -// tslint:disable:align import * as assert from 'assert'; +import * as path from 'path'; -import { getSingleton, waitForAllSingletonFinish } from '../common/singleton'; +import { bindExtensionContext } from '../common/singleton'; +import { UtilClass } from '../common/util'; import { ClusterManager } from '../pai/clusterManager'; async function asyncAssertThrows(fn: (...args: any[]) => Promise, message: string): Promise { @@ -19,33 +20,52 @@ async function asyncAssertThrows(fn: (...args: any[]) => Promise, message: async function asyncAssertDoesNotThrow(fn: (...args: any[]) => Promise, message: string): Promise { try { await fn(); - } catch { + } catch (err) { + console.log(`ERROR: ${err.message}`); assert.fail(message); } } suite('PAI Cluster Configurations', () => { test('Configuration Validation', async () => { - await waitForAllSingletonFinish(); - const clusterManager: ClusterManager = await getSingleton(ClusterManager); - clusterManager.allConfigurations[0] = {}; - await asyncAssertThrows(async () => { - await clusterManager.validateConfiguration(); - }, 'Invalid configuration should not pass validation'); + bindExtensionContext({ + extensionPath: path.resolve(__dirname, '../../'), + subscriptions: [] + }); + // tslint:disable-next-line: no-unused-expression + new UtilClass(); + let clusterManager: ClusterManager; + clusterManager = new ClusterManager(); + clusterManager.configuration = { + version: '0.0.1', + pais: [{}] + }; + await asyncAssertThrows( + async () => { + await clusterManager.validateConfiguration(); + }, + 'Invalid configuration should not pass validation' + ); clusterManager.allConfigurations[0] = null; - await asyncAssertThrows(async () => { - await clusterManager.validateConfiguration(); - }, 'Null configuration should not pass validation'); + await asyncAssertThrows( + async () => { + await clusterManager.validateConfiguration(); + }, + 'Null configuration should not pass validation' + ); clusterManager.allConfigurations[0] = { - username: 'openmindstudio', + username: 'openpai', password: 'Passq1w2e3r4', - rest_server_uri: '10.151.40.234:9186', - webhdfs_uri: '10.151.40.234:50070/webhdfs/v1', - grafana_uri: '10.151.40.234:3000', - k8s_dashboard_uri: '10.151.40.234:9090' + rest_server_uri: 'openpai.vscode.test:9186', + webhdfs_uri: 'openpai.vscode.test:50070/webhdfs/v1', + grafana_uri: 'openpai.vscode.test:3000', + k8s_dashboard_uri: 'openpai.vscode.test:9090' }; - await asyncAssertDoesNotThrow(async () => { - await clusterManager.validateConfiguration(); - }, 'Valid configuration should not trigger error'); + await asyncAssertDoesNotThrow( + async () => { + await clusterManager.validateConfiguration(); + }, + 'Valid configuration should not trigger error' + ); }); -}); \ No newline at end of file +}); diff --git a/src/test/fixtures/hdfs.filecrud.json b/src/test/fixtures/hdfs.filecrud.json index f4241b1..ce72a33 100644 --- a/src/test/fixtures/hdfs.filecrud.json +++ b/src/test/fixtures/hdfs.filecrud.json @@ -1,8 +1,8 @@ [ { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 404, "response": { @@ -36,13 +36,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326327132&s=gk5VVv2FU8E1gFEvG1568VFjmoM=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326327132&s=gk5VVv2FU8E1gFEvG1568VFjmoM=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/webhdfs/api/v1/testfile?op=create&user.name=openmindstudio&overwrite=true&permission=0755", + "path": "/webhdfs/api/v1/testfile?op=create&user.name=openpai&overwrite=true&permission=0755", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -58,13 +58,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.173:5075/webhdfs/v1/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755" + "http://openpai.vscode.test/a/10.151.40.173:5075/webhdfs/v1/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/a/10.151.40.173:5075/webhdfs/v1/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755", + "path": "/a/10.151.40.173:5075/webhdfs/v1/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755", "body": "fa", "status": 201, "response": "", @@ -78,15 +78,15 @@ "Connection", "close", "Location", - "hdfs://10.151.40.179:9000/testfile", + "hdfs://openpai.vscode.test:9000/testfile", "Access-Control-Allow-Origin", "*" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -100,7 +100,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290328561, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "testfile", "permission": "755", "replication": 2, @@ -134,13 +134,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326329131&s=/oM4SlZTxgdsV9rMa8qSvPltWGs=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326329131&s=/oM4SlZTxgdsV9rMa8qSvPltWGs=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -152,7 +152,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290328561, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "", "permission": "755", "replication": 2, @@ -184,13 +184,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326329678&s=ztLCG83pRcYK5HPcXeciuam13t4=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326329678&s=ztLCG83pRcYK5HPcXeciuam13t4=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=open&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=open&user.name=openpai", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -206,13 +206,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.192:5075/webhdfs/v1/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0" + "http://openpai.vscode.test/a/10.151.40.192:5075/webhdfs/v1/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/a/10.151.40.192:5075/webhdfs/v1/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0", + "path": "/a/10.151.40.192:5075/webhdfs/v1/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0", "body": "", "status": 200, "response": "fa", @@ -234,9 +234,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "DELETE", - "path": "/webhdfs/api/v1/testfile?op=delete&user.name=openmindstudio&recursive=false", + "path": "/webhdfs/api/v1/testfile?op=delete&user.name=openpai&recursive=false", "body": "", "status": 200, "response": { @@ -266,13 +266,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326331321&s=5bGdVMMD5Ms1MtMs3de1iWsRhsM=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326331321&s=5bGdVMMD5Ms1MtMs3de1iWsRhsM=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -305,7 +305,7 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326331877&s=yenDxednKO6xQad9BGHVgLKlRpI=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326331877&s=yenDxednKO6xQad9BGHVgLKlRpI=\"; Path=/; HttpOnly" ] } -] \ No newline at end of file +] diff --git a/src/test/fixtures/hdfs.foldercrud.json b/src/test/fixtures/hdfs.foldercrud.json index dd1cd98..98d4d31 100644 --- a/src/test/fixtures/hdfs.foldercrud.json +++ b/src/test/fixtures/hdfs.foldercrud.json @@ -1,8 +1,8 @@ [ { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder?op=getfilestatus&user.name=openpai", "body": "", "status": 404, "response": { @@ -36,13 +36,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326332434&s=Q9Fc+bmH/RWv37z+C9BjbUxYrIg=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326332434&s=Q9Fc+bmH/RWv37z+C9BjbUxYrIg=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=getfilestatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -86,13 +86,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326332980&s=Ddp574MNEvCQLI3uVrhtOvEQY40=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326332980&s=Ddp574MNEvCQLI3uVrhtOvEQY40=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/webhdfs/api/v1/testfolder?op=mkdirs&user.name=openmindstudio&permission=0755", + "path": "/webhdfs/api/v1/testfolder?op=mkdirs&user.name=openpai&permission=0755", "body": "", "status": 200, "response": { @@ -122,13 +122,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326333524&s=qP0MSTMAYYHAZ08nYzgOzEsvCOc=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326333524&s=qP0MSTMAYYHAZ08nYzgOzEsvCOc=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -142,7 +142,7 @@ "group": "supergroup", "length": 0, "modificationTime": 1540290333525, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "testfolder", "permission": "755", "replication": 0, @@ -176,13 +176,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326336952&s=1dZdmusWrgzIxi7I2sEXklgQRBQ=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326336952&s=1dZdmusWrgzIxi7I2sEXklgQRBQ=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 404, "response": { @@ -216,13 +216,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326337499&s=xDswav++C2c643LPgkMeEb4QX64=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326337499&s=xDswav++C2c643LPgkMeEb4QX64=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/webhdfs/api/v1/testfolder/testfile?op=create&user.name=openmindstudio&overwrite=true&permission=0755", + "path": "/webhdfs/api/v1/testfolder/testfile?op=create&user.name=openpai&overwrite=true&permission=0755", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -238,7 +238,7 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.197:5075/webhdfs/v1/testfolder/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755" + "http://openpai.vscode.test/a/10.151.40.197:5075/webhdfs/v1/testfolder/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755" ] }, { @@ -276,9 +276,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/a/10.151.40.197:5075/webhdfs/v1/testfolder/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755", + "path": "/a/10.151.40.197:5075/webhdfs/v1/testfolder/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755", "body": "fa", "status": 201, "response": "", @@ -292,7 +292,7 @@ "Connection", "close", "Location", - "hdfs://10.151.40.179:9000/testfolder/testfile", + "hdfs://openpai.vscode.test:9000/testfolder/testfile", "Access-Control-Allow-Origin", "*" ] @@ -360,9 +360,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -376,7 +376,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290338954, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "testfile", "permission": "755", "replication": 2, @@ -410,13 +410,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326339524&s=vdMK+btmPV3SHQZ/JJY3IpgrDfo=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326339524&s=vdMK+btmPV3SHQZ/JJY3IpgrDfo=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -428,7 +428,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290338954, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "", "permission": "755", "replication": 2, @@ -460,13 +460,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326340075&s=naX/5t/++PtpdkRKpgaeuuSxx1g=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326340075&s=naX/5t/++PtpdkRKpgaeuuSxx1g=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder/testfile?op=open&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder/testfile?op=open&user.name=openpai", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -482,13 +482,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0" + "http://openpai.vscode.test/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0", + "path": "/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0", "body": "", "status": 200, "response": "fa", @@ -541,9 +541,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -555,7 +555,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290338954, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "", "permission": "755", "replication": 2, @@ -587,13 +587,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326341716&s=2F6mlqNQ4PzTG9uOHqNsRm8ffZc=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326341716&s=2F6mlqNQ4PzTG9uOHqNsRm8ffZc=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 404, "response": { @@ -627,13 +627,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326342261&s=rlPchznXTNlYGCetg1O4JTyKMYo=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326342261&s=rlPchznXTNlYGCetg1O4JTyKMYo=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/webhdfs/api/v1/testfile?op=create&user.name=openmindstudio&overwrite=true&permission=0755", + "path": "/webhdfs/api/v1/testfile?op=create&user.name=openpai&overwrite=true&permission=0755", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -649,13 +649,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.155:5075/webhdfs/v1/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755" + "http://openpai.vscode.test/a/10.151.40.155:5075/webhdfs/v1/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfolder/testfile?op=open&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfolder/testfile?op=open&user.name=openpai", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -671,13 +671,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0" + "http://openpai.vscode.test/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0", + "path": "/a/10.151.40.163:5075/webhdfs/v1/testfolder/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0", "body": "", "status": 200, "response": "fa", @@ -699,9 +699,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "PUT", - "path": "/a/10.151.40.155:5075/webhdfs/v1/testfile?op=CREATE&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&createflag=&createparent=true&overwrite=true&permission=755", + "path": "/a/10.151.40.155:5075/webhdfs/v1/testfile?op=CREATE&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&createflag=&createparent=true&overwrite=true&permission=755", "body": "fa", "status": 201, "response": "", @@ -715,15 +715,15 @@ "Connection", "close", "Location", - "hdfs://10.151.40.179:9000/testfile", + "hdfs://openpai.vscode.test:9000/testfile", "Access-Control-Allow-Origin", "*" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=getfilestatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -735,7 +735,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290344278, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "", "permission": "755", "replication": 2, @@ -767,13 +767,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326344848&s=r127SsQb4khRDPJPtj3QG9DKRmA=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326344848&s=r127SsQb4khRDPJPtj3QG9DKRmA=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/testfile?op=open&user.name=openmindstudio", + "path": "/webhdfs/api/v1/testfile?op=open&user.name=openpai", "body": "", "status": 307, "response": "\r\n307 Temporary Redirect\r\n\r\n

307 Temporary Redirect

\r\n
nginx/1.13.8
\r\n\r\n\r\n", @@ -789,13 +789,13 @@ "Connection", "close", "Location", - "http://10.151.40.179/a/10.151.40.155:5075/webhdfs/v1/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0" + "http://openpai.vscode.test/a/10.151.40.155:5075/webhdfs/v1/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/a/10.151.40.155:5075/webhdfs/v1/testfile?op=OPEN&user.name=openmindstudio&namenoderpcaddress=10.151.40.179:9000&offset=0", + "path": "/a/10.151.40.155:5075/webhdfs/v1/testfile?op=OPEN&user.name=openpai&namenoderpcaddress=openpai.vscode.test:9000&offset=0", "body": "", "status": 200, "response": "fa", @@ -817,9 +817,9 @@ ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "DELETE", - "path": "/webhdfs/api/v1/testfolder?op=delete&user.name=openmindstudio&recursive=true", + "path": "/webhdfs/api/v1/testfolder?op=delete&user.name=openpai&recursive=true", "body": "", "status": 200, "response": { @@ -849,13 +849,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326346490&s=8XnwemCLLd/P6I9EwzN//aSrQWE=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326346490&s=8XnwemCLLd/P6I9EwzN//aSrQWE=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -869,7 +869,7 @@ "group": "supergroup", "length": 2, "modificationTime": 1540290344278, - "owner": "openmindstudio", + "owner": "openpai", "pathSuffix": "testfile", "permission": "755", "replication": 2, @@ -903,13 +903,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326347054&s=alV2N5Y+EMV0EpKPX6N2WKWOSgQ=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326347054&s=alV2N5Y+EMV0EpKPX6N2WKWOSgQ=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "DELETE", - "path": "/webhdfs/api/v1/testfile?op=delete&user.name=openmindstudio&recursive=false", + "path": "/webhdfs/api/v1/testfile?op=delete&user.name=openpai&recursive=false", "body": "", "status": 200, "response": { @@ -939,13 +939,13 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326347601&s=0mElqQZsRHKt0BxNFklCEISWXS4=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326347601&s=0mElqQZsRHKt0BxNFklCEISWXS4=\"; Path=/; HttpOnly" ] }, { - "scope": "http://10.151.40.179:80", + "scope": "http://openpai.vscode.test", "method": "GET", - "path": "/webhdfs/api/v1/?op=liststatus&user.name=openmindstudio", + "path": "/webhdfs/api/v1/?op=liststatus&user.name=openpai", "body": "", "status": 200, "response": { @@ -978,7 +978,7 @@ "X-FRAME-OPTIONS", "SAMEORIGIN", "Set-Cookie", - "hadoop.auth=\"u=openmindstudio&p=openmindstudio&t=simple&e=1540326348176&s=+hTXVxWY8OQdvca34KUognl77go=\"; Path=/; HttpOnly" + "hadoop.auth=\"u=openpai&p=openpai&t=simple&e=1540326348176&s=+hTXVxWY8OQdvca34KUognl77go=\"; Path=/; HttpOnly" ] } -] \ No newline at end of file +] diff --git a/src/test/hdfs.test.ts b/src/test/hdfs.test.ts index 9340fe1..254b0f2 100644 --- a/src/test/hdfs.test.ts +++ b/src/test/hdfs.test.ts @@ -10,7 +10,8 @@ import { back as nockBack } from 'nock'; import { join } from 'path'; import { FileType, Uri } from 'vscode'; -import { getSingleton, waitForAllSingletonFinish } from '../common/singleton'; +import { bindExtensionContext } from '../common/singleton'; +import { UtilClass } from '../common/util'; import { ClusterManager } from '../pai/clusterManager'; import { HDFSFileSystemProvider } from '../pai/storage/hdfs'; @@ -19,27 +20,38 @@ nockBack.fixtures = join(__dirname, '../../src/test', 'fixtures'); nockBack.setMode('record'); function mockUri(path: string): Uri { - return Uri.parse('webhdfs://openmindstudio@10.151.40.179' + path); + return Uri.parse('webhdfs://openpai@openpai.vscode.test' + path); } suite('HDFS Client', function (this: ISuiteCallbackContext): void { this.timeout(0); + let testClusterManager: ClusterManager; suiteSetup(async () => { - await waitForAllSingletonFinish(); - (await getSingleton(ClusterManager)).allConfigurations.push({ - name: 'Sample Cluster', - username: 'openmindstudio', - rest_server_uri: '10.151.40.179/rest-server', - webhdfs_uri: '10.151.40.179/webhdfs/api/v1', - grafana_uri: '10.151.40.179/grafana', - k8s_dashboard_uri: '10.151.40.179/kubernetes-dashboard', - web_portal_uri: '10.151.40.179/' + bindExtensionContext({ + subscriptions: [] }); + testClusterManager = new ClusterManager(); + testClusterManager.configuration = { + version: '0.0.1', + pais: [{ + name: 'Sample Cluster', + username: 'openpai', + rest_server_uri: 'openpai.vscode.test/rest-server', + webhdfs_uri: 'openpai.vscode.test/webhdfs/api/v1', + grafana_uri: 'openpai.vscode.test/grafana', + k8s_dashboard_uri: 'openpai.vscode.test/kubernetes-dashboard', + web_portal_uri: 'openpai.vscode.test/' + }] + }; + // tslint:disable-next-line: no-unused-expression + new UtilClass(); }); test('File CRUD', async () => { - const hdfsProvider: HDFSFileSystemProvider = new HDFSFileSystemProvider(); + const hdfsProvider: HDFSFileSystemProvider = new HDFSFileSystemProvider( + () => testClusterManager + ); const { nockDone } = await nockBack('hdfs.filecrud.json'); await hdfsProvider.writeFile(mockUri('/testfile'), new Buffer('fa'), { create: true, overwrite: false }); @@ -64,7 +76,9 @@ suite('HDFS Client', function (this: ISuiteCallbackContext): void { }); test('Folder CRUD', async () => { - const hdfsProvider: HDFSFileSystemProvider = new HDFSFileSystemProvider(); + const hdfsProvider: HDFSFileSystemProvider = new HDFSFileSystemProvider( + () => testClusterManager + ); const { nockDone } = await nockBack('hdfs.foldercrud.json'); await hdfsProvider.createDirectory(mockUri('/testfolder')); assert.deepEqual( @@ -104,8 +118,4 @@ suite('HDFS Client', function (this: ISuiteCallbackContext): void { nockDone(); }); - - suiteTeardown(async () => { - (await getSingleton(ClusterManager)).allConfigurations.pop(); - }); -}); \ No newline at end of file +}); diff --git a/src/test/index.ts b/src/test/index.ts index 1609019..3313cb7 100644 --- a/src/test/index.ts +++ b/src/test/index.ts @@ -4,37 +4,14 @@ * @author Microsoft */ -import * as glob from 'glob'; -import * as Mocha from 'mocha'; -import * as path from 'path'; +import * as testRunner from 'vscode/lib/testrunner'; -export function run(): Promise { - const mocha: Mocha = new Mocha({ - ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) - useColors: true // colored output from test results - }); +// You can directly control Mocha options by configuring the test runner below +// See https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically#set-options +// for more info +testRunner.configure({ + ui: 'tdd', // the TDD UI is being used in extension.test.ts (suite, test, etc.) + useColors: true // colored output from test results +}); - const testsRoot: string = path.resolve(__dirname, '.'); - return new Promise((c, e) => { - glob('**/**.test.js', { cwd: testsRoot}, (err, files) => { - if (err) { - return e(err); - } - - files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); - - try { - mocha.run(failures => { - if (failures > 0) { - e(new Error(`${failures} tests failed.`)); - } else { - c(); - } - }); - } catch (err) { - console.error(err); - e(err); - } - }); - }); -} +module.exports = testRunner; diff --git a/src/test/runTest.ts b/src/test/runTest.ts index 8546321..993944b 100644 --- a/src/test/runTest.ts +++ b/src/test/runTest.ts @@ -11,11 +11,11 @@ async function main(): Promise { try { // The folder containing the Extension Manifest package.json // Passed to `--extensionDevelopmentPath` - const extensionDevelopmentPath: string = path.resolve(__dirname, '../../'); + const extensionDevelopmentPath: string = path.resolve(__dirname, '../../../'); // The path to the extension test script // Passed to --extensionTestsPath - const extensionTestsPath: string = path.resolve(__dirname, './index.js'); + const extensionTestsPath: string = path.resolve(__dirname, './index'); // Download VS Code, unzip it and run the integration test await runTests({ extensionDevelopmentPath, extensionTestsPath }); @@ -25,4 +25,4 @@ async function main(): Promise { } } -void main(); \ No newline at end of file +void main(); diff --git a/yarn.lock b/yarn.lock index 77d762a..7209369 100644 --- a/yarn.lock +++ b/yarn.lock @@ -195,6 +195,143 @@ dependencies: "@babel/highlight" "^7.8.3" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/core@^7.7.5": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.4.tgz#780e8b83e496152f8dd7df63892b2e052bf1d51d" + integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.4" + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243" + integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== + dependencies: + "@babel/types" "^7.10.4" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" + integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-imports@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d" + integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-split-export-declaration@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" + integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" @@ -204,6 +341,68 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/parser@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64" + integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== + +"@babel/runtime-corejs3@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz#f29fc1990307c4c57b10dbd6ce667b27159d9e0d" + integrity sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818" + integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee" + integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + "@jsdevtools/ono@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.2.tgz#373995bb40a6686589a7fcfec06b0e6e304ef6c6" @@ -269,6 +468,11 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/types/-/types-0.2.0.tgz#2a0afd40fa7026e39ea56a454642bda72b172f80" integrity sha512-GtwNB6BNDdsIPAYEdpp3JnOGO/3AJxjPvny53s3HERBdXSJTGQw8IRhiaTEX0b3w9P8+FwFZde4k+qkjn67aVw== +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/caseless@*": version "0.12.1" resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.1.tgz#9794c69c8385d0192acc471a540d1f8e0d16218a" @@ -279,6 +483,11 @@ resolved "https://registry.yarnpkg.com/@types/cldrjs/-/cldrjs-0.4.20.tgz#b661657dac028a9e5131358db793e7f58db231dd" integrity sha512-vQe6BQF9QCHSLUlNjRa/1zicRCnQnTRwhW/FqgVv26A85COY1jfkkO6JjogDv22U3LRhu9pY4uPQOlxGnsuJPA== +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "@types/events@*": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" @@ -446,6 +655,21 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@6: + version "6.0.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" + integrity sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv@^6.10.2: version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" @@ -481,6 +705,11 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -488,6 +717,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" @@ -496,6 +733,18 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +append-transform@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" + integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== + dependencies: + default-require-extensions "^3.0.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + argparse@^1.0.10, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -622,6 +871,11 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + buffer-indexof-polyfill@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz#a9fb806ce8145d5428510ce72f278bb363a638bf" @@ -642,12 +896,22 @@ builtin-modules@^1.1.1: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= +caching-transform@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" + integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== + dependencies: + hasha "^5.0.0" + make-dir "^3.0.0" + package-hash "^4.0.0" + write-file-atomic "^3.0.0" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= -camelcase@^5.0.0: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -714,6 +978,11 @@ cldrjs@^0.5.0: resolved "https://registry.yarnpkg.com/cldrjs/-/cldrjs-0.5.0.tgz#37be92d8d1a8e66c8ee12f1303ed316d85d8eb37" integrity sha1-N76S2NGo5myO4S8TA+0xbYXY6zc= +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -723,6 +992,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -730,11 +1008,23 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" @@ -749,6 +1039,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== + commander@^2.12.1, commander@^2.8.1: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -759,11 +1054,28 @@ commander@^2.7.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +core-js-pure@^3.0.0: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" + integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -821,6 +1133,13 @@ debug@3.2.6, debug@^3.1.0: dependencies: ms "^2.1.1" +debug@4, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + debug@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" @@ -833,6 +1152,20 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851" + integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw== + dependencies: + xregexp "^4.2.4" + +default-require-extensions@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" + integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== + dependencies: + strip-bom "^4.0.0" + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -933,6 +1266,11 @@ emoji-regex@^7.0.1: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -964,6 +1302,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -1059,6 +1402,15 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-cache-dir@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-up@3.0.0, find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -1066,6 +1418,14 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + flat@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" @@ -1080,6 +1440,14 @@ follow-redirects@1.5.10: dependencies: debug "=3.1.0" +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -1103,6 +1471,11 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +fromentries@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.0.tgz#e6aa06f240d6267f913cea422075ef88b63e7897" + integrity sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ== + fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -1146,6 +1519,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + get-caller-file@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -1156,6 +1534,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -1170,6 +1553,18 @@ glob-parent@^5.0.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" +glob@7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.1.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -1182,6 +1577,18 @@ glob@7.1.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.2, glob@^7.1.4, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.3: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -1201,6 +1608,11 @@ globalize@^1.4.0: dependencies: cldrjs "^0.5.0" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globby@*, globby@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" @@ -1215,16 +1627,16 @@ globby@*, globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" +graceful-fs@^4.1.15, graceful-fs@^4.2.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== -graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -1248,6 +1660,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" @@ -1260,11 +1677,29 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hasha@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.0.tgz#33094d1f69c40a4a6ac7be53d5fe3ff95a269e0c" + integrity sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw== + dependencies: + is-stream "^2.0.0" + type-fest "^0.8.0" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= + he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + htmlparser2@^3.9.1: version "3.10.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" @@ -1285,6 +1720,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -1294,7 +1738,7 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-proxy-agent@^2.2.4: +https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== @@ -1302,11 +1746,29 @@ https-proxy-agent@^2.2.4: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + ignore@^5.1.1: version "5.1.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1362,6 +1824,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -1381,6 +1848,11 @@ is-regex@^1.0.5: dependencies: has "^1.0.3" +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -1388,11 +1860,16 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" @@ -1413,6 +1890,67 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-hook@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" + integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== + dependencies: + append-transform "^2.0.0" + +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-processinfo@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" + integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== + dependencies: + archy "^1.0.0" + cross-spawn "^7.0.0" + istanbul-lib-coverage "^3.0.0-alpha.1" + make-dir "^3.0.0" + p-map "^3.0.0" + rimraf "^3.0.0" + uuid "^3.3.3" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -1431,6 +1969,11 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + json-inline-doc@^2.0.1: version "2.0.1" resolved "http://registry.npm.taobao.org/json-inline-doc/download/json-inline-doc-2.0.1.tgz#91ab6fc5de16a77e4a9a0d0c091246f1fc3fcec1" @@ -1463,6 +2006,13 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + jsonc-parser@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.1.1.tgz#83dc3d7a6e7186346b889b1280eefa04446c6d3e" @@ -1505,6 +2055,18 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -1532,6 +2094,13 @@ log-symbols@3.0.0: dependencies: chalk "^2.4.2" +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + markdown-it@^8.3.1: version "8.4.2" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" @@ -1585,11 +2154,23 @@ minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +mkdirp@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + mkdirp@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c" @@ -1604,6 +2185,23 @@ mkdirp@0.5.3: dependencies: minimist "^1.2.5" +mocha@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" + integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== + dependencies: + browser-stdout "1.3.1" + commander "2.15.1" + debug "3.1.0" + diff "3.5.0" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.5" + he "1.1.1" + minimatch "3.0.4" + mkdirp "0.5.1" + supports-color "5.4.0" + mocha@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.1.1.tgz#89fbb30d09429845b1bb893a830bf5771049a441" @@ -1686,6 +2284,13 @@ node-fetch@^2.6.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-preload@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" + integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== + dependencies: + process-on-spawn "^1.0.0" + node-rsa@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/node-rsa/-/node-rsa-1.0.7.tgz#85b7a6d6fa8ee624be6402a6b41be49272d58055" @@ -1717,6 +2322,39 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" +nyc@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" + integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== + dependencies: + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + caching-transform "^4.0.0" + convert-source-map "^1.7.0" + decamelize "^1.2.0" + find-cache-dir "^3.2.0" + find-up "^4.1.0" + foreground-child "^2.0.0" + get-package-type "^0.1.0" + glob "^7.1.6" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-hook "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-processinfo "^2.0.2" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + make-dir "^3.0.0" + node-preload "^0.2.1" + p-map "^3.0.0" + process-on-spawn "^1.0.0" + resolve-from "^5.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + spawn-wrap "^2.0.0" + test-exclude "^6.0.0" + yargs "^15.0.2" + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -1804,6 +2442,13 @@ p-limit@^2.0.0: dependencies: p-try "^2.0.0" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -1811,11 +2456,35 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-hash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" + integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== + dependencies: + graceful-fs "^4.1.15" + hasha "^5.0.0" + lodash.flattendeep "^4.4.0" + release-zalgo "^1.0.0" + parse-semver@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" @@ -1835,6 +2504,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -1875,11 +2549,25 @@ picomatch@^2.0.5: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== +process-on-spawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" + integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== + dependencies: + fromentries "^1.2.0" + process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -1946,10 +2634,22 @@ readdirp@~3.2.0: dependencies: picomatch "^2.0.4" -reflect-metadata@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" - integrity sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A== +reflect-metadata@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" + integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== + +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= + dependencies: + es6-error "^4.0.1" remove-trailing-separator@^1.0.1: version "1.1.0" @@ -2008,6 +2708,11 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve@^1.3.2: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" @@ -2034,6 +2739,13 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -2064,11 +2776,16 @@ semver@^5.1.0, semver@^5.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -semver@^5.7.0: +semver@^5.4.1, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -2091,6 +2808,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -2105,6 +2827,36 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +source-map-support@^0.5.0: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawn-wrap@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" + integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== + dependencies: + foreground-child "^2.0.0" + is-windows "^1.0.2" + make-dir "^3.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + which "^2.0.1" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -2167,6 +2919,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string.prototype.trimleft@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" @@ -2211,11 +2972,30 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + strip-json-comments@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +supports-color@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== + dependencies: + has-flag "^3.0.0" + supports-color@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" @@ -2230,6 +3010,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + table@^5.4.6: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -2240,6 +3027,15 @@ table@^5.4.6: slice-ansi "^2.1.0" string-width "^3.0.0" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + tmp@0.0.29: version "0.0.29" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" @@ -2247,6 +3043,11 @@ tmp@0.0.29: dependencies: os-tmpdir "~1.0.1" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -2356,6 +3157,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-fest@^0.8.0: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + typed-rest-client@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.2.0.tgz#723085d203f38d7d147271e5ed3a75488eb44a02" @@ -2364,6 +3170,13 @@ typed-rest-client@1.2.0: tunnel "0.0.4" underscore "1.8.3" +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typescript-tslint-plugin@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/typescript-tslint-plugin/-/typescript-tslint-plugin-0.4.0.tgz#af1729e72b770489b2b912809694f46c3281bb72" @@ -2437,6 +3250,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^3.3.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + validator@^12.0.0: version "12.2.0" resolved "https://registry.yarnpkg.com/validator/-/validator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a" @@ -2503,10 +3321,18 @@ vscode-languageserver@^5.1.0: vscode-languageserver-protocol "3.14.1" vscode-uri "^1.0.6" -vscode-test@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/vscode-test/-/vscode-test-1.3.0.tgz#3310ab385d9b887b4c82e8f52be1030e7cf9493d" - integrity sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw== +vscode-test@^0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/vscode-test/-/vscode-test-0.4.3.tgz#461ebf25fc4bc93d77d982aed556658a2e2b90b8" + integrity sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w== + dependencies: + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + +vscode-test@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vscode-test/-/vscode-test-1.4.0.tgz#a56f73c1667b4d37ba6baa6765f233a19d4ffbfe" + integrity sha512-Jt7HNGvSE0+++Tvtq5wc4hiXLIr2OjDShz/gbAfM/mahQpy4rKBnmOK33D+MR67ATWviQhl+vpmU3p/qwSH/Pg== dependencies: http-proxy-agent "^2.1.0" https-proxy-agent "^2.2.4" @@ -2517,6 +3343,19 @@ vscode-uri@^1.0.6: resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.8.tgz#9769aaececae4026fb6e22359cb38946580ded59" integrity sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ== +vscode@^1.1.37: + version "1.1.37" + resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.1.37.tgz#c2a770bee4bb3fff765e2b72c7bcc813b8a6bb0a" + integrity sha512-vJNj6IlN7IJPdMavlQa1KoFB3Ihn06q1AiN3ZFI/HfzPNzbKZWPPuiU+XkpNOfGU5k15m4r80nxNPlM7wcc0wg== + dependencies: + glob "^7.1.2" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + mocha "^5.2.0" + semver "^5.4.1" + source-map-support "^0.5.0" + vscode-test "^0.4.1" + webhdfs@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/webhdfs/-/webhdfs-1.2.0.tgz#c41b08ae33944a0220863bfd4b6719b9aaec1d37" @@ -2566,11 +3405,30 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + xml2js@^0.4.19: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" @@ -2584,6 +3442,13 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== +xregexp@^4.2.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" + integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== + dependencies: + "@babel/runtime-corejs3" "^7.8.3" + y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -2605,6 +3470,14 @@ yargs-parser@^13.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-unparser@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" @@ -2646,6 +3519,23 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^15.0.2: + version "15.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.0.tgz#53949fb768309bac1843de9b17b80051e9805ec2" + integrity sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw== + dependencies: + cliui "^6.0.0" + decamelize "^3.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + yauzl@^2.3.1: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"