From 01271abdb3d1f63ba1d1cf713287db1af309aec4 Mon Sep 17 00:00:00 2001 From: Daniel Palme Date: Thu, 9 May 2024 22:01:28 +0200 Subject: [PATCH] Azure DevOps task: Added new setting "publishCodeCoverageResults" This allows to publish report in 'Code Coverage' tab directly. Makes the 'PublishCodeCoverageResults' task obsolete. --- src/.gitignore | 6 +- src/AzureDevopsTask/README.md | 17 +- .../ReportGenerator/reportgenerator.ts | 78 +- src/AzureDevopsTask/ReportGenerator/task.json | 10 +- src/AzureDevopsTask/vss-extension.json | 2 +- src/AzureDevopsTaskTest/README.md | 78 + .../ReportGenerator/icon.png | Bin 0 -> 692 bytes .../ReportGenerator/package-lock.json | 723 +++ .../ReportGenerator/package.json | 27 + .../ReportGenerator/reportgenerator.ts | 119 + .../ReportGenerator/task.json | 163 + .../ReportGenerator/tsconfig.json | 6 + src/AzureDevopsTaskTest/build.bat | 4 + src/AzureDevopsTaskTest/icon.png | Bin 0 -> 5913 bytes src/AzureDevopsTaskTest/img/screenshot1.png | Bin 0 -> 59005 bytes src/AzureDevopsTaskTest/img/screenshot2.png | Bin 0 -> 62762 bytes src/AzureDevopsTaskTest/package-lock.json | 3891 +++++++++++++++++ src/AzureDevopsTaskTest/package.json | 8 + src/AzureDevopsTaskTest/vss-extension.json | 67 + src/Readme.txt | 5 + 20 files changed, 5192 insertions(+), 12 deletions(-) create mode 100644 src/AzureDevopsTaskTest/README.md create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/icon.png create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/package-lock.json create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/package.json create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/task.json create mode 100644 src/AzureDevopsTaskTest/ReportGenerator/tsconfig.json create mode 100644 src/AzureDevopsTaskTest/build.bat create mode 100644 src/AzureDevopsTaskTest/icon.png create mode 100644 src/AzureDevopsTaskTest/img/screenshot1.png create mode 100644 src/AzureDevopsTaskTest/img/screenshot2.png create mode 100644 src/AzureDevopsTaskTest/package-lock.json create mode 100644 src/AzureDevopsTaskTest/package.json create mode 100644 src/AzureDevopsTaskTest/vss-extension.json diff --git a/src/.gitignore b/src/.gitignore index 98c5c9dc..9e272615 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1,7 +1,7 @@ /.vs -/AzureDevopsTask/ReportGenerator/tools -/AzureDevopsTask/ReportGenerator/reportgenerator.js -/AzureDevopsTask/*.vsix +/AzureDevopsTask*/ReportGenerator/tools +/AzureDevopsTask*/ReportGenerator/reportgenerator.js +/AzureDevopsTask*/*.vsix /TestResults /Testprojects/CoverageTools /Testprojects/TestResults diff --git a/src/AzureDevopsTask/README.md b/src/AzureDevopsTask/README.md index f123c431..e387214a 100644 --- a/src/AzureDevopsTask/README.md +++ b/src/AzureDevopsTask/README.md @@ -28,12 +28,13 @@ To learn how to use *ReportGenerator* have a look at the: verbosity: 'Info' # The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off title: '' # Optional title. tag: '$(build.buildnumber)_#$(build.buildid)' # Optional tag or build version. + publishCodeCoverageResults: false # Directly publish report in 'Code Coverage' tab. Makes the 'PublishCodeCoverageResults' task obsolete. license: '' # Optional license for PRO version. Get your license here: https://reportgenerator.io/pro customSettings: '' # Optional custom settings (separated by semicolon). See: https://github.com/danielpalme/ReportGenerator/wiki/Settings. ``` ### Attention -The [PublishCodeCoverageResultsV1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) task from Microsoft regenerates the report with different settings and based on the supplied _Coberatura_ file (see [announcement](https://docs.microsoft.com/en-us/azure/devops/release-notes/2019/sprint-150-update#cobertura-code-coverage-report-updates)). Moreover it does not necessarily use the latest version of _ReportGenerator_. +The [PublishCodeCoverageResults@1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) task from Microsoft regenerates the report with different settings and based on the supplied _Coberatura_ file (see [announcement](https://docs.microsoft.com/en-us/azure/devops/release-notes/2019/sprint-150-update#cobertura-code-coverage-report-updates)). Moreover it does not necessarily use the latest version of _ReportGenerator_. To disable the regeneration of the report, you can use the following environment variable in your build: ```yaml disable.coverage.autogenerate: 'true' # Global environment variable @@ -48,14 +49,24 @@ disable.coverage.autogenerate: 'true' # Global environment variable DISABLE_COVERAGE_AUTOGENERATE: 'true' # Local environment variable ``` -The [PublishCodeCoverageResultsV1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) will get [deprecated](https://devblogs.microsoft.com/devops/new-pccr-task/). +The [PublishCodeCoverageResults@1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) will get [deprecated](https://devblogs.microsoft.com/devops/new-pccr-task/). Microsoft recommends to use the [PublishCodeCoverageResults@2](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines) instead. The new version has several disadvantages regarding the report in the `Code Coverage` tab within Azure DevOps - No branch and method coverage - No details page for each class **Recommendation**: -Additionally create an artifact containing the full coverage report generated by *ReportGenerator*. You can download the artifact and get full report with all features: +Use the setting `publishCodeCoverageResults: true` of the *ReportGenerator* task. This way you don't have to use the *PublishCodeCoverageResults@1* or *PublishCodeCoverageResults@2* task at all. +```yaml +- task: reportgenerator@5 + displayName: ReportGenerator + inputs: + reports: 'coverage.xml' + targetdir: 'coveragereport' + publishCodeCoverageResults: true +``` + +If you want to use the *PublishCodeCoverageResults@2* task you could additionally create an artifact containing the full coverage report generated by *ReportGenerator*. You can download the artifact and get full report with all features: ```yaml - publish: $(Build.SourcesDirectory)/coveragereport artifact: CoverageReports diff --git a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts index 5a12b801..1f51682b 100644 --- a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts +++ b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts @@ -26,24 +26,94 @@ async function executeReportGenerator(): Promise { }); } - return await tool.exec(); + return await tool.execAsync(); +} + +function publishCodeCoverageReport() { + if (((tl.getInput('publishCodeCoverageResults') || 'false') + '').toLowerCase() !== 'true') { + return; + } + + const targetdir = trimPathEnd((tl.getInput('targetdir') || '')); + const reporttypes = (tl.getInput('reporttypes') || '').toLowerCase().split(';'); + const createSubdirectoryForAllReportTypes = (tl.getInput('customSettings') || '').toLowerCase().indexOf('createsubdirectoryforallreporttypes=true') > -1; + + if (!reporttypes.find(r => r === 'cobertura')) { + tl.setResult(tl.TaskResult.Failed, tl.loc('PublishCodeCoverageResultsRequiresCobertura')); + return; + } + + const supportedReportTypes = ['HtmlInline_AzurePipelines', 'HtmlInline_AzurePipelines_Light', 'HtmlInline_AzurePipelines_Dark', + 'Html', 'Html_Light', 'Html_Dark', 'Html_BlueRed', 'HtmlInline', 'HtmlSummary', 'Html_BlueRed_Summary', + 'HtmlChart']; + let htmlReportType = ''; + + for (let i = 0; i < supportedReportTypes.length; i++) { + if (reporttypes.find(r => r === supportedReportTypes[i].toLowerCase())) { + htmlReportType = supportedReportTypes[i]; + break; + } + } + + if (htmlReportType === '') { + tl.setResult(tl.TaskResult.Failed, tl.loc('PublishCodeCoverageResultsRequiresHtmlFormat')); + return; + } + + //See: https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/PublishCodeCoverageResultsV1/publishcodecoverageresults.ts + const ccPublisher = new tl.CodeCoveragePublisher(); + ccPublisher.publish( + 'Cobertura', + targetdir + (createSubdirectoryForAllReportTypes ? '/Cobertura' : '') + '/Cobertura.xml', + targetdir + (createSubdirectoryForAllReportTypes ? '/' + htmlReportType : ''), + undefined); + + tl.setResult(tl.TaskResult.Succeeded, tl.loc('SucceedMsg')); } async function run() { + const publishCodeCoverageResults = ((tl.getInput('publishCodeCoverageResults') || 'false') + '').toLowerCase() === 'true'; try { tl.setResourcePath(path.join( __dirname, 'task.json')); let code = await executeReportGenerator(); - if (code != 0) { tl.setResult(tl.TaskResult.Failed, tl.loc('FailedMsg')); + return; } - tl.setResult(tl.TaskResult.Succeeded, tl.loc('SucceedMsg')); - } catch (e) { + if (!publishCodeCoverageResults) { + tl.setResult(tl.TaskResult.Succeeded, tl.loc('SucceedMsg')); + return; + } + } + catch (e) { tl.debug(e.message); tl.setResult(tl.TaskResult.Failed, e.message); } + + try { + publishCodeCoverageReport(); + } + catch (e) { + tl.debug(e.message); + tl.setResult(tl.TaskResult.Failed, tl.loc('FailedToPublishReportMsg') + ': ' + e.message); + return; + } +} + +function trimPathEnd(input: string) { + if (!input || input.length === 0) { + return input; + } + + let result = input; + + while (result.length > 0 && (result.endsWith('/') || result.endsWith('\\'))) { + result = result.substring(0, result.length - 1); + } + + return result; } run(); \ No newline at end of file diff --git a/src/AzureDevopsTask/ReportGenerator/task.json b/src/AzureDevopsTask/ReportGenerator/task.json index 2debd642..2e0d72c8 100644 --- a/src/AzureDevopsTask/ReportGenerator/task.json +++ b/src/AzureDevopsTask/ReportGenerator/task.json @@ -122,6 +122,14 @@ "required": false, "helpMarkDown": "Optional tag or build version." }, + { + "name": "publishCodeCoverageResults", + "type": "boolean", + "label": "Publish code coverage results", + "defaultValue": false, + "required": false, + "helpMarkDown": "Directly publish report in 'Code Coverage' tab. Makes the 'PublishCodeCoverageResults' task obsolete." + }, { "name": "license", "type": "string", @@ -140,7 +148,7 @@ } ], "execution": { - "Node10": { + "Node": { "target": "reportgenerator.js", "argumentFormat": "" } diff --git a/src/AzureDevopsTask/vss-extension.json b/src/AzureDevopsTask/vss-extension.json index e60aeddc..b9eef26d 100644 --- a/src/AzureDevopsTask/vss-extension.json +++ b/src/AzureDevopsTask/vss-extension.json @@ -12,7 +12,7 @@ ], "description": "ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.", "categories": [ - "Build and release" + "Azure Pipelines" ], "tags": ["Code Coverage", "Reporting", "Testing", "TDD"], "screenshots": [ diff --git a/src/AzureDevopsTaskTest/README.md b/src/AzureDevopsTaskTest/README.md new file mode 100644 index 00000000..e387214a --- /dev/null +++ b/src/AzureDevopsTaskTest/README.md @@ -0,0 +1,78 @@ +# ReportGenerator +*ReportGenerator* converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats. + +Author: Daniel Palme +Blog: [www.palmmedia.de](https://www.palmmedia.de) +Twitter: [@danielpalme](https://twitter.com/danielpalme) + +## Usage +To learn how to use *ReportGenerator* have a look at the: +* [Usage Guide](https://reportgenerator.io/usage) +* [Command line parameters](https://github.com/danielpalme/ReportGenerator/#usage--command-line-parameters) + +### YAML example +```yaml + +- task: reportgenerator@5 + displayName: ReportGenerator + inputs: + reports: 'coverage.xml' # REQUIRED # The coverage reports that should be parsed (separated by semicolon). Globbing is supported. + targetdir: 'coveragereport' # REQUIRED # The directory where the generated report should be saved. + reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary + sourcedirs: '' # Optional directories which contain the corresponding source code (separated by semicolon). The source directories are used if coverage report contains classes without path information. + historydir: '' # Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution. + plugins: '' # Optional plugin files for custom reports or custom history storage (separated by semicolon). + assemblyfilters: '+*' # Optional list of assemblies that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed. + classfilters: '+*' # Optional list of classes that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed. + filefilters: '+*' # Optional list of files that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed. + verbosity: 'Info' # The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off + title: '' # Optional title. + tag: '$(build.buildnumber)_#$(build.buildid)' # Optional tag or build version. + publishCodeCoverageResults: false # Directly publish report in 'Code Coverage' tab. Makes the 'PublishCodeCoverageResults' task obsolete. + license: '' # Optional license for PRO version. Get your license here: https://reportgenerator.io/pro + customSettings: '' # Optional custom settings (separated by semicolon). See: https://github.com/danielpalme/ReportGenerator/wiki/Settings. +``` + +### Attention +The [PublishCodeCoverageResults@1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) task from Microsoft regenerates the report with different settings and based on the supplied _Coberatura_ file (see [announcement](https://docs.microsoft.com/en-us/azure/devops/release-notes/2019/sprint-150-update#cobertura-code-coverage-report-updates)). Moreover it does not necessarily use the latest version of _ReportGenerator_. +To disable the regeneration of the report, you can use the following environment variable in your build: +```yaml +disable.coverage.autogenerate: 'true' # Global environment variable + +- task: PublishCodeCoverageResults@1 + displayName: 'Publish code coverage results' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(Build.SourcesDirectory)/coveragereport/Cobertura.xml' + reportDirectory: '$(Build.SourcesDirectory)/coveragereport' + env: + DISABLE_COVERAGE_AUTOGENERATE: 'true' # Local environment variable +``` + +The [PublishCodeCoverageResults@1](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines) will get [deprecated](https://devblogs.microsoft.com/devops/new-pccr-task/). +Microsoft recommends to use the [PublishCodeCoverageResults@2](https://learn.microsoft.com/de-de/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines) instead. +The new version has several disadvantages regarding the report in the `Code Coverage` tab within Azure DevOps +- No branch and method coverage +- No details page for each class + +**Recommendation**: +Use the setting `publishCodeCoverageResults: true` of the *ReportGenerator* task. This way you don't have to use the *PublishCodeCoverageResults@1* or *PublishCodeCoverageResults@2* task at all. +```yaml +- task: reportgenerator@5 + displayName: ReportGenerator + inputs: + reports: 'coverage.xml' + targetdir: 'coveragereport' + publishCodeCoverageResults: true +``` + +If you want to use the *PublishCodeCoverageResults@2* task you could additionally create an artifact containing the full coverage report generated by *ReportGenerator*. You can download the artifact and get full report with all features: +```yaml +- publish: $(Build.SourcesDirectory)/coveragereport + artifact: CoverageReports +``` + +## Screenshots +The screenshots show two snippets of the generated reports: +![Screenshot 1](img/screenshot1.png) +![Screenshot 2](img/screenshot2.png) diff --git a/src/AzureDevopsTaskTest/ReportGenerator/icon.png b/src/AzureDevopsTaskTest/ReportGenerator/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0da71edd92bb1b33ffd2c8d382e4eaaa7a9e28ac GIT binary patch literal 692 zcmV;l0!#ggP))_zut*xu_9Ua;Q1uwHN-`(6VtuN%{ zG`%!4w=>HjA=5J?;^N}p;oto!DbWA`G`ci5$T#5N;5W!O zrlzLV0093fDQ<3V^Bx}T7Z>Le65Yg8NA z+0MF+(j-ax-;ei7Q0%8fKDpp-l%!pGDkXH+-Q1C7 zETTSr1$zajh0qOy6>-0YeOS$=X&O+m0)3u(M^)9SV!0OAkfrS7_AgI z&)vbggpl_}Bha5Tjb2(Upx?tj6-5ERycl@xHjT6*E7G|KSl4l!XX^F(z$RW86{X(` z`5V~FSD$&U<}0>s6XGqh7wLSK7DKOA{T}?Y!Li8By`fhszT@^5 zi+cHN9hGkTub-Z5@qQThMB<1qX5*d-0Sl31A#mI>?@11@5IAl|=6.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/azure-pipelines-task-lib": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.10.1.tgz", + "integrity": "sha512-tehYJhA0FY48rQunic8FGYnUPNAkoCAkXUmbueW2k7fhIC+ujWJB8pwEodZ7w5r5jRgkYasr0mRFIT1cZZ20VQ==", + "dependencies": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "node_modules/nodejs-file-downloader": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", + "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", + "dependencies": { + "follow-redirects": "^1.15.1", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/typescript": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + }, + "dependencies": { + "@types/node": { + "version": "20.11.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.29.tgz", + "integrity": "sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "dev": true + }, + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "azure-pipelines-task-lib": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.10.1.tgz", + "integrity": "sha512-tehYJhA0FY48rQunic8FGYnUPNAkoCAkXUmbueW2k7fhIC+ujWJB8pwEodZ7w5r5jRgkYasr0mRFIT1cZZ20VQ==", + "requires": { + "adm-zip": "^0.5.10", + "deasync": "^0.1.28", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "deasync": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz", + "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "requires": { + "has": "^1.0.3" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "nodejs-file-downloader": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", + "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", + "requires": { + "follow-redirects": "^1.15.1", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "typescript": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} diff --git a/src/AzureDevopsTaskTest/ReportGenerator/package.json b/src/AzureDevopsTaskTest/ReportGenerator/package.json new file mode 100644 index 00000000..f68a099f --- /dev/null +++ b/src/AzureDevopsTaskTest/ReportGenerator/package.json @@ -0,0 +1,27 @@ +{ + "name": "reportgeneratortest", + "version": "1.0.0", + "description": "ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.", + "main": "reportgenerator.js", + "repository": { + "type": "git", + "url": "git+https://github.com/danielpalme/ReportGenerator.git" + }, + "author": "Daniel Palme", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/danielpalme/ReportGenerator/issues" + }, + "homepage": "https://github.com/danielpalme/ReportGenerator", + "dependencies": { + "azure-pipelines-task-lib": "^4.10.1" + }, + "devDependencies": { + "@types/node": "^20.11.29", + "@types/q": "^1.5.8", + "typescript": "^5.4.2" + }, + "scripts": { + "tsc": "tsc" + } +} diff --git a/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts new file mode 100644 index 00000000..1f51682b --- /dev/null +++ b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts @@ -0,0 +1,119 @@ +import path = require('path'); +import tl = require('azure-pipelines-task-lib/task'); + +async function executeReportGenerator(): Promise { + var tool = tl.tool('dotnet') + .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll')) + .arg('-reports:' + (tl.getInput('reports') || '')) + .arg('-targetdir:' + (tl.getInput('targetdir') || '')) + .arg('-reporttypes:' + (tl.getInput('reporttypes') || '')) + .arg('-sourcedirs:' + (tl.getInput('sourcedirs') || '')) + .arg('-historydir:' + (tl.getInput('historydir') || '')) + .arg('-plugins:' + (tl.getInput('plugins') || '')) + .arg('-assemblyfilters:' + (tl.getInput('assemblyfilters') || '')) + .arg('-classfilters:' + (tl.getInput('classfilters') || '')) + .arg('-filefilters:' + (tl.getInput('filefilters') || '')) + .arg('-verbosity:' + (tl.getInput('verbosity') || '')) + .arg('-title:' + (tl.getInput('title') || '')) + .arg('-tag:' + (tl.getInput('tag') || '')) + .arg('-license:' + (tl.getInput('license') || '')); + + const customSettings = (tl.getInput('customSettings') || ''); + + if (customSettings.length > 0) { + customSettings.split(';').forEach(setting => { + tool = tool.arg(setting.trim()); + }); + } + + return await tool.execAsync(); +} + +function publishCodeCoverageReport() { + if (((tl.getInput('publishCodeCoverageResults') || 'false') + '').toLowerCase() !== 'true') { + return; + } + + const targetdir = trimPathEnd((tl.getInput('targetdir') || '')); + const reporttypes = (tl.getInput('reporttypes') || '').toLowerCase().split(';'); + const createSubdirectoryForAllReportTypes = (tl.getInput('customSettings') || '').toLowerCase().indexOf('createsubdirectoryforallreporttypes=true') > -1; + + if (!reporttypes.find(r => r === 'cobertura')) { + tl.setResult(tl.TaskResult.Failed, tl.loc('PublishCodeCoverageResultsRequiresCobertura')); + return; + } + + const supportedReportTypes = ['HtmlInline_AzurePipelines', 'HtmlInline_AzurePipelines_Light', 'HtmlInline_AzurePipelines_Dark', + 'Html', 'Html_Light', 'Html_Dark', 'Html_BlueRed', 'HtmlInline', 'HtmlSummary', 'Html_BlueRed_Summary', + 'HtmlChart']; + let htmlReportType = ''; + + for (let i = 0; i < supportedReportTypes.length; i++) { + if (reporttypes.find(r => r === supportedReportTypes[i].toLowerCase())) { + htmlReportType = supportedReportTypes[i]; + break; + } + } + + if (htmlReportType === '') { + tl.setResult(tl.TaskResult.Failed, tl.loc('PublishCodeCoverageResultsRequiresHtmlFormat')); + return; + } + + //See: https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/PublishCodeCoverageResultsV1/publishcodecoverageresults.ts + const ccPublisher = new tl.CodeCoveragePublisher(); + ccPublisher.publish( + 'Cobertura', + targetdir + (createSubdirectoryForAllReportTypes ? '/Cobertura' : '') + '/Cobertura.xml', + targetdir + (createSubdirectoryForAllReportTypes ? '/' + htmlReportType : ''), + undefined); + + tl.setResult(tl.TaskResult.Succeeded, tl.loc('SucceedMsg')); +} + +async function run() { + const publishCodeCoverageResults = ((tl.getInput('publishCodeCoverageResults') || 'false') + '').toLowerCase() === 'true'; + try { + tl.setResourcePath(path.join( __dirname, 'task.json')); + + let code = await executeReportGenerator(); + if (code != 0) { + tl.setResult(tl.TaskResult.Failed, tl.loc('FailedMsg')); + return; + } + + if (!publishCodeCoverageResults) { + tl.setResult(tl.TaskResult.Succeeded, tl.loc('SucceedMsg')); + return; + } + } + catch (e) { + tl.debug(e.message); + tl.setResult(tl.TaskResult.Failed, e.message); + } + + try { + publishCodeCoverageReport(); + } + catch (e) { + tl.debug(e.message); + tl.setResult(tl.TaskResult.Failed, tl.loc('FailedToPublishReportMsg') + ': ' + e.message); + return; + } +} + +function trimPathEnd(input: string) { + if (!input || input.length === 0) { + return input; + } + + let result = input; + + while (result.length > 0 && (result.endsWith('/') || result.endsWith('\\'))) { + result = result.substring(0, result.length - 1); + } + + return result; +} + +run(); \ No newline at end of file diff --git a/src/AzureDevopsTaskTest/ReportGenerator/task.json b/src/AzureDevopsTaskTest/ReportGenerator/task.json new file mode 100644 index 00000000..5b66cc63 --- /dev/null +++ b/src/AzureDevopsTaskTest/ReportGenerator/task.json @@ -0,0 +1,163 @@ +{ + "id": "09c946f9-0724-4c42-83d5-b5ff6b498268", + "name": "reportgeneratortest", + "friendlyName": "ReportGeneratorTest", + "description": "ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.", + "helpMarkDown": "[More Information](https://github.com/danielpalme/ReportGenerator)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "author": "Palmmedia", + "version": { + "Major": 5, + "Minor": 2, + "Patch": 5 + }, + "instanceNameFormat": "ReportGeneratorTest", + "groups": [ + ], + "inputs": [ + { + "name": "reports", + "type": "string", + "label": "Reports", + "defaultValue": "coverage.xml", + "required": true, + "helpMarkDown": "The coverage reports that should be parsed (separated by semicolon). Globbing is supported." + }, + { + "name": "targetdir", + "type": "string", + "label": "Target directory", + "defaultValue": "coveragereport", + "required": true, + "helpMarkDown": "The directory where the generated report should be saved." + }, + { + "name": "reporttypes", + "type": "string", + "label": "Report types", + "defaultValue": "HtmlInline_AzurePipelines;Cobertura", + "required": false, + "helpMarkDown": "The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary" + }, + { + "name": "sourcedirs", + "type": "string", + "label": "Source directories", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optional directories which contain the corresponding source code (separated by semicolon). The source directories are used if coverage report contains classes without path information." + }, + { + "name": "historydir", + "type": "string", + "label": "History directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution." + }, + { + "name": "plugins", + "type": "string", + "label": "Plugins", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optional plugin files for custom reports or custom history storage (separated by semicolon)." + }, + { + "name": "assemblyfilters", + "type": "string", + "label": "Assembly filters", + "defaultValue": "+*", + "required": false, + "helpMarkDown": "Optional list of assemblies that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed." + }, + { + "name": "classfilters", + "type": "string", + "label": "Class filters", + "defaultValue": "+*", + "required": false, + "helpMarkDown": "Optional list of classes that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed." + }, + { + "name": "filefilters", + "type": "string", + "label": "File filters", + "defaultValue": "+*", + "required": false, + "helpMarkDown": "Optional list of files that should be included or excluded in the report. Exclusion filters take precedence over inclusion filters. Wildcards are allowed." + }, + { + "name": "verbosity", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Info", + "options": { + "Verbose": "Verbose", + "Info": "Info", + "Warning": "Warning", + "Error": "Error", + "Off": "Off" + }, + "required": false, + "helpMarkDown": "The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off" + }, + { + "name": "title", + "type": "string", + "label": "Title", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optional title." + }, + { + "name": "tag", + "type": "string", + "label": "Tag", + "defaultValue": "$(build.buildnumber)_#$(build.buildid)", + "required": false, + "helpMarkDown": "Optional tag or build version." + }, + { + "name": "publishCodeCoverageResults", + "type": "boolean", + "label": "Publish code coverage results", + "defaultValue": false, + "required": false, + "helpMarkDown": "Directly publish report in 'Code Coverage' tab. Makes the 'PublishCodeCoverageResults' task obsolete." + }, + { + "name": "license", + "type": "string", + "label": "License", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optional license for PRO version. Get your license here: https://reportgenerator.io/pro" + }, + { + "name": "customSettings", + "type": "string", + "label": "Custom settings", + "defaultValue": "", + "required": false, + "helpMarkDown": "Custom settings (separated by semicolon). See: https://github.com/danielpalme/ReportGenerator/wiki/Settings" + } + ], + "execution": { + "Node": { + "target": "reportgenerator.js", + "argumentFormat": "" + } + }, + "messages": { + "FailedMsg": "ReportGenerator failed", + "FailedToPublishReportMsg": "Failed to publish report", + "SucceedMsg": "Successfully executed ReportGenerator.", + "PublishCodeCoverageResultsRequiresCobertura": "When using 'publishCodeCoverageResults: true' please add 'Cobertura' as a report type", + "PublishCodeCoverageResultsRequiresHtmlFormat": "When using 'publishCodeCoverageResults: true' please add one of the Html report types" + } +} diff --git a/src/AzureDevopsTaskTest/ReportGenerator/tsconfig.json b/src/AzureDevopsTaskTest/ReportGenerator/tsconfig.json new file mode 100644 index 00000000..0438b79f --- /dev/null +++ b/src/AzureDevopsTaskTest/ReportGenerator/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} \ No newline at end of file diff --git a/src/AzureDevopsTaskTest/build.bat b/src/AzureDevopsTaskTest/build.bat new file mode 100644 index 00000000..b3a0fd18 --- /dev/null +++ b/src/AzureDevopsTaskTest/build.bat @@ -0,0 +1,4 @@ +cd ReportGenerator +npm run tsc +cd .. +tfx extension create --manifest-globs vss-extension.json \ No newline at end of file diff --git a/src/AzureDevopsTaskTest/icon.png b/src/AzureDevopsTaskTest/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41aee3d8b91d5d353f2c10ceb188c50f6f921087 GIT binary patch literal 5913 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 C~Pl8jOn+ZV&}#YWQbDGN+ea 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%0A)%>} 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 u|NKGu^L;g#UB^wxAmT literal 0 HcmV?d00001 diff --git a/src/AzureDevopsTaskTest/img/screenshot2.png b/src/AzureDevopsTaskTest/img/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfe383797b776786eb95e61d8dda33aa977a98b GIT binary patch literal 62762 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.1.90" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/app-root-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", + "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/archiver": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", + "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", + "dev": true, + "dependencies": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "walkdir": "^0.0.11", + "zip-stream": "^1.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/archiver/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/azure-devops-node-api": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", + "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "dev": true, + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "dev": true, + "dependencies": { + "arch": "^2.1.0", + "execa": "^0.8.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "dev": true, + "dependencies": { + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true, + "dependencies": { + "crc": "^3.4.4", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dateformat": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", + "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", + "dev": true, + "dependencies": { + "get-stdin": "*", + "meow": "*" + }, + "bin": { + "dateformat": "bin/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/decamelize": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", + "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true, + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-in-place": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", + "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", + "dev": true, + "dependencies": { + "json-lexer": "1.1.1" + } + }, + "node_modules/json-lexer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", + "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", + "integrity": "sha512-29Fk3U5HIBe/ytHxAFKRWIi3Lz63LejnP7UxivXOA1ZCq/viNeJo2fiXLqIveCe6IxlC1J/BrxoSB47Bifzxlg==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.1", + "camelcase-keys": "^6.2.2", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.0", + "type-fest": "^1.0.2", + "yargs-parser": "^20.2.7" + }, + "engines": { + "node": ">=12.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onecolor": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", + "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", + "dev": true, + "engines": { + "node": ">=0.4.8" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/prompt": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", + "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "async": "3.2.3", + "read": "1.0.x", + "revalidator": "0.1.x", + "winston": "2.x" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/prompt/node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tfx-cli": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", + "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", + "dev": true, + "dependencies": { + "app-root-path": "1.0.0", + "archiver": "2.0.3", + "azure-devops-node-api": "^10.2.2", + "clipboardy": "~1.2.3", + "colors": "~1.3.0", + "glob": "7.1.2", + "jju": "^1.4.0", + "json-in-place": "^1.0.1", + "jszip": "^3.10.1", + "lodash": "^4.17.21", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "onecolor": "^2.5.0", + "os-homedir": "^1.0.1", + "prompt": "^1.3.0", + "read": "^1.0.6", + "shelljs": "^0.8.5", + "tmp": "0.0.26", + "tracer": "0.7.4", + "util.promisify": "^1.0.0", + "uuid": "^3.0.1", + "validator": "^13.7.0", + "winreg": "0.0.12", + "xml2js": "^0.5.0" + }, + "bin": { + "tfx": "_build/tfx-cli.js" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tinytim": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", + "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", + "dev": true, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/tmp": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", + "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/tracer": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", + "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", + "dev": true, + "dependencies": { + "colors": "1.0.3", + "dateformat": "1.0.11", + "tinytim": "0.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/tracer/node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/trim-newlines": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", + "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-fest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.1.1.tgz", + "integrity": "sha512-RPDKc5KrIyKTP7Fk75LruUagqG6b+OTgXlCR2Z0aQDJFeIvL4/mhahSEtHmmVzXu4gmA0srkF/8FCH3WOWxTWA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", + "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "dev": true, + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", + "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validator": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/walkdir": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/winreg": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", + "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", + "dev": true + }, + "node_modules/winston": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", + "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", + "dev": true, + "dependencies": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/winston/node_modules/async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "node_modules/winston/node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "dependencies": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "app-root-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", + "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "archiver": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", + "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "walkdir": "^0.0.11", + "zip-stream": "^1.2.0" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "azure-devops-node-api": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", + "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "dev": true, + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "dev": true, + "requires": { + "arch": "^2.1.0", + "execa": "^0.8.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "dev": true + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "requires": { + "buffer": "^5.1.0" + } + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true, + "requires": { + "crc": "^3.4.4", + "readable-stream": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "dateformat": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", + "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", + "dev": true, + "requires": { + "get-stdin": "*", + "meow": "*" + } + }, + "decamelize": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", + "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-core-module": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json-in-place": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", + "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", + "dev": true, + "requires": { + "json-lexer": "1.1.1" + } + }, + "json-lexer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", + "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-obj": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "dev": true + }, + "meow": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", + "integrity": "sha512-29Fk3U5HIBe/ytHxAFKRWIi3Lz63LejnP7UxivXOA1ZCq/viNeJo2fiXLqIveCe6IxlC1J/BrxoSB47Bifzxlg==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.1", + "camelcase-keys": "^6.2.2", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.0", + "type-fest": "^1.0.2", + "yargs-parser": "^20.2.7" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onecolor": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", + "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "prompt": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", + "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "async": "3.2.3", + "read": "1.0.x", + "revalidator": "0.1.x", + "winston": "2.x" + }, + "dependencies": { + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + } + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + } + }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "tfx-cli": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", + "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", + "dev": true, + "requires": { + "app-root-path": "1.0.0", + "archiver": "2.0.3", + "azure-devops-node-api": "^10.2.2", + "clipboardy": "~1.2.3", + "colors": "~1.3.0", + "glob": "7.1.2", + "jju": "^1.4.0", + "json-in-place": "^1.0.1", + "jszip": "^3.10.1", + "lodash": "^4.17.21", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "onecolor": "^2.5.0", + "os-homedir": "^1.0.1", + "prompt": "^1.3.0", + "read": "^1.0.6", + "shelljs": "^0.8.5", + "tmp": "0.0.26", + "tracer": "0.7.4", + "util.promisify": "^1.0.0", + "uuid": "^3.0.1", + "validator": "^13.7.0", + "winreg": "0.0.12", + "xml2js": "^0.5.0" + } + }, + "tinytim": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", + "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", + "dev": true + }, + "tmp": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", + "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.0" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "tracer": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", + "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", + "dev": true, + "requires": { + "colors": "1.0.3", + "dateformat": "1.0.11", + "tinytim": "0.1.1" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "trim-newlines": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", + "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "dev": true + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true + }, + "type-fest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.1.1.tgz", + "integrity": "sha512-RPDKc5KrIyKTP7Fk75LruUagqG6b+OTgXlCR2Z0aQDJFeIvL4/mhahSEtHmmVzXu4gmA0srkF/8FCH3WOWxTWA==", + "dev": true + }, + "typed-rest-client": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", + "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "dev": true, + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "underscore": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", + "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validator": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "dev": true + }, + "walkdir": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "winreg": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", + "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", + "dev": true + }, + "winston": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", + "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", + "dev": true, + "requires": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + } + } + } +} diff --git a/src/AzureDevopsTaskTest/package.json b/src/AzureDevopsTaskTest/package.json new file mode 100644 index 00000000..58cf8eb6 --- /dev/null +++ b/src/AzureDevopsTaskTest/package.json @@ -0,0 +1,8 @@ +{ + "devDependencies": { + "tfx-cli": "^0.17.0" + }, + "scripts": { + "tfx": "tfx" + } +} diff --git a/src/AzureDevopsTaskTest/vss-extension.json b/src/AzureDevopsTaskTest/vss-extension.json new file mode 100644 index 00000000..6d8f637e --- /dev/null +++ b/src/AzureDevopsTaskTest/vss-extension.json @@ -0,0 +1,67 @@ +{ + "manifestVersion": 1, + "id": "reportgeneratortest", + "name": "ReportGeneratorTest", + "version": "5.2.5", + "publisher": "Palmmedia", + "public": false, + "targets": [ + { + "id": "Microsoft.VisualStudio.Services" + } + ], + "description": "ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.", + "categories": [ + "Azure Pipelines" + ], + "tags": ["Code Coverage", "Reporting", "Testing", "TDD"], + "screenshots": [ + { + "path": "img/screenshot1.png" + }, + { + "path": "img/screenshot2.png" + } + ], + "icons": { + "default": "icon.png" + }, + "files": [ + { + "path": "ReportGenerator" + }, + { + "path": "img", + "addressable": true + } + ], + "content": { + "details": { + "path": "README.md" + } + }, + "links": { + "getstarted": { + "uri": "https://reportgenerator.io/usage" + }, + "source": { + "uri": "https://github.com/danielpalme/ReportGenerator" + } + }, + "repository": { + "type": "git", + "uri": "https://github.com/danielpalme/ReportGenerator" + }, + "contributions": [ + { + "id": "reportgenerator-build-release-task", + "type": "ms.vss-distributed-task.task", + "targets": [ + "ms.vss-distributed-task.tasks" + ], + "properties": { + "name": "reportgenerator" + } + } + ] +} diff --git a/src/Readme.txt b/src/Readme.txt index 30cd94ec..93444e7c 100644 --- a/src/Readme.txt +++ b/src/Readme.txt @@ -67,6 +67,11 @@ For further details take a look at LICENSE.txt. CHANGELOG +5.3.0.0 + + * New: Azure DevOps task: Added new setting "publishCodeCoverageResults" This allows to publish report in 'Code Coverage' tab directly. + Makes the 'PublishCodeCoverageResults' task obsolete. + 5.2.5.0 * Fix: #665 Improved handling of duplicate classes in JaCoCo files