From 5ddf3b279bb7afeec90bb53958a23f19d8b13cda Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 12:30:03 +0530 Subject: [PATCH 01/37] Cleanup --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 154 + .../_buildConfigs/Node20/package-lock.json | 1480 +++++- .../_buildConfigs/Node20/package.json | 6 + Tasks/PowerShellV2/make.json | 12 +- Tasks/PowerShellV2/package-lock.json | 1205 ++++- Tasks/PowerShellV2/package.json | 8 +- Tasks/PowerShellV2/powershell.ps1 | 97 +- Tasks/PowerShellV2/powershell.ts | 197 +- Tasks/PowerShellV2/task.json | 14 +- Tasks/PowerShellV2/task.loc.json | 14 +- Tasks/PowerShellV2/tsconfig.json | 12 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 154 + .../resources.resjson/en-US/resources.resjson | 2 + _generated/PowerShellV2/make.json | 12 +- _generated/PowerShellV2/package-lock.json | 1205 ++++- _generated/PowerShellV2/package.json | 8 +- _generated/PowerShellV2/powershell.ps1 | 97 +- _generated/PowerShellV2/powershell.ts | 197 +- _generated/PowerShellV2/task.json | 19 +- _generated/PowerShellV2/task.loc.json | 19 +- _generated/PowerShellV2/tsconfig.json | 12 +- _generated/PowerShellV2_Node20/.npmrc | 4 + .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 154 + .../resources.resjson/en-US/resources.resjson | 2 + _generated/PowerShellV2_Node20/make.json | 12 +- .../PowerShellV2_Node20/package-lock.json | 1480 +++++- _generated/PowerShellV2_Node20/package.json | 6 + _generated/PowerShellV2_Node20/powershell.ps1 | 97 +- _generated/PowerShellV2_Node20/powershell.ts | 197 +- _generated/PowerShellV2_Node20/task.json | 19 +- _generated/PowerShellV2_Node20/task.loc.json | 19 +- _generated/PowerShellV2_Node20/tsconfig.json | 12 +- package-lock.json | 4020 +++++++---------- 34 files changed, 7976 insertions(+), 2974 deletions(-) create mode 100644 Tasks/PowerShellV2/AccessTokenHelper.ps1 create mode 100644 _generated/PowerShellV2/AccessTokenHelper.ps1 create mode 100644 _generated/PowerShellV2_Node20/AccessTokenHelper.ps1 diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 new file mode 100644 index 000000000000..d9e1e80eab56 --- /dev/null +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -0,0 +1,154 @@ +function Global:Get-VstsFederatedTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$serviceConnectionId, + [Parameter(Mandatory=$true)] + [string]$vstsAccessToken + ) + + $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require + $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require + $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + + # Construct the API URL + $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" + + $headers = @{ + "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) + "Content-Type" = "application/json" + } + + # Make the POST request to generate the OIDC token + $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body + + # Parse the response content to extract the OIDC token + $responseContent = $response.Content | ConvertFrom-Json + $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + + + if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { + Write-Host "Failed to create OIDC token." + throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + } + + Write-Host "OIDC Token generated Successfully" + return $oidcToken +} +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global + +function Global:Get-WiscAccessTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$connectedServiceName + ) + + $token = $env:SystemAccessTokenPowershellV2 + + $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + -connectedServiceNameARM $connectedServiceName ` + -scope "499b84ac-1321-427f-aa17-267ca6975798" + + $token = $result.AccessToken + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "Generated token found to be null, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + + return $token +} +New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global + +class TokenHandler { + [void] run($filePath) { + + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + $exitSignal = "Global\ExitSignal" + + $eventFromUserScript = $null + $eventFromTask = $null + $eventExit = $null + + try { + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + + # Ensure the output file has restricted permissions + if (-not (Test-Path $filePath)) { + New-Item -Path $filePath -ItemType File -Force + $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + + # Create a new ACL that only grants access to the current user + $acl = Get-Acl $filePath + $acl.SetAccessRuleProtection($true, $false) # Disable inheritance + $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( + $currentUser, "FullControl", "Allow" + ) + $acl.SetAccessRule($rule) + + # Apply the ACL to the file + Set-Acl -Path $filePath -AclObject $acl + } + + Write-Host "Task: Waiting for signals..." + + # Infinite loop to wait for signals and respond + while ($true) { + try { + # Wait for either UserScript signal or Exit signal + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + + if ($index -eq 0) { + # Signal from UserScript + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $token = "" + try { + [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + + if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + Write-Host "No Service connection was found, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + } + catch { + Write-Host "Failed to generate token with message $_, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + + } finally { + $token | Set-Content -Path $filePath + Write-Host "Task: Wrote access token to file" + } + + # Signal UserScript to read the file + $eventFromTask.Set() + } elseif ($index -eq 1) { + # Exit signal received + Write-Host "Task: Exit signal received. Exiting loop..." + break + } + } catch { + Write-Host "Error occurred while waiting for signals: $_" + } + } + } catch { + Write-Host "Critical error in Task: $_" + } finally { + # Cleanup resources + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + Write-Host "Task: Resources cleaned up. Exiting." + } + } +} \ No newline at end of file diff --git a/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json b/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json index 6213c4858d56..9c6a8f84d4c9 100644 --- a/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json +++ b/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json @@ -9,24 +9,80 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { "typescript": "5.1.6" } }, + "node_modules/@azure/msal-common": { + "version": "14.14.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.1.tgz", + "integrity": "sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", + "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "dependencies": { + "@azure/msal-common": "14.14.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ini": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + }, + "node_modules/@types/ltx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/mocha": { "version": "5.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "node_modules/@types/node": { "version": "20.16.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.16.1.tgz", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", "dependencies": { "undici-types": "~6.19.2" @@ -34,17 +90,22 @@ }, "node_modules/@types/semver": { "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" }, "node_modules/@types/uuid": { "version": "3.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, "node_modules/adm-zip": { "version": "0.5.15", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", "engines": { "node": ">=12.0" @@ -52,7 +113,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { "debug": "4" @@ -61,18 +122,66 @@ "node": ">= 6.0.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", "dependencies": { - "sprintf-js": "~1.0.2" + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.16.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.16.0.tgz", - "integrity": "sha512-hjyDi5GI1cFmS2o6GzTFPqloeTZBeaTLOjPn/H3CVr0vV/MV+eYoWszVe9kn7XnRSiv22j3p4Rhw/Sy4v1okxA==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", + "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -83,9 +192,112 @@ "uuid": "^3.0.1" } }, + "node_modules/azure-pipelines-task-lib/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/azure-pipelines-tasks-artifacts-common": { + "version": "2.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "dependencies": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/@types/node": { + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { + "version": "3.244.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", + "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "dependencies": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "10.2.2", + "azure-pipelines-task-lib": "^4.9.0", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "mocha": "^8.4.0", + "q": "^1.5.0", + "semver": "^5.7.2", + "typed-rest-client": "1.8.4" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/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==", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/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/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, "node_modules/azure-pipelines-tasks-utility-common": { "version": "3.242.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", "dependencies": { "@types/node": "^16.11.39", @@ -96,13 +308,46 @@ } }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.18.105", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.105.tgz", - "integrity": "sha512-w2d0Z9yMk07uH3+Cx0N8lqFyi3yjXZxlbYappPj+AsOlT02OyxyiuNoNHdGt6EuiSm8Wtgp2YV7vWg+GMFrvFA==" + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/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/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/azure-pipelines-tool-lib": { "version": "2.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", "dependencies": { "@types/semver": "^5.3.0", @@ -114,23 +359,63 @@ "uuid": "^3.3.2" } }, + "node_modules/azure-pipelines-tool-lib/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/balanced-match": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "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/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", @@ -146,14 +431,137 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/debug": { "version": "4.3.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { "ms": "2.1.2" @@ -167,9 +575,25 @@ } } }, + "node_modules/debug/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/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", @@ -183,9 +607,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" @@ -196,15 +641,34 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" } }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", @@ -214,9 +678,43 @@ "node": ">=4" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, "node_modules/follow-redirects": { "version": "1.15.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { @@ -233,22 +731,56 @@ } } }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", @@ -266,7 +798,7 @@ }, "node_modules/glob": { "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { @@ -284,9 +816,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/glob/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -297,7 +840,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" @@ -306,9 +849,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" @@ -319,7 +883,7 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" @@ -330,7 +894,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" @@ -341,7 +905,7 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" @@ -350,9 +914,17 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "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", @@ -364,7 +936,7 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { @@ -374,46 +946,259 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "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.15.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "node_modules/ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", "dependencies": { - "hasown": "^2.0.2" + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10" } }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dependencies": { + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ltx": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "dependencies": { + "inherits": "^2.0.4" + } + }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" @@ -421,7 +1206,7 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "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" @@ -432,7 +1217,7 @@ }, "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -441,14 +1226,166 @@ "node": "*" } }, - "node_modules/ms": { + "node_modules/mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "dependencies": { + "@azure/msal-common": "13.3.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", + "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "dependencies": { + "@azure/msal-common": "14.14.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", "dependencies": { "follow-redirects": "^1.15.6", @@ -457,9 +1394,17 @@ "sanitize-filename": "^1.6.3" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.2.tgz", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "engines": { "node": ">= 0.4" @@ -470,15 +1415,51 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, + "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==", + "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==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "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==", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" @@ -486,12 +1467,23 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { @@ -501,7 +1493,7 @@ }, "node_modules/qs": { "version": "6.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { "side-channel": "^1.0.6" @@ -513,9 +1505,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dependencies": { "resolve": "^1.1.6" @@ -524,9 +1535,17 @@ "node": ">= 0.10" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -540,30 +1559,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/sanitize-filename": { "version": "1.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", @@ -579,7 +1625,7 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dependencies": { "glob": "^7.0.0", @@ -595,7 +1641,7 @@ }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", @@ -611,13 +1657,61 @@ } }, "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" @@ -626,9 +1720,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "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" @@ -636,7 +1741,7 @@ }, "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" @@ -644,7 +1749,7 @@ }, "node_modules/typed-rest-client": { "version": "1.8.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "dependencies": { "qs": "^6.9.1", @@ -654,7 +1759,7 @@ }, "node_modules/typescript": { "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true, "bin": { @@ -667,32 +1772,221 @@ }, "node_modules/underscore": { "version": "1.13.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/undici-types/-/undici-types-6.19.8.tgz", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/Tasks/PowerShellV2/_buildConfigs/Node20/package.json b/Tasks/PowerShellV2/_buildConfigs/Node20/package.json index fbbd8d7a29f7..bd1a0411816e 100644 --- a/Tasks/PowerShellV2/_buildConfigs/Node20/package.json +++ b/Tasks/PowerShellV2/_buildConfigs/Node20/package.json @@ -14,10 +14,16 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "azure-pipelines-task-lib": "^4.16.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { diff --git a/Tasks/PowerShellV2/make.json b/Tasks/PowerShellV2/make.json index f73f080ea9de..15c0de38db82 100644 --- a/Tasks/PowerShellV2/make.json +++ b/Tasks/PowerShellV2/make.json @@ -19,7 +19,9 @@ { "items": [ "node_modules/azure-pipelines-tasks-utility-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib" + "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/agent-base", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/azure-pipelines-task-lib" ], "options": "-Rf" } @@ -28,6 +30,14 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index 9f385a75008a..b52c2fff6c49 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -4,51 +4,130 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==" + }, + "@azure/msal-node": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz", + "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==", + "requires": { + "@azure/msal-common": "14.9.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "14.9.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz", + "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/ini": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + }, + "@types/ltx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "requires": { + "@types/node": "*" + } + }, "@types/mocha": { "version": "5.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "16.11.64", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.64.tgz", - "integrity": "sha512-z5hPTlVFzNwtJ2LNozTpJcD1Cu44c4LNuzaq1mwxmiHWQh2ULdR6Vjwo1UGldzRpzL0yUEdZddnfqGW2G70z6Q==" + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" }, "@types/semver": { "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" }, "@types/uuid": { "version": "3.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, "adm-zip": { "version": "0.5.15", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==" }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "debug": "4" + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "argparse": { "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } } }, "azure-pipelines-task-lib": { - "version": "4.16.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.16.0.tgz", - "integrity": "sha512-hjyDi5GI1cFmS2o6GzTFPqloeTZBeaTLOjPn/H3CVr0vV/MV+eYoWszVe9kn7XnRSiv22j3p4Rhw/Sy4v1okxA==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", + "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -57,23 +136,141 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "azure-pipelines-tasks-artifacts-common": { + "version": "2.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "requires": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + }, + "dependencies": { + "azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } + } + }, + "azure-pipelines-tasks-packaging-common": { + "version": "3.244.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", + "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "requires": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "10.2.2", + "azure-pipelines-task-lib": "^4.9.0", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "mocha": "^8.4.0", + "q": "^1.5.0", + "semver": "^5.7.2", + "typed-rest-client": "1.8.4" + }, + "dependencies": { + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "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==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, "azure-pipelines-tasks-utility-common": { - "version": "3.235.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.235.0.tgz", - "integrity": "sha512-1jxzFUYq9BBnzSGt9bnVf1qxUBC+9XEZE5LOJGWEGuzsWk0nVzM2q4pWzsWKzHz2otxzcjBQN/QGxwhVVKlO4Q==", + "version": "3.242.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", + "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } } }, "azure-pipelines-tool-lib": { "version": "2.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", "requires": { "@types/semver": "^5.3.0", @@ -83,25 +280,70 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } } }, "balanced-match": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "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" } }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "call-bind": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { "es-define-property": "^1.0.0", @@ -111,22 +353,119 @@ "set-function-length": "^1.2.1" } }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "concat-map": { "version": "0.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "debug": { "version": "4.3.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "requires": { "ms": "2.1.2" } }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, "define-data-property": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { "es-define-property": "^1.0.0", @@ -134,9 +473,27 @@ "gopd": "^1.0.1" } }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "es-define-property": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "requires": { "get-intrinsic": "^1.2.4" @@ -144,32 +501,85 @@ }, "es-errors": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, "esprima": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, "follow-redirects": { "version": "1.15.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, "function-bind": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, "get-intrinsic": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { "es-errors": "^1.3.0", @@ -180,39 +590,52 @@ } }, "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", + "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" } }, "gopd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "requires": { "get-intrinsic": "^1.1.3" } }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "has-property-descriptors": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "requires": { "es-define-property": "^1.0.0" @@ -220,41 +643,30 @@ }, "has-proto": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" }, "has-symbols": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "hasown": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" - }, - "dependencies": { - "function-bind": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } } }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "inflight": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", @@ -263,39 +675,215 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "interpret": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-core-module": { - "version": "2.15.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "requires": { "hasown": "^2.0.2" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, "js-yaml": { "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "requires": { + "chalk": "^4.0.0" + } + }, + "ltx": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "requires": { + "inherits": "^2.0.4" + } + }, "mime-db": { "version": "1.52.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "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" @@ -303,75 +891,265 @@ }, "minimatch": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "requires": { "brace-expansion": "^1.1.7" } }, + "mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "requires": { + "argparse": "^2.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, "ms": { "version": "2.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "msal-node1": { + "version": "npm:@azure/msal-node@1.18.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "requires": { + "@azure/msal-common": "13.3.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "msal-node2": { + "version": "npm:@azure/msal-node@2.16.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==", + "requires": { + "@azure/msal-common": "14.16.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "14.16.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" + }, "nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + } } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "object-inspect": { - "version": "1.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" }, "once": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "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==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "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==" + }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-parse": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "q": { "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.12.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.12.0.tgz", - "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "requires": { "side-channel": "^1.0.6" } }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, "rechoir": { "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "requires": { "resolve": "^1.1.6" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, "resolve": { "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "requires": { "is-core-module": "^2.13.0", @@ -379,27 +1157,40 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "sanitize-filename": { "version": "1.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "semver-compare": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } + }, "set-function-length": { "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "requires": { "define-data-property": "^1.1.4", @@ -412,7 +1203,7 @@ }, "shelljs": { "version": "0.8.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "requires": { "glob": "^7.0.0", @@ -422,7 +1213,7 @@ }, "side-channel": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { "call-bind": "^1.0.7", @@ -432,18 +1223,56 @@ } }, "sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "truncate-utf8-bytes": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "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" @@ -451,44 +1280,170 @@ }, "tunnel": { "version": "0.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, "typescript": { - "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, "underscore": { - "version": "1.13.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "utf8-byte-length": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "uuid": { "version": "3.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "wrappy": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "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==" } } } diff --git a/Tasks/PowerShellV2/package.json b/Tasks/PowerShellV2/package.json index ea59607adf8e..11f052311330 100644 --- a/Tasks/PowerShellV2/package.json +++ b/Tasks/PowerShellV2/package.json @@ -14,13 +14,19 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^16.11.39", "azure-pipelines-task-lib": "^4.16.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "4.9.5" } } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 93ecb6176f31..515cd684a763 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -1,14 +1,18 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global Import-Module $PSScriptRoot\ps_modules\Sanitizer +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global +Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 +. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -33,6 +37,34 @@ Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + + $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require + Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' + $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + + $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool + $psRunspace = [powershell]::Create().AddScript({ + param($obj, $filePath) + try { + $obj.run($filePath) + } catch { + Write-Error $_ + } + }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() + + # Wait for the async runspace to start and get ready to listen to User scripts requests + Start-Sleep 10 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' @@ -133,6 +165,52 @@ try { $joinedContents = [System.String]::Join( ([System.Environment]::NewLine), $contents); + + + $joinedContents = ' + + # Define file path and event names + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + + function Get-AzDoToken { + Write-Debug "User Script: Starting process to notify Task and read output." + + [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + + try { + # Signal Task to generate access token + $tmp = $eventFromUserScript.Set() + Write-Debug "User Script: Notified Task to generate access token $tmp." + + # Wait for Task to finish processing + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + + if (!$receivedResponseBool) { + Write-Debug "User Script: Timeout waiting for Task to respond." + } + else { + try { + [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() + Write-Debug "UserScript : Read output from file" + $tokenResponse = $powershellv2AccessToken + } catch { + Write-Debug "Error reading the output file: $_" + } + } + } + catch { + Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + } + return $tokenResponse + } + + ' + $joinedContents + if ($input_showWarnings) { $joinedContents = ' $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -184,7 +262,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -200,7 +278,6 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") - # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -214,7 +291,6 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - Write-Host "$_" } } @@ -253,5 +329,14 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Trace-VstsLeavingInvocation $MyInvocation -} + try { + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation + } catch { + Write-Host "Error while exiting with message $_" + } +} \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 2dd7239acf38..93c3db8e0e71 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -7,6 +7,145 @@ import { validateFileArgs } from './helpers'; import { ArgsSanitizingError } from './errors'; import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); +import * as msal from "@azure/msal-node"; +import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; +import { spawnSync } from 'child_process'; + +const ts2PsPipePath = '/tmp/ts2ps'; +const ps2TsPipePath = '/tmp/ps2ts'; + +spawnSync('mkfifo', [ts2PsPipePath]); +spawnSync('mkfifo', [ps2TsPipePath]); + +spawnSync('chmod', ['600', ts2PsPipePath]); +spawnSync('chmod', ['600', ps2TsPipePath]); + +process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); + +async function startNamedPiped() { + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + console.log("connectedServiceName: " + connectedServiceName); + + const pipeStream = fs.createReadStream(ps2TsPipePath); + const writeStream = fs.createWriteStream(ts2PsPipePath); + + pipeStream.on('data', async (data) => { + const trimmedData = data.toString('utf8').trim(); + console.debug(`Received from PowerShell: ${trimmedData}`); + var systemAccessToken = tl.getVariable('System.AccessToken'); + process.env.System_Access_Token_PSV2_Task = systemAccessToken; + + if (trimmedData == 'Get-AzDoToken') { + try { + if(connectedServiceName && connectedServiceName.trim().length > 0) { + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); + } else { + console.log(`No Service Connection found, returning empty token`); + writeStream.write(systemAccessToken + "\n"); + } + } catch(err) { + console.log(`Token generation failed with error message ${err.message}`); + writeStream.write(systemAccessToken + "\n"); + } + } else { + try { + console.debug('Pipe reading ended'); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + } catch(err) { + console.debug(`Cleanup failed : ${err.message}`); + } + } + }); + + + pipeStream.on('error', (err) => { + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + }); +} + +async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { + + // workloadidentityfederation + const authorizationScheme = tl + .getEndpointAuthorizationSchemeRequired(connectedService) + .toLowerCase(); + + // get token using workload identity federation or managed service identity + if (authorizationScheme !== "workloadidentityfederation") { + throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); + } + + // use azure devops webapi to get federated token using service connection + var servicePrincipalId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); + + var servicePrincipalTenantId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "tenantid"); + + const authorityUrl = + tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; + + tl.debug(`Getting federated token for service connection ${connectedService}`); + + var federatedToken: string = await getFederatedToken(connectedService); + + tl.debug(`Got federated token for service connection ${connectedService}`); + + // exchange federated token for service principal token (below) + return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); +} + +async function getAccessTokenFromFederatedToken( + servicePrincipalId: string, + servicePrincipalTenantId: string, + federatedToken: string, + authorityUrl: string + ): Promise { + const AzureDevOpsResourceId = "499b84ac-1321-427f-aa17-267ca6975798"; + + // use msal to get access token using service principal with federated token + tl.debug(`Using authority url: ${authorityUrl}`); + tl.debug(`Using resource: ${AzureDevOpsResourceId}`); + + const config: msal.Configuration = { + auth: { + clientId: servicePrincipalId, + authority: `${authorityUrl.replace(/\/+$/, "")}/${servicePrincipalTenantId}`, + clientAssertion: federatedToken, + }, + system: { + loggerOptions: { + loggerCallback: (level, message, containsPii) => { + tl.debug(message); + }, + piiLoggingEnabled: false, + logLevel: msal.LogLevel.Verbose, + }, + }, + }; + + const app = new msal.ConfidentialClientApplication(config); + + const request: msal.ClientCredentialRequest = { + scopes: [`${AzureDevOpsResourceId}/.default`], + skipCache: true, + }; + + const result = await app.acquireTokenByClientCredential(request); + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + return result?.accessToken; +} function getActionPreference(vstsInputName: string, defaultAction: string = 'Default', validActions: string[] = ['Default', 'Stop', 'Continue', 'SilentlyContinue']) { let result: string = tl.getInput(vstsInputName, false) || defaultAction; @@ -20,16 +159,16 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - tl.setResourcePath(path.join(__dirname, 'task.json')); + // Get inputs + + startNamedPiped(); - // Get inputs. let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); - let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -38,6 +177,7 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; + if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -99,6 +239,37 @@ async function run() { } else { script = `${input_script}`; } + + script = ` + # Open the FIFO for writing + + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + + function Get-AzDoToken { + try { + $pipeWriter.WriteLine('Get-AzDoToken') + $pipeWriter.Flush() + + $token = $pipeReader.ReadLine() + $token = $token.Trim() + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "empty response was found, returning the System Access Token" + $token = $env:System_Access_Token_PSV2_Task + } + return $token + } + catch { + Write-Host "Error in Get-AzDoToken: $_" + $token = $env:System_Access_Token_PSV2_Task + return $token + } + } + + ${script} + `; + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -109,9 +280,23 @@ async function run() { } } }; + Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } + + script = ` + try { + ${script} + } + finally { + # Close the streams + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + $pipeReader.Close() + }` + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -176,6 +361,8 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } + + // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); @@ -186,6 +373,10 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); + } finally { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + pipeStream.write('Close'); + pipeStream.close(); } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 8d5171d28ca9..043ff8e7d4bf 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 0 + "Minor": 249, + "Patch": 312 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "Azure DevOps Service Connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure DevOps Service Connection service connection" + }, { "name": "targetType", "type": "radio", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 0526b4036d47..6fa4bd0be4d5 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 0 + "Minor": 249, + "Patch": 312 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "Azure DevOps Service Connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure DevOps Service Connection service connection" + }, { "name": "targetType", "type": "radio", diff --git a/Tasks/PowerShellV2/tsconfig.json b/Tasks/PowerShellV2/tsconfig.json index 0438b79f69ac..a347ba35a9ac 100644 --- a/Tasks/PowerShellV2/tsconfig.json +++ b/Tasks/PowerShellV2/tsconfig.json @@ -1,6 +1,12 @@ { "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } + "module": "commonjs", + "target": "es6", + "sourceMap":true, + "skipLibCheck": true, + "esModuleInterop": true + }, + "exclude": [ + "node_modules" + ] } \ No newline at end of file diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index ebba11052833..44bd6c850244 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.247.0 -Node20-225|2.247.1 +Default|2.249.312 +Node20-225|2.249.313 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 new file mode 100644 index 000000000000..d9e1e80eab56 --- /dev/null +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -0,0 +1,154 @@ +function Global:Get-VstsFederatedTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$serviceConnectionId, + [Parameter(Mandatory=$true)] + [string]$vstsAccessToken + ) + + $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require + $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require + $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + + # Construct the API URL + $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" + + $headers = @{ + "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) + "Content-Type" = "application/json" + } + + # Make the POST request to generate the OIDC token + $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body + + # Parse the response content to extract the OIDC token + $responseContent = $response.Content | ConvertFrom-Json + $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + + + if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { + Write-Host "Failed to create OIDC token." + throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + } + + Write-Host "OIDC Token generated Successfully" + return $oidcToken +} +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global + +function Global:Get-WiscAccessTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$connectedServiceName + ) + + $token = $env:SystemAccessTokenPowershellV2 + + $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + -connectedServiceNameARM $connectedServiceName ` + -scope "499b84ac-1321-427f-aa17-267ca6975798" + + $token = $result.AccessToken + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "Generated token found to be null, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + + return $token +} +New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global + +class TokenHandler { + [void] run($filePath) { + + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + $exitSignal = "Global\ExitSignal" + + $eventFromUserScript = $null + $eventFromTask = $null + $eventExit = $null + + try { + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + + # Ensure the output file has restricted permissions + if (-not (Test-Path $filePath)) { + New-Item -Path $filePath -ItemType File -Force + $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + + # Create a new ACL that only grants access to the current user + $acl = Get-Acl $filePath + $acl.SetAccessRuleProtection($true, $false) # Disable inheritance + $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( + $currentUser, "FullControl", "Allow" + ) + $acl.SetAccessRule($rule) + + # Apply the ACL to the file + Set-Acl -Path $filePath -AclObject $acl + } + + Write-Host "Task: Waiting for signals..." + + # Infinite loop to wait for signals and respond + while ($true) { + try { + # Wait for either UserScript signal or Exit signal + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + + if ($index -eq 0) { + # Signal from UserScript + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $token = "" + try { + [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + + if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + Write-Host "No Service connection was found, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + } + catch { + Write-Host "Failed to generate token with message $_, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + + } finally { + $token | Set-Content -Path $filePath + Write-Host "Task: Wrote access token to file" + } + + # Signal UserScript to read the file + $eventFromTask.Set() + } elseif ($index -eq 1) { + # Exit signal received + Write-Host "Task: Exit signal received. Exiting loop..." + break + } + } catch { + Write-Host "Error occurred while waiting for signals: $_" + } + } + } catch { + Write-Host "Critical error in Task: $_" + } finally { + # Cleanup resources + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + Write-Host "Task: Resources cleaned up. Exiting." + } + } +} \ No newline at end of file diff --git a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson index f4b03fe1b455..d7810c1fb145 100644 --- a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson @@ -6,6 +6,8 @@ "loc.releaseNotes": "Script task consistency. Added support for macOS and Linux.", "loc.group.displayName.preferenceVariables": "Preference Variables", "loc.group.displayName.advanced": "Advanced", + "loc.input.label.ConnectedServiceName": "Azure DevOps Service Connection", + "loc.input.help.ConnectedServiceName": "Select an Azure DevOps Service Connection service connection", "loc.input.label.targetType": "Type", "loc.input.help.targetType": "Target script type: File Path or Inline", "loc.input.label.filePath": "Script Path", diff --git a/_generated/PowerShellV2/make.json b/_generated/PowerShellV2/make.json index f73f080ea9de..15c0de38db82 100644 --- a/_generated/PowerShellV2/make.json +++ b/_generated/PowerShellV2/make.json @@ -19,7 +19,9 @@ { "items": [ "node_modules/azure-pipelines-tasks-utility-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib" + "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/agent-base", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/azure-pipelines-task-lib" ], "options": "-Rf" } @@ -28,6 +30,14 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2/package-lock.json b/_generated/PowerShellV2/package-lock.json index 9f385a75008a..b52c2fff6c49 100644 --- a/_generated/PowerShellV2/package-lock.json +++ b/_generated/PowerShellV2/package-lock.json @@ -4,51 +4,130 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==" + }, + "@azure/msal-node": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz", + "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==", + "requires": { + "@azure/msal-common": "14.9.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "14.9.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz", + "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/ini": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + }, + "@types/ltx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "requires": { + "@types/node": "*" + } + }, "@types/mocha": { "version": "5.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "@types/node": { - "version": "16.11.64", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.64.tgz", - "integrity": "sha512-z5hPTlVFzNwtJ2LNozTpJcD1Cu44c4LNuzaq1mwxmiHWQh2ULdR6Vjwo1UGldzRpzL0yUEdZddnfqGW2G70z6Q==" + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" }, "@types/semver": { "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" }, "@types/uuid": { "version": "3.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, "adm-zip": { "version": "0.5.15", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==" }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "debug": "4" + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "argparse": { "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } } }, "azure-pipelines-task-lib": { - "version": "4.16.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.16.0.tgz", - "integrity": "sha512-hjyDi5GI1cFmS2o6GzTFPqloeTZBeaTLOjPn/H3CVr0vV/MV+eYoWszVe9kn7XnRSiv22j3p4Rhw/Sy4v1okxA==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", + "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -57,23 +136,141 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "azure-pipelines-tasks-artifacts-common": { + "version": "2.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "requires": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + }, + "dependencies": { + "azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } + } + }, + "azure-pipelines-tasks-packaging-common": { + "version": "3.244.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", + "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "requires": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "10.2.2", + "azure-pipelines-task-lib": "^4.9.0", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "mocha": "^8.4.0", + "q": "^1.5.0", + "semver": "^5.7.2", + "typed-rest-client": "1.8.4" + }, + "dependencies": { + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "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==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, "azure-pipelines-tasks-utility-common": { - "version": "3.235.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.235.0.tgz", - "integrity": "sha512-1jxzFUYq9BBnzSGt9bnVf1qxUBC+9XEZE5LOJGWEGuzsWk0nVzM2q4pWzsWKzHz2otxzcjBQN/QGxwhVVKlO4Q==", + "version": "3.242.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", + "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } } }, "azure-pipelines-tool-lib": { "version": "2.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", "requires": { "@types/semver": "^5.3.0", @@ -83,25 +280,70 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } } }, "balanced-match": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "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" } }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "call-bind": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { "es-define-property": "^1.0.0", @@ -111,22 +353,119 @@ "set-function-length": "^1.2.1" } }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "concat-map": { "version": "0.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "debug": { "version": "4.3.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "requires": { "ms": "2.1.2" } }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, "define-data-property": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { "es-define-property": "^1.0.0", @@ -134,9 +473,27 @@ "gopd": "^1.0.1" } }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "es-define-property": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "requires": { "get-intrinsic": "^1.2.4" @@ -144,32 +501,85 @@ }, "es-errors": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, "esprima": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, "follow-redirects": { "version": "1.15.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, "function-bind": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, "get-intrinsic": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { "es-errors": "^1.3.0", @@ -180,39 +590,52 @@ } }, "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", + "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" } }, "gopd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "requires": { "get-intrinsic": "^1.1.3" } }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "has-property-descriptors": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "requires": { "es-define-property": "^1.0.0" @@ -220,41 +643,30 @@ }, "has-proto": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" }, "has-symbols": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "hasown": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" - }, - "dependencies": { - "function-bind": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } } }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "inflight": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", @@ -263,39 +675,215 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "interpret": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-core-module": { - "version": "2.15.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "requires": { "hasown": "^2.0.2" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, "js-yaml": { "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "requires": { + "chalk": "^4.0.0" + } + }, + "ltx": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "requires": { + "inherits": "^2.0.4" + } + }, "mime-db": { "version": "1.52.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "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" @@ -303,75 +891,265 @@ }, "minimatch": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "requires": { "brace-expansion": "^1.1.7" } }, + "mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "requires": { + "argparse": "^2.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, "ms": { "version": "2.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "msal-node1": { + "version": "npm:@azure/msal-node@1.18.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "requires": { + "@azure/msal-common": "13.3.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "msal-node2": { + "version": "npm:@azure/msal-node@2.16.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==", + "requires": { + "@azure/msal-common": "14.16.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "14.16.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" + }, "nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + } } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "object-inspect": { - "version": "1.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" }, "once": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "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==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "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==" + }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-parse": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "q": { "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.12.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.12.0.tgz", - "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "requires": { "side-channel": "^1.0.6" } }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, "rechoir": { "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "requires": { "resolve": "^1.1.6" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, "resolve": { "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "requires": { "is-core-module": "^2.13.0", @@ -379,27 +1157,40 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "sanitize-filename": { "version": "1.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "semver-compare": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } + }, "set-function-length": { "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "requires": { "define-data-property": "^1.1.4", @@ -412,7 +1203,7 @@ }, "shelljs": { "version": "0.8.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "requires": { "glob": "^7.0.0", @@ -422,7 +1213,7 @@ }, "side-channel": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { "call-bind": "^1.0.7", @@ -432,18 +1223,56 @@ } }, "sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "truncate-utf8-bytes": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "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" @@ -451,44 +1280,170 @@ }, "tunnel": { "version": "0.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, "typescript": { - "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, "underscore": { - "version": "1.13.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "utf8-byte-length": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "uuid": { "version": "3.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "wrappy": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "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==" } } } diff --git a/_generated/PowerShellV2/package.json b/_generated/PowerShellV2/package.json index ea59607adf8e..11f052311330 100644 --- a/_generated/PowerShellV2/package.json +++ b/_generated/PowerShellV2/package.json @@ -14,13 +14,19 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^16.11.39", "azure-pipelines-task-lib": "^4.16.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { - "typescript": "4.0.2" + "typescript": "4.9.5" } } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 93ecb6176f31..515cd684a763 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -1,14 +1,18 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global Import-Module $PSScriptRoot\ps_modules\Sanitizer +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global +Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 +. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -33,6 +37,34 @@ Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + + $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require + Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' + $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + + $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool + $psRunspace = [powershell]::Create().AddScript({ + param($obj, $filePath) + try { + $obj.run($filePath) + } catch { + Write-Error $_ + } + }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() + + # Wait for the async runspace to start and get ready to listen to User scripts requests + Start-Sleep 10 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' @@ -133,6 +165,52 @@ try { $joinedContents = [System.String]::Join( ([System.Environment]::NewLine), $contents); + + + $joinedContents = ' + + # Define file path and event names + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + + function Get-AzDoToken { + Write-Debug "User Script: Starting process to notify Task and read output." + + [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + + try { + # Signal Task to generate access token + $tmp = $eventFromUserScript.Set() + Write-Debug "User Script: Notified Task to generate access token $tmp." + + # Wait for Task to finish processing + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + + if (!$receivedResponseBool) { + Write-Debug "User Script: Timeout waiting for Task to respond." + } + else { + try { + [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() + Write-Debug "UserScript : Read output from file" + $tokenResponse = $powershellv2AccessToken + } catch { + Write-Debug "Error reading the output file: $_" + } + } + } + catch { + Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + } + return $tokenResponse + } + + ' + $joinedContents + if ($input_showWarnings) { $joinedContents = ' $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -184,7 +262,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -200,7 +278,6 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") - # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -214,7 +291,6 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - Write-Host "$_" } } @@ -253,5 +329,14 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Trace-VstsLeavingInvocation $MyInvocation -} + try { + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation + } catch { + Write-Host "Error while exiting with message $_" + } +} \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 2dd7239acf38..93c3db8e0e71 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -7,6 +7,145 @@ import { validateFileArgs } from './helpers'; import { ArgsSanitizingError } from './errors'; import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); +import * as msal from "@azure/msal-node"; +import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; +import { spawnSync } from 'child_process'; + +const ts2PsPipePath = '/tmp/ts2ps'; +const ps2TsPipePath = '/tmp/ps2ts'; + +spawnSync('mkfifo', [ts2PsPipePath]); +spawnSync('mkfifo', [ps2TsPipePath]); + +spawnSync('chmod', ['600', ts2PsPipePath]); +spawnSync('chmod', ['600', ps2TsPipePath]); + +process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); + +async function startNamedPiped() { + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + console.log("connectedServiceName: " + connectedServiceName); + + const pipeStream = fs.createReadStream(ps2TsPipePath); + const writeStream = fs.createWriteStream(ts2PsPipePath); + + pipeStream.on('data', async (data) => { + const trimmedData = data.toString('utf8').trim(); + console.debug(`Received from PowerShell: ${trimmedData}`); + var systemAccessToken = tl.getVariable('System.AccessToken'); + process.env.System_Access_Token_PSV2_Task = systemAccessToken; + + if (trimmedData == 'Get-AzDoToken') { + try { + if(connectedServiceName && connectedServiceName.trim().length > 0) { + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); + } else { + console.log(`No Service Connection found, returning empty token`); + writeStream.write(systemAccessToken + "\n"); + } + } catch(err) { + console.log(`Token generation failed with error message ${err.message}`); + writeStream.write(systemAccessToken + "\n"); + } + } else { + try { + console.debug('Pipe reading ended'); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + } catch(err) { + console.debug(`Cleanup failed : ${err.message}`); + } + } + }); + + + pipeStream.on('error', (err) => { + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + }); +} + +async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { + + // workloadidentityfederation + const authorizationScheme = tl + .getEndpointAuthorizationSchemeRequired(connectedService) + .toLowerCase(); + + // get token using workload identity federation or managed service identity + if (authorizationScheme !== "workloadidentityfederation") { + throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); + } + + // use azure devops webapi to get federated token using service connection + var servicePrincipalId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); + + var servicePrincipalTenantId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "tenantid"); + + const authorityUrl = + tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; + + tl.debug(`Getting federated token for service connection ${connectedService}`); + + var federatedToken: string = await getFederatedToken(connectedService); + + tl.debug(`Got federated token for service connection ${connectedService}`); + + // exchange federated token for service principal token (below) + return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); +} + +async function getAccessTokenFromFederatedToken( + servicePrincipalId: string, + servicePrincipalTenantId: string, + federatedToken: string, + authorityUrl: string + ): Promise { + const AzureDevOpsResourceId = "499b84ac-1321-427f-aa17-267ca6975798"; + + // use msal to get access token using service principal with federated token + tl.debug(`Using authority url: ${authorityUrl}`); + tl.debug(`Using resource: ${AzureDevOpsResourceId}`); + + const config: msal.Configuration = { + auth: { + clientId: servicePrincipalId, + authority: `${authorityUrl.replace(/\/+$/, "")}/${servicePrincipalTenantId}`, + clientAssertion: federatedToken, + }, + system: { + loggerOptions: { + loggerCallback: (level, message, containsPii) => { + tl.debug(message); + }, + piiLoggingEnabled: false, + logLevel: msal.LogLevel.Verbose, + }, + }, + }; + + const app = new msal.ConfidentialClientApplication(config); + + const request: msal.ClientCredentialRequest = { + scopes: [`${AzureDevOpsResourceId}/.default`], + skipCache: true, + }; + + const result = await app.acquireTokenByClientCredential(request); + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + return result?.accessToken; +} function getActionPreference(vstsInputName: string, defaultAction: string = 'Default', validActions: string[] = ['Default', 'Stop', 'Continue', 'SilentlyContinue']) { let result: string = tl.getInput(vstsInputName, false) || defaultAction; @@ -20,16 +159,16 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - tl.setResourcePath(path.join(__dirname, 'task.json')); + // Get inputs + + startNamedPiped(); - // Get inputs. let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); - let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -38,6 +177,7 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; + if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -99,6 +239,37 @@ async function run() { } else { script = `${input_script}`; } + + script = ` + # Open the FIFO for writing + + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + + function Get-AzDoToken { + try { + $pipeWriter.WriteLine('Get-AzDoToken') + $pipeWriter.Flush() + + $token = $pipeReader.ReadLine() + $token = $token.Trim() + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "empty response was found, returning the System Access Token" + $token = $env:System_Access_Token_PSV2_Task + } + return $token + } + catch { + Write-Host "Error in Get-AzDoToken: $_" + $token = $env:System_Access_Token_PSV2_Task + return $token + } + } + + ${script} + `; + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -109,9 +280,23 @@ async function run() { } } }; + Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } + + script = ` + try { + ${script} + } + finally { + # Close the streams + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + $pipeReader.Close() + }` + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -176,6 +361,8 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } + + // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); @@ -186,6 +373,10 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); + } finally { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + pipeStream.write('Close'); + pipeStream.close(); } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index d23dd0c58d29..e65792ac602d 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 0 + "Minor": 249, + "Patch": 312 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "Azure DevOps Service Connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure DevOps Service Connection service connection" + }, { "name": "targetType", "type": "radio", @@ -259,7 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.247.0", - "Node20-225": "2.247.1" + "Default": "2.249.312", + "LocalPackages": "2.249.4", + "Node20-225": "2.249.313" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 690060477791..d1062038ee3a 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 0 + "Minor": 249, + "Patch": 312 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "ms-resource:loc.input.label.ConnectedServiceName", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.ConnectedServiceName" + }, { "name": "targetType", "type": "radio", @@ -259,7 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.247.0", - "Node20-225": "2.247.1" + "Default": "2.249.312", + "LocalPackages": "2.249.4", + "Node20-225": "2.249.313" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/tsconfig.json b/_generated/PowerShellV2/tsconfig.json index 0438b79f69ac..a347ba35a9ac 100644 --- a/_generated/PowerShellV2/tsconfig.json +++ b/_generated/PowerShellV2/tsconfig.json @@ -1,6 +1,12 @@ { "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } + "module": "commonjs", + "target": "es6", + "sourceMap":true, + "skipLibCheck": true, + "esModuleInterop": true + }, + "exclude": [ + "node_modules" + ] } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/.npmrc b/_generated/PowerShellV2_Node20/.npmrc index 5fca0d518be7..d5c7fef620a3 100644 --- a/_generated/PowerShellV2_Node20/.npmrc +++ b/_generated/PowerShellV2_Node20/.npmrc @@ -1 +1,5 @@ scripts-prepend-node-path=true + +registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ + +always-auth=true \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 new file mode 100644 index 000000000000..d9e1e80eab56 --- /dev/null +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -0,0 +1,154 @@ +function Global:Get-VstsFederatedTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$serviceConnectionId, + [Parameter(Mandatory=$true)] + [string]$vstsAccessToken + ) + + $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require + $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require + $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + + # Construct the API URL + $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" + + $headers = @{ + "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) + "Content-Type" = "application/json" + } + + # Make the POST request to generate the OIDC token + $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body + + # Parse the response content to extract the OIDC token + $responseContent = $response.Content | ConvertFrom-Json + $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + + + if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { + Write-Host "Failed to create OIDC token." + throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + } + + Write-Host "OIDC Token generated Successfully" + return $oidcToken +} +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global + +function Global:Get-WiscAccessTokenPSV2Task { + param( + [Parameter(Mandatory=$true)] + [string]$connectedServiceName + ) + + $token = $env:SystemAccessTokenPowershellV2 + + $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + -connectedServiceNameARM $connectedServiceName ` + -scope "499b84ac-1321-427f-aa17-267ca6975798" + + $token = $result.AccessToken + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "Generated token found to be null, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + + return $token +} +New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global + +class TokenHandler { + [void] run($filePath) { + + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + $exitSignal = "Global\ExitSignal" + + $eventFromUserScript = $null + $eventFromTask = $null + $eventExit = $null + + try { + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + + # Ensure the output file has restricted permissions + if (-not (Test-Path $filePath)) { + New-Item -Path $filePath -ItemType File -Force + $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + + # Create a new ACL that only grants access to the current user + $acl = Get-Acl $filePath + $acl.SetAccessRuleProtection($true, $false) # Disable inheritance + $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( + $currentUser, "FullControl", "Allow" + ) + $acl.SetAccessRule($rule) + + # Apply the ACL to the file + Set-Acl -Path $filePath -AclObject $acl + } + + Write-Host "Task: Waiting for signals..." + + # Infinite loop to wait for signals and respond + while ($true) { + try { + # Wait for either UserScript signal or Exit signal + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + + if ($index -eq 0) { + # Signal from UserScript + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $token = "" + try { + [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + + if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + Write-Host "No Service connection was found, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + } else { + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } + } + catch { + Write-Host "Failed to generate token with message $_, returning the System Access Token" + $token = $env:SystemAccessTokenPowershellV2 + + } finally { + $token | Set-Content -Path $filePath + Write-Host "Task: Wrote access token to file" + } + + # Signal UserScript to read the file + $eventFromTask.Set() + } elseif ($index -eq 1) { + # Exit signal received + Write-Host "Task: Exit signal received. Exiting loop..." + break + } + } catch { + Write-Host "Error occurred while waiting for signals: $_" + } + } + } catch { + Write-Host "Critical error in Task: $_" + } finally { + # Cleanup resources + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + Write-Host "Task: Resources cleaned up. Exiting." + } + } +} \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson index f4b03fe1b455..d7810c1fb145 100644 --- a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -6,6 +6,8 @@ "loc.releaseNotes": "Script task consistency. Added support for macOS and Linux.", "loc.group.displayName.preferenceVariables": "Preference Variables", "loc.group.displayName.advanced": "Advanced", + "loc.input.label.ConnectedServiceName": "Azure DevOps Service Connection", + "loc.input.help.ConnectedServiceName": "Select an Azure DevOps Service Connection service connection", "loc.input.label.targetType": "Type", "loc.input.help.targetType": "Target script type: File Path or Inline", "loc.input.label.filePath": "Script Path", diff --git a/_generated/PowerShellV2_Node20/make.json b/_generated/PowerShellV2_Node20/make.json index f73f080ea9de..15c0de38db82 100644 --- a/_generated/PowerShellV2_Node20/make.json +++ b/_generated/PowerShellV2_Node20/make.json @@ -19,7 +19,9 @@ { "items": [ "node_modules/azure-pipelines-tasks-utility-common/node_modules/azure-pipelines-task-lib", - "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib" + "node_modules/azure-pipelines-tool-lib/node_modules/azure-pipelines-task-lib", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/agent-base", + "node_modules/azure-pipelines-tasks-azure-arm-rest/node_modules/azure-pipelines-task-lib" ], "options": "-Rf" } @@ -28,6 +30,14 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2_Node20/package-lock.json b/_generated/PowerShellV2_Node20/package-lock.json index 6213c4858d56..9c6a8f84d4c9 100644 --- a/_generated/PowerShellV2_Node20/package-lock.json +++ b/_generated/PowerShellV2_Node20/package-lock.json @@ -9,24 +9,80 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { "typescript": "5.1.6" } }, + "node_modules/@azure/msal-common": { + "version": "14.14.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.1.tgz", + "integrity": "sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", + "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "dependencies": { + "@azure/msal-common": "14.14.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ini": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + }, + "node_modules/@types/ltx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/mocha": { "version": "5.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" }, "node_modules/@types/node": { "version": "20.16.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.16.1.tgz", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", "dependencies": { "undici-types": "~6.19.2" @@ -34,17 +90,22 @@ }, "node_modules/@types/semver": { "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" }, "node_modules/@types/uuid": { "version": "3.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, "node_modules/adm-zip": { "version": "0.5.15", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.15.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", "engines": { "node": ">=12.0" @@ -52,7 +113,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { "debug": "4" @@ -61,18 +122,66 @@ "node": ">= 6.0.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", "dependencies": { - "sprintf-js": "~1.0.2" + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.16.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.16.0.tgz", - "integrity": "sha512-hjyDi5GI1cFmS2o6GzTFPqloeTZBeaTLOjPn/H3CVr0vV/MV+eYoWszVe9kn7XnRSiv22j3p4Rhw/Sy4v1okxA==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", + "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -83,9 +192,112 @@ "uuid": "^3.0.1" } }, + "node_modules/azure-pipelines-task-lib/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/azure-pipelines-tasks-artifacts-common": { + "version": "2.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "dependencies": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/@types/node": { + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { + "version": "3.244.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", + "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "dependencies": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "10.2.2", + "azure-pipelines-task-lib": "^4.9.0", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "mocha": "^8.4.0", + "q": "^1.5.0", + "semver": "^5.7.2", + "typed-rest-client": "1.8.4" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/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==", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/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/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, "node_modules/azure-pipelines-tasks-utility-common": { "version": "3.242.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", "dependencies": { "@types/node": "^16.11.39", @@ -96,13 +308,46 @@ } }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.18.105", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.105.tgz", - "integrity": "sha512-w2d0Z9yMk07uH3+Cx0N8lqFyi3yjXZxlbYappPj+AsOlT02OyxyiuNoNHdGt6EuiSm8Wtgp2YV7vWg+GMFrvFA==" + "version": "16.18.106", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", + "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/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/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/azure-pipelines-tool-lib": { "version": "2.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", + "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", "dependencies": { "@types/semver": "^5.3.0", @@ -114,23 +359,63 @@ "uuid": "^3.3.2" } }, + "node_modules/azure-pipelines-tool-lib/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/balanced-match": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "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/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", @@ -146,14 +431,137 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/debug": { "version": "4.3.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { "ms": "2.1.2" @@ -167,9 +575,25 @@ } } }, + "node_modules/debug/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/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", @@ -183,9 +607,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" @@ -196,15 +641,34 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" } }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", @@ -214,9 +678,43 @@ "node": ">=4" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, "node_modules/follow-redirects": { "version": "1.15.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.6.tgz", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { @@ -233,22 +731,56 @@ } } }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", @@ -266,7 +798,7 @@ }, "node_modules/glob": { "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { @@ -284,9 +816,20 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/glob/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -297,7 +840,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" @@ -306,9 +849,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" @@ -319,7 +883,7 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" @@ -330,7 +894,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" @@ -341,7 +905,7 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" @@ -350,9 +914,17 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "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", @@ -364,7 +936,7 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { @@ -374,46 +946,259 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "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.15.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "node_modules/ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", "dependencies": { - "hasown": "^2.0.2" + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10" } }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dependencies": { + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ltx": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "dependencies": { + "inherits": "^2.0.4" + } + }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" @@ -421,7 +1206,7 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "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" @@ -432,7 +1217,7 @@ }, "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -441,14 +1226,166 @@ "node": "*" } }, - "node_modules/ms": { + "node_modules/mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "dependencies": { + "@azure/msal-common": "13.3.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", + "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "dependencies": { + "@azure/msal-common": "14.14.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", "dependencies": { "follow-redirects": "^1.15.6", @@ -457,9 +1394,17 @@ "sanitize-filename": "^1.6.3" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.2.tgz", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "engines": { "node": ">= 0.4" @@ -470,15 +1415,51 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, + "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==", + "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==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "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==", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" @@ -486,12 +1467,23 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { @@ -501,7 +1493,7 @@ }, "node_modules/qs": { "version": "6.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { "side-channel": "^1.0.6" @@ -513,9 +1505,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dependencies": { "resolve": "^1.1.6" @@ -524,9 +1535,17 @@ "node": ">= 0.10" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -540,30 +1559,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/sanitize-filename": { "version": "1.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "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://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", @@ -579,7 +1625,7 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dependencies": { "glob": "^7.0.0", @@ -595,7 +1641,7 @@ }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", @@ -611,13 +1657,61 @@ } }, "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" @@ -626,9 +1720,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "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" @@ -636,7 +1741,7 @@ }, "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" @@ -644,7 +1749,7 @@ }, "node_modules/typed-rest-client": { "version": "1.8.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "dependencies": { "qs": "^6.9.1", @@ -654,7 +1759,7 @@ }, "node_modules/typescript": { "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true, "bin": { @@ -667,32 +1772,221 @@ }, "node_modules/underscore": { "version": "1.13.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/undici-types/-/undici-types-6.19.8.tgz", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/_generated/PowerShellV2_Node20/package.json b/_generated/PowerShellV2_Node20/package.json index fbbd8d7a29f7..bd1a0411816e 100644 --- a/_generated/PowerShellV2_Node20/package.json +++ b/_generated/PowerShellV2_Node20/package.json @@ -14,10 +14,16 @@ "author": "Microsoft Corporation", "license": "MIT", "dependencies": { + "@azure/msal-node": "^2.7.0", "@types/mocha": "^5.2.7", "@types/node": "^20.3.1", "azure-pipelines-task-lib": "^4.16.0", "azure-pipelines-tasks-utility-common": "^3.235.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", "uuid": "^3.0.1" }, "devDependencies": { diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 93ecb6176f31..515cd684a763 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -1,14 +1,18 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global Import-Module $PSScriptRoot\ps_modules\Sanitizer +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global +Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 +. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -33,6 +37,34 @@ Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + + $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require + Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' + $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + + $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool + $psRunspace = [powershell]::Create().AddScript({ + param($obj, $filePath) + try { + $obj.run($filePath) + } catch { + Write-Error $_ + } + }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() + + # Wait for the async runspace to start and get ready to listen to User scripts requests + Start-Sleep 10 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' @@ -133,6 +165,52 @@ try { $joinedContents = [System.String]::Join( ([System.Environment]::NewLine), $contents); + + + $joinedContents = ' + + # Define file path and event names + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "Global\SignalFromUserScript" + $signalFromTask = "Global\SignalFromTask" + + $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + + function Get-AzDoToken { + Write-Debug "User Script: Starting process to notify Task and read output." + + [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + + try { + # Signal Task to generate access token + $tmp = $eventFromUserScript.Set() + Write-Debug "User Script: Notified Task to generate access token $tmp." + + # Wait for Task to finish processing + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + + if (!$receivedResponseBool) { + Write-Debug "User Script: Timeout waiting for Task to respond." + } + else { + try { + [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() + Write-Debug "UserScript : Read output from file" + $tokenResponse = $powershellv2AccessToken + } catch { + Write-Debug "Error reading the output file: $_" + } + } + } + catch { + Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + } + return $tokenResponse + } + + ' + $joinedContents + if ($input_showWarnings) { $joinedContents = ' $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -184,7 +262,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -200,7 +278,6 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") - # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -214,7 +291,6 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - Write-Host "$_" } } @@ -253,5 +329,14 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Trace-VstsLeavingInvocation $MyInvocation -} + try { + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation + } catch { + Write-Host "Error while exiting with message $_" + } +} \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 2dd7239acf38..93c3db8e0e71 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -7,6 +7,145 @@ import { validateFileArgs } from './helpers'; import { ArgsSanitizingError } from './errors'; import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); +import * as msal from "@azure/msal-node"; +import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; +import { spawnSync } from 'child_process'; + +const ts2PsPipePath = '/tmp/ts2ps'; +const ps2TsPipePath = '/tmp/ps2ts'; + +spawnSync('mkfifo', [ts2PsPipePath]); +spawnSync('mkfifo', [ps2TsPipePath]); + +spawnSync('chmod', ['600', ts2PsPipePath]); +spawnSync('chmod', ['600', ps2TsPipePath]); + +process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); + +async function startNamedPiped() { + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + console.log("connectedServiceName: " + connectedServiceName); + + const pipeStream = fs.createReadStream(ps2TsPipePath); + const writeStream = fs.createWriteStream(ts2PsPipePath); + + pipeStream.on('data', async (data) => { + const trimmedData = data.toString('utf8').trim(); + console.debug(`Received from PowerShell: ${trimmedData}`); + var systemAccessToken = tl.getVariable('System.AccessToken'); + process.env.System_Access_Token_PSV2_Task = systemAccessToken; + + if (trimmedData == 'Get-AzDoToken') { + try { + if(connectedServiceName && connectedServiceName.trim().length > 0) { + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); + } else { + console.log(`No Service Connection found, returning empty token`); + writeStream.write(systemAccessToken + "\n"); + } + } catch(err) { + console.log(`Token generation failed with error message ${err.message}`); + writeStream.write(systemAccessToken + "\n"); + } + } else { + try { + console.debug('Pipe reading ended'); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + } catch(err) { + console.debug(`Cleanup failed : ${err.message}`); + } + } + }); + + + pipeStream.on('error', (err) => { + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); + }); +} + +async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { + + // workloadidentityfederation + const authorizationScheme = tl + .getEndpointAuthorizationSchemeRequired(connectedService) + .toLowerCase(); + + // get token using workload identity federation or managed service identity + if (authorizationScheme !== "workloadidentityfederation") { + throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); + } + + // use azure devops webapi to get federated token using service connection + var servicePrincipalId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); + + var servicePrincipalTenantId: string = + tl.getEndpointAuthorizationParameterRequired(connectedService, "tenantid"); + + const authorityUrl = + tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; + + tl.debug(`Getting federated token for service connection ${connectedService}`); + + var federatedToken: string = await getFederatedToken(connectedService); + + tl.debug(`Got federated token for service connection ${connectedService}`); + + // exchange federated token for service principal token (below) + return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); +} + +async function getAccessTokenFromFederatedToken( + servicePrincipalId: string, + servicePrincipalTenantId: string, + federatedToken: string, + authorityUrl: string + ): Promise { + const AzureDevOpsResourceId = "499b84ac-1321-427f-aa17-267ca6975798"; + + // use msal to get access token using service principal with federated token + tl.debug(`Using authority url: ${authorityUrl}`); + tl.debug(`Using resource: ${AzureDevOpsResourceId}`); + + const config: msal.Configuration = { + auth: { + clientId: servicePrincipalId, + authority: `${authorityUrl.replace(/\/+$/, "")}/${servicePrincipalTenantId}`, + clientAssertion: federatedToken, + }, + system: { + loggerOptions: { + loggerCallback: (level, message, containsPii) => { + tl.debug(message); + }, + piiLoggingEnabled: false, + logLevel: msal.LogLevel.Verbose, + }, + }, + }; + + const app = new msal.ConfidentialClientApplication(config); + + const request: msal.ClientCredentialRequest = { + scopes: [`${AzureDevOpsResourceId}/.default`], + skipCache: true, + }; + + const result = await app.acquireTokenByClientCredential(request); + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + return result?.accessToken; +} function getActionPreference(vstsInputName: string, defaultAction: string = 'Default', validActions: string[] = ['Default', 'Stop', 'Continue', 'SilentlyContinue']) { let result: string = tl.getInput(vstsInputName, false) || defaultAction; @@ -20,16 +159,16 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - tl.setResourcePath(path.join(__dirname, 'task.json')); + // Get inputs + + startNamedPiped(); - // Get inputs. let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); - let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -38,6 +177,7 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; + if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -99,6 +239,37 @@ async function run() { } else { script = `${input_script}`; } + + script = ` + # Open the FIFO for writing + + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + + function Get-AzDoToken { + try { + $pipeWriter.WriteLine('Get-AzDoToken') + $pipeWriter.Flush() + + $token = $pipeReader.ReadLine() + $token = $token.Trim() + + if ($null -eq $token -or $token -eq [string]::Empty) { + Write-Host "empty response was found, returning the System Access Token" + $token = $env:System_Access_Token_PSV2_Task + } + return $token + } + catch { + Write-Host "Error in Get-AzDoToken: $_" + $token = $env:System_Access_Token_PSV2_Task + return $token + } + } + + ${script} + `; + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -109,9 +280,23 @@ async function run() { } } }; + Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } + + script = ` + try { + ${script} + } + finally { + # Close the streams + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + $pipeReader.Close() + }` + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -176,6 +361,8 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } + + // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); @@ -186,6 +373,10 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); + } finally { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + pipeStream.write('Close'); + pipeStream.close(); } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 6b3ea2054e67..d63d8dee26cc 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 1 + "Minor": 249, + "Patch": 313 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "Azure DevOps Service Connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure DevOps Service Connection service connection" + }, { "name": "targetType", "type": "radio", @@ -263,7 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.247.0", - "Node20-225": "2.247.1" + "Default": "2.249.312", + "LocalPackages": "2.249.4", + "Node20-225": "2.249.313" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 1cbf5f97bc04..72615d7b1a4a 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, - "Patch": 1 + "Minor": 249, + "Patch": 313 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -36,6 +36,16 @@ } ], "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureDevOpsServiceConnection" + ], + "type": "connectedService:workloadidentityuser", + "label": "ms-resource:loc.input.label.ConnectedServiceName", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.ConnectedServiceName" + }, { "name": "targetType", "type": "radio", @@ -263,7 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.247.0", - "Node20-225": "2.247.1" + "Default": "2.249.312", + "LocalPackages": "2.249.4", + "Node20-225": "2.249.313" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/tsconfig.json b/_generated/PowerShellV2_Node20/tsconfig.json index 0438b79f69ac..a347ba35a9ac 100644 --- a/_generated/PowerShellV2_Node20/tsconfig.json +++ b/_generated/PowerShellV2_Node20/tsconfig.json @@ -1,6 +1,12 @@ { "compilerOptions": { - "target": "ES6", - "module": "commonjs" - } + "module": "commonjs", + "target": "es6", + "sourceMap":true, + "skipLibCheck": true, + "esModuleInterop": true + }, + "exclude": [ + "node_modules" + ] } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 88f5a062aad5..5a046e1dd340 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,2935 +1,2005 @@ { - "name": "Agent.Tasks", - "version": "0.6.0", - "lockfileVersion": 1, + "name": "vsts-powershell-task", + "version": "1.0.0", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha1-7UQbb6YAByUgzhi0PSyMyMrsx/Q=", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "packages": { + "": { + "name": "vsts-powershell-task", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@azure/msal-node": "^2.7.0", + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", + "uuid": "^3.0.1" + }, + "devDependencies": { + "typescript": "4.9.5" } }, - "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha1-S1+rl9MzOO/5FiNQVfDrwh5XOoU=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - } - }, - "@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha1-J4trE2ZFV96VuPNbkNlnhYULtW4=", - "dev": true - }, - "@babel/core": { - "version": "7.26.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha1-14tgI8yPMRTM8EnrIZYT90p0e0A=", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha1-S1YPZJ/E6RjdCrdc9JYei8iC2Co=", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "dev": true - } + "node_modules/@azure/msal-common": { + "version": "14.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, - "@babel/generator": { - "version": "7.26.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/generator/-/generator-7.26.2.tgz", - "integrity": "sha1-h7dYE77IeRYhDl4Bk5pMgj1rt08=", - "dev": true, - "requires": { - "@babel/parser": "^7.26.2", - "@babel/types": "^7.26.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha1-Va8CXONlvjzcDBweVsavYXzoiHU=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.25.9", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "dev": true - } + "node_modules/@azure/msal-node": { + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "14.16.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" } }, - "@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha1-5/jSBgLr2/nrvqCgdR+w8qQUFxU=", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha1-jOVOydWSaV5Y2EzYhLe1xqL97q4=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - } - }, - "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha1-Gqu3Lucu01eJtLvK08ooYs5hTow=", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha1-JLZOLD7HzTs8VHcpuNFocfIsvcc=", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha1-huRb2KSat+A/J2V3+WF5ZT1B2nI=", - "dev": true - }, - "@babel/helpers": { - "version": "7.26.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha1-MOYh8eulqkX+b0ho0ukVTYhBGaQ=", - "dev": true, - "requires": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "node_modules/@types/fs-extra": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "@babel/parser": { - "version": "7.26.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha1-/XtvSHz+oJiJVX711O65/5pavRE=", - "dev": true, - "requires": { - "@babel/types": "^7.26.0" + "node_modules/@types/ini": { + "version": "1.3.30", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", + "license": "MIT" + }, + "node_modules/@types/ltx": { + "version": "2.8.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "5.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "16.18.120", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "5.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "3.4.13", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", + "license": "MIT" + }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "@babel/template": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha1-7LYtgaim9dxf6Kv8OQH8Ut3xUBY=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "@babel/traverse": { - "version": "7.25.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha1-pQ+P5J5/afU95b6n5BPNNcXhPIQ=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.26.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha1-3qvQjWt1O8jg8Zj4cJ+1deMXdP8=", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - } + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", - "dev": true + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", + "license": "Python-2.0" + }, + "node_modules/azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } }, - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha1-3M5q/3S99trRqVgCtpsEovyx+zY=", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "node_modules/azure-pipelines-task-lib": { + "version": "4.17.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", + "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", + "license": "MIT", + "dependencies": { + "adm-zip": "^0.5.10", + "minimatch": "3.0.5", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.7.2", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha1-eg7mAfYPmaIMfHxf8MgDiMEYm9Y=", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha1-VY+2Ry7RakyFC4iVMOazZDjEkoA=", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha1-MYi8snOkFLDSFf0ipYVAuYm5QJo=", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha1-FfGQ6YiV8/wjJ27hS8drZ1wuUPA=", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "adm-zip": { - "version": "0.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.13.tgz", - "integrity": "sha1-WX4vjMNnIVHhMH0+lc3bx1ZyMUo=", - "dev": true + "node_modules/azure-pipelines-tasks-artifacts-common": { + "version": "2.230.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", + "license": "MIT", + "dependencies": { + "@types/fs-extra": "8.0.0", + "@types/mocha": "^5.2.6", + "@types/node": "^16.11.39", + "azure-devops-node-api": "12.0.0", + "azure-pipelines-task-lib": "^4.2.0", + "fs-extra": "8.1.0", + "semver": "6.3.0" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { + "version": "3.246.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", + "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", + "license": "MIT", + "dependencies": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/node": "~16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "14.1.0", + "azure-pipelines-task-lib": "^4.9.0", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "mocha": "^10.7.3", + "q": "^1.5.0", + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "license": "MIT", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" + } }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "requires": { - "debug": "4" + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha1-V9NbhoboUeLMBMQD8cACA5dqGBM=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha1-Ej1keekq1FrYl9QFTjx8p9tJROE=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", + "dependencies": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha1-mdnSnHs4OR5vQo0ozhNlUfC3fhI=", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" + "node_modules/azure-pipelines-tasks-utility-common": { + "version": "3.246.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", + "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", + "license": "MIT", + "dependencies": { + "@types/node": "~16.11.39", + "azure-pipelines-task-lib": "^4.11.0", + "azure-pipelines-tool-lib": "^2.0.7", + "js-yaml": "3.13.1", + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true + "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" }, - "argparse": { + "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { "version": "1.0.10", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "sprintf-js": "~1.0.2" } }, - "array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha1-HlWD7BZ2NUCieuUu7Zn/iZIjVo8=", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "array.prototype.reduce": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", - "integrity": "sha1-aq3C+ZWvKcuIfrhm2YHchatvfcc=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-array-method-boxes-properly": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "is-string": "^1.0.7" + "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "arraybuffer.prototype.slice": { + "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha1-CXly9CVeQbw0JeN9w/ZCHPmu/eY=", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - } - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha1-pcw3XWoDwu/IelU/PgsVIt7xSEY=", - "dev": true, - "requires": { - "possible-typed-array-names": "^1.0.0" - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "license": "BSD-3-Clause" }, - "azure-devops-node-api": { - "version": "12.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", - "integrity": "sha1-OLnv18WsdDVP5Ojb5CaX2wuOhaU=", - "dev": true, - "requires": { + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", + "dependencies": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/azure-pipelines-tool-lib": { + "version": "2.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", + "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", + "license": "MIT", + "dependencies": { + "@types/semver": "^5.3.0", + "@types/uuid": "^3.4.5", + "azure-pipelines-task-lib": "^4.1.0", + "semver": "^5.7.0", + "semver-compare": "^1.0.0", + "typed-rest-client": "^1.8.6", + "uuid": "^3.3.2" + } + }, + "node_modules/azure-pipelines-tool-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "dev": true + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "browser-stdout": { + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", - "dev": true + "license": "ISC" }, - "browserslist": { - "version": "4.24.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha1-9YRbyRBp29Ve6J+vmCLh2IXRZYA=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha1-ANKXpCBtceIWPDnq/6gVesBlHw8=", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "license": "BSD-3-Clause" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001686", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", - "integrity": "sha1-DgS42Q3odTGI6TyZidVssZ2QJnA=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", + "license": "MIT", + "engines": { + "node": ">=10" }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", - "dev": true + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "cliui": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "commondir": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "license": "MIT" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha1-f6rmI1P7QhM2bQypg1jSLoNosF8=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "data-view-buffer": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha1-jqYybv7Bei5CYgaW5nHX1ai8ZrI=", - "dev": true, - "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } - }, - "data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha1-kHIcqV/ygGd+t5N0n84QETR2aeI=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } - }, - "data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha1-Xgu/tIKO0tG5tADNin0Rm8oP8Yo=", - "dev": true, - "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } + "license": "MIT" }, - "debug": { + "node_modules/debug": { "version": "4.3.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "requires": { + "license": "MIT", + "dependencies": { "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "default-require-extensions": { - "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha1-v64A/urq2mjCriVsYlQPYLgGJb0=", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha1-EHgcxhbrlRqAoDS6/Kpzd/avK2w=", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-3.5.0.tgz", - "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.5.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.68.tgz", - "integrity": "sha1-T0a+TUZe8A4hANVVe2b0r3Djzmw=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "es-abstract": { - "version": "1.23.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha1-9FmaSUbVftRnUV7RDk8VconNUvs=", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "dependencies": { - "object.assign": { - "version": "4.1.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha1-OoM/mrf9uA/J6NIwDIA9IW2P27A=", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - } + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4=", - "dev": true + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "license": "MIT" }, - "es-define-property": { + "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" } }, - "es-errors": { + "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "dev": true - }, - "es-object-atoms": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha1-3bVc1HrC4kBwEmC8Ko4x7LZD2UE=", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, - "es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha1-i7YPCkQMLkKBliQoQ41YVFrzl3c=", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "es-to-primitive": { - "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha1-lsicgsxJ/YeUokg1uj4f+H8hThg=", - "dev": true, - "requires": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", - "dev": true - }, - "escalade": { + "node_modules/escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "dev": true + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true - }, - "fast-xml-parser": { - "version": "4.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", - "integrity": "sha1-KIK30BpoJd/fkJY48t4CVjUd7zc=", - "dev": true, - "requires": { - "strnum": "^1.0.5" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-4.1.1.tgz", - "integrity": "sha1-o5IFnMOCiB/5hkL12k3eCpWfMJs=", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", - "dev": true, - "requires": { - "is-callable": "^1.1.3" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha1-cbMoAMnxWqjy+D9Ka9m/812GGlM=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha1-5LymgIgWv4+TtSdQ8RJ/Wm/Ybjo=", - "dev": true - }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "license": "ISC" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "dev": true + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "function.prototype.name": { - "version": "1.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha1-zfMVt9kO53pMbuIWw8M2LaB1M/0=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha1-BAT+TuK6L2B/Dg7DyAuumUEzuDQ=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", - "dev": true - }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha1-UzdE1aogrKTgecjl2vf9RCAoIfU=", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.3.tgz", - "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", - "dev": true, - "requires": { + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globals/-/globals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", - "dev": true + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "globalthis": { - "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha1-dDDtOpddl7+1m8zkH1yruvplEjY=", - "dev": true, - "requires": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "gopd": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.1.0.tgz", - "integrity": "sha1-348IOcLUjK78MqAlpJKU05YGyRI=", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.4" + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/growl/-/growl-1.10.5.tgz", - "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", - "dev": true - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha1-CHG9Pj1RYm9soJZmaLo11WAtbqo=", - "dev": true + "license": "ISC" }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.1.0.tgz", - "integrity": "sha1-3rEElMu+iAm84WijuWH0KWn17UM=", - "dev": true, - "requires": { - "call-bind": "^1.0.7" - } - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha1-LNxC1AvvLltO6rfAGnPFTOerWrw=", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "hasha": { - "version": "5.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha1-pIR3mJs7MnrqPAT1MJbYFtl1IqE=", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", - "dev": true + "license": "MIT", + "bin": { + "he": "bin/he" + } }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", - "dev": true - }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true + "license": "ISC" }, - "internal-slot": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha1-wG3Mo+2HQkmIEAewpVI7FyoZCAI=", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - } + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "license": "ISC" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "dev": true - }, - "is-array-buffer": { - "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha1-eh+Ss9Ye3SvGXSTxMFMOqT1/rpg=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "is-async-function": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha1-jkQY79Pl06brsBZMBe9a+2mqlkY=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-bigint": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha1-3aejRF31ekJYPbQihoLrp8QXBnI=", - "dev": true, - "requires": { - "has-bigints": "^1.0.2" + "node_modules/ip-address": { + "version": "5.9.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" } }, - "is-boolean-object": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-boolean-object/-/is-boolean-object-1.2.0.tgz", - "integrity": "sha1-l0NkHoCmLAlLWUHFu3kdZqiOSXo=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha1-O8KoXqdC2eNiBdys3XLKH9xRsFU=", - "dev": true - }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-data-view": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha1-S006URtw89wm1CwDypylFdhHdZ8=", - "dev": true, - "requires": { - "is-typed-array": "^1.1.13" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha1-10p9DF81eONKIHKeaSAuV41JXcI=", - "dev": true, - "requires": { - "call-bind": "^1.0.7" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha1-8VWLrxrBfg3up8BBXEODUf8rPHI=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-map": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha1-7elrf+HicLPERl46RlZYdkkm1i4=", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha1-ztkDoCespjgbd3pXQwadc3akl0c=", - "dev": true - }, - "is-number-object": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number-object/-/is-number-object-1.1.0.tgz", - "integrity": "sha1-WoZ+nsw9KU3adA2fEng1hXr36wU=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, - "is-regex": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-regex/-/is-regex-1.2.0.tgz", - "integrity": "sha1-QbnSZufrdFExLGTvw36KfUUwd88=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "gopd": "^1.1.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "is-set": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha1-irIJ6kJGCBQTct7W4MsgDvHZ0B0=", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha1-Ejfxy6BZzbYkMdN43MN9loAYFog=", - "dev": true, - "requires": { - "call-bind": "^1.0.7" + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=", - "dev": true + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", + "license": "MIT" }, - "is-string": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-string/-/is-string-1.1.0.tgz", - "integrity": "sha1-jLg8XVcxG/gFi8bI2ylHEWQdpF0=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "has-tostringtag": "^1.0.2" + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "is-symbol": { + "node_modules/jsbn": { "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-symbol/-/is-symbol-1.1.0.tgz", - "integrity": "sha1-rpk4MKVtR4GIbTn58KRrPom3tgs=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "has-symbols": "^1.0.3", - "safe-regex-test": "^1.0.3" - } - }, - "is-typed-array": { - "version": "1.1.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha1-1sXKVt9iM0lZMi19fdHMpQ3r4ik=", - "dev": true, - "requires": { - "which-typed-array": "^1.1.14" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", + "license": "MIT" }, - "is-weakmap": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha1-v3JhXWSd/l9pkHnFS4PkfRrhnP0=", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha1-lSnzg6kzggXol2XgOS78LxAPBvI=", - "dev": true, - "requires": { - "call-bind": "^1.0.2" + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "is-weakset": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha1-6AFRnfjAxD4S/yg07q2E7J5iQAc=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "istanbul-lib-coverage": { + "node_modules/jws": { "version": "3.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha1-LRZsSwZE1Do58Ev2wu3R5YXzF1Y=", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha1-j4TJQ0iIzGsdCp1wkqdtI56/DMY=", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "dev": true - } - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha1-Nm1FTNDct+tuDkGTeOYAcshiYWk=", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "dev": true - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", + "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" } }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha1-kIMFusmlvRdaxqdEier9D8JEWn0=", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", + "license": "MIT", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha1-w8IwencSd82WODBfkVwprnQbYU4=", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "license": "MIT" }, - "istanbul-reports": { - "version": "3.1.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha1-2u0SueHcpRjhXAVuHlN+dBKA+gs=", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "license": "MIT" }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "license": "MIT" }, - "jsesc": { - "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha1-u4sJpll7pCZCXy5KByRcPQC5ND4=", - "dev": true + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "license": "MIT" }, - "json5": { - "version": "2.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/json5/-/json5-2.2.3.tgz", - "integrity": "sha1-eM1vGhm9wStz21rQxh79ZsHikoM=", - "dev": true + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "license": "MIT" }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "license": "MIT" }, - "lodash": { - "version": "4.17.21", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "license": "MIT" }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "license": "MIT" }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "dev": true, - "requires": { - "semver": "^6.0.0" + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ltx": { + "version": "2.10.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "dev": true - } + "inherits": "^2.0.4" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "dev": true + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { - "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.2.tgz", - "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", - "dev": true, - "requires": { - "brace-expansion": "^1.0.0" + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha1-waRk52kzAuCCoHXO4MBXdBrEdyw=", - "dev": true + "node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha1-/QFQSmeX7Fyb6B/0PSBJYe1kpRI=", - "dev": true, - "requires": { - "minimist": "^1.2.5" + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "mocha": { - "version": "6.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha1-5khDIYHYuZOTQQISZkRQpMHjGRI=", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "license": "ISC", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "ms": { + "node_modules/ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" - }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha1-+pMCdfW/Xa4YjWGSsktMi7rD12o=", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node-fetch": { - "version": "2.6.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha1-zef8cd7vMTHvgKc4kZ+Znm7f/yU=", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "license": "MIT" + }, + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", + "dependencies": { + "@azure/msal-common": "13.3.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", + "dependencies": { + "@azure/msal-common": "14.16.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha1-wDBDuzJ/QXoY/uerfuV7QIoUQwE=", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node-releases": { - "version": "2.0.18", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha1-8BDo014v6NaylE8D9wIT7O3Eyj8=", - "dev": true - }, - "node-uuid": { - "version": "1.4.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-uuid/-/node-uuid-1.4.6.tgz", - "integrity": "sha1-apYy9GNSJDyE0vRVNNYUwL3L6vI=", - "dev": true - }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "nyc": { - "version": "15.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha1-EzXa4S3ch7biSdWhmUykva6nXwI=", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", - "integrity": "sha1-Lx/gYG7Bp2WBVMzU9yhQT2lmeSM=", - "dev": true, - "requires": { - "array.prototype.reduce": "^1.0.6", - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "gopd": "^1.0.1", - "safe-array-concat": "^1.1.2" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true - }, - "package-hash": { + "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha1-NTf2VGZew8w4gnOH/JBMFjxU9QY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s=", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - } + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha1-ibtjxvraLD6QrcSmR77us5zHv48=", - "dev": true - }, - "process-on-spawn": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-on-spawn/-/process-on-spawn-1.1.0.tgz", - "integrity": "sha1-nVmZuoezvwqKywUyLWny9apPt2M=", - "dev": true, - "requires": { - "fromentries": "^1.2.0" + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "q": { - "version": "1.4.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "qs": { + "node_modules/qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "reflect.getprototypeof": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", - "integrity": "sha1-BDEbM6G3E8pet7Wu2ZUKhkgYWOU=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "which-builtin-type": "^1.1.4" + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" } }, - "regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha1-s65AsdJJm4NQqyw/5u84RdOpb0I=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.2" + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-array-concat": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha1-gdd+4MTouGNjUifHISeN1STCDts=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-regex-test": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha1-pbTA8G4KtQ6iw5XBTYNxIykkw3c=", - "dev": true, - "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - } + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "dev": true, - "requires": { + "license": "WTFPL OR ISC", + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "dev": true + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha1-FqcFxaDcL15jjKltiozU4cK5CYU=", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true - }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha1-EDaFuLj5t5dxMYgnqnhlCmENRX4=", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha1-tvoybXLSx4tt8C93Wcc/j2J0+qQ=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha1-NlG4UTcZ6Kn0jefy93ZAsmZSsik=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "license": "BSD-3-Clause" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha1-fug03ajHwX7/MRhHK7Nb/tqjTd4=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "strnum": { - "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha1-XE6Cn+Fa1P8NIMPbWsl7c8mwcts=", - "dev": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha1-ds/nQs8fQbubHCmtAwaMBbTA5Ao=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "dev": true - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha1-BKhphmHYBepvopO2y55jrARO8V4=", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { + "license": "WTFPL", + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", - "dev": true - }, - "typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha1-GGfF2Dsg/LXM8yZJ5eL8dCRHT/M=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - } - }, - "typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha1-2Sly08/5mj+i52Wij83A8did7Gc=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "typed-array-byte-offset": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", - "integrity": "sha1-P6nyJWdwDMhqr4ah5xdvdLWWAPI=", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "reflect.getprototypeof": "^1.0.6" - } - }, - "typed-array-length": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha1-7k3v+YS2S+HhGLDejJyHfVznPT0=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - } - }, - "typed-rest-client": { + "node_modules/typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", - "integrity": "sha1-fqfIh3fHI8aB4zv3mIvl0AjQWsI=", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha1-KQMgIQV9Xmzb0IxRKcIm3/jtb54=", + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", - "dev": true + "license": "MIT" }, - "update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha1-gIRvuh156CVH+2YfjRQeCUV1X+U=", - "dev": true, - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" } }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", - "dev": true - }, - "validator": { - "version": "13.12.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/validator/-/validator-13.12.0.tgz", - "integrity": "sha1-fXjna6hVBNo/7k/Rkis4WRTUs18=", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", - "integrity": "sha1-LYUNbErDe5VEGmeJDhnz/ai2xtk=", - "dev": true, - "requires": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.0", - "is-number-object": "^1.1.0", - "is-string": "^1.1.0", - "is-symbol": "^1.1.0" - } - }, - "which-builtin-type": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha1-WAQqyWAteKbRF8foETSd8SaLpjw=", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" - } - }, - "which-collection": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha1-Yn73YkOSChB+fOjpYZHevksWwqA=", - "dev": true, - "requires": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha1-d2sf412Qrr6Z6KwV6yQJM4mkpAk=", - "dev": true - }, - "which-typed-array": { - "version": "1.1.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-typed-array/-/which-typed-array-1.1.16.tgz", - "integrity": "sha1-2020KcRwb+yi8BZ3oUQnjkqMIWs=", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, + "license": "(WTFPL OR MIT)" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "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.", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "license": "ISC" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "license": "ISC", + "engines": { + "node": ">=10" } }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" } }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8=", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } } } From af89e7b08c52aa9520500f787dcdc37d6385d836 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 13:57:07 +0530 Subject: [PATCH 02/37] Fixed the Dependency issue for Diagnostics --- Tasks/PowerShellV2/powershell.ps1 | 26 ++++++++++--------- Tasks/PowerShellV2/powershell.ts | 14 +++++----- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +-- _generated/PowerShellV2/powershell.ps1 | 26 ++++++++++--------- _generated/PowerShellV2/powershell.ts | 14 +++++----- _generated/PowerShellV2/task.json | 6 ++--- _generated/PowerShellV2/task.loc.json | 6 ++--- _generated/PowerShellV2_Node20/powershell.ps1 | 26 ++++++++++--------- _generated/PowerShellV2_Node20/powershell.ts | 14 +++++----- _generated/PowerShellV2_Node20/task.json | 6 ++--- _generated/PowerShellV2_Node20/task.loc.json | 6 ++--- 13 files changed, 76 insertions(+), 76 deletions(-) diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 515cd684a763..441676541220 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -12,7 +12,7 @@ Import-Module Microsoft.PowerShell.Security -Global function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -54,6 +54,7 @@ try { param($obj, $filePath) try { $obj.run($filePath) + Start-Sleep 10 } catch { Write-Error $_ } @@ -262,7 +263,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -278,6 +279,7 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") + # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -291,6 +293,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } + Write-Host "$_" } } @@ -329,14 +332,13 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - try { - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." - Trace-VstsLeavingInvocation $MyInvocation - } catch { - Write-Host "Error while exiting with message $_" - } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 93c3db8e0e71..a95e510572ed 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -94,11 +94,11 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - tl.debug(`Getting federated token for service connection ${connectedService}`); + console.log(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - tl.debug(`Got federated token for service connection ${connectedService}`); + console.log(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -142,7 +142,7 @@ async function getAccessTokenFromFederatedToken( const result = await app.acquireTokenByClientCredential(request); - tl.debug(`Got access token for service principal ${servicePrincipalId}`); + console.log(`Got access token for service principal ${servicePrincipalId}`); return result?.accessToken; } @@ -159,16 +159,18 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - // Get inputs + tl.setResourcePath(path.join(__dirname, 'task.json')); startNamedPiped(); + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); + let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -177,7 +179,6 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; - if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -280,7 +281,6 @@ async function run() { } } }; - Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } @@ -361,8 +361,6 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } - - // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 043ff8e7d4bf..6e3ae1d563e0 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 312 + "Patch": 322 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 6fa4bd0be4d5..51c40f0fc9ee 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 312 + "Patch": 322 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 44bd6c850244..21d2271b69cb 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.312 -Node20-225|2.249.313 +Default|2.249.322 +Node20-225|2.249.323 diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 515cd684a763..441676541220 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -12,7 +12,7 @@ Import-Module Microsoft.PowerShell.Security -Global function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -54,6 +54,7 @@ try { param($obj, $filePath) try { $obj.run($filePath) + Start-Sleep 10 } catch { Write-Error $_ } @@ -262,7 +263,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -278,6 +279,7 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") + # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -291,6 +293,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } + Write-Host "$_" } } @@ -329,14 +332,13 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - try { - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." - Trace-VstsLeavingInvocation $MyInvocation - } catch { - Write-Host "Error while exiting with message $_" - } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 93c3db8e0e71..a95e510572ed 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -94,11 +94,11 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - tl.debug(`Getting federated token for service connection ${connectedService}`); + console.log(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - tl.debug(`Got federated token for service connection ${connectedService}`); + console.log(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -142,7 +142,7 @@ async function getAccessTokenFromFederatedToken( const result = await app.acquireTokenByClientCredential(request); - tl.debug(`Got access token for service principal ${servicePrincipalId}`); + console.log(`Got access token for service principal ${servicePrincipalId}`); return result?.accessToken; } @@ -159,16 +159,18 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - // Get inputs + tl.setResourcePath(path.join(__dirname, 'task.json')); startNamedPiped(); + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); + let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -177,7 +179,6 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; - if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -280,7 +281,6 @@ async function run() { } } }; - Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } @@ -361,8 +361,6 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } - - // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index e65792ac602d..dcd4191de60b 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 312 + "Patch": 322 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.312", + "Default": "2.249.322", "LocalPackages": "2.249.4", - "Node20-225": "2.249.313" + "Node20-225": "2.249.323" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index d1062038ee3a..b96b2e709ef8 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 312 + "Patch": 322 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.312", + "Default": "2.249.322", "LocalPackages": "2.249.4", - "Node20-225": "2.249.313" + "Node20-225": "2.249.323" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 515cd684a763..441676541220 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -12,7 +12,7 @@ Import-Module Microsoft.PowerShell.Security -Global function Get-ActionPreference { param ( [Parameter(Mandatory)] - [string] + [string] $VstsInputName, [Parameter()] @@ -54,6 +54,7 @@ try { param($obj, $filePath) try { $obj.run($filePath) + Start-Sleep 10 } catch { Write-Error $_ } @@ -262,7 +263,7 @@ try { # Switch to "Continue". $global:ErrorActionPreference = 'Continue' $failed = $false - + # Run the script. Write-Host '========================== Starting Command Output ===========================' if (!$input_failOnStderr) { @@ -278,6 +279,7 @@ try { $failed = $true $inError = $true $null = $errorLines.AppendLine("$($_.Exception.Message)") + # Write to verbose to mitigate if the process hangs. Write-Verbose "STDERR: $($_.Exception.Message)" } @@ -291,6 +293,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } + Write-Host "$_" } } @@ -329,14 +332,13 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - try { - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." - Trace-VstsLeavingInvocation $MyInvocation - } catch { - Write-Host "Error while exiting with message $_" - } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Script A to exit + $exitSignal = "Global\ExitSignal" + $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $tmp = $eventExit.Set() + Write-Debug "Exit signal sent to Task $tmp." + Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 93c3db8e0e71..a95e510572ed 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -94,11 +94,11 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - tl.debug(`Getting federated token for service connection ${connectedService}`); + console.log(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - tl.debug(`Got federated token for service connection ${connectedService}`); + console.log(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -142,7 +142,7 @@ async function getAccessTokenFromFederatedToken( const result = await app.acquireTokenByClientCredential(request); - tl.debug(`Got access token for service principal ${servicePrincipalId}`); + console.log(`Got access token for service principal ${servicePrincipalId}`); return result?.accessToken; } @@ -159,16 +159,18 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def async function run() { try { - // Get inputs + tl.setResourcePath(path.join(__dirname, 'task.json')); startNamedPiped(); + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); let input_informationPreference: string = getActionPreference('informationPreference', 'Default'); let input_verbosePreference: string = getActionPreference('verbosePreference', 'Default'); let input_debugPreference: string = getActionPreference('debugPreference', 'Default'); let input_progressPreference: string = getActionPreference('progressPreference', 'SilentlyContinue'); + let input_showWarnings = tl.getBoolInput('showWarnings', false); let input_failOnStderr = tl.getBoolInput('failOnStderr', false); let input_ignoreLASTEXITCODE = tl.getBoolInput('ignoreLASTEXITCODE', false); @@ -177,7 +179,6 @@ async function run() { let input_arguments: string; let input_script: string; let input_targetType: string = tl.getInput('targetType') || ''; - if (input_targetType.toUpperCase() == 'FILEPATH') { input_filePath = tl.getPathInput('filePath', /*required*/ true); if (!tl.stats(input_filePath).isFile() || !input_filePath.toUpperCase().match(/\.PS1$/)) { @@ -280,7 +281,6 @@ async function run() { } } }; - Get-ChildItem -Recurse $PSScriptRoot | Select Fullname Invoke-Command {${script}} -WarningVariable +warnings; `; } @@ -361,8 +361,6 @@ async function run() { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_ExitCode', exitCode)); } - - // Fail on stderr. if (stderrFailure) { tl.setResult(tl.TaskResult.Failed, tl.loc('JS_Stderr')); diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index d63d8dee26cc..392045a834b1 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 313 + "Patch": 323 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.312", + "Default": "2.249.322", "LocalPackages": "2.249.4", - "Node20-225": "2.249.313" + "Node20-225": "2.249.323" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 72615d7b1a4a..c17ed39e40a9 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 313 + "Patch": 323 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.312", + "Default": "2.249.322", "LocalPackages": "2.249.4", - "Node20-225": "2.249.313" + "Node20-225": "2.249.323" } } \ No newline at end of file From 0ff0b82bef7c5de142944baf375e38e6191a23c4 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 14:35:07 +0530 Subject: [PATCH 03/37] Fix Package-Lock.json --- .../_buildConfigs/Node20/package-lock.json | 1256 ++++++++--------- Tasks/PowerShellV2/package-lock.json | 8 +- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/package-lock.json | 8 +- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/package-lock.json | 1256 ++++++++--------- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 11 files changed, 1168 insertions(+), 1392 deletions(-) diff --git a/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json b/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json index 9c6a8f84d4c9..e6f2f50b9df0 100644 --- a/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json +++ b/Tasks/PowerShellV2/_buildConfigs/Node20/package-lock.json @@ -26,19 +26,19 @@ } }, "node_modules/@azure/msal-common": { - "version": "14.14.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.1.tgz", - "integrity": "sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw==", + "version": "14.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", - "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "dependencies": { - "@azure/msal-common": "14.14.1", + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -48,73 +48,73 @@ }, "node_modules/@azure/msal-node/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@types/fs-extra": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ini": { "version": "1.3.30", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, "node_modules/@types/ltx": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", "dependencies": { "@types/node": "*" } }, "node_modules/@types/mocha": { "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, "node_modules/@types/node": { - "version": "20.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", - "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", + "version": "20.17.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.17.8.tgz", + "integrity": "sha1-QnSM2xaa31vnyXYGBMcoIMe31WA=", "dependencies": { "undici-types": "~6.19.2" } }, + "node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + }, "node_modules/@types/semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, "node_modules/@types/uuid": { "version": "3.4.13", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, "node_modules/adm-zip": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", - "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", + "version": "0.5.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", "engines": { "node": ">=12.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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", "dependencies": { "debug": "4" }, @@ -123,25 +123,25 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dependencies": { "color-convert": "^2.0.1" }, @@ -154,8 +154,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -165,23 +165,31 @@ } }, "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/azure-devops-node-api": { "version": "12.0.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", - "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", - "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", + "version": "4.17.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", + "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -194,16 +202,16 @@ }, "node_modules/azure-pipelines-task-lib/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "node_modules/azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", - "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", "dependencies": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", @@ -215,140 +223,134 @@ } }, "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + "version": "16.18.120", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" }, "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "bin": { "semver": "bin/semver.js" } }, "node_modules/azure-pipelines-tasks-packaging-common": { - "version": "3.244.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", - "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "version": "3.246.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", + "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "@types/q": "1.5.2", "adm-zip": "^0.4.11", - "azure-devops-node-api": "10.2.2", + "azure-devops-node-api": "14.1.0", "azure-pipelines-task-lib": "^4.9.0", "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", - "mocha": "^8.4.0", + "mocha": "^10.7.3", "q": "^1.5.0", "semver": "^5.7.2", - "typed-rest-client": "1.8.4" + "typed-rest-client": "2.1.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", "engines": { "node": ">=0.3.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/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==", + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", - "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "dependencies": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/azure-pipelines-tasks-utility-common": { - "version": "3.242.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", - "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", + "version": "3.246.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", + "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", "dependencies": { - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", - "semver": "^5.7.2" + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" } }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "dependencies": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" + } }, "node_modules/azure-pipelines-tool-lib": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", - "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", + "version": "2.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", + "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", @@ -361,21 +363,21 @@ }, "node_modules/azure-pipelines-tool-lib/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", "engines": { "node": ">=8" }, @@ -385,8 +387,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -394,8 +396,8 @@ }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", "dependencies": { "fill-range": "^7.1.1" }, @@ -405,18 +407,18 @@ }, "node_modules/browser-stdout": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -433,8 +435,8 @@ }, "node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", "engines": { "node": ">=10" }, @@ -444,8 +446,8 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -459,8 +461,8 @@ }, "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dependencies": { "has-flag": "^4.0.0" }, @@ -469,79 +471,42 @@ } }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dependencies": { "color-name": "~1.1.4" }, @@ -551,20 +516,20 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -575,15 +540,10 @@ } } }, - "node_modules/debug/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/decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", "engines": { "node": ">=10" }, @@ -593,8 +553,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -607,31 +567,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", "engines": { "node": ">=0.3.1" } }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -641,24 +610,24 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", "engines": { "node": ">= 0.4" } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", "engines": { "node": ">=10" }, @@ -668,8 +637,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -680,8 +649,8 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -691,8 +660,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -706,16 +675,16 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", "bin": { "flat": "cli.js" } }, "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==", + "version": "1.15.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", "funding": [ { "type": "individual", @@ -733,8 +702,8 @@ }, "node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -746,14 +715,13 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", "optional": true, "os": [ "darwin" @@ -764,24 +732,24 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -797,20 +765,19 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -818,8 +785,8 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "dependencies": { "is-glob": "^4.0.1" }, @@ -827,21 +794,29 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -851,29 +826,21 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "engines": { - "node": ">=4.x" - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", "dependencies": { "es-define-property": "^1.0.0" }, @@ -883,8 +850,8 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", "engines": { "node": ">= 0.4" }, @@ -894,8 +861,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", "engines": { "node": ">= 0.4" }, @@ -905,8 +872,8 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", "dependencies": { "function-bind": "^1.1.2" }, @@ -916,16 +883,16 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", "bin": { "he": "bin/he" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", "dependencies": { "agent-base": "6", "debug": "4" @@ -936,8 +903,8 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", @@ -946,26 +913,26 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", "engines": { "node": ">= 0.10" } }, "node_modules/ip-address": { "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", @@ -977,8 +944,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -988,8 +955,8 @@ }, "node_modules/is-core-module": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", "dependencies": { "hasown": "^2.0.2" }, @@ -1002,24 +969,24 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1029,31 +996,43 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "engines": { "node": ">=0.12.0" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", "engines": { "node": ">=8" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, "node_modules/js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -1061,21 +1040,21 @@ }, "node_modules/jsbn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -1095,8 +1074,8 @@ }, "node_modules/jsonwebtoken/node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", "bin": { "semver": "bin/semver.js" }, @@ -1106,8 +1085,8 @@ }, "node_modules/jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -1116,8 +1095,8 @@ }, "node_modules/jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", + "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -1125,8 +1104,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", "dependencies": { "p-locate": "^5.0.0" }, @@ -1139,75 +1118,79 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, "node_modules/lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, "node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ltx": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", "dependencies": { "inherits": "^2.0.4" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", "dependencies": { "mime-db": "1.52.0" }, @@ -1215,10 +1198,15 @@ "node": ">= 0.6" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1227,166 +1215,136 @@ } }, "node_modules/mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 10.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/debug/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/mocha/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", "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": "*" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, "node_modules/msal-node1": { "name": "@azure/msal-node", "version": "1.18.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", + "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", "dependencies": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "engines": { + "node": "10 || 12 || 14 || 16 || 18" } }, "node_modules/msal-node1/node_modules/@azure/msal-common": { "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", "engines": { "node": ">=0.8.0" } }, "node_modules/msal-node1/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/msal-node2": { "name": "@azure/msal-node", - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", - "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "dependencies": { - "@azure/msal-common": "14.14.1", + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" } }, "node_modules/msal-node2/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", - "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", @@ -1396,16 +1354,16 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", "engines": { "node": ">= 0.4" }, @@ -1415,16 +1373,16 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dependencies": { "wrappy": "1" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -1437,8 +1395,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", "dependencies": { "p-limit": "^3.0.2" }, @@ -1451,29 +1409,29 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", "engines": { "node": ">=8.6" }, @@ -1483,8 +1441,8 @@ }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { "node": ">=0.6.0", @@ -1492,9 +1450,9 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", + "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", "dependencies": { "side-channel": "^1.0.6" }, @@ -1507,16 +1465,16 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", "dependencies": { "picomatch": "^2.2.1" }, @@ -1526,8 +1484,8 @@ }, "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dependencies": { "resolve": "^1.1.6" }, @@ -1537,16 +1495,16 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -1561,8 +1519,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", "funding": [ { "type": "github", @@ -1580,37 +1538,37 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", "bin": { "semver": "bin/semver.js" } }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -1625,8 +1583,8 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -1639,10 +1597,41 @@ "node": ">=4" } }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/shelljs/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -1658,36 +1647,37 @@ }, "node_modules/sprintf-js": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", "engines": { "node": ">=8" }, @@ -1697,8 +1687,8 @@ }, "node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dependencies": { "has-flag": "^4.0.0" }, @@ -1711,8 +1701,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", "engines": { "node": ">= 0.4" }, @@ -1722,8 +1712,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "dependencies": { "is-number": "^7.0.0" }, @@ -1733,24 +1723,24 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "dependencies": { "utf8-byte-length": "^1.0.1" } }, "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, "node_modules/typed-rest-client": { "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -1759,8 +1749,8 @@ }, "node_modules/typescript": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha1-AvisICttrSwN1eCRN0W0ejeZgnQ=", "dev": true, "bin": { "tsc": "bin/tsc", @@ -1772,67 +1762,45 @@ }, "node_modules/underscore": { "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha1-NREcnRQ3q4OnzcCrri8m2I7aCgI=" }, "node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", "engines": { "node": ">= 4.0.0" } }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, "node_modules/workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1845,63 +1813,23 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", "engines": { "node": ">=10" } }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -1916,17 +1844,17 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -1937,50 +1865,10 @@ "node": ">=10" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", "engines": { "node": ">=10" }, diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index b52c2fff6c49..e83453ef9b74 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -563,8 +563,8 @@ }, "fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", "optional": true }, "function-bind": { @@ -1285,8 +1285,8 @@ }, "typescript": { "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", "dev": true }, "underscore": { diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 6e3ae1d563e0..bcd0327e1ff8 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 322 + "Patch": 324 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 51c40f0fc9ee..e08bfbf2b2f9 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 322 + "Patch": 324 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 21d2271b69cb..3a05b77467f5 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.322 -Node20-225|2.249.323 +Default|2.249.324 +Node20-225|2.249.325 diff --git a/_generated/PowerShellV2/package-lock.json b/_generated/PowerShellV2/package-lock.json index b52c2fff6c49..e83453ef9b74 100644 --- a/_generated/PowerShellV2/package-lock.json +++ b/_generated/PowerShellV2/package-lock.json @@ -563,8 +563,8 @@ }, "fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", "optional": true }, "function-bind": { @@ -1285,8 +1285,8 @@ }, "typescript": { "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", "dev": true }, "underscore": { diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index dcd4191de60b..18fbd958b4ac 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 322 + "Patch": 324 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.322", + "Default": "2.249.324", "LocalPackages": "2.249.4", - "Node20-225": "2.249.323" + "Node20-225": "2.249.325" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index b96b2e709ef8..1760a531519a 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 322 + "Patch": 324 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.322", + "Default": "2.249.324", "LocalPackages": "2.249.4", - "Node20-225": "2.249.323" + "Node20-225": "2.249.325" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/package-lock.json b/_generated/PowerShellV2_Node20/package-lock.json index 9c6a8f84d4c9..e6f2f50b9df0 100644 --- a/_generated/PowerShellV2_Node20/package-lock.json +++ b/_generated/PowerShellV2_Node20/package-lock.json @@ -26,19 +26,19 @@ } }, "node_modules/@azure/msal-common": { - "version": "14.14.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.1.tgz", - "integrity": "sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw==", + "version": "14.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", - "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "dependencies": { - "@azure/msal-common": "14.14.1", + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -48,73 +48,73 @@ }, "node_modules/@azure/msal-node/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@types/fs-extra": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ini": { "version": "1.3.30", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, "node_modules/@types/ltx": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", "dependencies": { "@types/node": "*" } }, "node_modules/@types/mocha": { "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, "node_modules/@types/node": { - "version": "20.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", - "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", + "version": "20.17.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-20.17.8.tgz", + "integrity": "sha1-QnSM2xaa31vnyXYGBMcoIMe31WA=", "dependencies": { "undici-types": "~6.19.2" } }, + "node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + }, "node_modules/@types/semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, "node_modules/@types/uuid": { "version": "3.4.13", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, "node_modules/adm-zip": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", - "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==", + "version": "0.5.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", "engines": { "node": ">=12.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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", "dependencies": { "debug": "4" }, @@ -123,25 +123,25 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dependencies": { "color-convert": "^2.0.1" }, @@ -154,8 +154,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -165,23 +165,31 @@ } }, "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/azure-devops-node-api": { "version": "12.0.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", - "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", - "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", + "version": "4.17.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", + "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -194,16 +202,16 @@ }, "node_modules/azure-pipelines-task-lib/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "node_modules/azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", - "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", "dependencies": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", @@ -215,140 +223,134 @@ } }, "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + "version": "16.18.120", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" }, "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "bin": { "semver": "bin/semver.js" } }, "node_modules/azure-pipelines-tasks-packaging-common": { - "version": "3.244.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", - "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "version": "3.246.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", + "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "@types/q": "1.5.2", "adm-zip": "^0.4.11", - "azure-devops-node-api": "10.2.2", + "azure-devops-node-api": "14.1.0", "azure-pipelines-task-lib": "^4.9.0", "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", - "mocha": "^8.4.0", + "mocha": "^10.7.3", "q": "^1.5.0", "semver": "^5.7.2", - "typed-rest-client": "1.8.4" + "typed-rest-client": "2.1.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", "engines": { "node": ">=0.3.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/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==", + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", - "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "dependencies": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/azure-pipelines-tasks-utility-common": { - "version": "3.242.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", - "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", + "version": "3.246.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", + "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", "dependencies": { - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", - "semver": "^5.7.2" + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" } }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" }, "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "dependencies": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" + } }, "node_modules/azure-pipelines-tool-lib": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", - "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", + "version": "2.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", + "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", @@ -361,21 +363,21 @@ }, "node_modules/azure-pipelines-tool-lib/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", "bin": { "semver": "bin/semver" } }, "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", "engines": { "node": ">=8" }, @@ -385,8 +387,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -394,8 +396,8 @@ }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", "dependencies": { "fill-range": "^7.1.1" }, @@ -405,18 +407,18 @@ }, "node_modules/browser-stdout": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -433,8 +435,8 @@ }, "node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", "engines": { "node": ">=10" }, @@ -444,8 +446,8 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -459,8 +461,8 @@ }, "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dependencies": { "has-flag": "^4.0.0" }, @@ -469,79 +471,42 @@ } }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { - "fsevents": "~2.3.1" + "fsevents": "~2.3.2" } }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dependencies": { "color-name": "~1.1.4" }, @@ -551,20 +516,20 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -575,15 +540,10 @@ } } }, - "node_modules/debug/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/decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", "engines": { "node": ">=10" }, @@ -593,8 +553,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -607,31 +567,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", "engines": { "node": ">=0.3.1" } }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -641,24 +610,24 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", "engines": { "node": ">= 0.4" } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", "engines": { "node": ">=10" }, @@ -668,8 +637,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -680,8 +649,8 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -691,8 +660,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -706,16 +675,16 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", "bin": { "flat": "cli.js" } }, "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==", + "version": "1.15.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", "funding": [ { "type": "individual", @@ -733,8 +702,8 @@ }, "node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -746,14 +715,13 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", "optional": true, "os": [ "darwin" @@ -764,24 +732,24 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -797,20 +765,19 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -818,8 +785,8 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "dependencies": { "is-glob": "^4.0.1" }, @@ -827,21 +794,29 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -851,29 +826,21 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "engines": { - "node": ">=4.x" - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", "dependencies": { "es-define-property": "^1.0.0" }, @@ -883,8 +850,8 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", "engines": { "node": ">= 0.4" }, @@ -894,8 +861,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", "engines": { "node": ">= 0.4" }, @@ -905,8 +872,8 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", "dependencies": { "function-bind": "^1.1.2" }, @@ -916,16 +883,16 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", "bin": { "he": "bin/he" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", "dependencies": { "agent-base": "6", "debug": "4" @@ -936,8 +903,8 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", @@ -946,26 +913,26 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", "engines": { "node": ">= 0.10" } }, "node_modules/ip-address": { "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", @@ -977,8 +944,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -988,8 +955,8 @@ }, "node_modules/is-core-module": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", "dependencies": { "hasown": "^2.0.2" }, @@ -1002,24 +969,24 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1029,31 +996,43 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "engines": { "node": ">=0.12.0" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", "engines": { "node": ">=8" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, "node_modules/js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -1061,21 +1040,21 @@ }, "node_modules/jsbn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -1095,8 +1074,8 @@ }, "node_modules/jsonwebtoken/node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", "bin": { "semver": "bin/semver.js" }, @@ -1106,8 +1085,8 @@ }, "node_modules/jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -1116,8 +1095,8 @@ }, "node_modules/jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", + "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -1125,8 +1104,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", "dependencies": { "p-locate": "^5.0.0" }, @@ -1139,75 +1118,79 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, "node_modules/lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, "node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ltx": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", "dependencies": { "inherits": "^2.0.4" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", "dependencies": { "mime-db": "1.52.0" }, @@ -1215,10 +1198,15 @@ "node": ">= 0.6" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1227,166 +1215,136 @@ } }, "node_modules/mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 10.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/debug/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/mocha/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", "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": "*" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, "node_modules/msal-node1": { "name": "@azure/msal-node", "version": "1.18.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", + "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", "dependencies": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "engines": { + "node": "10 || 12 || 14 || 16 || 18" } }, "node_modules/msal-node1/node_modules/@azure/msal-common": { "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", "engines": { "node": ">=0.8.0" } }, "node_modules/msal-node1/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/msal-node2": { "name": "@azure/msal-node", - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.13.0.tgz", - "integrity": "sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q==", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "dependencies": { - "@azure/msal-common": "14.14.1", + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" } }, "node_modules/msal-node2/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", - "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", @@ -1396,16 +1354,16 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", "engines": { "node": ">= 0.4" }, @@ -1415,16 +1373,16 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dependencies": { "wrappy": "1" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -1437,8 +1395,8 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", "dependencies": { "p-limit": "^3.0.2" }, @@ -1451,29 +1409,29 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", "engines": { "node": ">=8.6" }, @@ -1483,8 +1441,8 @@ }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { "node": ">=0.6.0", @@ -1492,9 +1450,9 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", + "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", "dependencies": { "side-channel": "^1.0.6" }, @@ -1507,16 +1465,16 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", "dependencies": { "picomatch": "^2.2.1" }, @@ -1526,8 +1484,8 @@ }, "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dependencies": { "resolve": "^1.1.6" }, @@ -1537,16 +1495,16 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -1561,8 +1519,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", "funding": [ { "type": "github", @@ -1580,37 +1538,37 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", "bin": { "semver": "bin/semver.js" } }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -1625,8 +1583,8 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -1639,10 +1597,41 @@ "node": ">=4" } }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/shelljs/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -1658,36 +1647,37 @@ }, "node_modules/sprintf-js": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", "engines": { "node": ">=8" }, @@ -1697,8 +1687,8 @@ }, "node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dependencies": { "has-flag": "^4.0.0" }, @@ -1711,8 +1701,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", "engines": { "node": ">= 0.4" }, @@ -1722,8 +1712,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "dependencies": { "is-number": "^7.0.0" }, @@ -1733,24 +1723,24 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "dependencies": { "utf8-byte-length": "^1.0.1" } }, "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, "node_modules/typed-rest-client": { "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -1759,8 +1749,8 @@ }, "node_modules/typescript": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha1-AvisICttrSwN1eCRN0W0ejeZgnQ=", "dev": true, "bin": { "tsc": "bin/tsc", @@ -1772,67 +1762,45 @@ }, "node_modules/underscore": { "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha1-NREcnRQ3q4OnzcCrri8m2I7aCgI=" }, "node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", "engines": { "node": ">= 4.0.0" } }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, "node_modules/workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1845,63 +1813,23 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", "engines": { "node": ">=10" } }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -1916,17 +1844,17 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -1937,50 +1865,10 @@ "node": ">=10" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", "engines": { "node": ">=10" }, diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 392045a834b1..b12d43613db6 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 323 + "Patch": 325 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.322", + "Default": "2.249.324", "LocalPackages": "2.249.4", - "Node20-225": "2.249.323" + "Node20-225": "2.249.325" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index c17ed39e40a9..7228654f618c 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 323 + "Patch": 325 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.322", + "Default": "2.249.324", "LocalPackages": "2.249.4", - "Node20-225": "2.249.323" + "Node20-225": "2.249.325" } } \ No newline at end of file From d383f3105bd4eaa70df8b2b68d89022b873d80c1 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 14:57:26 +0530 Subject: [PATCH 04/37] Fix Package-lock.json --- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index bcd0327e1ff8..f53520e16145 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 324 + "Patch": 326 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index e08bfbf2b2f9..c43d95d42b79 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 324 + "Patch": 326 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 3a05b77467f5..beb3a7f5decd 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.324 -Node20-225|2.249.325 +Default|2.249.326 +Node20-225|2.249.327 diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 18fbd958b4ac..ee74f26583e9 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 324 + "Patch": 326 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.324", + "Default": "2.249.326", "LocalPackages": "2.249.4", - "Node20-225": "2.249.325" + "Node20-225": "2.249.327" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 1760a531519a..7770d7210d2b 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 324 + "Patch": 326 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.324", + "Default": "2.249.326", "LocalPackages": "2.249.4", - "Node20-225": "2.249.325" + "Node20-225": "2.249.327" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index b12d43613db6..3b9a1a649622 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 325 + "Patch": 327 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.324", + "Default": "2.249.326", "LocalPackages": "2.249.4", - "Node20-225": "2.249.325" + "Node20-225": "2.249.327" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 7228654f618c..5ab2ae6c8e60 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 325 + "Patch": 327 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.324", + "Default": "2.249.326", "LocalPackages": "2.249.4", - "Node20-225": "2.249.325" + "Node20-225": "2.249.327" } } \ No newline at end of file From ae952e6581c49a6b93ca6dce881eeda1074af70d Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 15:03:56 +0530 Subject: [PATCH 05/37] fix --- Tasks/PowerShellV2/package-lock.json | 2264 +++++++++++++++----------- 1 file changed, 1341 insertions(+), 923 deletions(-) diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index e83453ef9b74..717525fcd066 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -1,134 +1,193 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==" - }, - "@azure/msal-node": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz", - "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==", - "requires": { - "@azure/msal-common": "14.9.0", + "packages": { + "": { + "name": "vsts-powershell-task", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@azure/msal-node": "^2.7.0", + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", + "uuid": "^3.0.1" + }, + "devDependencies": { + "typescript": "4.9.5" + } + }, + "node_modules/@azure/msal-common": { + "version": "14.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", + "dependencies": { + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "dependencies": { - "@azure/msal-common": { - "version": "14.9.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz", - "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } + "engines": { + "node": ">=16" + } + }, + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "bin": { + "uuid": "dist/bin/uuid" } }, - "@types/fs-extra": { + "node_modules/@types/fs-extra": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", + "dependencies": { "@types/node": "*" } }, - "@types/ini": { + "node_modules/@types/ini": { "version": "1.3.30", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, - "@types/ltx": { + "node_modules/@types/ltx": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, - "@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + "node_modules/@types/node": { + "version": "16.18.120", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" }, - "@types/semver": { + "node_modules/@types/q": { + "version": "1.5.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + }, + "node_modules/@types/semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, - "@types/uuid": { + "node_modules/@types/uuid": { "version": "3.4.13", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", + "engines": { + "node": ">=12.0" + } }, - "adm-zip": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", - "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==" + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", + "engines": { + "node": ">=6" + } }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dependencies": { "sprintf-js": "~1.0.2" - }, + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, - "azure-pipelines-task-lib": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", - "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", - "requires": { + "node_modules/azure-pipelines-task-lib": { + "version": "4.17.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", + "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", + "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -136,25 +195,21 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, - "azure-pipelines-tasks-artifacts-common": { + "node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", - "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", + "dependencies": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -162,117 +217,133 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" - }, - "dependencies": { - "azure-devops-node-api": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", - "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } } }, - "azure-pipelines-tasks-packaging-common": { - "version": "3.244.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", - "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", - "requires": { + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { + "version": "3.246.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", + "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", + "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "@types/q": "1.5.2", "adm-zip": "^0.4.11", - "azure-devops-node-api": "10.2.2", + "azure-devops-node-api": "14.1.0", "azure-pipelines-task-lib": "^4.9.0", "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", - "mocha": "^8.4.0", + "mocha": "^10.7.3", "q": "^1.5.0", "semver": "^5.7.2", - "typed-rest-client": "1.8.4" + "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "dependencies": { - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "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==", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "typed-rest-client": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", - "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tasks-utility-common": { - "version": "3.242.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", - "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", - "requires": { - "@types/node": "^16.11.39", + "node_modules/azure-pipelines-tasks-utility-common": { + "version": "3.246.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", + "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", + "dependencies": { + "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", - "semver": "^5.7.2" - }, + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tool-lib": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", - "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", - "requires": { + "node_modules/azure-pipelines-tool-lib": { + "version": "2.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", + "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", + "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -280,500 +351,703 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, - "balanced-match": { + "node_modules/azure-pipelines-tool-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "bin": { + "semver": "bin/semver" + } + }, + "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "brace-expansion": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", + "dependencies": { "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, - "buffer-equal-constant-time": { + "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "camelcase": { + "node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "requires": { - "anymatch": "~3.1.1", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", + "dependencies": { + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "cliui": { + "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "requires": { - "ms": "2.1.2" + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "decamelize": { + "node_modules/decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } }, - "ecdsa-sig-formatter": { + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", + "dependencies": { "safe-buffer": "^5.0.1" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, - "es-define-property": { + "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", + "dependencies": { "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" } }, - "es-errors": { + "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "engines": { + "node": ">= 0.4" + } }, - "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat": { + "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { + "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", - "optional": true + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", + "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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" + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "gopd": { + "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", + "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "engines": { + "node": ">=8" + } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", + "dependencies": { "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "he": { + "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "bin": { + "he": "bin/he" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, - "ini": { + "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "engines": { + "node": ">= 0.10" + } }, - "ip-address": { + "node_modules/ip-address": { "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", + "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" } }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", + "dependencies": { "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "engines": { + "node": ">=8" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "engines": { + "node": ">=0.12.0" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "engines": { + "node": ">=8" + } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonwebtoken": { + "node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", + "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -785,606 +1059,765 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "dependencies": { - "semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" - } + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "jwa": { + "node_modules/jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", + "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "jws": { + "node_modules/jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", + "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", + "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "locate-path": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, - "lodash.includes": { + "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, - "lodash.isboolean": { + "node_modules/lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, - "lodash.isinteger": { + "node_modules/lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, - "lodash.isnumber": { + "node_modules/lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, - "lodash.isplainobject": { + "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, - "lodash.isstring": { + "node_modules/lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, - "lodash.once": { + "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "requires": { - "chalk": "^4.0.0" + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ltx": { + "node_modules/ltx": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", + "dependencies": { "inherits": "^2.0.4" } }, - "mime-db": { + "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, + "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } + "node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" } }, - "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/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "msal-node1": { - "version": "npm:@azure/msal-node@1.18.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", - "requires": { + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" + }, + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", + "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", + "dependencies": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } + "engines": { + "node": "10 || 12 || 14 || 16 || 18" + } + }, + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "bin": { + "uuid": "dist/bin/uuid" } }, - "msal-node2": { - "version": "npm:@azure/msal-node@2.16.2", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz", - "integrity": "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==", - "requires": { + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", + "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "dependencies": { - "@azure/msal-common": { - "version": "14.16.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } + "engines": { + "node": ">=16" } }, - "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", - "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", + "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" - }, - "dependencies": { - "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" - } - }, - "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" - } - } } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { "wrappy": "1" } }, - "p-limit": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", + "dependencies": { "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "path-exists": { + "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "q": { + "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", + "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", + "dependencies": { "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dependencies": { "safe-buffer": "^5.1.0" } }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "sanitize-filename": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "bin": { + "semver": "bin/semver.js" + } }, - "semver-compare": { + "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", + "dependencies": { "randombytes": "^2.1.0" } }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/shelljs/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "requires": { - "ansi-regex": "^3.0.0" + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "truncate-utf8-bytes": { + "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==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } }, - "typescript": { + "node_modules/typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "engines": { + "node": ">= 4.0.0" + } }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "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" } }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "engines": { + "node": ">=10" + } }, - "yargs": { + "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1393,57 +1826,42 @@ "y18n": "^5.0.5", "yargs-parser": "^20.2.2" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } + "engines": { + "node": ">=10" } }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "engines": { + "node": ">=10" + } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", + "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" } }, - "yocto-queue": { + "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } From 981e1c442dc8e426a073e341e3fd97da01ebe0f5 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 15:17:46 +0530 Subject: [PATCH 06/37] fix --- Tasks/PowerShellV2/package-lock.json | 1461 +++++++-------------- _generated/PowerShellV2/package-lock.json | 1165 ++++++++-------- 2 files changed, 1005 insertions(+), 1621 deletions(-) diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index 717525fcd066..43ecda457836 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -1,193 +1,136 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 3, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "vsts-powershell-task", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@azure/msal-node": "^2.7.0", - "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.16.0", - "azure-pipelines-tasks-artifacts-common": "2.230.0", - "azure-pipelines-tasks-packaging-common": "^3.236.0", - "azure-pipelines-tasks-utility-common": "^3.235.0", - "msal-node1": "npm:@azure/msal-node@^1.18.4", - "msal-node2": "npm:@azure/msal-node@^2.9.2", - "semver": "^6.3.1", - "uuid": "^3.0.1" - }, - "devDependencies": { - "typescript": "4.9.5" - } - }, - "node_modules/@azure/msal-common": { + "dependencies": { + "@azure/msal-common": { "version": "14.16.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" }, - "node_modules/@azure/msal-node": { + "@azure/msal-node": { "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/@types/fs-extra": { + "@types/fs-extra": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/ini": { + "@types/ini": { "version": "1.3.30", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, - "node_modules/@types/ltx": { + "@types/ltx": { "version": "2.8.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/mocha": { + "@types/mocha": { "version": "5.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, - "node_modules/@types/node": { + "@types/node": { "version": "16.18.120", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" }, - "node_modules/@types/q": { + "@types/q": { "version": "1.5.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" }, - "node_modules/@types/semver": { + "@types/semver": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, - "node_modules/@types/uuid": { + "@types/uuid": { "version": "3.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, - "node_modules/adm-zip": { + "adm-zip": { "version": "0.5.16", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", - "engines": { - "node": ">=12.0" - } + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" }, - "node_modules/agent-base": { + "agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "dependencies": { + "requires": { "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" } }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", - "engines": { - "node": ">=6" - } + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "engines": { - "node": ">=8" - } + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dependencies": { + "requires": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { + "anymatch": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "dependencies": { + "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dependencies": { - "sprintf-js": "~1.0.2" } }, - "node_modules/argparse/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "argparse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" }, - "node_modules/azure-devops-node-api": { + "azure-devops-node-api": { "version": "12.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "dependencies": { + "requires": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "node_modules/azure-pipelines-task-lib": { + "azure-pipelines-task-lib": { "version": "4.17.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "dependencies": { + "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -195,21 +138,20 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-task-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-artifacts-common": { + "azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "dependencies": { + "requires": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -217,21 +159,20 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + } } }, - "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common": { + "azure-pipelines-tasks-packaging-common": { "version": "3.246.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "dependencies": { + "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -248,102 +189,110 @@ "q": "^1.5.0", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" }, - "engines": { - "node": ">= 16.0.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - }, - "engines": { - "node": ">= 16.0.0" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" + }, + "azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tasks-utility-common": { + "azure-pipelines-tasks-utility-common": { "version": "3.246.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "dependencies": { + "requires": { "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" }, - "engines": { - "node": ">= 16.0.0" + "dependencies": { + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tool-lib": { + "azure-pipelines-tool-lib": { "version": "2.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "dependencies": { + "requires": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -351,703 +300,482 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-tool-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, - "node_modules/binary-extensions": { + "binary-extensions": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "dependencies": { + "requires": { "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/browser-stdout": { + "browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, - "node_modules/buffer-equal-constant-time": { + "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, - "node_modules/call-bind": { + "call-bind": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { + "camelcase": { "version": "6.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" }, - "node_modules/chalk": { + "chalk": { "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "dependencies": { + "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/chokidar": { + "chokidar": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "dependencies": { + "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", + "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, - "node_modules/cliui": { + "cliui": { "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dependencies": { + "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/color-convert": { + "color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dependencies": { + "requires": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "node_modules/debug": { + "debug": { "version": "4.3.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "dependencies": { + "requires": { "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, - "node_modules/decamelize": { + "decamelize": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" }, - "node_modules/define-data-property": { + "define-data-property": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/des.js": { + "des.js": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "dependencies": { + "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "node_modules/diff": { + "diff": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "engines": { - "node": ">=0.3.1" - } + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" }, - "node_modules/ecdsa-sig-formatter": { + "ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "dependencies": { + "requires": { "safe-buffer": "^5.0.1" } }, - "node_modules/emoji-regex": { + "emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, - "node_modules/es-define-property": { + "es-define-property": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "dependencies": { + "requires": { "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-errors": { + "es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" }, - "node_modules/escalade": { + "escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "engines": { - "node": ">=6" - } + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" }, - "node_modules/esprima": { + "esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" }, - "node_modules/fill-range": { + "fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/find-up": { + "find-up": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "dependencies": { + "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { + "flat": { "version": "5.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", - "bin": { - "flat": "cli.js" - } + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" }, - "node_modules/follow-redirects": { + "follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" }, - "node_modules/fs-extra": { + "fs-extra": { "version": "8.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dependencies": { + "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" } }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "node_modules/fsevents": { + "fsevents": { "version": "2.3.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "optional": true }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" }, - "node_modules/get-caller-file": { + "get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" }, - "node_modules/get-intrinsic": { + "get-intrinsic": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "dependencies": { + "requires": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "node_modules/glob-parent": { + "glob-parent": { "version": "5.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dependencies": { + "requires": { "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" } }, - "node_modules/gopd": { + "gopd": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "dependencies": { + "requires": { "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { + "graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, - "node_modules/has-flag": { + "has-flag": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "engines": { - "node": ">=8" - } + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, - "node_modules/has-property-descriptors": { + "has-property-descriptors": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "dependencies": { + "requires": { "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { + "has-proto": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=" }, - "node_modules/has-symbols": { + "has-symbols": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=" }, - "node_modules/hasown": { + "hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "dependencies": { + "requires": { "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/he": { + "he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "bin": { - "he": "bin/he" - } + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" }, - "node_modules/https-proxy-agent": { + "https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "dependencies": { + "requires": { "agent-base": "6", "debug": "4" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, - "node_modules/ini": { + "ini": { "version": "1.3.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, - "node_modules/interpret": { + "interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" }, - "node_modules/ip-address": { + "ip-address": { "version": "5.9.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", - "dependencies": { + "requires": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/is-binary-path": { + "is-binary-path": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dependencies": { + "requires": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-core-module": { + "is-core-module": { "version": "2.15.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "dependencies": { + "requires": { "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "node_modules/is-fullwidth-code-point": { + "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "engines": { - "node": ">=8" - } + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, - "node_modules/is-plain-obj": { + "is-plain-obj": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "engines": { - "node": ">=8" - } + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" }, - "node_modules/is-unicode-supported": { + "is-unicode-supported": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" }, - "node_modules/js-md4": { + "js-md4": { "version": "0.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "js-yaml": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", + "requires": { + "argparse": "^2.0.1" } }, - "node_modules/jsbn": { + "jsbn": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, - "node_modules/jsonfile": { + "jsonfile": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { + "requires": { "graceful-fs": "^4.1.6" } }, - "node_modules/jsonwebtoken": { + "jsonwebtoken": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "dependencies": { + "requires": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -1059,158 +787,129 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" + } } }, - "node_modules/jwa": { + "jwa": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "dependencies": { + "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "node_modules/jws": { + "jws": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "dependencies": { + "requires": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "node_modules/locate-path": { + "locate-path": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "dependencies": { + "requires": { "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { + "lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, - "node_modules/lodash.includes": { + "lodash.includes": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, - "node_modules/lodash.isboolean": { + "lodash.isboolean": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, - "node_modules/lodash.isinteger": { + "lodash.isinteger": { "version": "4.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, - "node_modules/lodash.isnumber": { + "lodash.isnumber": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, - "node_modules/lodash.isplainobject": { + "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, - "node_modules/lodash.isstring": { + "lodash.isstring": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, - "node_modules/lodash.once": { + "lodash.once": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "node_modules/log-symbols": { + "log-symbols": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "dependencies": { + "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ltx": { + "ltx": { "version": "2.10.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "dependencies": { + "requires": { "inherits": "^2.0.4" } }, - "node_modules/mime-db": { + "mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" }, - "node_modules/mime-types": { + "mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "dependencies": { + "requires": { "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/minimalistic-assert": { + "minimalistic-assert": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" }, - "node_modules/minimatch": { + "minimatch": { "version": "3.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/mocha": { + "mocha": { "version": "10.8.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "dependencies": { + "requires": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", @@ -1232,592 +931,391 @@ "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, - "node_modules/ms": { + "ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, - "node_modules/msal-node1": { - "name": "@azure/msal-node", - "version": "1.18.4", + "msal-node1": { + "version": "npm:@azure/msal-node@1.18.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", - "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", - "dependencies": { + "requires": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": "10 || 12 || 14 || 16 || 18" - } - }, - "node_modules/msal-node1/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msal-node1/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/msal-node2": { - "name": "@azure/msal-node", - "version": "2.16.2", + "msal-node2": { + "version": "npm:@azure/msal-node@2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/msal-node2/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/nodejs-file-downloader": { + "nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "dependencies": { + "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "node_modules/normalize-path": { + "normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, - "node_modules/object-inspect": { + "object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/p-limit": { + "p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "dependencies": { + "requires": { "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "p-locate": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "dependencies": { + "requires": { "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-exists": { + "path-exists": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "engines": { - "node": ">=8" - } + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "node_modules/path-parse": { + "path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, - "node_modules/picomatch": { + "picomatch": { "version": "2.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" }, - "node_modules/q": { + "q": { "version": "1.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, - "node_modules/qs": { + "qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "dependencies": { + "requires": { "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { + "randombytes": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dependencies": { + "requires": { "safe-buffer": "^5.1.0" } }, - "node_modules/readdirp": { + "readdirp": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "dependencies": { + "requires": { "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" } }, - "node_modules/rechoir": { + "rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { + "requires": { "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/require-directory": { + "require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, - "node_modules/resolve": { + "resolve": { "version": "1.22.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "dependencies": { + "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { + "safe-buffer": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, - "node_modules/sanitize-filename": { + "sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "dependencies": { + "requires": { "truncate-utf8-bytes": "^1.0.0" } }, - "node_modules/semver": { + "semver": { "version": "6.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "bin": { - "semver": "bin/semver.js" - } + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" }, - "node_modules/semver-compare": { + "semver-compare": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, - "node_modules/serialize-javascript": { + "serialize-javascript": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "dependencies": { + "requires": { "randombytes": "^2.1.0" } }, - "node_modules/set-function-length": { + "set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "dependencies": { + "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/shelljs": { + "shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "dependencies": { + "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shelljs/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/side-channel": { + "side-channel": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "dependencies": { + "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sprintf-js": { + "sprintf-js": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, - "node_modules/string-width": { + "string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dependencies": { + "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-ansi": { + "strip-ansi": { "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dependencies": { + "requires": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-json-comments": { + "strip-json-comments": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" }, - "node_modules/supports-color": { + "supports-color": { "version": "8.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "dependencies": { + "requires": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/supports-preserve-symlinks-flag": { + "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" }, - "node_modules/to-regex-range": { + "to-regex-range": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dependencies": { + "requires": { "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" } }, - "node_modules/truncate-utf8-bytes": { + "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dependencies": { + "requires": { "utf8-byte-length": "^1.0.1" } }, - "node_modules/tunnel": { + "tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" }, - "node_modules/typed-rest-client": { + "typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "dependencies": { + "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "node_modules/typescript": { + "typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } + "dev": true }, - "node_modules/underscore": { + "underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, - "node_modules/universalify": { + "universalify": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "engines": { - "node": ">= 4.0.0" - } + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, - "node_modules/utf8-byte-length": { + "utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, - "node_modules/uuid": { + "uuid": { "version": "3.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "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" - } + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" }, - "node_modules/workerpool": { + "workerpool": { "version": "6.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, - "node_modules/wrap-ansi": { + "wrap-ansi": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dependencies": { + "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { + "wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/y18n": { + "y18n": { "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "engines": { - "node": ">=10" - } + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" }, - "node_modules/yargs": { + "yargs": { "version": "16.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dependencies": { + "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1825,43 +1323,28 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yargs-parser": { + "yargs-parser": { "version": "20.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "engines": { - "node": ">=10" - } + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" }, - "node_modules/yargs-unparser": { + "yargs-unparser": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "dependencies": { + "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yocto-queue": { + "yocto-queue": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } } diff --git a/_generated/PowerShellV2/package-lock.json b/_generated/PowerShellV2/package-lock.json index e83453ef9b74..43ecda457836 100644 --- a/_generated/PowerShellV2/package-lock.json +++ b/_generated/PowerShellV2/package-lock.json @@ -5,129 +5,131 @@ "requires": true, "dependencies": { "@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==" + "version": "14.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" }, "@azure/msal-node": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz", - "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==", + "version": "2.16.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "requires": { - "@azure/msal-common": "14.9.0", + "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, "dependencies": { - "@azure/msal-common": { - "version": "14.9.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz", - "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==" - }, "uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" } } }, "@types/fs-extra": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", + "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", "requires": { "@types/node": "*" } }, "@types/ini": { "version": "1.3.30", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, "@types/ltx": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", "requires": { "@types/node": "*" } }, "@types/mocha": { "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, "@types/node": { - "version": "16.18.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.106.tgz", - "integrity": "sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==" + "version": "16.18.120", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" }, "@types/semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, "@types/uuid": { "version": "3.4.13", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==" - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, "adm-zip": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz", - "integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==" + "version": "0.5.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "requires": { + "debug": "4" + } }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" }, "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" }, "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "requires": { "color-convert": "^2.0.1" } }, "anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + }, + "azure-devops-node-api": { + "version": "12.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", + "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", "requires": { - "sprintf-js": "~1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, "azure-pipelines-task-lib": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.0.tgz", - "integrity": "sha512-WSopDnRAQAnxqKf7SEVHQS88NjCUNDQAc3qE6xqQWEwo8UeaK3UISxHXrVlaW0frjrgMhs3m+RhZPDlyIGYmhA==", + "version": "4.17.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", + "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", @@ -140,20 +142,15 @@ "dependencies": { "semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" } } }, "azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", - "integrity": "sha512-FWyRjR+eqNjjVvXwiIJVcfLN+DTmbS3icRgrL6zAGx7iIKJOJn+sjlKOuCIR36TaWU4KOVfDGJujDK6Z+WPY8g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", + "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", "requires": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", @@ -164,85 +161,68 @@ "semver": "6.3.0" }, "dependencies": { - "azure-devops-node-api": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", - "integrity": "sha512-S6Il++7dQeMlZDokBDWw7YVoPeb90tWF10pYxnoauRMnkuL91jq9M7SOYRVhtO3FUC5URPkB/qzGa7jTLft0Xw==", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, "semver": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" } } }, "azure-pipelines-tasks-packaging-common": { - "version": "3.244.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.244.0.tgz", - "integrity": "sha512-Xa37kvWCkN1ElUiUJI1sFAZ3iDu4d5LzCB5l1ElWD9D1loKqIvSY+hM9oQvRiCJ5XP5HZYiYl7ocMHH+T/UEbQ==", + "version": "3.246.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", + "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "@types/q": "1.5.2", "adm-zip": "^0.4.11", - "azure-devops-node-api": "10.2.2", + "azure-devops-node-api": "14.1.0", "azure-pipelines-task-lib": "^4.9.0", "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", - "mocha": "^8.4.0", + "mocha": "^10.7.3", "q": "^1.5.0", "semver": "^5.7.2", - "typed-rest-client": "1.8.4" + "typed-rest-client": "2.1.0" }, "dependencies": { - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" }, "adm-zip": { "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" }, "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==", + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", "requires": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" } }, "semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" }, "typed-rest-client": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", - "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", "requires": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" } @@ -250,28 +230,68 @@ } }, "azure-pipelines-tasks-utility-common": { - "version": "3.242.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.242.0.tgz", - "integrity": "sha512-PCpJj2f+v1SxjP+NYtSeTQdgPE1WuadzeKcjaqzXSuHGf4KbDcVSQVD2IEo3dAGrvVfLZLnk4B2x/rwbWzminQ==", + "version": "3.246.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", + "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", "requires": { - "@types/node": "^16.11.39", + "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", - "semver": "^5.7.2" + "semver": "^5.7.2", + "typed-rest-client": "2.1.0" }, "dependencies": { + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } } } }, "azure-pipelines-tool-lib": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz", - "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==", + "version": "2.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", + "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", "requires": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", @@ -284,40 +304,25 @@ "dependencies": { "semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" } } }, "balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, "binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -325,26 +330,26 @@ }, "braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", "requires": { "fill-range": "^7.1.1" } }, "browser-stdout": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, "buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -355,13 +360,13 @@ }, "camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -369,8 +374,8 @@ "dependencies": { "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "requires": { "has-flag": "^4.0.0" } @@ -378,159 +383,138 @@ } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "decamelize": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" }, "define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, + "des.js": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" }, "ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", "requires": { "safe-buffer": "^5.0.1" } }, "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, "es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", "requires": { "get-intrinsic": "^1.2.4" } }, "es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" }, "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" }, "escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" }, "esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" }, "fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", "requires": { "to-regex-range": "^5.0.1" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -538,18 +522,18 @@ }, "flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" }, "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "version": "1.15.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" }, "fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -558,8 +542,8 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.3", @@ -569,18 +553,18 @@ }, "function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" }, "get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" }, "get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", "requires": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -590,84 +574,98 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "requires": { "is-glob": "^4.0.1" } }, "gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", "requires": { "get-intrinsic": "^1.1.3" } }, "graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, "has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", "requires": { "es-define-property": "^1.0.0" } }, "has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=" }, "has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=" }, "hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", "requires": { "function-bind": "^1.1.2" } }, "he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", + "requires": { + "agent-base": "6", + "debug": "4" + } }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -675,23 +673,23 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, "ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, "interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" }, "ip-address": { "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", "requires": { "jsbn": "1.1.0", "lodash": "^4.17.15", @@ -700,79 +698,83 @@ }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", "requires": { "binary-extensions": "^2.0.0" } }, "is-core-module": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", "requires": { "hasown": "^2.0.2" } }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" }, "is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", "requires": { "is-extglob": "^2.1.1" } }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, "is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" + }, + "js-md4": { + "version": "0.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsbn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, "jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { "graceful-fs": "^4.1.6" } }, "jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", "requires": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -788,15 +790,15 @@ "dependencies": { "semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" } } }, "jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -805,8 +807,8 @@ }, "jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", + "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", "requires": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -814,343 +816,307 @@ }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, "lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, "lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, "lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, "lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, "lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, "lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, "lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "ltx": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", "requires": { "inherits": "^2.0.4" } }, "mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", "requires": { "mime-db": "1.52.0" } }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, "minimatch": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", "requires": { "brace-expansion": "^1.1.7" } }, "mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", + "requires": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { - "argparse": { + "brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "balanced-match": "^1.0.0" } }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", "requires": { - "argparse": "^2.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, "msal-node1": { "version": "npm:@azure/msal-node@1.18.4", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", + "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", "requires": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" + }, "uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" } } }, "msal-node2": { "version": "npm:@azure/msal-node@2.16.2", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz", - "integrity": "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, "dependencies": { - "@azure/msal-common": { - "version": "14.16.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==" - }, "uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" } } }, - "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" - }, "nodejs-file-downloader": { "version": "4.13.0", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", - "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" - }, - "dependencies": { - "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" - } - }, - "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" - } - } } }, "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, "object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" + "version": "1.13.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", "requires": { "p-limit": "^3.0.2" } }, "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, "picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" }, "q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", + "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", "requires": { "side-channel": "^1.0.6" } }, "randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "requires": { "safe-buffer": "^5.1.0" } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", "requires": { "picomatch": "^2.2.1" } }, "rechoir": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "requires": { "resolve": "^1.1.6" } }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -1159,39 +1125,39 @@ }, "safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", "requires": { "truncate-utf8-bytes": "^1.0.0" } }, "semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" }, "semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", "requires": { "randombytes": "^2.1.0" } }, "set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -1203,8 +1169,8 @@ }, "shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -1213,8 +1179,8 @@ }, "side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -1224,64 +1190,75 @@ }, "sprintf-js": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" } }, "strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" }, "supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "requires": { "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "requires": { "is-number": "^7.0.0" } }, "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==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "requires": { "utf8-byte-length": "^1.0.1" } }, "tunnel": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" + }, + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } }, "typescript": { "version": "4.9.5", @@ -1291,99 +1268,53 @@ }, "underscore": { "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, "universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, "utf8-byte-length": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, "uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" }, "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, "wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" }, "yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -1392,47 +1323,17 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" }, "yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -1442,8 +1343,8 @@ }, "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==" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } } From b8b0d933c84325b48ebe8213f26c7402dc2ca913 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 16:05:11 +0530 Subject: [PATCH 07/37] fix --- Tasks/PowerShellV2/task.loc.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index c43d95d42b79..9632f6ebb10e 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -42,9 +42,9 @@ "azureDevOpsServiceConnection" ], "type": "connectedService:workloadidentityuser", - "label": "Azure DevOps Service Connection", + "label": "ms-resource:loc.input.label.ConnectedServiceName", "defaultValue": "", - "helpMarkDown": "Select an Azure DevOps Service Connection service connection" + "helpMarkDown": "ms-resource:loc.input.help.ConnectedServiceName" }, { "name": "targetType", From a428ac4eeed30d5b36ef099e71afe5d5ccd644ed Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 20:30:46 +0530 Subject: [PATCH 08/37] Replaced class wth customobject --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 17 +++++++++++------ Tasks/PowerShellV2/powershell.ps1 | 10 ++++------ Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/AccessTokenHelper.ps1 | 13 +++++++++---- _generated/PowerShellV2/powershell.ps1 | 10 ++++------ _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 13 +++++++++---- _generated/PowerShellV2_Node20/powershell.ps1 | 10 ++++------ _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 13 files changed, 57 insertions(+), 48 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index d9e1e80eab56..73cbe943f996 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -55,19 +55,24 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "Generated token found to be null, returning the System Access Token" + Write-Output "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - [void] run($filePath) { - +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath + ) + $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" $exitSignal = "Global\ExitSignal" @@ -124,7 +129,7 @@ class TokenHandler { catch { Write-Host "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 - + } finally { $token | Set-Content -Path $filePath Write-Host "Task: Wrote access token to file" diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 441676541220..5e06d832871a 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -46,14 +46,12 @@ try { # Create a runspace to handle the Async communication between the Task and User Script for Access Token $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - - - $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool $psRunspace = [powershell]::Create().AddScript({ - param($obj, $filePath) + param($tokenHandler,$filePath) try { - $obj.run($filePath) + $tokenHandler.Greet.Invoke($tokenfilePath) Start-Sleep 10 } catch { Write-Error $_ @@ -293,7 +291,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - + Write-Host "$_" } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index f53520e16145..1a14d1c3fc14 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 326 + "Patch": 330 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 9632f6ebb10e..5b71d70e0247 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 326 + "Patch": 330 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index beb3a7f5decd..1534c36d7fc8 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.326 -Node20-225|2.249.327 +Default|2.249.330 +Node20-225|2.249.331 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index d9e1e80eab56..b5142094b7ba 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -65,9 +65,14 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - [void] run($filePath) { - +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath + ) + $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" $exitSignal = "Global\ExitSignal" @@ -124,7 +129,7 @@ class TokenHandler { catch { Write-Host "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 - + } finally { $token | Set-Content -Path $filePath Write-Host "Task: Wrote access token to file" diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 441676541220..5e06d832871a 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -46,14 +46,12 @@ try { # Create a runspace to handle the Async communication between the Task and User Script for Access Token $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - - - $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool $psRunspace = [powershell]::Create().AddScript({ - param($obj, $filePath) + param($tokenHandler,$filePath) try { - $obj.run($filePath) + $tokenHandler.Greet.Invoke($tokenfilePath) Start-Sleep 10 } catch { Write-Error $_ @@ -293,7 +291,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - + Write-Host "$_" } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index ee74f26583e9..952f07c23127 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 326 + "Patch": 330 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.326", + "Default": "2.249.330", "LocalPackages": "2.249.4", - "Node20-225": "2.249.327" + "Node20-225": "2.249.331" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 7770d7210d2b..78264c1b7d5d 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 326 + "Patch": 330 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.326", + "Default": "2.249.330", "LocalPackages": "2.249.4", - "Node20-225": "2.249.327" + "Node20-225": "2.249.331" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index d9e1e80eab56..b5142094b7ba 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -65,9 +65,14 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - [void] run($filePath) { - +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath + ) + $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" $exitSignal = "Global\ExitSignal" @@ -124,7 +129,7 @@ class TokenHandler { catch { Write-Host "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 - + } finally { $token | Set-Content -Path $filePath Write-Host "Task: Wrote access token to file" diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 441676541220..5e06d832871a 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -46,14 +46,12 @@ try { # Create a runspace to handle the Async communication between the Task and User Script for Access Token $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - - - $tokenHandler = [TokenHandler]::new() + # Create a PowerShell instance within the runspace pool $psRunspace = [powershell]::Create().AddScript({ - param($obj, $filePath) + param($tokenHandler,$filePath) try { - $obj.run($filePath) + $tokenHandler.Greet.Invoke($tokenfilePath) Start-Sleep 10 } catch { Write-Error $_ @@ -293,7 +291,7 @@ try { Write-VstsTaskError -Message $message -IssueSource $IssueSources.CustomerScript } } - + Write-Host "$_" } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 3b9a1a649622..ead0554ecb57 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 327 + "Patch": 331 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.326", + "Default": "2.249.330", "LocalPackages": "2.249.4", - "Node20-225": "2.249.327" + "Node20-225": "2.249.331" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 5ab2ae6c8e60..f1f5e6d960b4 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 327 + "Patch": 331 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.326", + "Default": "2.249.330", "LocalPackages": "2.249.4", - "Node20-225": "2.249.327" + "Node20-225": "2.249.331" } } \ No newline at end of file From 564d89f9a573090a5f0430b5e2bbaab799001cb1 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 26 Nov 2024 21:02:05 +0530 Subject: [PATCH 09/37] fix build --- _generated/PowerShellV2/AccessTokenHelper.ps1 | 4 ++-- _generated/PowerShellV2_Node20/AccessTokenHelper.ps1 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index b5142094b7ba..73cbe943f996 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -55,10 +55,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "Generated token found to be null, returning the System Access Token" + Write-Output "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index b5142094b7ba..73cbe943f996 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -55,10 +55,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "Generated token found to be null, returning the System Access Token" + Write-Output "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token From 43110c32f52be4c6eec709a29b2250f55325db56 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Thu, 28 Nov 2024 14:28:14 +0530 Subject: [PATCH 10/37] Removed New keyboard from the code --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 46 ++++++++++--------- Tasks/PowerShellV2/powershell.ps1 | 18 +++----- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 46 ++++++++++--------- _generated/PowerShellV2/powershell.ps1 | 18 +++----- _generated/PowerShellV2/task.json | 6 +-- _generated/PowerShellV2/task.loc.json | 6 +-- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 46 ++++++++++--------- _generated/PowerShellV2_Node20/powershell.ps1 | 18 +++----- _generated/PowerShellV2_Node20/task.json | 6 +-- _generated/PowerShellV2_Node20/task.loc.json | 6 +-- 13 files changed, 112 insertions(+), 112 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 73cbe943f996..80ddc3b0cce7 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -12,7 +12,6 @@ function Global:Get-VstsFederatedTokenPSV2Task { $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require - # Construct the API URL $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $headers = @{ @@ -20,20 +19,20 @@ function Global:Get-VstsFederatedTokenPSV2Task { "Content-Type" = "application/json" } - # Make the POST request to generate the OIDC token + # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json - $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Host "Failed to create OIDC token." + Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) } - Write-Host "OIDC Token generated Successfully" + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -55,10 +54,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Output "Generated token found to be null, returning the System Access Token" + Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token @@ -82,10 +81,10 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = $null try { - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -101,9 +100,12 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl + } else { + Write-Error "Token File not found" + throw "Token File not found" } - Write-Host "Task: Waiting for signals..." + Write-Verbose "Task: Waiting for signals..." # Infinite loop to wait for signals and respond while ($true) { @@ -112,6 +114,7 @@ $tokenHandler = [PSCustomObject]@{ $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) if ($index -eq 0) { + # Signal from UserScript $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $token = "" @@ -119,41 +122,42 @@ $tokenHandler = [PSCustomObject]@{ [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Host "No Service connection was found, returning the System Access Token" + Write-Verbose "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } } catch { - Write-Host "Failed to generate token with message $_, returning the System Access Token" + Write-Verbose "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Host "Task: Wrote access token to file" + Write-Verbose "Task: Wrote access token to file" } # Signal UserScript to read the file $eventFromTask.Set() } elseif ($index -eq 1) { # Exit signal received - Write-Host "Task: Exit signal received. Exiting loop..." + Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Host "Error occurred while waiting for signals: $_" + Write-Verbose "Error occurred while waiting for signals: $_" } } } catch { - Write-Host "Critical error in Task: $_" + Write-Verbose "Critical error in Task: $_" + throw $_ } finally { # Cleanup resources if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Host "Task: Resources cleaned up. Exiting." + Write-Verbose "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 5e06d832871a..d3cf86faf132 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -7,7 +7,6 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 -. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( @@ -47,14 +46,13 @@ try { $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - # Create a PowerShell instance within the runspace pool + . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ param($tokenHandler,$filePath) try { - $tokenHandler.Greet.Invoke($tokenfilePath) - Start-Sleep 10 + $tokenHandler.TokenHandler.Invoke($filePath) } catch { - Write-Error $_ + Write-Error $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath) @@ -167,14 +165,12 @@ try { $joinedContents = ' - - # Define file path and event names $outputFile = "' + $tokenfilePath + '" $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { Write-Debug "User Script: Starting process to notify Task and read output." @@ -203,7 +199,7 @@ try { } } catch { - Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -335,7 +331,7 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $tmp = $eventExit.Set() Write-Debug "Exit signal sent to Task $tmp." Trace-VstsLeavingInvocation $MyInvocation diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 1a14d1c3fc14..e3044f9d0833 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 330 + "Patch": 342 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 5b71d70e0247..d48f4e69dafe 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 330 + "Patch": 342 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 1534c36d7fc8..13abaa6ddc62 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.330 -Node20-225|2.249.331 +Default|2.249.342 +Node20-225|2.249.343 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 73cbe943f996..80ddc3b0cce7 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -12,7 +12,6 @@ function Global:Get-VstsFederatedTokenPSV2Task { $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require - # Construct the API URL $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $headers = @{ @@ -20,20 +19,20 @@ function Global:Get-VstsFederatedTokenPSV2Task { "Content-Type" = "application/json" } - # Make the POST request to generate the OIDC token + # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json - $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Host "Failed to create OIDC token." + Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) } - Write-Host "OIDC Token generated Successfully" + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -55,10 +54,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Output "Generated token found to be null, returning the System Access Token" + Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token @@ -82,10 +81,10 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = $null try { - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -101,9 +100,12 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl + } else { + Write-Error "Token File not found" + throw "Token File not found" } - Write-Host "Task: Waiting for signals..." + Write-Verbose "Task: Waiting for signals..." # Infinite loop to wait for signals and respond while ($true) { @@ -112,6 +114,7 @@ $tokenHandler = [PSCustomObject]@{ $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) if ($index -eq 0) { + # Signal from UserScript $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $token = "" @@ -119,41 +122,42 @@ $tokenHandler = [PSCustomObject]@{ [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Host "No Service connection was found, returning the System Access Token" + Write-Verbose "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } } catch { - Write-Host "Failed to generate token with message $_, returning the System Access Token" + Write-Verbose "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Host "Task: Wrote access token to file" + Write-Verbose "Task: Wrote access token to file" } # Signal UserScript to read the file $eventFromTask.Set() } elseif ($index -eq 1) { # Exit signal received - Write-Host "Task: Exit signal received. Exiting loop..." + Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Host "Error occurred while waiting for signals: $_" + Write-Verbose "Error occurred while waiting for signals: $_" } } } catch { - Write-Host "Critical error in Task: $_" + Write-Verbose "Critical error in Task: $_" + throw $_ } finally { # Cleanup resources if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Host "Task: Resources cleaned up. Exiting." + Write-Verbose "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 5e06d832871a..d3cf86faf132 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -7,7 +7,6 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 -. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( @@ -47,14 +46,13 @@ try { $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - # Create a PowerShell instance within the runspace pool + . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ param($tokenHandler,$filePath) try { - $tokenHandler.Greet.Invoke($tokenfilePath) - Start-Sleep 10 + $tokenHandler.TokenHandler.Invoke($filePath) } catch { - Write-Error $_ + Write-Error $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath) @@ -167,14 +165,12 @@ try { $joinedContents = ' - - # Define file path and event names $outputFile = "' + $tokenfilePath + '" $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { Write-Debug "User Script: Starting process to notify Task and read output." @@ -203,7 +199,7 @@ try { } } catch { - Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -335,7 +331,7 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $tmp = $eventExit.Set() Write-Debug "Exit signal sent to Task $tmp." Trace-VstsLeavingInvocation $MyInvocation diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 952f07c23127..514d123a534c 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 330 + "Patch": 342 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.330", + "Default": "2.249.342", "LocalPackages": "2.249.4", - "Node20-225": "2.249.331" + "Node20-225": "2.249.343" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 78264c1b7d5d..e0b1ae2605b6 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 330 + "Patch": 342 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.330", + "Default": "2.249.342", "LocalPackages": "2.249.4", - "Node20-225": "2.249.331" + "Node20-225": "2.249.343" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 73cbe943f996..80ddc3b0cce7 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -12,7 +12,6 @@ function Global:Get-VstsFederatedTokenPSV2Task { $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require - # Construct the API URL $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $headers = @{ @@ -20,20 +19,20 @@ function Global:Get-VstsFederatedTokenPSV2Task { "Content-Type" = "application/json" } - # Make the POST request to generate the OIDC token + # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json - $oidcToken = $responseContent.oidcToken # The token field contains the OIDC token + $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Host "Failed to create OIDC token." + Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) } - Write-Host "OIDC Token generated Successfully" + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -55,10 +54,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $token = $result.AccessToken if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Output "Generated token found to be null, returning the System Access Token" + Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Output "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } return $token @@ -82,10 +81,10 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = $null try { - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -101,9 +100,12 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl + } else { + Write-Error "Token File not found" + throw "Token File not found" } - Write-Host "Task: Waiting for signals..." + Write-Verbose "Task: Waiting for signals..." # Infinite loop to wait for signals and respond while ($true) { @@ -112,6 +114,7 @@ $tokenHandler = [PSCustomObject]@{ $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) if ($index -eq 0) { + # Signal from UserScript $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $token = "" @@ -119,41 +122,42 @@ $tokenHandler = [PSCustomObject]@{ [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Host "No Service connection was found, returning the System Access Token" + Write-Verbose "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + } } catch { - Write-Host "Failed to generate token with message $_, returning the System Access Token" + Write-Verbose "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Host "Task: Wrote access token to file" + Write-Verbose "Task: Wrote access token to file" } # Signal UserScript to read the file $eventFromTask.Set() } elseif ($index -eq 1) { # Exit signal received - Write-Host "Task: Exit signal received. Exiting loop..." + Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Host "Error occurred while waiting for signals: $_" + Write-Verbose "Error occurred while waiting for signals: $_" } } } catch { - Write-Host "Critical error in Task: $_" + Write-Verbose "Critical error in Task: $_" + throw $_ } finally { # Cleanup resources if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Host "Task: Resources cleaned up. Exiting." + Write-Verbose "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 5e06d832871a..d3cf86faf132 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -7,7 +7,6 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global Import-Module Microsoft.PowerShell.Security -Global . $PSScriptRoot\helpers.ps1 -. $PSScriptRoot\accessTokenHelper.ps1 function Get-ActionPreference { param ( @@ -47,14 +46,13 @@ try { $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) $runspacePool.Open() - # Create a PowerShell instance within the runspace pool + . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ param($tokenHandler,$filePath) try { - $tokenHandler.Greet.Invoke($tokenfilePath) - Start-Sleep 10 + $tokenHandler.TokenHandler.Invoke($filePath) } catch { - Write-Error $_ + Write-Error $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath) @@ -167,14 +165,12 @@ try { $joinedContents = ' - - # Define file path and event names $outputFile = "' + $tokenfilePath + '" $signalFromUserScript = "Global\SignalFromUserScript" $signalFromTask = "Global\SignalFromTask" - $eventFromUserScript = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { Write-Debug "User Script: Starting process to notify Task and read output." @@ -203,7 +199,7 @@ try { } } catch { - Write-Host "Error occurred in Get-AzDoTokenHelper : $_" + Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -335,7 +331,7 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" - $eventExit = [System.Threading.EventWaitHandle]::new($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $tmp = $eventExit.Set() Write-Debug "Exit signal sent to Task $tmp." Trace-VstsLeavingInvocation $MyInvocation diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index ead0554ecb57..bd3c0d36e578 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 331 + "Patch": 343 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.330", + "Default": "2.249.342", "LocalPackages": "2.249.4", - "Node20-225": "2.249.331" + "Node20-225": "2.249.343" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index f1f5e6d960b4..e1cc3fa3615d 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 331 + "Patch": 343 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.330", + "Default": "2.249.342", "LocalPackages": "2.249.4", - "Node20-225": "2.249.331" + "Node20-225": "2.249.343" } } \ No newline at end of file From 76ee25fee3dfa87a56bb3a2b10bd9c1a71601fe4 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Thu, 28 Nov 2024 15:06:44 +0530 Subject: [PATCH 11/37] build --- Tasks/PowerShellV2/task.json | 1 + Tasks/PowerShellV2/task.loc.json | 1 + .../Strings/resources.resjson/en-US/resources.resjson | 1 + _generated/PowerShellV2/task.json | 1 + _generated/PowerShellV2/task.loc.json | 1 + .../Strings/resources.resjson/en-US/resources.resjson | 1 + _generated/PowerShellV2_Node20/task.json | 1 + _generated/PowerShellV2_Node20/task.loc.json | 1 + 8 files changed, 8 insertions(+) diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index e3044f9d0833..0c75e91faf03 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -254,6 +254,7 @@ }, "messages": { "GeneratingScript": "Generating script.", + "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index d48f4e69dafe..c9aba67460e6 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -254,6 +254,7 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", + "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", diff --git a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson index d7810c1fb145..2cdd21e9a10f 100644 --- a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson @@ -40,6 +40,7 @@ "loc.input.label.runScriptInSeparateScope": "Run script in the separate scope", "loc.input.help.runScriptInSeparateScope": "This input allows executing PowerShell scripts using '&' operator instead of the default '.'. If this input set to the true script will be executed in separate scope and globally scoped PowerShell variables won't be updated", "loc.messages.GeneratingScript": "Generating script.", + "loc.messages.CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "loc.messages.JS_ExitCode": "PowerShell exited with code '%s'.", "loc.messages.JS_FormattedCommand": "Formatted command: %s", "loc.messages.JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 514d123a534c..171375b7b04f 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -254,6 +254,7 @@ }, "messages": { "GeneratingScript": "Generating script.", + "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index e0b1ae2605b6..0aaa8bfddc8f 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -254,6 +254,7 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", + "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", diff --git a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson index d7810c1fb145..2cdd21e9a10f 100644 --- a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -40,6 +40,7 @@ "loc.input.label.runScriptInSeparateScope": "Run script in the separate scope", "loc.input.help.runScriptInSeparateScope": "This input allows executing PowerShell scripts using '&' operator instead of the default '.'. If this input set to the true script will be executed in separate scope and globally scoped PowerShell variables won't be updated", "loc.messages.GeneratingScript": "Generating script.", + "loc.messages.CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "loc.messages.JS_ExitCode": "PowerShell exited with code '%s'.", "loc.messages.JS_FormattedCommand": "Formatted command: %s", "loc.messages.JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index bd3c0d36e578..fda6c4674ac0 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -258,6 +258,7 @@ }, "messages": { "GeneratingScript": "Generating script.", + "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index e1cc3fa3615d..2f8dd5c74bbd 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -258,6 +258,7 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", + "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", From 7d2be0d96f4fdea8a839d9c36a848d55e87a60fe Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 17:09:21 +0530 Subject: [PATCH 12/37] trying with unit test failures --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 80ddc3b0cce7..429bfb646508 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -29,7 +29,7 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { Write-Verbose "Failed to create OIDC token." - throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } Write-Verbose "OIDC Token generated Successfully" From 5d74ca93aa03b3a4c8575f6e72df24716ab37da3 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 17:09:49 +0530 Subject: [PATCH 13/37] trying with unit test failures --- Tasks/PowerShellV2/Tests/L0Args.ts | 23 +++++++ Tasks/PowerShellV2/Tests/L0External.ts | 23 +++++++ Tasks/PowerShellV2/Tests/L0Inline.ts | 28 ++++++++- .../Tests/L0RunScriptInSeparateScope.ts | 23 +++++++ Tasks/PowerShellV2/Tests/L0StdErr.ts | 23 +++++++ Tasks/PowerShellV2/powershell.ts | 62 ++++++++++++------- Tasks/PowerShellV2/task.json | 1 - Tasks/PowerShellV2/task.loc.json | 1 - _generated/PowerShellV2/AccessTokenHelper.ps1 | 2 +- .../resources.resjson/en-US/resources.resjson | 1 - _generated/PowerShellV2/Tests/L0Args.ts | 23 +++++++ _generated/PowerShellV2/Tests/L0External.ts | 23 +++++++ _generated/PowerShellV2/Tests/L0Inline.ts | 28 ++++++++- .../Tests/L0RunScriptInSeparateScope.ts | 23 +++++++ _generated/PowerShellV2/Tests/L0StdErr.ts | 23 +++++++ _generated/PowerShellV2/powershell.ts | 62 ++++++++++++------- _generated/PowerShellV2/task.json | 1 - _generated/PowerShellV2/task.loc.json | 1 - .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 2 +- .../resources.resjson/en-US/resources.resjson | 1 - .../PowerShellV2_Node20/Tests/L0Args.ts | 23 +++++++ .../PowerShellV2_Node20/Tests/L0External.ts | 23 +++++++ .../PowerShellV2_Node20/Tests/L0Inline.ts | 28 ++++++++- .../Tests/L0RunScriptInSeparateScope.ts | 23 +++++++ .../PowerShellV2_Node20/Tests/L0StdErr.ts | 23 +++++++ _generated/PowerShellV2_Node20/powershell.ts | 62 ++++++++++++------- _generated/PowerShellV2_Node20/task.json | 1 - _generated/PowerShellV2_Node20/task.loc.json | 1 - 28 files changed, 482 insertions(+), 76 deletions(-) diff --git a/Tasks/PowerShellV2/Tests/L0Args.ts b/Tasks/PowerShellV2/Tests/L0Args.ts index d280edebc5fa..2046351b780f 100644 --- a/Tasks/PowerShellV2/Tests/L0Args.ts +++ b/Tasks/PowerShellV2/Tests/L0Args.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/Tests/L0External.ts b/Tasks/PowerShellV2/Tests/L0External.ts index e43d55e3b07d..89f5ca39603e 100644 --- a/Tasks/PowerShellV2/Tests/L0External.ts +++ b/Tasks/PowerShellV2/Tests/L0External.ts @@ -68,8 +68,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/Tests/L0Inline.ts b/Tasks/PowerShellV2/Tests/L0Inline.ts index cfa8b48a8816..e83e42f62a5f 100644 --- a/Tasks/PowerShellV2/Tests/L0Inline.ts +++ b/Tasks/PowerShellV2/Tests/L0Inline.ts @@ -1,5 +1,6 @@ import ma = require('azure-pipelines-task-lib/mock-answer'); import tmrm = require('azure-pipelines-task-lib/mock-run'); +import { ReadStream, WriteStream } from 'fs'; import path = require('path'); let taskPath = path.join(__dirname, '..', 'powershell.js'); @@ -29,7 +30,9 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true + 'temp/path': true, + '/tmp/ts2ps' : true, + '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' @@ -68,8 +71,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts b/Tasks/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts index f64b6b848b25..21421f7d32b2 100644 --- a/Tasks/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts +++ b/Tasks/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/Tests/L0StdErr.ts b/Tasks/PowerShellV2/Tests/L0StdErr.ts index 9be9e7fad924..9168877ff34b 100644 --- a/Tasks/PowerShellV2/Tests/L0StdErr.ts +++ b/Tasks/PowerShellV2/Tests/L0StdErr.ts @@ -80,8 +80,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index a95e510572ed..52035cae5d45 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -9,16 +9,17 @@ import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; -import { spawnSync } from 'child_process'; +import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps'; const ps2TsPipePath = '/tmp/ps2ts'; -spawnSync('mkfifo', [ts2PsPipePath]); -spawnSync('mkfifo', [ps2TsPipePath]); +cp.spawnSync('mkfifo', [ts2PsPipePath]); +cp.spawnSync('mkfifo', [ps2TsPipePath]); + +cp.spawnSync('chmod', ['600', ts2PsPipePath]); +cp.spawnSync('chmod', ['600', ps2TsPipePath]); -spawnSync('chmod', ['600', ts2PsPipePath]); -spawnSync('chmod', ['600', ps2TsPipePath]); process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); @@ -62,13 +63,13 @@ async function startNamedPiped() { } }); - + pipeStream.on('error', (err) => { - console.error('Error with pipe stream:', err); - writeStream.close(); - pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); }); } @@ -161,7 +162,7 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - startNamedPiped(); + //startNamedPiped(); // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); @@ -243,9 +244,17 @@ async function run() { script = ` # Open the FIFO for writing + + $pipeWriter = $null + $pipeReader = $null + + try { + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + } catch { + Write-Verbose "Error in connecting to the pipes." + } - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') function Get-AzDoToken { try { @@ -291,10 +300,14 @@ async function run() { } finally { # Close the streams - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() - $pipeReader.Close() + if($pipeWriter) { + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + } + if($pipeReader) { + $pipeReader.Close() + } }` contents.push(script); @@ -372,9 +385,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - pipeStream.write('Close'); - pipeStream.close(); + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + console.log("error caught in exiting"); + } + } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 0c75e91faf03..e3044f9d0833 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -254,7 +254,6 @@ }, "messages": { "GeneratingScript": "Generating script.", - "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index c9aba67460e6..d48f4e69dafe 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -254,7 +254,6 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", - "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 80ddc3b0cce7..429bfb646508 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -29,7 +29,7 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { Write-Verbose "Failed to create OIDC token." - throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } Write-Verbose "OIDC Token generated Successfully" diff --git a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson index 2cdd21e9a10f..d7810c1fb145 100644 --- a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson @@ -40,7 +40,6 @@ "loc.input.label.runScriptInSeparateScope": "Run script in the separate scope", "loc.input.help.runScriptInSeparateScope": "This input allows executing PowerShell scripts using '&' operator instead of the default '.'. If this input set to the true script will be executed in separate scope and globally scoped PowerShell variables won't be updated", "loc.messages.GeneratingScript": "Generating script.", - "loc.messages.CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "loc.messages.JS_ExitCode": "PowerShell exited with code '%s'.", "loc.messages.JS_FormattedCommand": "Formatted command: %s", "loc.messages.JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2/Tests/L0Args.ts b/_generated/PowerShellV2/Tests/L0Args.ts index d280edebc5fa..2046351b780f 100644 --- a/_generated/PowerShellV2/Tests/L0Args.ts +++ b/_generated/PowerShellV2/Tests/L0Args.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/Tests/L0External.ts b/_generated/PowerShellV2/Tests/L0External.ts index e43d55e3b07d..89f5ca39603e 100644 --- a/_generated/PowerShellV2/Tests/L0External.ts +++ b/_generated/PowerShellV2/Tests/L0External.ts @@ -68,8 +68,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/Tests/L0Inline.ts b/_generated/PowerShellV2/Tests/L0Inline.ts index cfa8b48a8816..e83e42f62a5f 100644 --- a/_generated/PowerShellV2/Tests/L0Inline.ts +++ b/_generated/PowerShellV2/Tests/L0Inline.ts @@ -1,5 +1,6 @@ import ma = require('azure-pipelines-task-lib/mock-answer'); import tmrm = require('azure-pipelines-task-lib/mock-run'); +import { ReadStream, WriteStream } from 'fs'; import path = require('path'); let taskPath = path.join(__dirname, '..', 'powershell.js'); @@ -29,7 +30,9 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true + 'temp/path': true, + '/tmp/ts2ps' : true, + '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' @@ -68,8 +71,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts b/_generated/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts index f64b6b848b25..21421f7d32b2 100644 --- a/_generated/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts +++ b/_generated/PowerShellV2/Tests/L0RunScriptInSeparateScope.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/Tests/L0StdErr.ts b/_generated/PowerShellV2/Tests/L0StdErr.ts index 9be9e7fad924..9168877ff34b 100644 --- a/_generated/PowerShellV2/Tests/L0StdErr.ts +++ b/_generated/PowerShellV2/Tests/L0StdErr.ts @@ -80,8 +80,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index a95e510572ed..52035cae5d45 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -9,16 +9,17 @@ import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; -import { spawnSync } from 'child_process'; +import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps'; const ps2TsPipePath = '/tmp/ps2ts'; -spawnSync('mkfifo', [ts2PsPipePath]); -spawnSync('mkfifo', [ps2TsPipePath]); +cp.spawnSync('mkfifo', [ts2PsPipePath]); +cp.spawnSync('mkfifo', [ps2TsPipePath]); + +cp.spawnSync('chmod', ['600', ts2PsPipePath]); +cp.spawnSync('chmod', ['600', ps2TsPipePath]); -spawnSync('chmod', ['600', ts2PsPipePath]); -spawnSync('chmod', ['600', ps2TsPipePath]); process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); @@ -62,13 +63,13 @@ async function startNamedPiped() { } }); - + pipeStream.on('error', (err) => { - console.error('Error with pipe stream:', err); - writeStream.close(); - pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); }); } @@ -161,7 +162,7 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - startNamedPiped(); + //startNamedPiped(); // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); @@ -243,9 +244,17 @@ async function run() { script = ` # Open the FIFO for writing + + $pipeWriter = $null + $pipeReader = $null + + try { + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + } catch { + Write-Verbose "Error in connecting to the pipes." + } - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') function Get-AzDoToken { try { @@ -291,10 +300,14 @@ async function run() { } finally { # Close the streams - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() - $pipeReader.Close() + if($pipeWriter) { + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + } + if($pipeReader) { + $pipeReader.Close() + } }` contents.push(script); @@ -372,9 +385,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - pipeStream.write('Close'); - pipeStream.close(); + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + console.log("error caught in exiting"); + } + } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 171375b7b04f..514d123a534c 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -254,7 +254,6 @@ }, "messages": { "GeneratingScript": "Generating script.", - "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 0aaa8bfddc8f..e0b1ae2605b6 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -254,7 +254,6 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", - "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 80ddc3b0cce7..429bfb646508 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -29,7 +29,7 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { Write-Verbose "Failed to create OIDC token." - throw (New-Object System.Exception(Get-VstsLocString -Key AZ_CouldNotGenerateOidcToken)) + throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } Write-Verbose "OIDC Token generated Successfully" diff --git a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson index 2cdd21e9a10f..d7810c1fb145 100644 --- a/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2_Node20/Strings/resources.resjson/en-US/resources.resjson @@ -40,7 +40,6 @@ "loc.input.label.runScriptInSeparateScope": "Run script in the separate scope", "loc.input.help.runScriptInSeparateScope": "This input allows executing PowerShell scripts using '&' operator instead of the default '.'. If this input set to the true script will be executed in separate scope and globally scoped PowerShell variables won't be updated", "loc.messages.GeneratingScript": "Generating script.", - "loc.messages.CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "loc.messages.JS_ExitCode": "PowerShell exited with code '%s'.", "loc.messages.JS_FormattedCommand": "Formatted command: %s", "loc.messages.JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2_Node20/Tests/L0Args.ts b/_generated/PowerShellV2_Node20/Tests/L0Args.ts index d280edebc5fa..2046351b780f 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0Args.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0Args.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/Tests/L0External.ts b/_generated/PowerShellV2_Node20/Tests/L0External.ts index e43d55e3b07d..89f5ca39603e 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0External.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0External.ts @@ -68,8 +68,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts index cfa8b48a8816..e83e42f62a5f 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts @@ -1,5 +1,6 @@ import ma = require('azure-pipelines-task-lib/mock-answer'); import tmrm = require('azure-pipelines-task-lib/mock-run'); +import { ReadStream, WriteStream } from 'fs'; import path = require('path'); let taskPath = path.join(__dirname, '..', 'powershell.js'); @@ -29,7 +30,9 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true + 'temp/path': true, + '/tmp/ts2ps' : true, + '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' @@ -68,8 +71,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/Tests/L0RunScriptInSeparateScope.ts b/_generated/PowerShellV2_Node20/Tests/L0RunScriptInSeparateScope.ts index f64b6b848b25..21421f7d32b2 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0RunScriptInSeparateScope.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0RunScriptInSeparateScope.ts @@ -69,8 +69,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts b/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts index 9be9e7fad924..9168877ff34b 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts @@ -80,8 +80,31 @@ fsClone.writeFileSync = function(filePath, contents, options) { // Normalize to linux paths for logs we check console.log(`Writing ${contents} to ${filePath.replace(/\\/g, '/')}`); } +fsClone.unlinkSync = function(path) { + console.log('Mock UnlinkSync'); +} +fsClone.createReadStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fsClone.createWriteStream = function(path) { + console.log('Mock CreateReadStream'); + return null; +} +fs.ReadStream.on = function(data, data1) { + console.log('Mock Readstream On') + return; +} tmr.registerMock('fs', fsClone); +// Moc Child Process +const cp = require('child_process'); +const cpClone = Object.assign({}, cp); +cpClone.spawnSync = function(cmd, args) { + console.log('Mock SpawnSync'); +} +tmr.registerMock('child_process', cpClone); + // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index a95e510572ed..52035cae5d45 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -9,16 +9,17 @@ import { emitTelemetry } from 'azure-pipelines-tasks-utility-common/telemetry'; var uuidV4 = require('uuid/v4'); import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; -import { spawnSync } from 'child_process'; +import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps'; const ps2TsPipePath = '/tmp/ps2ts'; -spawnSync('mkfifo', [ts2PsPipePath]); -spawnSync('mkfifo', [ps2TsPipePath]); +cp.spawnSync('mkfifo', [ts2PsPipePath]); +cp.spawnSync('mkfifo', [ps2TsPipePath]); + +cp.spawnSync('chmod', ['600', ts2PsPipePath]); +cp.spawnSync('chmod', ['600', ps2TsPipePath]); -spawnSync('chmod', ['600', ts2PsPipePath]); -spawnSync('chmod', ['600', ps2TsPipePath]); process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); @@ -62,13 +63,13 @@ async function startNamedPiped() { } }); - + pipeStream.on('error', (err) => { - console.error('Error with pipe stream:', err); - writeStream.close(); - pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + console.error('Error with pipe stream:', err); + writeStream.close(); + pipeStream.close(); + fs.unlinkSync(ts2PsPipePath); + fs.unlinkSync(ps2TsPipePath); }); } @@ -161,7 +162,7 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - startNamedPiped(); + //startNamedPiped(); // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); @@ -243,9 +244,17 @@ async function run() { script = ` # Open the FIFO for writing + + $pipeWriter = $null + $pipeReader = $null + + try { + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + } catch { + Write-Verbose "Error in connecting to the pipes." + } - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') function Get-AzDoToken { try { @@ -291,10 +300,14 @@ async function run() { } finally { # Close the streams - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() - $pipeReader.Close() + if($pipeWriter) { + $pipeWriter.WriteLine('Close') + $pipeWriter.Flush() + $pipeWriter.Close() + } + if($pipeReader) { + $pipeReader.Close() + } }` contents.push(script); @@ -372,9 +385,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - pipeStream.write('Close'); - pipeStream.close(); + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + console.log("error caught in exiting"); + } + } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index fda6c4674ac0..bd3c0d36e578 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -258,7 +258,6 @@ }, "messages": { "GeneratingScript": "Generating script.", - "CouldNotGenerateOidcToken": "Could not generate a client assertion for federated login.", "JS_ExitCode": "PowerShell exited with code '%s'.", "JS_FormattedCommand": "Formatted command: %s", "JS_InvalidActionPreference": "Invalid action preference for %s: '%s'. The value must be one of: %s", diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 2f8dd5c74bbd..e1cc3fa3615d 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -258,7 +258,6 @@ }, "messages": { "GeneratingScript": "ms-resource:loc.messages.GeneratingScript", - "CouldNotGenerateOidcToken": "ms-resource:loc.messages.CouldNotGenerateOidcToken", "JS_ExitCode": "ms-resource:loc.messages.JS_ExitCode", "JS_FormattedCommand": "ms-resource:loc.messages.JS_FormattedCommand", "JS_InvalidActionPreference": "ms-resource:loc.messages.JS_InvalidActionPreference", From 1bc344d75221dd002a7694216db8f1708c703907 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 17:40:56 +0530 Subject: [PATCH 14/37] build --- Tasks/PowerShellV2/powershell.ts | 44 +++++++++----------- _generated/PowerShellV2/powershell.ts | 44 +++++++++----------- _generated/PowerShellV2_Node20/powershell.ts | 44 +++++++++----------- 3 files changed, 57 insertions(+), 75 deletions(-) diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 52035cae5d45..eeabcd3c5812 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -243,40 +243,35 @@ async function run() { } script = ` - # Open the FIFO for writing - - $pipeWriter = $null - $pipeReader = $null - + $pipeWriter = $null; + $pipeReader = $null; try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); } catch { - Write-Verbose "Error in connecting to the pipes." + Write-Verbose "Error in connecting to the pipes."; } - function Get-AzDoToken { try { - $pipeWriter.WriteLine('Get-AzDoToken') - $pipeWriter.Flush() + $pipeWriter.WriteLine('Get-AzDoToken'); + $pipeWriter.Flush(); - $token = $pipeReader.ReadLine() - $token = $token.Trim() + $token = $pipeReader.ReadLine(); + $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token" - $token = $env:System_Access_Token_PSV2_Task + Write-Host "empty response was found, returning the System Access Token"; + $token = $env:System_Access_Token_PSV2_Task; } - return $token + return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_" - $token = $env:System_Access_Token_PSV2_Task - return $token + Write-Host "Error in Get-AzDoToken: $_"; + $token = $env:System_Access_Token_PSV2_Task; + return $token; } } - ${script} `; @@ -299,14 +294,13 @@ async function run() { ${script} } finally { - # Close the streams if($pipeWriter) { - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() + $pipeWriter.WriteLine('Close'); + $pipeWriter.Flush(); + $pipeWriter.Close(); } if($pipeReader) { - $pipeReader.Close() + $pipeReader.Close(); } }` diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 52035cae5d45..eeabcd3c5812 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -243,40 +243,35 @@ async function run() { } script = ` - # Open the FIFO for writing - - $pipeWriter = $null - $pipeReader = $null - + $pipeWriter = $null; + $pipeReader = $null; try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); } catch { - Write-Verbose "Error in connecting to the pipes." + Write-Verbose "Error in connecting to the pipes."; } - function Get-AzDoToken { try { - $pipeWriter.WriteLine('Get-AzDoToken') - $pipeWriter.Flush() + $pipeWriter.WriteLine('Get-AzDoToken'); + $pipeWriter.Flush(); - $token = $pipeReader.ReadLine() - $token = $token.Trim() + $token = $pipeReader.ReadLine(); + $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token" - $token = $env:System_Access_Token_PSV2_Task + Write-Host "empty response was found, returning the System Access Token"; + $token = $env:System_Access_Token_PSV2_Task; } - return $token + return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_" - $token = $env:System_Access_Token_PSV2_Task - return $token + Write-Host "Error in Get-AzDoToken: $_"; + $token = $env:System_Access_Token_PSV2_Task; + return $token; } } - ${script} `; @@ -299,14 +294,13 @@ async function run() { ${script} } finally { - # Close the streams if($pipeWriter) { - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() + $pipeWriter.WriteLine('Close'); + $pipeWriter.Flush(); + $pipeWriter.Close(); } if($pipeReader) { - $pipeReader.Close() + $pipeReader.Close(); } }` diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 52035cae5d45..eeabcd3c5812 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -243,40 +243,35 @@ async function run() { } script = ` - # Open the FIFO for writing - - $pipeWriter = $null - $pipeReader = $null - + $pipeWriter = $null; + $pipeReader = $null; try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}') - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}') + $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); } catch { - Write-Verbose "Error in connecting to the pipes." + Write-Verbose "Error in connecting to the pipes."; } - function Get-AzDoToken { try { - $pipeWriter.WriteLine('Get-AzDoToken') - $pipeWriter.Flush() + $pipeWriter.WriteLine('Get-AzDoToken'); + $pipeWriter.Flush(); - $token = $pipeReader.ReadLine() - $token = $token.Trim() + $token = $pipeReader.ReadLine(); + $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token" - $token = $env:System_Access_Token_PSV2_Task + Write-Host "empty response was found, returning the System Access Token"; + $token = $env:System_Access_Token_PSV2_Task; } - return $token + return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_" - $token = $env:System_Access_Token_PSV2_Task - return $token + Write-Host "Error in Get-AzDoToken: $_"; + $token = $env:System_Access_Token_PSV2_Task; + return $token; } } - ${script} `; @@ -299,14 +294,13 @@ async function run() { ${script} } finally { - # Close the streams if($pipeWriter) { - $pipeWriter.WriteLine('Close') - $pipeWriter.Flush() - $pipeWriter.Close() + $pipeWriter.WriteLine('Close'); + $pipeWriter.Flush(); + $pipeWriter.Close(); } if($pipeReader) { - $pipeReader.Close() + $pipeReader.Close(); } }` From 22076f6f6f2903bf66e5d919c4c2f90c7319de22 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 18:25:53 +0530 Subject: [PATCH 15/37] build --- Tasks/PowerShellV2/Tests/L0Inline.ts | 2 -- Tasks/PowerShellV2/powershell.ts | 2 +- _generated/PowerShellV2/powershell.ts | 2 +- _generated/PowerShellV2_Node20/powershell.ts | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Tasks/PowerShellV2/Tests/L0Inline.ts b/Tasks/PowerShellV2/Tests/L0Inline.ts index e83e42f62a5f..e30615aacc45 100644 --- a/Tasks/PowerShellV2/Tests/L0Inline.ts +++ b/Tasks/PowerShellV2/Tests/L0Inline.ts @@ -31,8 +31,6 @@ let a: ma.TaskLibAnswers = { '/fakecwd' : true, 'path/to/powershell': true, 'temp/path': true, - '/tmp/ts2ps' : true, - '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index eeabcd3c5812..30d2d050f700 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -306,7 +306,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index eeabcd3c5812..30d2d050f700 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -306,7 +306,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index eeabcd3c5812..30d2d050f700 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -306,7 +306,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); From 450acf34213350740481d44da9ab7010516ce417 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 18:34:58 +0530 Subject: [PATCH 16/37] build --- _generated/PowerShellV2/Tests/L0Inline.ts | 2 -- _generated/PowerShellV2_Node20/Tests/L0Inline.ts | 2 -- 2 files changed, 4 deletions(-) diff --git a/_generated/PowerShellV2/Tests/L0Inline.ts b/_generated/PowerShellV2/Tests/L0Inline.ts index e83e42f62a5f..e30615aacc45 100644 --- a/_generated/PowerShellV2/Tests/L0Inline.ts +++ b/_generated/PowerShellV2/Tests/L0Inline.ts @@ -31,8 +31,6 @@ let a: ma.TaskLibAnswers = { '/fakecwd' : true, 'path/to/powershell': true, 'temp/path': true, - '/tmp/ts2ps' : true, - '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' diff --git a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts index e83e42f62a5f..e30615aacc45 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts @@ -31,8 +31,6 @@ let a: ma.TaskLibAnswers = { '/fakecwd' : true, 'path/to/powershell': true, 'temp/path': true, - '/tmp/ts2ps' : true, - '/tmp/ps2ts' : true }, 'which': { 'powershell': 'path/to/powershell' From 4b390f7e60455ab32297e35e23daa03b69bf4cd7 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sun, 1 Dec 2024 20:51:48 +0530 Subject: [PATCH 17/37] unit test fix --- Tasks/PowerShellV2/Tests/L0.ts | 16 ++++++++++++---- Tasks/PowerShellV2/Tests/L0Inline.ts | 6 +++++- Tasks/PowerShellV2/powershell.ts | 18 ++++++++++++------ Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/Tests/L0.ts | 16 ++++++++++++---- _generated/PowerShellV2/Tests/L0Inline.ts | 6 +++++- _generated/PowerShellV2/powershell.ts | 18 ++++++++++++------ _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- _generated/PowerShellV2_Node20/Tests/L0.ts | 16 ++++++++++++---- .../PowerShellV2_Node20/Tests/L0Inline.ts | 6 +++++- _generated/PowerShellV2_Node20/powershell.ts | 18 ++++++++++++------ _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 16 files changed, 103 insertions(+), 49 deletions(-) diff --git a/Tasks/PowerShellV2/Tests/L0.ts b/Tasks/PowerShellV2/Tests/L0.ts index 585c7e83b3ba..6fa08d4bb6ea 100644 --- a/Tasks/PowerShellV2/Tests/L0.ts +++ b/Tasks/PowerShellV2/Tests/L0.ts @@ -30,7 +30,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}Write-Host "my script output" to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Write-Host "my script output"`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -46,7 +48,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -62,7 +66,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' myCustomArg to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1' myCustomArg`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -93,7 +99,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); diff --git a/Tasks/PowerShellV2/Tests/L0Inline.ts b/Tasks/PowerShellV2/Tests/L0Inline.ts index e30615aacc45..0f30dba82242 100644 --- a/Tasks/PowerShellV2/Tests/L0Inline.ts +++ b/Tasks/PowerShellV2/Tests/L0Inline.ts @@ -30,7 +30,11 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true, + 'temp/path': true + }, + 'exist' : { + '/tmp/ts2ps': false, + '/tmp/ps2ts': false }, 'which': { 'powershell': 'path/to/powershell' diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 30d2d050f700..e342715a4926 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -63,13 +63,17 @@ async function startNamedPiped() { } }); - pipeStream.on('error', (err) => { + try { console.error('Error with pipe stream:', err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); + } + catch { + console.debug(`Cleanup failed : ${err.message}`); + } }); } @@ -162,8 +166,11 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - //startNamedPiped(); - + if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + { + startNamedPiped(); + } + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); @@ -245,6 +252,7 @@ async function run() { script = ` $pipeWriter = $null; $pipeReader = $null; + try { $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); @@ -306,7 +314,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); @@ -327,7 +335,6 @@ async function run() { '\ufeff' + contents.join(os.EOL), // Prepend the Unicode BOM character. { encoding: 'utf8' }); // Since UTF8 encoding is specified, node will // // encode the BOM into its UTF8 binary sequence. - // Run the script. // // Note, prefer "pwsh" over "powershell". At some point we can remove support for "powershell". @@ -388,7 +395,6 @@ async function run() { } catch (err) { console.log("error caught in exiting"); } - } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index e3044f9d0833..677a77469e7f 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 342 + "Patch": 346 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index d48f4e69dafe..74bdca6d3090 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 342 + "Patch": 346 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 13abaa6ddc62..98ffa4ecb0f8 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.342 -Node20-225|2.249.343 +Default|2.249.346 +Node20-225|2.249.347 diff --git a/_generated/PowerShellV2/Tests/L0.ts b/_generated/PowerShellV2/Tests/L0.ts index 585c7e83b3ba..6fa08d4bb6ea 100644 --- a/_generated/PowerShellV2/Tests/L0.ts +++ b/_generated/PowerShellV2/Tests/L0.ts @@ -30,7 +30,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}Write-Host "my script output" to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Write-Host "my script output"`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -46,7 +48,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -62,7 +66,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' myCustomArg to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1' myCustomArg`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -93,7 +99,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); diff --git a/_generated/PowerShellV2/Tests/L0Inline.ts b/_generated/PowerShellV2/Tests/L0Inline.ts index e30615aacc45..0f30dba82242 100644 --- a/_generated/PowerShellV2/Tests/L0Inline.ts +++ b/_generated/PowerShellV2/Tests/L0Inline.ts @@ -30,7 +30,11 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true, + 'temp/path': true + }, + 'exist' : { + '/tmp/ts2ps': false, + '/tmp/ps2ts': false }, 'which': { 'powershell': 'path/to/powershell' diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 30d2d050f700..e342715a4926 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -63,13 +63,17 @@ async function startNamedPiped() { } }); - pipeStream.on('error', (err) => { + try { console.error('Error with pipe stream:', err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); + } + catch { + console.debug(`Cleanup failed : ${err.message}`); + } }); } @@ -162,8 +166,11 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - //startNamedPiped(); - + if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + { + startNamedPiped(); + } + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); @@ -245,6 +252,7 @@ async function run() { script = ` $pipeWriter = $null; $pipeReader = $null; + try { $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); @@ -306,7 +314,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); @@ -327,7 +335,6 @@ async function run() { '\ufeff' + contents.join(os.EOL), // Prepend the Unicode BOM character. { encoding: 'utf8' }); // Since UTF8 encoding is specified, node will // // encode the BOM into its UTF8 binary sequence. - // Run the script. // // Note, prefer "pwsh" over "powershell". At some point we can remove support for "powershell". @@ -388,7 +395,6 @@ async function run() { } catch (err) { console.log("error caught in exiting"); } - } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 514d123a534c..eb97fd1f05ac 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 342 + "Patch": 346 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.342", + "Default": "2.249.346", "LocalPackages": "2.249.4", - "Node20-225": "2.249.343" + "Node20-225": "2.249.347" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index e0b1ae2605b6..2ee633177d08 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 342 + "Patch": 346 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.342", + "Default": "2.249.346", "LocalPackages": "2.249.4", - "Node20-225": "2.249.343" + "Node20-225": "2.249.347" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/Tests/L0.ts b/_generated/PowerShellV2_Node20/Tests/L0.ts index 585c7e83b3ba..6fa08d4bb6ea 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0.ts @@ -30,7 +30,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}Write-Host "my script output" to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Write-Host "my script output"`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -46,7 +48,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -62,7 +66,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' myCustomArg to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1' myCustomArg`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); @@ -93,7 +99,9 @@ describe('PowerShell Suite', function () { runValidations(() => { assert(tr.succeeded, 'PowerShell should have succeeded.'); assert(tr.stderr.length === 0, 'PowerShell should not have written to stderr'); - assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}. 'path/to/script.ps1' to temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`Writing \ufeff$ErrorActionPreference = 'Stop'${os.EOL}$ProgressPreference = 'SilentlyContinue'${os.EOL}`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`'path/to/script.ps1'`) > 0, 'PowerShell should have written the script to a file'); + assert(tr.stdout.indexOf(`temp/path/fileName.ps1`) > 0, 'PowerShell should have written the script to a file'); assert(tr.stdout.indexOf('my script output') > 0, 'PowerShell should have correctly run the script'); }, tr); }); diff --git a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts index e30615aacc45..0f30dba82242 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0Inline.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0Inline.ts @@ -30,7 +30,11 @@ let a: ma.TaskLibAnswers = { 'checkPath' : { '/fakecwd' : true, 'path/to/powershell': true, - 'temp/path': true, + 'temp/path': true + }, + 'exist' : { + '/tmp/ts2ps': false, + '/tmp/ps2ts': false }, 'which': { 'powershell': 'path/to/powershell' diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 30d2d050f700..e342715a4926 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -63,13 +63,17 @@ async function startNamedPiped() { } }); - pipeStream.on('error', (err) => { + try { console.error('Error with pipe stream:', err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); + } + catch { + console.debug(`Cleanup failed : ${err.message}`); + } }); } @@ -162,8 +166,11 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); - //startNamedPiped(); - + if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + { + startNamedPiped(); + } + // Get inputs let input_errorActionPreference: string = getActionPreference('errorActionPreference', 'Stop'); let input_warningPreference: string = getActionPreference('warningPreference', 'Default'); @@ -245,6 +252,7 @@ async function run() { script = ` $pipeWriter = $null; $pipeReader = $null; + try { $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); @@ -306,7 +314,7 @@ async function run() { contents.push(script); // log with detail to avoid a warning output. - // tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); + tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); if (!input_ignoreLASTEXITCODE) { contents.push(`if (!(Test-Path -LiteralPath variable:\LASTEXITCODE)) {`); @@ -327,7 +335,6 @@ async function run() { '\ufeff' + contents.join(os.EOL), // Prepend the Unicode BOM character. { encoding: 'utf8' }); // Since UTF8 encoding is specified, node will // // encode the BOM into its UTF8 binary sequence. - // Run the script. // // Note, prefer "pwsh" over "powershell". At some point we can remove support for "powershell". @@ -388,7 +395,6 @@ async function run() { } catch (err) { console.log("error caught in exiting"); } - } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index bd3c0d36e578..0d02920acf59 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 343 + "Patch": 347 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.342", + "Default": "2.249.346", "LocalPackages": "2.249.4", - "Node20-225": "2.249.343" + "Node20-225": "2.249.347" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index e1cc3fa3615d..a397cbef89da 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 343 + "Patch": 347 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.342", + "Default": "2.249.346", "LocalPackages": "2.249.4", - "Node20-225": "2.249.343" + "Node20-225": "2.249.347" } } \ No newline at end of file From a4f0344d2ac3d897e308de4ec577788dfd671193 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 2 Dec 2024 00:51:14 +0530 Subject: [PATCH 18/37] evrything works here, going to sleep now. --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 35 ++++++++----- Tasks/PowerShellV2/powershell.ps1 | 18 +++---- Tasks/PowerShellV2/powershell.ts | 51 +++++++++---------- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 35 ++++++++----- _generated/PowerShellV2/powershell.ps1 | 18 +++---- _generated/PowerShellV2/powershell.ts | 51 +++++++++---------- _generated/PowerShellV2/task.json | 6 +-- _generated/PowerShellV2/task.loc.json | 6 +-- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 35 ++++++++----- _generated/PowerShellV2_Node20/powershell.ps1 | 18 +++---- _generated/PowerShellV2_Node20/powershell.ts | 51 +++++++++---------- _generated/PowerShellV2_Node20/task.json | 6 +-- _generated/PowerShellV2_Node20/task.loc.json | 6 +-- 16 files changed, 184 insertions(+), 160 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 429bfb646508..c3b04e2b8729 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -41,23 +41,28 @@ function Global:Get-WiscAccessTokenPSV2Task { param( [Parameter(Mandatory=$true)] [string]$connectedServiceName - ) - - $token = $env:SystemAccessTokenPowershellV2 - + ) $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" - $token = $result.AccessToken + $token = $null + $expirationTime = $null + if($result) { + $token = $result.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + } if ($null -eq $token -or $token -eq [string]::Empty) { Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + if($expirationTime) { + Write-Host "Generated access token with expiration time of $expirationTime minutes." + } } return $token @@ -140,24 +145,28 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() + } elseif ($index -eq 1) { # Exit signal received - Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Verbose "Error occurred while waiting for signals: $_" + Write-Debug "Error occurred while waiting for signals: $_" } } } catch { - Write-Verbose "Critical error in Task: $_" + Write-Debug "Critical error in Task: $_" throw $_ } finally { - # Cleanup resources - if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } - if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } - if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Verbose "Task: Resources cleaned up. Exiting." + try { + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + } catch { + // do nothing + } + + Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index d3cf86faf132..44c4c62f59b4 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -51,6 +51,7 @@ try { param($tokenHandler,$filePath) try { $tokenHandler.TokenHandler.Invoke($filePath) + Start-Sleep 20 } catch { Write-Error $_ } @@ -173,33 +174,33 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Debug "User Script: Starting process to notify Task and read output." + Write-Verbose "User Script: Starting process to notify Task and read output." [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Debug "User Script: Notified Task to generate access token $tmp." + Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds if (!$receivedResponseBool) { - Write-Debug "User Script: Timeout waiting for Task to respond." + Write-Verbose "User Script: Timeout waiting for Task to respond." } else { try { [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Debug "UserScript : Read output from file" + Write-Verbose "UserScript : Read output from file" $tokenResponse = $powershellv2AccessToken } catch { - Write-Debug "Error reading the output file: $_" + Write-Verbose "Error reading the output file: $_" } } } catch { - Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" + Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -332,7 +333,6 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." + $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index e342715a4926..a2bf331810e1 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -25,71 +25,67 @@ process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken') async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); - console.log("connectedServiceName: " + connectedServiceName); + tl.debug("connectedServiceName: " + connectedServiceName); const pipeStream = fs.createReadStream(ps2TsPipePath); const writeStream = fs.createWriteStream(ts2PsPipePath); pipeStream.on('data', async (data) => { - const trimmedData = data.toString('utf8').trim(); - console.debug(`Received from PowerShell: ${trimmedData}`); + const command = data.toString('utf8').trim(); + tl.debug(`Received from PowerShell: ${command}`); var systemAccessToken = tl.getVariable('System.AccessToken'); process.env.System_Access_Token_PSV2_Task = systemAccessToken; - if (trimmedData == 'Get-AzDoToken') { + if (command == 'Get-AzDoToken') { try { if(connectedServiceName && connectedServiceName.trim().length > 0) { const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); writeStream.write(token + "\n"); } else { - console.log(`No Service Connection found, returning empty token`); + tl.debug(`No Service Connection found, returning empty token`); writeStream.write(systemAccessToken + "\n"); } } catch(err) { - console.log(`Token generation failed with error message ${err.message}`); + tl.debug(`Token generation failed with error message ${err.message}`); writeStream.write(systemAccessToken + "\n"); } } else { try { - console.debug('Pipe reading ended'); + tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } catch(err) { - console.debug(`Cleanup failed : ${err.message}`); + tl.debug(`Cleanup failed : ${err.message}`); } } }); pipeStream.on('error', (err) => { try { - console.error('Error with pipe stream:', err); + tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } - catch { - console.debug(`Cleanup failed : ${err.message}`); + catch(err) { + tl.debug(`Cleanup failed : ${err.message}`); } }); } async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { - - // workloadidentityfederation const authorizationScheme = tl .getEndpointAuthorizationSchemeRequired(connectedService) .toLowerCase(); - // get token using workload identity federation or managed service identity if (authorizationScheme !== "workloadidentityfederation") { throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); } - // use azure devops webapi to get federated token using service connection var servicePrincipalId: string = tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); @@ -99,11 +95,9 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - console.log(`Getting federated token for service connection ${connectedService}`); - + tl.debug(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - - console.log(`Got federated token for service connection ${connectedService}`); + tl.debug(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -146,9 +140,14 @@ async function getAccessTokenFromFederatedToken( }; const result = await app.acquireTokenByClientCredential(request); - - console.log(`Got access token for service principal ${servicePrincipalId}`); - + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + if(result?.expiresOn) { + const minutes = (result.expiresOn.getTime() - new Date().getTime())/60000; + console.log(`Generated access token with expiration time of ${minutes} minutes.`); + } + return result?.accessToken; } @@ -269,13 +268,13 @@ async function run() { $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token"; + Write-Verbose "empty response was found, returning the System Access Token"; $token = $env:System_Access_Token_PSV2_Task; } return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_"; + Write-Verbose "Error in Get-AzDoToken: $_"; $token = $env:System_Access_Token_PSV2_Task; return $token; } @@ -393,7 +392,7 @@ async function run() { pipeStream.close(); } } catch (err) { - console.log("error caught in exiting"); + tl.debug("error caught in exiting"); } } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 677a77469e7f..93964dbff6d1 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 346 + "Patch": 366 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 74bdca6d3090..918bd4f22262 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 346 + "Patch": 366 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 98ffa4ecb0f8..ed73572c51c0 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.346 -Node20-225|2.249.347 +Default|2.249.366 +Node20-225|2.249.367 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 429bfb646508..c3b04e2b8729 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -41,23 +41,28 @@ function Global:Get-WiscAccessTokenPSV2Task { param( [Parameter(Mandatory=$true)] [string]$connectedServiceName - ) - - $token = $env:SystemAccessTokenPowershellV2 - + ) $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" - $token = $result.AccessToken + $token = $null + $expirationTime = $null + if($result) { + $token = $result.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + } if ($null -eq $token -or $token -eq [string]::Empty) { Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + if($expirationTime) { + Write-Host "Generated access token with expiration time of $expirationTime minutes." + } } return $token @@ -140,24 +145,28 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() + } elseif ($index -eq 1) { # Exit signal received - Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Verbose "Error occurred while waiting for signals: $_" + Write-Debug "Error occurred while waiting for signals: $_" } } } catch { - Write-Verbose "Critical error in Task: $_" + Write-Debug "Critical error in Task: $_" throw $_ } finally { - # Cleanup resources - if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } - if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } - if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Verbose "Task: Resources cleaned up. Exiting." + try { + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + } catch { + // do nothing + } + + Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index d3cf86faf132..44c4c62f59b4 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -51,6 +51,7 @@ try { param($tokenHandler,$filePath) try { $tokenHandler.TokenHandler.Invoke($filePath) + Start-Sleep 20 } catch { Write-Error $_ } @@ -173,33 +174,33 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Debug "User Script: Starting process to notify Task and read output." + Write-Verbose "User Script: Starting process to notify Task and read output." [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Debug "User Script: Notified Task to generate access token $tmp." + Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds if (!$receivedResponseBool) { - Write-Debug "User Script: Timeout waiting for Task to respond." + Write-Verbose "User Script: Timeout waiting for Task to respond." } else { try { [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Debug "UserScript : Read output from file" + Write-Verbose "UserScript : Read output from file" $tokenResponse = $powershellv2AccessToken } catch { - Write-Debug "Error reading the output file: $_" + Write-Verbose "Error reading the output file: $_" } } } catch { - Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" + Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -332,7 +333,6 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." + $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index e342715a4926..a2bf331810e1 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -25,71 +25,67 @@ process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken') async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); - console.log("connectedServiceName: " + connectedServiceName); + tl.debug("connectedServiceName: " + connectedServiceName); const pipeStream = fs.createReadStream(ps2TsPipePath); const writeStream = fs.createWriteStream(ts2PsPipePath); pipeStream.on('data', async (data) => { - const trimmedData = data.toString('utf8').trim(); - console.debug(`Received from PowerShell: ${trimmedData}`); + const command = data.toString('utf8').trim(); + tl.debug(`Received from PowerShell: ${command}`); var systemAccessToken = tl.getVariable('System.AccessToken'); process.env.System_Access_Token_PSV2_Task = systemAccessToken; - if (trimmedData == 'Get-AzDoToken') { + if (command == 'Get-AzDoToken') { try { if(connectedServiceName && connectedServiceName.trim().length > 0) { const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); writeStream.write(token + "\n"); } else { - console.log(`No Service Connection found, returning empty token`); + tl.debug(`No Service Connection found, returning empty token`); writeStream.write(systemAccessToken + "\n"); } } catch(err) { - console.log(`Token generation failed with error message ${err.message}`); + tl.debug(`Token generation failed with error message ${err.message}`); writeStream.write(systemAccessToken + "\n"); } } else { try { - console.debug('Pipe reading ended'); + tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } catch(err) { - console.debug(`Cleanup failed : ${err.message}`); + tl.debug(`Cleanup failed : ${err.message}`); } } }); pipeStream.on('error', (err) => { try { - console.error('Error with pipe stream:', err); + tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } - catch { - console.debug(`Cleanup failed : ${err.message}`); + catch(err) { + tl.debug(`Cleanup failed : ${err.message}`); } }); } async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { - - // workloadidentityfederation const authorizationScheme = tl .getEndpointAuthorizationSchemeRequired(connectedService) .toLowerCase(); - // get token using workload identity federation or managed service identity if (authorizationScheme !== "workloadidentityfederation") { throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); } - // use azure devops webapi to get federated token using service connection var servicePrincipalId: string = tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); @@ -99,11 +95,9 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - console.log(`Getting federated token for service connection ${connectedService}`); - + tl.debug(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - - console.log(`Got federated token for service connection ${connectedService}`); + tl.debug(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -146,9 +140,14 @@ async function getAccessTokenFromFederatedToken( }; const result = await app.acquireTokenByClientCredential(request); - - console.log(`Got access token for service principal ${servicePrincipalId}`); - + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + if(result?.expiresOn) { + const minutes = (result.expiresOn.getTime() - new Date().getTime())/60000; + console.log(`Generated access token with expiration time of ${minutes} minutes.`); + } + return result?.accessToken; } @@ -269,13 +268,13 @@ async function run() { $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token"; + Write-Verbose "empty response was found, returning the System Access Token"; $token = $env:System_Access_Token_PSV2_Task; } return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_"; + Write-Verbose "Error in Get-AzDoToken: $_"; $token = $env:System_Access_Token_PSV2_Task; return $token; } @@ -393,7 +392,7 @@ async function run() { pipeStream.close(); } } catch (err) { - console.log("error caught in exiting"); + tl.debug("error caught in exiting"); } } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index eb97fd1f05ac..4571d11ad067 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 346 + "Patch": 366 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.346", + "Default": "2.249.366", "LocalPackages": "2.249.4", - "Node20-225": "2.249.347" + "Node20-225": "2.249.367" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 2ee633177d08..992ad083c565 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 346 + "Patch": 366 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.346", + "Default": "2.249.366", "LocalPackages": "2.249.4", - "Node20-225": "2.249.347" + "Node20-225": "2.249.367" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 429bfb646508..c3b04e2b8729 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -41,23 +41,28 @@ function Global:Get-WiscAccessTokenPSV2Task { param( [Parameter(Mandatory=$true)] [string]$connectedServiceName - ) - - $token = $env:SystemAccessTokenPowershellV2 - + ) $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" - $token = $result.AccessToken + $token = $null + $expirationTime = $null + if($result) { + $token = $result.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + } if ($null -eq $token -or $token -eq [string]::Empty) { Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + if($expirationTime) { + Write-Host "Generated access token with expiration time of $expirationTime minutes." + } } return $token @@ -140,24 +145,28 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() + } elseif ($index -eq 1) { # Exit signal received - Write-Verbose "Task: Exit signal received. Exiting loop..." break } } catch { - Write-Verbose "Error occurred while waiting for signals: $_" + Write-Debug "Error occurred while waiting for signals: $_" } } } catch { - Write-Verbose "Critical error in Task: $_" + Write-Debug "Critical error in Task: $_" throw $_ } finally { - # Cleanup resources - if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } - if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } - if ($null -ne $eventExit) { $eventExit.Dispose() } - Write-Verbose "Task: Resources cleaned up. Exiting." + try { + if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } + if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } + if ($null -ne $eventExit) { $eventExit.Dispose() } + } catch { + // do nothing + } + + Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index d3cf86faf132..44c4c62f59b4 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -51,6 +51,7 @@ try { param($tokenHandler,$filePath) try { $tokenHandler.TokenHandler.Invoke($filePath) + Start-Sleep 20 } catch { Write-Error $_ } @@ -173,33 +174,33 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Debug "User Script: Starting process to notify Task and read output." + Write-Verbose "User Script: Starting process to notify Task and read output." [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Debug "User Script: Notified Task to generate access token $tmp." + Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds + $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds if (!$receivedResponseBool) { - Write-Debug "User Script: Timeout waiting for Task to respond." + Write-Verbose "User Script: Timeout waiting for Task to respond." } else { try { [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Debug "UserScript : Read output from file" + Write-Verbose "UserScript : Read output from file" $tokenResponse = $powershellv2AccessToken } catch { - Write-Debug "Error reading the output file: $_" + Write-Verbose "Error reading the output file: $_" } } } catch { - Write-Debug "Error occurred in Get-AzDoTokenHelper : $_" + Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" } return $tokenResponse } @@ -332,7 +333,6 @@ finally { # Signal Script A to exit $exitSignal = "Global\ExitSignal" $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $tmp = $eventExit.Set() - Write-Debug "Exit signal sent to Task $tmp." + $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index e342715a4926..a2bf331810e1 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -25,71 +25,67 @@ process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken') async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); - console.log("connectedServiceName: " + connectedServiceName); + tl.debug("connectedServiceName: " + connectedServiceName); const pipeStream = fs.createReadStream(ps2TsPipePath); const writeStream = fs.createWriteStream(ts2PsPipePath); pipeStream.on('data', async (data) => { - const trimmedData = data.toString('utf8').trim(); - console.debug(`Received from PowerShell: ${trimmedData}`); + const command = data.toString('utf8').trim(); + tl.debug(`Received from PowerShell: ${command}`); var systemAccessToken = tl.getVariable('System.AccessToken'); process.env.System_Access_Token_PSV2_Task = systemAccessToken; - if (trimmedData == 'Get-AzDoToken') { + if (command == 'Get-AzDoToken') { try { if(connectedServiceName && connectedServiceName.trim().length > 0) { const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - console.log(`Successfully fetched the ADO access token for ${connectedServiceName}`); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); writeStream.write(token + "\n"); } else { - console.log(`No Service Connection found, returning empty token`); + tl.debug(`No Service Connection found, returning empty token`); writeStream.write(systemAccessToken + "\n"); } } catch(err) { - console.log(`Token generation failed with error message ${err.message}`); + tl.debug(`Token generation failed with error message ${err.message}`); writeStream.write(systemAccessToken + "\n"); } } else { try { - console.debug('Pipe reading ended'); + tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } catch(err) { - console.debug(`Cleanup failed : ${err.message}`); + tl.debug(`Cleanup failed : ${err.message}`); } } }); pipeStream.on('error', (err) => { try { - console.error('Error with pipe stream:', err); + tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); fs.unlinkSync(ts2PsPipePath); fs.unlinkSync(ps2TsPipePath); } - catch { - console.debug(`Cleanup failed : ${err.message}`); + catch(err) { + tl.debug(`Cleanup failed : ${err.message}`); } }); } async function getAccessTokenViaWorkloadIdentityFederation(connectedService: string): Promise { - - // workloadidentityfederation const authorizationScheme = tl .getEndpointAuthorizationSchemeRequired(connectedService) .toLowerCase(); - // get token using workload identity federation or managed service identity if (authorizationScheme !== "workloadidentityfederation") { throw new Error(`Authorization scheme ${authorizationScheme} is not supported.`); } - // use azure devops webapi to get federated token using service connection var servicePrincipalId: string = tl.getEndpointAuthorizationParameterRequired(connectedService, "serviceprincipalid"); @@ -99,11 +95,9 @@ async function getAccessTokenViaWorkloadIdentityFederation(connectedService: str const authorityUrl = tl.getEndpointDataParameter(connectedService, "activeDirectoryAuthority", true) ?? "https://login.microsoftonline.com/"; - console.log(`Getting federated token for service connection ${connectedService}`); - + tl.debug(`Getting federated token for service connection ${connectedService}`); var federatedToken: string = await getFederatedToken(connectedService); - - console.log(`Got federated token for service connection ${connectedService}`); + tl.debug(`Got federated token for service connection ${connectedService}`); // exchange federated token for service principal token (below) return await getAccessTokenFromFederatedToken(servicePrincipalId, servicePrincipalTenantId, federatedToken, authorityUrl); @@ -146,9 +140,14 @@ async function getAccessTokenFromFederatedToken( }; const result = await app.acquireTokenByClientCredential(request); - - console.log(`Got access token for service principal ${servicePrincipalId}`); - + + tl.debug(`Got access token for service principal ${servicePrincipalId}`); + + if(result?.expiresOn) { + const minutes = (result.expiresOn.getTime() - new Date().getTime())/60000; + console.log(`Generated access token with expiration time of ${minutes} minutes.`); + } + return result?.accessToken; } @@ -269,13 +268,13 @@ async function run() { $token = $token.Trim(); if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Host "empty response was found, returning the System Access Token"; + Write-Verbose "empty response was found, returning the System Access Token"; $token = $env:System_Access_Token_PSV2_Task; } return $token; } catch { - Write-Host "Error in Get-AzDoToken: $_"; + Write-Verbose "Error in Get-AzDoToken: $_"; $token = $env:System_Access_Token_PSV2_Task; return $token; } @@ -393,7 +392,7 @@ async function run() { pipeStream.close(); } } catch (err) { - console.log("error caught in exiting"); + tl.debug("error caught in exiting"); } } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 0d02920acf59..4ce7a3c761cb 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 347 + "Patch": 367 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.346", + "Default": "2.249.366", "LocalPackages": "2.249.4", - "Node20-225": "2.249.347" + "Node20-225": "2.249.367" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index a397cbef89da..e362be7102fe 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 347 + "Patch": 367 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.346", + "Default": "2.249.366", "LocalPackages": "2.249.4", - "Node20-225": "2.249.347" + "Node20-225": "2.249.367" } } \ No newline at end of file From b82f1c064553d9b85789767a267f7f0eec6b0857 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 2 Dec 2024 13:59:21 +0530 Subject: [PATCH 19/37] ubuntu pipe name randomness --- Tasks/PowerShellV2/powershell.ts | 4 ++-- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/powershell.ts | 4 ++-- _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- _generated/PowerShellV2_Node20/powershell.ts | 4 ++-- _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 10 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index a2bf331810e1..7461df54f8a6 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -11,8 +11,8 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps'; -const ps2TsPipePath = '/tmp/ps2ts'; +const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); +const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); cp.spawnSync('mkfifo', [ts2PsPipePath]); cp.spawnSync('mkfifo', [ps2TsPipePath]); diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 93964dbff6d1..9445857d923c 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 366 + "Patch": 368 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 918bd4f22262..8b24a83d781d 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 366 + "Patch": 368 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index ed73572c51c0..97165c94d369 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.366 -Node20-225|2.249.367 +Default|2.249.368 +Node20-225|2.249.369 diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index a2bf331810e1..7461df54f8a6 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -11,8 +11,8 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps'; -const ps2TsPipePath = '/tmp/ps2ts'; +const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); +const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); cp.spawnSync('mkfifo', [ts2PsPipePath]); cp.spawnSync('mkfifo', [ps2TsPipePath]); diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 4571d11ad067..f35d2bef941c 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 366 + "Patch": 368 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.366", + "Default": "2.249.368", "LocalPackages": "2.249.4", - "Node20-225": "2.249.367" + "Node20-225": "2.249.369" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 992ad083c565..73ee96833bfc 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 366 + "Patch": 368 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.366", + "Default": "2.249.368", "LocalPackages": "2.249.4", - "Node20-225": "2.249.367" + "Node20-225": "2.249.369" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index a2bf331810e1..7461df54f8a6 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -11,8 +11,8 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps'; -const ps2TsPipePath = '/tmp/ps2ts'; +const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); +const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); cp.spawnSync('mkfifo', [ts2PsPipePath]); cp.spawnSync('mkfifo', [ps2TsPipePath]); diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 4ce7a3c761cb..8355ee8bb158 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 367 + "Patch": 369 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.366", + "Default": "2.249.368", "LocalPackages": "2.249.4", - "Node20-225": "2.249.367" + "Node20-225": "2.249.369" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index e362be7102fe..c5221d23408e 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 367 + "Patch": 369 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.366", + "Default": "2.249.368", "LocalPackages": "2.249.4", - "Node20-225": "2.249.367" + "Node20-225": "2.249.369" } } \ No newline at end of file From bc7e370c976fa9dbe0bdfb77c725d16d957d0d6e Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 2 Dec 2024 15:33:16 +0530 Subject: [PATCH 20/37] Adding randomness in events --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 14 ++++++----- Tasks/PowerShellV2/powershell.ps1 | 25 +++++++++++-------- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +-- _generated/PowerShellV2/AccessTokenHelper.ps1 | 14 ++++++----- _generated/PowerShellV2/powershell.ps1 | 25 +++++++++++-------- _generated/PowerShellV2/task.json | 6 ++--- _generated/PowerShellV2/task.loc.json | 6 ++--- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 14 ++++++----- _generated/PowerShellV2_Node20/powershell.ps1 | 25 +++++++++++-------- _generated/PowerShellV2_Node20/task.json | 6 ++--- _generated/PowerShellV2_Node20/task.loc.json | 6 ++--- 13 files changed, 82 insertions(+), 67 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index c3b04e2b8729..59efaba1fce5 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -74,13 +74,15 @@ $tokenHandler = [PSCustomObject]@{ TokenHandler = { param( [Parameter(Mandatory=$true)] - [string]$filePath + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal ) - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" - $exitSignal = "Global\ExitSignal" - $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null @@ -145,7 +147,7 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() - + } elseif ($index -eq 1) { # Exit signal received break diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 44c4c62f59b4..280b2ef42b85 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -1,13 +1,17 @@ [CmdletBinding()] param() -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global -Import-Module Microsoft.PowerShell.Security -Global +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk +Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 +$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() +$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() +$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -48,20 +52,20 @@ try { . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath) + param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { - $tokenHandler.TokenHandler.Invoke($filePath) + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) Start-Sleep 20 } catch { Write-Error $_ } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 20 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -167,8 +171,8 @@ try { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) @@ -330,8 +334,7 @@ finally { Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" + # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 9445857d923c..8aeed444f73d 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 368 + "Patch": 372 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 8b24a83d781d..bdd2a9469de8 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 368 + "Patch": 372 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 97165c94d369..86b9c3ad31bc 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.368 -Node20-225|2.249.369 +Default|2.249.372 +Node20-225|2.249.373 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index c3b04e2b8729..59efaba1fce5 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -74,13 +74,15 @@ $tokenHandler = [PSCustomObject]@{ TokenHandler = { param( [Parameter(Mandatory=$true)] - [string]$filePath + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal ) - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" - $exitSignal = "Global\ExitSignal" - $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null @@ -145,7 +147,7 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() - + } elseif ($index -eq 1) { # Exit signal received break diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 44c4c62f59b4..280b2ef42b85 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -1,13 +1,17 @@ [CmdletBinding()] param() -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global -Import-Module Microsoft.PowerShell.Security -Global +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk +Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 +$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() +$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() +$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -48,20 +52,20 @@ try { . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath) + param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { - $tokenHandler.TokenHandler.Invoke($filePath) + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) Start-Sleep 20 } catch { Write-Error $_ } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 20 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -167,8 +171,8 @@ try { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) @@ -330,8 +334,7 @@ finally { Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" + # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index f35d2bef941c..d28694b990fe 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 368 + "Patch": 372 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.368", + "Default": "2.249.372", "LocalPackages": "2.249.4", - "Node20-225": "2.249.369" + "Node20-225": "2.249.373" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 73ee96833bfc..bd794abdcafb 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 368 + "Patch": 372 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.368", + "Default": "2.249.372", "LocalPackages": "2.249.4", - "Node20-225": "2.249.369" + "Node20-225": "2.249.373" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index c3b04e2b8729..59efaba1fce5 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -74,13 +74,15 @@ $tokenHandler = [PSCustomObject]@{ TokenHandler = { param( [Parameter(Mandatory=$true)] - [string]$filePath + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal ) - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" - $exitSignal = "Global\ExitSignal" - $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null @@ -145,7 +147,7 @@ $tokenHandler = [PSCustomObject]@{ # Signal UserScript to read the file $eventFromTask.Set() - + } elseif ($index -eq 1) { # Exit signal received break diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 44c4c62f59b4..280b2ef42b85 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -1,13 +1,17 @@ [CmdletBinding()] param() -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Global +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Global -Import-Module Microsoft.PowerShell.Security -Global +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk +Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 +$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() +$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() +$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -48,20 +52,20 @@ try { . $PSScriptRoot\accessTokenHelper.ps1 $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath) + param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { - $tokenHandler.TokenHandler.Invoke($filePath) + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) Start-Sleep 20 } catch { Write-Error $_ } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath) + }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 20 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -167,8 +171,8 @@ try { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "Global\SignalFromUserScript" - $signalFromTask = "Global\SignalFromTask" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) @@ -330,8 +334,7 @@ finally { Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - # Signal Script A to exit - $exitSignal = "Global\ExitSignal" + # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() Trace-VstsLeavingInvocation $MyInvocation diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 8355ee8bb158..5ae3540b66d3 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 369 + "Patch": 373 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.368", + "Default": "2.249.372", "LocalPackages": "2.249.4", - "Node20-225": "2.249.369" + "Node20-225": "2.249.373" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index c5221d23408e..02956182ef47 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 249, - "Patch": 369 + "Patch": 373 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.368", + "Default": "2.249.372", "LocalPackages": "2.249.4", - "Node20-225": "2.249.369" + "Node20-225": "2.249.373" } } \ No newline at end of file From 1658e57d002fd5dd703d083d12dba11fe0315ed5 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 2 Dec 2024 16:19:51 +0530 Subject: [PATCH 21/37] try catch in finally block --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 5 +---- Tasks/PowerShellV2/powershell.ps1 | 21 ++++++++++++------- _generated/PowerShellV2/AccessTokenHelper.ps1 | 5 +---- _generated/PowerShellV2/powershell.ps1 | 21 ++++++++++++------- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 5 +---- _generated/PowerShellV2_Node20/powershell.ps1 | 21 ++++++++++++------- 6 files changed, 42 insertions(+), 36 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 59efaba1fce5..ae902a50da35 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -158,17 +158,14 @@ $tokenHandler = [PSCustomObject]@{ } } catch { Write-Debug "Critical error in Task: $_" - throw $_ } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } } catch { - // do nothing + # do nothing } - - Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 280b2ef42b85..565a62eb7776 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -55,7 +55,7 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 20 + #Start-Sleep 20 } catch { Write-Error $_ } @@ -331,11 +331,16 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - - # Signal Task to exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation + try { + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Task to exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation + } catch { + # do nothing + } + } \ No newline at end of file diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 59efaba1fce5..ae902a50da35 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -158,17 +158,14 @@ $tokenHandler = [PSCustomObject]@{ } } catch { Write-Debug "Critical error in Task: $_" - throw $_ } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } } catch { - // do nothing + # do nothing } - - Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 280b2ef42b85..565a62eb7776 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -55,7 +55,7 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 20 + #Start-Sleep 20 } catch { Write-Error $_ } @@ -331,11 +331,16 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - - # Signal Task to exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation + try { + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Task to exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation + } catch { + # do nothing + } + } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 59efaba1fce5..ae902a50da35 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -158,17 +158,14 @@ $tokenHandler = [PSCustomObject]@{ } } catch { Write-Debug "Critical error in Task: $_" - throw $_ } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } } catch { - // do nothing + # do nothing } - - Write-Debug "Task: Resources cleaned up. Exiting." } } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 280b2ef42b85..565a62eb7776 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -55,7 +55,7 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 20 + #Start-Sleep 20 } catch { Write-Error $_ } @@ -331,11 +331,16 @@ catch { Write-VstsSetResult -Result 'Failed' -Message "Error detected" -DoNotThrow } finally { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - - # Signal Task to exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation + try { + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } + + # Signal Task to exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation + } catch { + # do nothing + } + } \ No newline at end of file From fab3f16334576317c428f6759aa6ea7e08e51acc Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Wed, 4 Dec 2024 11:28:01 +0530 Subject: [PATCH 22/37] Removed VstsLeavingInvocation and added a sleep for the runspace thread --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 1 + Tasks/PowerShellV2/powershell.ps1 | 19 +++++++++---------- Tasks/PowerShellV2/task.json | 4 ++-- Tasks/PowerShellV2/task.loc.json | 4 ++-- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/AccessTokenHelper.ps1 | 1 + _generated/PowerShellV2/powershell.ps1 | 19 +++++++++---------- _generated/PowerShellV2/task.json | 8 ++++---- _generated/PowerShellV2/task.loc.json | 8 ++++---- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 1 + _generated/PowerShellV2_Node20/powershell.ps1 | 19 +++++++++---------- _generated/PowerShellV2_Node20/task.json | 8 ++++---- _generated/PowerShellV2_Node20/task.loc.json | 8 ++++---- 13 files changed, 52 insertions(+), 52 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index ae902a50da35..de6043a32678 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -149,6 +149,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromTask.Set() } elseif ($index -eq 1) { + Write-Host "Exiting the loop" # Exit signal received break } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 565a62eb7776..6983e03b6ea5 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -55,17 +55,19 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 20 + Start-Sleep 60 + return 1 + } catch { - Write-Error $_ + Write-Host $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + $rsoutput = $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 10 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -332,15 +334,12 @@ catch { } finally { try { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation } catch { - # do nothing + Write-Host "Some error $_" } - } \ No newline at end of file diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 8aeed444f73d..f9a9401d9b8f 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 372 + "Minor": 250, + "Patch": 22 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index bdd2a9469de8..447ef64e8928 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 372 + "Minor": 250, + "Patch": 22 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 86b9c3ad31bc..dd263c9fefe2 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.249.372 -Node20-225|2.249.373 +Default|2.250.22 +Node20-225|2.250.23 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index ae902a50da35..de6043a32678 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -149,6 +149,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromTask.Set() } elseif ($index -eq 1) { + Write-Host "Exiting the loop" # Exit signal received break } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 565a62eb7776..6983e03b6ea5 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -55,17 +55,19 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 20 + Start-Sleep 60 + return 1 + } catch { - Write-Error $_ + Write-Host $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + $rsoutput = $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 10 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -332,15 +334,12 @@ catch { } finally { try { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation } catch { - # do nothing + Write-Host "Some error $_" } - } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index d28694b990fe..1414f05035ec 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 372 + "Minor": 250, + "Patch": 22 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.372", + "Default": "2.250.22", "LocalPackages": "2.249.4", - "Node20-225": "2.249.373" + "Node20-225": "2.250.23" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index bd794abdcafb..5aed80c93769 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 372 + "Minor": 250, + "Patch": 22 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.372", + "Default": "2.250.22", "LocalPackages": "2.249.4", - "Node20-225": "2.249.373" + "Node20-225": "2.250.23" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index ae902a50da35..de6043a32678 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -149,6 +149,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromTask.Set() } elseif ($index -eq 1) { + Write-Host "Exiting the loop" # Exit signal received break } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 565a62eb7776..6983e03b6ea5 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -55,17 +55,19 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 20 + Start-Sleep 60 + return 1 + } catch { - Write-Error $_ + Write-Host $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + $rsoutput = $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 10 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -332,15 +334,12 @@ catch { } finally { try { - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } - + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } + # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Trace-VstsLeavingInvocation $MyInvocation } catch { - # do nothing + Write-Host "Some error $_" } - } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 5ae3540b66d3..7a117917d7df 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 373 + "Minor": 250, + "Patch": 23 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.249.372", + "Default": "2.250.22", "LocalPackages": "2.249.4", - "Node20-225": "2.249.373" + "Node20-225": "2.250.23" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 02956182ef47..23ddfaf82e77 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, - "Patch": 373 + "Minor": 250, + "Patch": 23 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.249.372", + "Default": "2.250.22", "LocalPackages": "2.249.4", - "Node20-225": "2.249.373" + "Node20-225": "2.250.23" } } \ No newline at end of file From 5b1a55891c2edc2e68f12a55c612ec31fba586a5 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Thu, 5 Dec 2024 14:43:03 +0530 Subject: [PATCH 23/37] Removing sleep from the runspace --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 4 ++-- Tasks/PowerShellV2/powershell.ps1 | 16 ++++++++-------- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/AccessTokenHelper.ps1 | 4 ++-- _generated/PowerShellV2/powershell.ps1 | 16 ++++++++-------- _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 4 ++-- _generated/PowerShellV2_Node20/powershell.ps1 | 16 ++++++++-------- _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 13 files changed, 46 insertions(+), 46 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index de6043a32678..74df51581fb8 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -91,7 +91,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -146,7 +146,7 @@ $tokenHandler = [PSCustomObject]@{ } # Signal UserScript to read the file - $eventFromTask.Set() + $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { Write-Host "Exiting the loop" diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 6983e03b6ea5..640bcd515a0a 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -55,19 +55,18 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 60 + #Start-Sleep 60 return 1 - } catch { - Write-Host $_ + return $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 15 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -334,12 +333,13 @@ catch { } finally { try { - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation } catch { - Write-Host "Some error $_" + Write-Host "Full Exception Object: $_" + Write-Host "Error Object $($_.ErrorDetails)" + Write-Host "Exception Object $($_.Exception)" } } \ No newline at end of file diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index f9a9401d9b8f..a3c045fc196c 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 22 + "Patch": 72 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 447ef64e8928..0d372b1710b4 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 22 + "Patch": 72 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index dd263c9fefe2..69a6988acb8d 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.22 -Node20-225|2.250.23 +Default|2.250.72 +Node20-225|2.250.73 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index de6043a32678..74df51581fb8 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -91,7 +91,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -146,7 +146,7 @@ $tokenHandler = [PSCustomObject]@{ } # Signal UserScript to read the file - $eventFromTask.Set() + $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { Write-Host "Exiting the loop" diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 6983e03b6ea5..640bcd515a0a 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -55,19 +55,18 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 60 + #Start-Sleep 60 return 1 - } catch { - Write-Host $_ + return $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 15 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -334,12 +333,13 @@ catch { } finally { try { - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation } catch { - Write-Host "Some error $_" + Write-Host "Full Exception Object: $_" + Write-Host "Error Object $($_.ErrorDetails)" + Write-Host "Exception Object $($_.Exception)" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 1414f05035ec..430d5cc0f33f 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 22 + "Patch": 72 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.22", + "Default": "2.250.72", "LocalPackages": "2.249.4", - "Node20-225": "2.250.23" + "Node20-225": "2.250.73" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 5aed80c93769..3af974c0973a 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 22 + "Patch": 72 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.22", + "Default": "2.250.72", "LocalPackages": "2.249.4", - "Node20-225": "2.250.23" + "Node20-225": "2.250.73" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index de6043a32678..74df51581fb8 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -91,7 +91,7 @@ $tokenHandler = [PSCustomObject]@{ $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - + # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -146,7 +146,7 @@ $tokenHandler = [PSCustomObject]@{ } # Signal UserScript to read the file - $eventFromTask.Set() + $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { Write-Host "Exiting the loop" diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 6983e03b6ea5..640bcd515a0a 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -55,19 +55,18 @@ try { param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) try { $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - Start-Sleep 60 + #Start-Sleep 60 return 1 - } catch { - Write-Host $_ + return $_ } }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $psRunspace.BeginInvoke() # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 10 + Start-Sleep 15 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -334,12 +333,13 @@ catch { } finally { try { - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.psm1 | ForEach-Object { . $_.FullName } - # Get-ChildItem -Path "$PSScriptRoot\ps_modules\VstsTaskSdk" -Filter *.ps1 | ForEach-Object { . $_.FullName } # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Trace-VstsLeavingInvocation $MyInvocation } catch { - Write-Host "Some error $_" + Write-Host "Full Exception Object: $_" + Write-Host "Error Object $($_.ErrorDetails)" + Write-Host "Exception Object $($_.Exception)" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 7a117917d7df..381ef9c26598 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 23 + "Patch": 73 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.22", + "Default": "2.250.72", "LocalPackages": "2.249.4", - "Node20-225": "2.250.23" + "Node20-225": "2.250.73" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 23ddfaf82e77..52e58e814e2e 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 23 + "Patch": 73 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.22", + "Default": "2.250.72", "LocalPackages": "2.249.4", - "Node20-225": "2.250.23" + "Node20-225": "2.250.73" } } \ No newline at end of file From b51eb79db3a6cedf61f74d89e06da38b92a7ad8e Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Wed, 11 Dec 2024 14:01:46 +0530 Subject: [PATCH 24/37] Using .Net Threads --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 26 ++- Tasks/PowerShellV2/powershell.ps1 | 38 ++-- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 177 +++++++++++++++--- _generated/PowerShellV2/powershell.ps1 | 42 +++-- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 177 +++++++++++++++--- _generated/PowerShellV2_Node20/powershell.ps1 | 42 +++-- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 13 files changed, 395 insertions(+), 139 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 74df51581fb8..7e709ecdc66e 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -31,7 +31,7 @@ function Global:Get-VstsFederatedTokenPSV2Task { Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } @@ -44,7 +44,7 @@ function Global:Get-WiscAccessTokenPSV2Task { ) $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" @@ -69,19 +69,15 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -$tokenHandler = [PSCustomObject]@{ - - TokenHandler = { - param( - [Parameter(Mandatory=$true)] - [string]$filePath, - [Parameter(Mandatory=$true)] - [string]$signalFromUserScript, - [Parameter(Mandatory=$true)] - [string]$signalFromTask, - [Parameter(Mandatory=$true)] - [string]$exitSignal - ) +class TokenHandler { + handle($s) + { + $array = $s -split '::' + Write-Host $array + [string]$filePath = $array[0] + [string]$signalFromUserScript = $array[1] + [string]$signalFromTask = $array[2] + [string]$exitSignal = $array[3] $eventFromUserScript = $null $eventFromTask = $null diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 640bcd515a0a..b943dfb409af 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -1,11 +1,14 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module Microsoft.PowerShell.Security +Add-Type -AssemblyName "System.Threading" +Add-Type -AssemblyName "System" + . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() @@ -39,34 +42,29 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() - - . $PSScriptRoot\accessTokenHelper.ps1 - $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - try { - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 60 - return 1 - } catch { - return $_ - } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + . $accessTokenHelperFilePath - $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + try { + $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); + $thread = [System.Threading.Thread]::new($ts); + $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" + $thread.Start($arg); + } + catch { + Write-Host "Something failed ; $_" + } + # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 15 + Start-Sleep 30 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index a3c045fc196c..5879932a4510 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 72 + "Patch": 118 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 0d372b1710b4..96d24c3bab85 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 72 + "Patch": 118 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 69a6988acb8d..fb89363d9b03 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.72 -Node20-225|2.250.73 +Default|2.250.118 +Node20-225|2.250.119 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 74df51581fb8..c56b03443714 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -1,3 +1,6 @@ +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk + function Global:Get-VstsFederatedTokenPSV2Task { param( [Parameter(Mandatory=$true)] @@ -28,11 +31,12 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Verbose "Failed to create OIDC token." + #Write-Verbose "Failed to create OIDC token." + $env:praval = $env:praval + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - Write-Verbose "OIDC Token generated Successfully" + $env:praval = $env:praval + "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -42,11 +46,21 @@ function Global:Get-WiscAccessTokenPSV2Task { [Parameter(Mandatory=$true)] [string]$connectedServiceName ) + + $env:praval = $env:praval + "`n" + "Inside Get-WiscAccessTokenPSV2Task" + $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + $env:praval = $env:praval + "`n" + "$vstsEndpoint" + + try { + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" + } catch { + $env:praval = $env:praval + "`n" + "Get-AccessTokenMSALWithCustomScope failed with $_" + throw $_ + } $token = $null $expirationTime = $null @@ -56,12 +70,12 @@ function Global:Get-WiscAccessTokenPSV2Task { } if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "Generated token found to be null, returning the System Access Token" + $env:praval = $env:praval + "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - Write-Host "Generated access token with expiration time of $expirationTime minutes." + $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." } } @@ -69,19 +83,118 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -$tokenHandler = [PSCustomObject]@{ +# $tokenHandler = [PSCustomObject]@{ + +# TokenHandler = { +# param( +# [Parameter(Mandatory=$true)] +# [string]$filePath, +# [Parameter(Mandatory=$true)] +# [string]$signalFromUserScript, +# [Parameter(Mandatory=$true)] +# [string]$signalFromTask, +# [Parameter(Mandatory=$true)] +# [string]$exitSignal +# ) + +# $eventFromUserScript = $null +# $eventFromTask = $null +# $eventExit = $null + +# try { +# $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) +# $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) +# $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + +# # Ensure the output file has restricted permissions +# if (-not (Test-Path $filePath)) { +# New-Item -Path $filePath -ItemType File -Force +# $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + +# # Create a new ACL that only grants access to the current user +# $acl = Get-Acl $filePath +# $acl.SetAccessRuleProtection($true, $false) # Disable inheritance +# $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( +# $currentUser, "FullControl", "Allow" +# ) +# $acl.SetAccessRule($rule) - TokenHandler = { - param( - [Parameter(Mandatory=$true)] - [string]$filePath, - [Parameter(Mandatory=$true)] - [string]$signalFromUserScript, - [Parameter(Mandatory=$true)] - [string]$signalFromTask, - [Parameter(Mandatory=$true)] - [string]$exitSignal - ) +# # Apply the ACL to the file +# Set-Acl -Path $filePath -AclObject $acl +# } else { +# $env:praval = $env:praval + "`n" + "Token File not found" +# throw "Token File not found" +# } + +# $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + +# # Infinite loop to wait for signals and respond +# while ($true) { +# try { +# # Wait for either UserScript signal or Exit signal +# $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + +# if ($index -eq 0) { + +# # Signal from UserScript +# $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require +# $token = "" +# try { +# [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) +# $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" + +# if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { +# $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" +# $token = $env:SystemAccessTokenPowershellV2 +# } else { +# $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName +# $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" +# } +# } +# catch { +# $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" +# $token = $env:SystemAccessTokenPowershellV2 + +# } finally { +# $token | Set-Content -Path $filePath +# $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" +# } + +# # Signal UserScript to read the file +# $tmp = $eventFromTask.Set() + +# } elseif ($index -eq 1) { +# $env:praval = $env:praval + "`n" + "Exiting the loop" +# # Exit signal received +# break +# } +# } catch { +# $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" +# } +# } +# } catch { +# $env:praval = $env:praval + "`n" + "Critical error in Task: $_" +# } finally { +# try { +# if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } +# if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } +# if ($null -ne $eventExit) { $eventExit.Dispose() } +# } catch { +# # do nothing +# } +# } +# } +# } + +class TokenHandler { + handle($s) + { + $array = $s -split '::' + Write-Host $array + [string]$filePath = $array[0] + [string]$signalFromUserScript = $array[1] + [string]$signalFromTask = $array[2] + [string]$exitSignal = $array[3] $eventFromUserScript = $null $eventFromTask = $null @@ -108,11 +221,12 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else { - Write-Error "Token File not found" + $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Verbose "Task: Waiting for signals..." + $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + Write-Host "Task: Waiting for signals..." # Infinite loop to wait for signals and respond while ($true) { @@ -124,41 +238,52 @@ $tokenHandler = [PSCustomObject]@{ # Signal from UserScript $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + Write-Host $env:SystemAccessTokenPowershellV2 + $token = "" try { [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" + Write-Host "ConnectedServiceName $connectedServiceName" if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Verbose "No Service connection was found, returning the System Access Token" + $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 + Write-Host "No Service connection was found, returning the System Access Token" } else { $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } } catch { - Write-Verbose "Failed to generate token with message $_, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" + Write-Host "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Verbose "Task: Wrote access token to file" + $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" + Write-Host "Task: Wrote access token to file" } # Signal UserScript to read the file $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { + $env:praval = $env:praval + "`n" + "Exiting the loop" Write-Host "Exiting the loop" # Exit signal received break } } catch { - Write-Debug "Error occurred while waiting for signals: $_" + $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" + Write-Host "Error occurred while waiting for signals: $_" } } } catch { - Write-Debug "Critical error in Task: $_" + $env:praval = $env:praval + "`n" + "Critical error in Task: $_" + Write-Host "Critical error in Task: $_" } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 640bcd515a0a..9218ecb34db5 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -1,16 +1,20 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module Microsoft.PowerShell.Security +Add-Type -AssemblyName "System.Threading" +Add-Type -AssemblyName "System" + . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() +$env:praval = "" function Get-ActionPreference { param ( @@ -39,7 +43,6 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require @@ -47,26 +50,26 @@ try { $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() + # $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + # $runspacePool.Open() - . $PSScriptRoot\accessTokenHelper.ps1 - $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - try { - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 60 - return 1 - } catch { - return $_ - } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + . $accessTokenHelperFilePath - $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + try { + $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); + $thread = [System.Threading.Thread]::new($ts); + $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" + $thread.Start($arg); + } + catch { + Write-Host "Something failed ; $_" + } + # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 15 + Start-Sleep 30 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -336,6 +339,9 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + # $output = $psRunspace.EndInvoke($runspaceOutput) + # Write-Host $output + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 430d5cc0f33f..5df93265689f 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 72 + "Patch": 118 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.72", + "Default": "2.250.118", "LocalPackages": "2.249.4", - "Node20-225": "2.250.73" + "Node20-225": "2.250.119" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 3af974c0973a..487096602155 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 72 + "Patch": 118 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.72", + "Default": "2.250.118", "LocalPackages": "2.249.4", - "Node20-225": "2.250.73" + "Node20-225": "2.250.119" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 74df51581fb8..c56b03443714 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -1,3 +1,6 @@ +Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk + function Global:Get-VstsFederatedTokenPSV2Task { param( [Parameter(Mandatory=$true)] @@ -28,11 +31,12 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Verbose "Failed to create OIDC token." + #Write-Verbose "Failed to create OIDC token." + $env:praval = $env:praval + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - Write-Verbose "OIDC Token generated Successfully" + $env:praval = $env:praval + "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -42,11 +46,21 @@ function Global:Get-WiscAccessTokenPSV2Task { [Parameter(Mandatory=$true)] [string]$connectedServiceName ) + + $env:praval = $env:praval + "`n" + "Inside Get-WiscAccessTokenPSV2Task" + $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` + $env:praval = $env:praval + "`n" + "$vstsEndpoint" + + try { + $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" + } catch { + $env:praval = $env:praval + "`n" + "Get-AccessTokenMSALWithCustomScope failed with $_" + throw $_ + } $token = $null $expirationTime = $null @@ -56,12 +70,12 @@ function Global:Get-WiscAccessTokenPSV2Task { } if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "Generated token found to be null, returning the System Access Token" + $env:praval = $env:praval + "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - Write-Host "Generated access token with expiration time of $expirationTime minutes." + $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." } } @@ -69,19 +83,118 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -$tokenHandler = [PSCustomObject]@{ +# $tokenHandler = [PSCustomObject]@{ + +# TokenHandler = { +# param( +# [Parameter(Mandatory=$true)] +# [string]$filePath, +# [Parameter(Mandatory=$true)] +# [string]$signalFromUserScript, +# [Parameter(Mandatory=$true)] +# [string]$signalFromTask, +# [Parameter(Mandatory=$true)] +# [string]$exitSignal +# ) + +# $eventFromUserScript = $null +# $eventFromTask = $null +# $eventExit = $null + +# try { +# $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) +# $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) +# $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + +# # Ensure the output file has restricted permissions +# if (-not (Test-Path $filePath)) { +# New-Item -Path $filePath -ItemType File -Force +# $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + +# # Create a new ACL that only grants access to the current user +# $acl = Get-Acl $filePath +# $acl.SetAccessRuleProtection($true, $false) # Disable inheritance +# $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( +# $currentUser, "FullControl", "Allow" +# ) +# $acl.SetAccessRule($rule) - TokenHandler = { - param( - [Parameter(Mandatory=$true)] - [string]$filePath, - [Parameter(Mandatory=$true)] - [string]$signalFromUserScript, - [Parameter(Mandatory=$true)] - [string]$signalFromTask, - [Parameter(Mandatory=$true)] - [string]$exitSignal - ) +# # Apply the ACL to the file +# Set-Acl -Path $filePath -AclObject $acl +# } else { +# $env:praval = $env:praval + "`n" + "Token File not found" +# throw "Token File not found" +# } + +# $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + +# # Infinite loop to wait for signals and respond +# while ($true) { +# try { +# # Wait for either UserScript signal or Exit signal +# $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + +# if ($index -eq 0) { + +# # Signal from UserScript +# $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require +# $token = "" +# try { +# [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) +# $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" + +# if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { +# $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" +# $token = $env:SystemAccessTokenPowershellV2 +# } else { +# $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName +# $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" +# } +# } +# catch { +# $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" +# $token = $env:SystemAccessTokenPowershellV2 + +# } finally { +# $token | Set-Content -Path $filePath +# $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" +# } + +# # Signal UserScript to read the file +# $tmp = $eventFromTask.Set() + +# } elseif ($index -eq 1) { +# $env:praval = $env:praval + "`n" + "Exiting the loop" +# # Exit signal received +# break +# } +# } catch { +# $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" +# } +# } +# } catch { +# $env:praval = $env:praval + "`n" + "Critical error in Task: $_" +# } finally { +# try { +# if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } +# if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } +# if ($null -ne $eventExit) { $eventExit.Dispose() } +# } catch { +# # do nothing +# } +# } +# } +# } + +class TokenHandler { + handle($s) + { + $array = $s -split '::' + Write-Host $array + [string]$filePath = $array[0] + [string]$signalFromUserScript = $array[1] + [string]$signalFromTask = $array[2] + [string]$exitSignal = $array[3] $eventFromUserScript = $null $eventFromTask = $null @@ -108,11 +221,12 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else { - Write-Error "Token File not found" + $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Verbose "Task: Waiting for signals..." + $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + Write-Host "Task: Waiting for signals..." # Infinite loop to wait for signals and respond while ($true) { @@ -124,41 +238,52 @@ $tokenHandler = [PSCustomObject]@{ # Signal from UserScript $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + Write-Host $env:SystemAccessTokenPowershellV2 + $token = "" try { [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" + Write-Host "ConnectedServiceName $connectedServiceName" if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Verbose "No Service connection was found, returning the System Access Token" + $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 + Write-Host "No Service connection was found, returning the System Access Token" } else { $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } } catch { - Write-Verbose "Failed to generate token with message $_, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" + Write-Host "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Verbose "Task: Wrote access token to file" + $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" + Write-Host "Task: Wrote access token to file" } # Signal UserScript to read the file $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { + $env:praval = $env:praval + "`n" + "Exiting the loop" Write-Host "Exiting the loop" # Exit signal received break } } catch { - Write-Debug "Error occurred while waiting for signals: $_" + $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" + Write-Host "Error occurred while waiting for signals: $_" } } } catch { - Write-Debug "Critical error in Task: $_" + $env:praval = $env:praval + "`n" + "Critical error in Task: $_" + Write-Host "Critical error in Task: $_" } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 640bcd515a0a..9218ecb34db5 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -1,16 +1,20 @@ [CmdletBinding()] param() +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk Import-Module Microsoft.PowerShell.Security +Add-Type -AssemblyName "System.Threading" +Add-Type -AssemblyName "System" + . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() +$env:praval = "" function Get-ActionPreference { param ( @@ -39,7 +43,6 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require @@ -47,26 +50,26 @@ try { $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() + # $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + # $runspacePool.Open() - . $PSScriptRoot\accessTokenHelper.ps1 - $psRunspace = [powershell]::Create().AddScript({ - param($tokenHandler,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - try { - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal) - #Start-Sleep 60 - return 1 - } catch { - return $_ - } - }).AddArgument($tokenHandler).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal) + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + . $accessTokenHelperFilePath - $psRunspace.RunspacePool = $runspacePool - $psRunspace.BeginInvoke() + try { + $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); + $thread = [System.Threading.Thread]::new($ts); + $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" + $thread.Start($arg); + } + catch { + Write-Host "Something failed ; $_" + } + # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 15 + Start-Sleep 30 + # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -336,6 +339,9 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + # $output = $psRunspace.EndInvoke($runspaceOutput) + # Write-Host $output + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 381ef9c26598..e56500d7de63 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 73 + "Patch": 119 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.72", + "Default": "2.250.118", "LocalPackages": "2.249.4", - "Node20-225": "2.250.73" + "Node20-225": "2.250.119" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 52e58e814e2e..feb52506e080 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 73 + "Patch": 119 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.72", + "Default": "2.250.118", "LocalPackages": "2.249.4", - "Node20-225": "2.250.73" + "Node20-225": "2.250.119" } } \ No newline at end of file From 322e25f90137e32b936b4c2eeafc505ba2bfed72 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Wed, 11 Dec 2024 14:30:58 +0530 Subject: [PATCH 25/37] Cleanup --- Tasks/PowerShellV2/powershell.ps1 | 4 +- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 129 +----------------- _generated/PowerShellV2/powershell.ps1 | 10 +- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 129 +----------------- _generated/PowerShellV2_Node20/powershell.ps1 | 10 +- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 12 files changed, 31 insertions(+), 283 deletions(-) diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index b943dfb409af..7d910d223ff0 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -60,12 +60,10 @@ try { catch { Write-Host "Something failed ; $_" } - # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 30 + Start-Sleep 20 - # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 5879932a4510..780c02a21995 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 118 + "Patch": 124 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 96d24c3bab85..a8f02c11befa 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 118 + "Patch": 124 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index fb89363d9b03..db83aa93c309 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.118 -Node20-225|2.250.119 +Default|2.250.124 +Node20-225|2.250.125 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index c56b03443714..168b64059c96 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -1,6 +1,3 @@ -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk - function Global:Get-VstsFederatedTokenPSV2Task { param( [Parameter(Mandatory=$true)] @@ -31,12 +28,11 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - #Write-Verbose "Failed to create OIDC token." - $env:praval = $env:praval + "Failed to create OIDC token." + Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - - $env:praval = $env:praval + "OIDC Token generated Successfully" + + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -46,21 +42,11 @@ function Global:Get-WiscAccessTokenPSV2Task { [Parameter(Mandatory=$true)] [string]$connectedServiceName ) - - $env:praval = $env:praval + "`n" + "Inside Get-WiscAccessTokenPSV2Task" - $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require - $env:praval = $env:praval + "`n" + "$vstsEndpoint" - - try { $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" - } catch { - $env:praval = $env:praval + "`n" + "Get-AccessTokenMSALWithCustomScope failed with $_" - throw $_ - } $token = $null $expirationTime = $null @@ -70,12 +56,12 @@ function Global:Get-WiscAccessTokenPSV2Task { } if ($null -eq $token -or $token -eq [string]::Empty) { - $env:praval = $env:praval + "Generated token found to be null, returning the System Access Token" + Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." + Write-Host "Generated access token with expiration time of $expirationTime minutes." } } @@ -83,109 +69,6 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -# $tokenHandler = [PSCustomObject]@{ - -# TokenHandler = { -# param( -# [Parameter(Mandatory=$true)] -# [string]$filePath, -# [Parameter(Mandatory=$true)] -# [string]$signalFromUserScript, -# [Parameter(Mandatory=$true)] -# [string]$signalFromTask, -# [Parameter(Mandatory=$true)] -# [string]$exitSignal -# ) - -# $eventFromUserScript = $null -# $eventFromTask = $null -# $eventExit = $null - -# try { -# $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) -# $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) -# $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - -# # Ensure the output file has restricted permissions -# if (-not (Test-Path $filePath)) { -# New-Item -Path $filePath -ItemType File -Force -# $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name - -# # Create a new ACL that only grants access to the current user -# $acl = Get-Acl $filePath -# $acl.SetAccessRuleProtection($true, $false) # Disable inheritance -# $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( -# $currentUser, "FullControl", "Allow" -# ) -# $acl.SetAccessRule($rule) - -# # Apply the ACL to the file -# Set-Acl -Path $filePath -AclObject $acl -# } else { -# $env:praval = $env:praval + "`n" + "Token File not found" -# throw "Token File not found" -# } - -# $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - -# # Infinite loop to wait for signals and respond -# while ($true) { -# try { -# # Wait for either UserScript signal or Exit signal -# $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) - -# if ($index -eq 0) { - -# # Signal from UserScript -# $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require -# $token = "" -# try { -# [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) -# $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" - -# if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { -# $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" -# $token = $env:SystemAccessTokenPowershellV2 -# } else { -# $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -# $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" -# } -# } -# catch { -# $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" -# $token = $env:SystemAccessTokenPowershellV2 - -# } finally { -# $token | Set-Content -Path $filePath -# $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" -# } - -# # Signal UserScript to read the file -# $tmp = $eventFromTask.Set() - -# } elseif ($index -eq 1) { -# $env:praval = $env:praval + "`n" + "Exiting the loop" -# # Exit signal received -# break -# } -# } catch { -# $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" -# } -# } -# } catch { -# $env:praval = $env:praval + "`n" + "Critical error in Task: $_" -# } finally { -# try { -# if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } -# if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } -# if ($null -ne $eventExit) { $eventExit.Dispose() } -# } catch { -# # do nothing -# } -# } -# } -# } - class TokenHandler { handle($s) { diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 9218ecb34db5..a2a028363402 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -14,7 +14,6 @@ Add-Type -AssemblyName "System" $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() -$env:praval = "" function Get-ActionPreference { param ( @@ -49,10 +48,6 @@ try { Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - # $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - # $runspacePool.Open() - $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" . $accessTokenHelperFilePath @@ -68,7 +63,7 @@ try { # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 30 + Start-Sleep 20 # Get inputs. @@ -339,9 +334,6 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - # $output = $psRunspace.EndInvoke($runspaceOutput) - # Write-Host $output - Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 5df93265689f..a1900873ef1e 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 118 + "Patch": 124 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.118", + "Default": "2.250.124", "LocalPackages": "2.249.4", - "Node20-225": "2.250.119" + "Node20-225": "2.250.125" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 487096602155..74c9c18eaef4 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 118 + "Patch": 124 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.118", + "Default": "2.250.124", "LocalPackages": "2.249.4", - "Node20-225": "2.250.119" + "Node20-225": "2.250.125" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index c56b03443714..168b64059c96 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -1,6 +1,3 @@ -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ -Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk - function Global:Get-VstsFederatedTokenPSV2Task { param( [Parameter(Mandatory=$true)] @@ -31,12 +28,11 @@ function Global:Get-VstsFederatedTokenPSV2Task { if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - #Write-Verbose "Failed to create OIDC token." - $env:praval = $env:praval + "Failed to create OIDC token." + Write-Verbose "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - - $env:praval = $env:praval + "OIDC Token generated Successfully" + + Write-Verbose "OIDC Token generated Successfully" return $oidcToken } New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global @@ -46,21 +42,11 @@ function Global:Get-WiscAccessTokenPSV2Task { [Parameter(Mandatory=$true)] [string]$connectedServiceName ) - - $env:praval = $env:praval + "`n" + "Inside Get-WiscAccessTokenPSV2Task" - $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require - $env:praval = $env:praval + "`n" + "$vstsEndpoint" - - try { $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` -connectedServiceNameARM $connectedServiceName ` -scope "499b84ac-1321-427f-aa17-267ca6975798" - } catch { - $env:praval = $env:praval + "`n" + "Get-AccessTokenMSALWithCustomScope failed with $_" - throw $_ - } $token = $null $expirationTime = $null @@ -70,12 +56,12 @@ function Global:Get-WiscAccessTokenPSV2Task { } if ($null -eq $token -or $token -eq [string]::Empty) { - $env:praval = $env:praval + "Generated token found to be null, returning the System Access Token" + Write-Verbose "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." + Write-Host "Generated access token with expiration time of $expirationTime minutes." } } @@ -83,109 +69,6 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -# $tokenHandler = [PSCustomObject]@{ - -# TokenHandler = { -# param( -# [Parameter(Mandatory=$true)] -# [string]$filePath, -# [Parameter(Mandatory=$true)] -# [string]$signalFromUserScript, -# [Parameter(Mandatory=$true)] -# [string]$signalFromTask, -# [Parameter(Mandatory=$true)] -# [string]$exitSignal -# ) - -# $eventFromUserScript = $null -# $eventFromTask = $null -# $eventExit = $null - -# try { -# $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) -# $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) -# $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - -# # Ensure the output file has restricted permissions -# if (-not (Test-Path $filePath)) { -# New-Item -Path $filePath -ItemType File -Force -# $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name - -# # Create a new ACL that only grants access to the current user -# $acl = Get-Acl $filePath -# $acl.SetAccessRuleProtection($true, $false) # Disable inheritance -# $rule = New-Object System.Security.AccessControl.FileSystemAccessRule( -# $currentUser, "FullControl", "Allow" -# ) -# $acl.SetAccessRule($rule) - -# # Apply the ACL to the file -# Set-Acl -Path $filePath -AclObject $acl -# } else { -# $env:praval = $env:praval + "`n" + "Token File not found" -# throw "Token File not found" -# } - -# $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - -# # Infinite loop to wait for signals and respond -# while ($true) { -# try { -# # Wait for either UserScript signal or Exit signal -# $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) - -# if ($index -eq 0) { - -# # Signal from UserScript -# $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require -# $token = "" -# try { -# [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) -# $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" - -# if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { -# $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" -# $token = $env:SystemAccessTokenPowershellV2 -# } else { -# $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -# $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" -# } -# } -# catch { -# $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" -# $token = $env:SystemAccessTokenPowershellV2 - -# } finally { -# $token | Set-Content -Path $filePath -# $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" -# } - -# # Signal UserScript to read the file -# $tmp = $eventFromTask.Set() - -# } elseif ($index -eq 1) { -# $env:praval = $env:praval + "`n" + "Exiting the loop" -# # Exit signal received -# break -# } -# } catch { -# $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" -# } -# } -# } catch { -# $env:praval = $env:praval + "`n" + "Critical error in Task: $_" -# } finally { -# try { -# if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } -# if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } -# if ($null -ne $eventExit) { $eventExit.Dispose() } -# } catch { -# # do nothing -# } -# } -# } -# } - class TokenHandler { handle($s) { diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 9218ecb34db5..a2a028363402 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -14,7 +14,6 @@ Add-Type -AssemblyName "System" $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() -$env:praval = "" function Get-ActionPreference { param ( @@ -49,10 +48,6 @@ try { Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - # $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - # $runspacePool.Open() - $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" . $accessTokenHelperFilePath @@ -68,7 +63,7 @@ try { # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 30 + Start-Sleep 20 # Get inputs. @@ -339,9 +334,6 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - # $output = $psRunspace.EndInvoke($runspaceOutput) - # Write-Host $output - Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index e56500d7de63..654a0c32d4b6 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 119 + "Patch": 125 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.118", + "Default": "2.250.124", "LocalPackages": "2.249.4", - "Node20-225": "2.250.119" + "Node20-225": "2.250.125" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index feb52506e080..ae3c52d26720 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 119 + "Patch": 125 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.118", + "Default": "2.250.124", "LocalPackages": "2.249.4", - "Node20-225": "2.250.119" + "Node20-225": "2.250.125" } } \ No newline at end of file From e1337ed3902ced0d93a738d5aa926f8eac4e54d0 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Wed, 11 Dec 2024 20:31:22 +0530 Subject: [PATCH 26/37] dummy change for test pipeline trigger --- Tasks/PowerShellV2/powershell.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 7d910d223ff0..ba8dc39ac82d 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -62,7 +62,7 @@ try { } # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 30 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' From 7745904da745aa9fe203c349c7af90dab821706b Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Sat, 14 Dec 2024 15:58:11 +0530 Subject: [PATCH 27/37] using the export approach --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 105 +++++++++------- Tasks/PowerShellV2/Vsts.ps1 | 41 +++++++ Tasks/PowerShellV2/powershell.ps1 | 110 ++++++++++++++--- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 115 ++++++++++-------- _generated/PowerShellV2/Vsts.ps1 | 41 +++++++ _generated/PowerShellV2/powershell.ps1 | 113 ++++++++++++++--- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 115 ++++++++++-------- _generated/PowerShellV2_Node20/Vsts.ps1 | 41 +++++++ _generated/PowerShellV2_Node20/powershell.ps1 | 113 ++++++++++++++--- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 16 files changed, 613 insertions(+), 213 deletions(-) create mode 100644 Tasks/PowerShellV2/Vsts.ps1 create mode 100644 _generated/PowerShellV2/Vsts.ps1 create mode 100644 _generated/PowerShellV2_Node20/Vsts.ps1 diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 7e709ecdc66e..5c0527994c28 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -1,4 +1,7 @@ -function Global:Get-VstsFederatedTokenPSV2Task { +Import-Module Microsoft.PowerShell.Security +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk + +function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] [string]$serviceConnectionId, @@ -13,7 +16,8 @@ function Global:Get-VstsFederatedTokenPSV2Task { $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - + $env:praval = $env:praval + "`n" + $url + $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) "Content-Type" = "application/json" @@ -26,42 +30,55 @@ function Global:Get-VstsFederatedTokenPSV2Task { $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken - if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Verbose "Failed to create OIDC token." + $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - Write-Verbose "OIDC Token generated Successfully" + $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global function Global:Get-WiscAccessTokenPSV2Task { param( - [Parameter(Mandatory=$true)] - [string]$connectedServiceName - ) - $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $taskDict + ) + + $clientId = $taskDict["ClientId"] + $envAuthUrl = $taskDict["EnvAuthUrl"] + $tenantId = $taskDict["TenantId"] + $connectedServiceName = $taskDict["ConnectedServiceName"] + $vstsAccessToken = $taskDict["VstsAccessToken"] + + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) + + $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` - -connectedServiceNameARM $connectedServiceName ` - -scope "499b84ac-1321-427f-aa17-267ca6975798" + $scope = "499b84ac-1321-427f-aa17-267ca6975798" + [string] $resourceId = $scope + "/.default" + $scopes = [Collections.Generic.List[string]]@($resourceId) + + $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" + $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $token = $null $expirationTime = $null - if($result) { - $token = $result.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + if($tokenResult) { + $token = $tokenResult.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "Generated token found to be null, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - Write-Host "Generated access token with expiration time of $expirationTime minutes." + $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." } } @@ -69,15 +86,20 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - handle($s) - { - $array = $s -split '::' - Write-Host $array - [string]$filePath = $array[0] - [string]$signalFromUserScript = $array[1] - [string]$signalFromTask = $array[2] - [string]$exitSignal = $array[3] +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal, + $taskDict + ) $eventFromUserScript = $null $eventFromTask = $null @@ -104,12 +126,14 @@ class TokenHandler { # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else { - Write-Error "Token File not found" + $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Verbose "Task: Waiting for signals..." - + Write-Host "1-Task: Waiting for signals..." + Write-Verbose "2-Task: Waiting for signals..." + $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + $env:StartTask = "true" # Infinite loop to wait for signals and respond while ($true) { try { @@ -119,42 +143,41 @@ class TokenHandler { if ($index -eq 0) { # Signal from UserScript - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $token = "" try { - [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + [string]$connectedServiceName = $taskDict["ConnectedServiceName"] if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - Write-Verbose "No Service connection was found, returning the System Access Token" + $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } } catch { - Write-Verbose "Failed to generate token with message $_, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - Write-Verbose "Task: Wrote access token to file" + $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { - Write-Host "Exiting the loop" + $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } } catch { - Write-Debug "Error occurred while waiting for signals: $_" + $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" } } } catch { - Write-Debug "Critical error in Task: $_" + $env:praval = $env:praval + "`n" + "Critical error in Task: $_" } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } diff --git a/Tasks/PowerShellV2/Vsts.ps1 b/Tasks/PowerShellV2/Vsts.ps1 new file mode 100644 index 000000000000..879d406bb733 --- /dev/null +++ b/Tasks/PowerShellV2/Vsts.ps1 @@ -0,0 +1,41 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$Name, + [switch]$Require) + +$originalErrorActionPreference = $ErrorActionPreference +try { + $ErrorActionPreference = 'Stop' + + # Get the URL. + $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name + $key = "ENDPOINT_URL_$Name" + $url = Get-VaultValue -Description $description -Key $key -Require:$Require + + # Get the auth object. + $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name + $key = "ENDPOINT_AUTH_$Name" + if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { + $auth = ConvertFrom-Json -InputObject $auth + } + + # Get the data. + $description = "'$Name' service endpoint data" + $key = "ENDPOINT_DATA_$Name" + if ($data = (Get-VaultValue -Description $description -Key $key)) { + $data = ConvertFrom-Json -InputObject $data + } + + # Return the endpoint. + if ($url -or $auth -or $data) { + New-Object -TypeName psobject -Property @{ + Url = $url + Auth = $auth + Data = $data + } + } +} catch { + $ErrorActionPreference = $originalErrorActionPreference + Write-Error $_ +} diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index ba8dc39ac82d..714fa680e39d 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -1,19 +1,78 @@ [CmdletBinding()] param() - Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer Import-Module Microsoft.PowerShell.Security -Add-Type -AssemblyName "System.Threading" -Add-Type -AssemblyName "System" - . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() +$env:praval = "" + +$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" +$defaultEnvironmentADALAuthUri = "https://login.windows.net/" +$azureStack = "AzureStack" + +function Get-EnvironmentAuthUrl { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] $endpoint, + [Parameter(Mandatory = $false)] $useMSAL = $false + ) + + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } + + if ([string]::IsNullOrEmpty($envAuthUrl)) { + if (($endpoint.Data.Environment) -and ($endpoint.Data.Environment -eq $azureStack)) { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - azureStack is used" + $endpoint = Add-AzureStackDependencyData -Endpoint $endpoint + $envAuthUrl = $endpoint.Data.environmentAuthorityUrl + } + else { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - fallback is used" + # fallback + $envAuthUrl = if ($useMSAL) { $defaultEnvironmentMSALAuthUri } else { $defaultEnvironmentADALAuthUri } + } + } + + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - endpoint=$endpoint" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - useMSAL=$useMSAL" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - envAuthUrl=$envAuthUrl" + + return $envAuthUrl +} + +function Get-TaskDictionary { + $dictionary = @{} + + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + $dictionary["ConnectedServiceName"] = $connectedServiceName + Write-Verbose "connectedServiceName : $connectedServiceName" + + if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + return $dictionary + } + + $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId + $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId + $dictionary["EnvAuthUrl"] = Get-EnvironmentAuthUrl -endpoint $endpoint -useMSAL $true + + $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require + $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken + + return $dictionary +} + +function Get-EnvDictionary { + $envVars = @{} + [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { + $envVars[$_.Key] = $_.Value + } + return $envVars +} function Get-ActionPreference { param ( @@ -48,21 +107,39 @@ try { Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - . $accessTokenHelperFilePath + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary - try { - $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); - $thread = [System.Threading.Thread]::new($ts); - $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" - $thread.Start($arg); - } - catch { - Write-Host "Something failed ; $_" - } + $psRunspace = [powershell]::Create().AddScript({ + param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + . $accessTokenHelperFilePath + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + return $env:praval + } catch { + $env:praval = $env:praval + " " + $_ + return $env:praval + } + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $rsoutput = $psRunspace.BeginInvoke() + + while ($env:StartTask -ne "true") { + Start-Sleep 5 + Write-Host "Waiting....." + } # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 30 + Start-Sleep 5 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -332,6 +409,7 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Write-Host $psRunspace.EndInvoke($rsoutput) Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 780c02a21995..7427733ca7e9 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 124 + "Patch": 168 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index a8f02c11befa..eefef010dfe3 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 124 + "Patch": 168 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index db83aa93c309..867c51041ef7 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.124 -Node20-225|2.250.125 +Default|2.250.168 +Node20-225|2.250.169 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 168b64059c96..5c0527994c28 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -1,4 +1,7 @@ -function Global:Get-VstsFederatedTokenPSV2Task { +Import-Module Microsoft.PowerShell.Security +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk + +function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] [string]$serviceConnectionId, @@ -13,7 +16,8 @@ function Global:Get-VstsFederatedTokenPSV2Task { $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - + $env:praval = $env:praval + "`n" + $url + $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) "Content-Type" = "application/json" @@ -26,42 +30,55 @@ function Global:Get-VstsFederatedTokenPSV2Task { $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken - if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Verbose "Failed to create OIDC token." + $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - Write-Verbose "OIDC Token generated Successfully" + $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global function Global:Get-WiscAccessTokenPSV2Task { param( - [Parameter(Mandatory=$true)] - [string]$connectedServiceName - ) - $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $taskDict + ) - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` - -connectedServiceNameARM $connectedServiceName ` - -scope "499b84ac-1321-427f-aa17-267ca6975798" + $clientId = $taskDict["ClientId"] + $envAuthUrl = $taskDict["EnvAuthUrl"] + $tenantId = $taskDict["TenantId"] + $connectedServiceName = $taskDict["ConnectedServiceName"] + $vstsAccessToken = $taskDict["VstsAccessToken"] + + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) + + $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() + + $scope = "499b84ac-1321-427f-aa17-267ca6975798" + [string] $resourceId = $scope + "/.default" + $scopes = [Collections.Generic.List[string]]@($resourceId) + + $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" + $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $token = $null $expirationTime = $null - if($result) { - $token = $result.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + if($tokenResult) { + $token = $tokenResult.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "Generated token found to be null, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - Write-Host "Generated access token with expiration time of $expirationTime minutes." + $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." } } @@ -69,15 +86,20 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - handle($s) - { - $array = $s -split '::' - Write-Host $array - [string]$filePath = $array[0] - [string]$signalFromUserScript = $array[1] - [string]$signalFromTask = $array[2] - [string]$exitSignal = $array[3] +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal, + $taskDict + ) $eventFromUserScript = $null $eventFromTask = $null @@ -104,13 +126,14 @@ class TokenHandler { # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else { - $env:praval = $env:praval + "`n" + "Token File not found" + $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - Write-Host "Task: Waiting for signals..." - + Write-Host "1-Task: Waiting for signals..." + Write-Verbose "2-Task: Waiting for signals..." + $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + $env:StartTask = "true" # Infinite loop to wait for signals and respond while ($true) { try { @@ -120,53 +143,41 @@ class TokenHandler { if ($index -eq 0) { # Signal from UserScript - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require - Write-Host $env:SystemAccessTokenPowershellV2 - $token = "" try { - [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) - $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" - Write-Host "ConnectedServiceName $connectedServiceName" + [string]$connectedServiceName = $taskDict["ConnectedServiceName"] if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" + $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 - Write-Host "No Service connection was found, returning the System Access Token" } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } } catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" - Write-Host "Failed to generate token with message $_, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" - Write-Host "Task: Wrote access token to file" + $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { - $env:praval = $env:praval + "`n" + "Exiting the loop" - Write-Host "Exiting the loop" + $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } } catch { - $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" - Write-Host "Error occurred while waiting for signals: $_" + $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" } } } catch { $env:praval = $env:praval + "`n" + "Critical error in Task: $_" - Write-Host "Critical error in Task: $_" } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } diff --git a/_generated/PowerShellV2/Vsts.ps1 b/_generated/PowerShellV2/Vsts.ps1 new file mode 100644 index 000000000000..879d406bb733 --- /dev/null +++ b/_generated/PowerShellV2/Vsts.ps1 @@ -0,0 +1,41 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$Name, + [switch]$Require) + +$originalErrorActionPreference = $ErrorActionPreference +try { + $ErrorActionPreference = 'Stop' + + # Get the URL. + $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name + $key = "ENDPOINT_URL_$Name" + $url = Get-VaultValue -Description $description -Key $key -Require:$Require + + # Get the auth object. + $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name + $key = "ENDPOINT_AUTH_$Name" + if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { + $auth = ConvertFrom-Json -InputObject $auth + } + + # Get the data. + $description = "'$Name' service endpoint data" + $key = "ENDPOINT_DATA_$Name" + if ($data = (Get-VaultValue -Description $description -Key $key)) { + $data = ConvertFrom-Json -InputObject $data + } + + # Return the endpoint. + if ($url -or $auth -or $data) { + New-Object -TypeName psobject -Property @{ + Url = $url + Auth = $auth + Data = $data + } + } +} catch { + $ErrorActionPreference = $originalErrorActionPreference + Write-Error $_ +} diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index a2a028363402..390096730a12 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -1,19 +1,78 @@ [CmdletBinding()] param() - Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer Import-Module Microsoft.PowerShell.Security -Add-Type -AssemblyName "System.Threading" -Add-Type -AssemblyName "System" - . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() +$env:praval = "" + +$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" +$defaultEnvironmentADALAuthUri = "https://login.windows.net/" +$azureStack = "AzureStack" + +function Get-EnvironmentAuthUrl { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] $endpoint, + [Parameter(Mandatory = $false)] $useMSAL = $false + ) + + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } + + if ([string]::IsNullOrEmpty($envAuthUrl)) { + if (($endpoint.Data.Environment) -and ($endpoint.Data.Environment -eq $azureStack)) { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - azureStack is used" + $endpoint = Add-AzureStackDependencyData -Endpoint $endpoint + $envAuthUrl = $endpoint.Data.environmentAuthorityUrl + } + else { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - fallback is used" + # fallback + $envAuthUrl = if ($useMSAL) { $defaultEnvironmentMSALAuthUri } else { $defaultEnvironmentADALAuthUri } + } + } + + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - endpoint=$endpoint" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - useMSAL=$useMSAL" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - envAuthUrl=$envAuthUrl" + + return $envAuthUrl +} + +function Get-TaskDictionary { + $dictionary = @{} + + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + $dictionary["ConnectedServiceName"] = $connectedServiceName + Write-Verbose "connectedServiceName : $connectedServiceName" + + if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + return $dictionary + } + + $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId + $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId + $dictionary["EnvAuthUrl"] = Get-EnvironmentAuthUrl -endpoint $endpoint -useMSAL $true + + $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require + $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken + + return $dictionary +} + +function Get-EnvDictionary { + $envVars = @{} + [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { + $envVars[$_.Key] = $_.Value + } + return $envVars +} function Get-ActionPreference { param ( @@ -48,24 +107,40 @@ try { Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - . $accessTokenHelperFilePath + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary - try { - $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); - $thread = [System.Threading.Thread]::new($ts); - $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" - $thread.Start($arg); - } - catch { - Write-Host "Something failed ; $_" - } - + $psRunspace = [powershell]::Create().AddScript({ + param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + . $accessTokenHelperFilePath + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + return $env:praval + } catch { + $env:praval = $env:praval + " " + $_ + return $env:praval + } + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $rsoutput = $psRunspace.BeginInvoke() + + while ($env:StartTask -ne "true") { + Start-Sleep 5 + Write-Host "Waiting....." + } # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 5 - # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' @@ -334,6 +409,8 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Write-Host $psRunspace.EndInvoke($rsoutput) + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index a1900873ef1e..64e069260743 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 124 + "Patch": 168 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.124", + "Default": "2.250.168", "LocalPackages": "2.249.4", - "Node20-225": "2.250.125" + "Node20-225": "2.250.169" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 74c9c18eaef4..412be52a2174 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 124 + "Patch": 168 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.124", + "Default": "2.250.168", "LocalPackages": "2.249.4", - "Node20-225": "2.250.125" + "Node20-225": "2.250.169" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 168b64059c96..5c0527994c28 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -1,4 +1,7 @@ -function Global:Get-VstsFederatedTokenPSV2Task { +Import-Module Microsoft.PowerShell.Security +Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk + +function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] [string]$serviceConnectionId, @@ -13,7 +16,8 @@ function Global:Get-VstsFederatedTokenPSV2Task { $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - + $env:praval = $env:praval + "`n" + $url + $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) "Content-Type" = "application/json" @@ -26,42 +30,55 @@ function Global:Get-VstsFederatedTokenPSV2Task { $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken - if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - Write-Verbose "Failed to create OIDC token." + $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - Write-Verbose "OIDC Token generated Successfully" + $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPSV2Task' -Scope Global +New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global function Global:Get-WiscAccessTokenPSV2Task { param( - [Parameter(Mandatory=$true)] - [string]$connectedServiceName - ) - $vstsEndpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $taskDict + ) - $result = Get-AccessTokenMSALWithCustomScope -endpoint $vstsEndpoint ` - -connectedServiceNameARM $connectedServiceName ` - -scope "499b84ac-1321-427f-aa17-267ca6975798" + $clientId = $taskDict["ClientId"] + $envAuthUrl = $taskDict["EnvAuthUrl"] + $tenantId = $taskDict["TenantId"] + $connectedServiceName = $taskDict["ConnectedServiceName"] + $vstsAccessToken = $taskDict["VstsAccessToken"] + + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) + + $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() + + $scope = "499b84ac-1321-427f-aa17-267ca6975798" + [string] $resourceId = $scope + "/.default" + $scopes = [Collections.Generic.List[string]]@($resourceId) + + $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" + $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $token = $null $expirationTime = $null - if($result) { - $token = $result.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($result.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + if($tokenResult) { + $token = $tokenResult.AccessToken + $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "Generated token found to be null, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } else { - Write-Verbose "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" if($expirationTime) { - Write-Host "Generated access token with expiration time of $expirationTime minutes." + $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." } } @@ -69,15 +86,20 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global -class TokenHandler { - handle($s) - { - $array = $s -split '::' - Write-Host $array - [string]$filePath = $array[0] - [string]$signalFromUserScript = $array[1] - [string]$signalFromTask = $array[2] - [string]$exitSignal = $array[3] +$tokenHandler = [PSCustomObject]@{ + + TokenHandler = { + param( + [Parameter(Mandatory=$true)] + [string]$filePath, + [Parameter(Mandatory=$true)] + [string]$signalFromUserScript, + [Parameter(Mandatory=$true)] + [string]$signalFromTask, + [Parameter(Mandatory=$true)] + [string]$exitSignal, + $taskDict + ) $eventFromUserScript = $null $eventFromTask = $null @@ -104,13 +126,14 @@ class TokenHandler { # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else { - $env:praval = $env:praval + "`n" + "Token File not found" + $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - Write-Host "Task: Waiting for signals..." - + Write-Host "1-Task: Waiting for signals..." + Write-Verbose "2-Task: Waiting for signals..." + $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." + $env:StartTask = "true" # Infinite loop to wait for signals and respond while ($true) { try { @@ -120,53 +143,41 @@ class TokenHandler { if ($index -eq 0) { # Signal from UserScript - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require - Write-Host $env:SystemAccessTokenPowershellV2 - $token = "" try { - [string]$connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) - $env:praval = $env:praval + "`n" + "ConnectedServiceName $connectedServiceName" - Write-Host "ConnectedServiceName $connectedServiceName" + [string]$connectedServiceName = $taskDict["ConnectedServiceName"] if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" + $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 - Write-Host "No Service connection was found, returning the System Access Token" } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - Write-Host "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" + $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" } } catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" - Write-Host "Failed to generate token with message $_, returning the System Access Token" + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" $token = $env:SystemAccessTokenPowershellV2 } finally { $token | Set-Content -Path $filePath - $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" - Write-Host "Task: Wrote access token to file" + $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file $tmp = $eventFromTask.Set() } elseif ($index -eq 1) { - $env:praval = $env:praval + "`n" + "Exiting the loop" - Write-Host "Exiting the loop" + $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } } catch { - $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" - Write-Host "Error occurred while waiting for signals: $_" + $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" } } } catch { $env:praval = $env:praval + "`n" + "Critical error in Task: $_" - Write-Host "Critical error in Task: $_" } finally { try { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } diff --git a/_generated/PowerShellV2_Node20/Vsts.ps1 b/_generated/PowerShellV2_Node20/Vsts.ps1 new file mode 100644 index 000000000000..879d406bb733 --- /dev/null +++ b/_generated/PowerShellV2_Node20/Vsts.ps1 @@ -0,0 +1,41 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$Name, + [switch]$Require) + +$originalErrorActionPreference = $ErrorActionPreference +try { + $ErrorActionPreference = 'Stop' + + # Get the URL. + $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name + $key = "ENDPOINT_URL_$Name" + $url = Get-VaultValue -Description $description -Key $key -Require:$Require + + # Get the auth object. + $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name + $key = "ENDPOINT_AUTH_$Name" + if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { + $auth = ConvertFrom-Json -InputObject $auth + } + + # Get the data. + $description = "'$Name' service endpoint data" + $key = "ENDPOINT_DATA_$Name" + if ($data = (Get-VaultValue -Description $description -Key $key)) { + $data = ConvertFrom-Json -InputObject $data + } + + # Return the endpoint. + if ($url -or $auth -or $data) { + New-Object -TypeName psobject -Property @{ + Url = $url + Auth = $auth + Data = $data + } + } +} catch { + $ErrorActionPreference = $originalErrorActionPreference + Write-Error $_ +} diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index a2a028363402..390096730a12 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -1,19 +1,78 @@ [CmdletBinding()] param() - Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -Import-Module $PSScriptRoot\ps_modules\VstsAzureRestHelpers_ Import-Module $PSScriptRoot\ps_modules\Sanitizer Import-Module Microsoft.PowerShell.Security -Add-Type -AssemblyName "System.Threading" -Add-Type -AssemblyName "System" - . $PSScriptRoot\helpers.ps1 $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() +$env:praval = "" + +$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" +$defaultEnvironmentADALAuthUri = "https://login.windows.net/" +$azureStack = "AzureStack" + +function Get-EnvironmentAuthUrl { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] $endpoint, + [Parameter(Mandatory = $false)] $useMSAL = $false + ) + + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } + + if ([string]::IsNullOrEmpty($envAuthUrl)) { + if (($endpoint.Data.Environment) -and ($endpoint.Data.Environment -eq $azureStack)) { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - azureStack is used" + $endpoint = Add-AzureStackDependencyData -Endpoint $endpoint + $envAuthUrl = $endpoint.Data.environmentAuthorityUrl + } + else { + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - fallback is used" + # fallback + $envAuthUrl = if ($useMSAL) { $defaultEnvironmentMSALAuthUri } else { $defaultEnvironmentADALAuthUri } + } + } + + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - endpoint=$endpoint" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - useMSAL=$useMSAL" + Write-Verbose "MSAL - Get-EnvironmentAuthUrl - envAuthUrl=$envAuthUrl" + + return $envAuthUrl +} + +function Get-TaskDictionary { + $dictionary = @{} + + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + $dictionary["ConnectedServiceName"] = $connectedServiceName + Write-Verbose "connectedServiceName : $connectedServiceName" + + if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { + return $dictionary + } + + $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require + $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId + $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId + $dictionary["EnvAuthUrl"] = Get-EnvironmentAuthUrl -endpoint $endpoint -useMSAL $true + + $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require + $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken + + return $dictionary +} + +function Get-EnvDictionary { + $envVars = @{} + [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { + $envVars[$_.Key] = $_.Value + } + return $envVars +} function Get-ActionPreference { param ( @@ -48,24 +107,40 @@ try { Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # Create a runspace to handle the Async communication between the Task and User Script for Access Token + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - . $accessTokenHelperFilePath + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary - try { - $ts = New-Object System.Threading.ParameterizedThreadStart([TokenHandler]::new(), [TokenHandler]::new().GetType().GetMethod("handle").MethodHandle.GetFunctionPointer()); - $thread = [System.Threading.Thread]::new($ts); - $arg = "$tokenfilePath::$signalFromUserScript::$signalFromTask::$exitSignal" - $thread.Start($arg); - } - catch { - Write-Host "Something failed ; $_" - } - + $psRunspace = [powershell]::Create().AddScript({ + param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + . $accessTokenHelperFilePath + $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + return $env:praval + } catch { + $env:praval = $env:praval + " " + $_ + return $env:praval + } + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $rsoutput = $psRunspace.BeginInvoke() + + while ($env:StartTask -ne "true") { + Start-Sleep 5 + Write-Host "Waiting....." + } # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 20 + Start-Sleep 5 - # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' $input_warningPreference = Get-ActionPreference -VstsInputName 'warningPreference' -DefaultAction 'Default' @@ -334,6 +409,8 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() + Write-Host $psRunspace.EndInvoke($rsoutput) + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 654a0c32d4b6..058e2b54ef68 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 125 + "Patch": 169 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.124", + "Default": "2.250.168", "LocalPackages": "2.249.4", - "Node20-225": "2.250.125" + "Node20-225": "2.250.169" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index ae3c52d26720..f323bded07b0 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 125 + "Patch": 169 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.124", + "Default": "2.250.168", "LocalPackages": "2.249.4", - "Node20-225": "2.250.125" + "Node20-225": "2.250.169" } } \ No newline at end of file From d58a630a4617e92677d40e2497c93018eeafe485 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 12:05:13 +0530 Subject: [PATCH 28/37] package-lock.json --- Tasks/PowerShellV2/package-lock.json | 1656 ++++++++++++++++++-------- 1 file changed, 1156 insertions(+), 500 deletions(-) diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index 43ecda457836..5a046e1dd340 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -1,136 +1,205 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@azure/msal-common": { + "packages": { + "": { + "name": "vsts-powershell-task", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@azure/msal-node": "^2.7.0", + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", + "uuid": "^3.0.1" + }, + "devDependencies": { + "typescript": "4.9.5" + } + }, + "node_modules/@azure/msal-common": { "version": "14.16.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "@azure/msal-node": { + "node_modules/@azure/msal-node": { "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "requires": { + "license": "MIT", + "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } + "engines": { + "node": ">=16" } }, - "@types/fs-extra": { + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@types/fs-extra": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/ini": { + "node_modules/@types/ini": { "version": "1.3.30", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", + "license": "MIT" }, - "@types/ltx": { + "node_modules/@types/ltx": { "version": "2.8.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", + "license": "MIT" }, - "@types/node": { + "node_modules/@types/node": { "version": "16.18.120", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", - "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", + "license": "MIT" }, - "@types/q": { + "node_modules/@types/q": { "version": "1.5.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", + "license": "MIT" }, - "@types/semver": { + "node_modules/@types/semver": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", + "license": "MIT" }, - "@types/uuid": { + "node_modules/@types/uuid": { "version": "3.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", + "license": "MIT" }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.5.16", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", + "license": "MIT", + "engines": { + "node": ">=12.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "requires": { + "license": "MIT", + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "requires": { + "license": "MIT", + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "requires": { + "license": "ISC", + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", + "license": "Python-2.0" }, - "azure-devops-node-api": { + "node_modules/azure-devops-node-api": { "version": "12.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "requires": { + "license": "MIT", + "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "4.17.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "requires": { + "license": "MIT", + "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -138,20 +207,23 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - } } }, - "azure-pipelines-tasks-artifacts-common": { + "node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "requires": { + "license": "MIT", + "dependencies": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -159,20 +231,23 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" - } } }, - "azure-pipelines-tasks-packaging-common": { + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { "version": "3.246.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "requires": { + "license": "MIT", + "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -189,110 +264,140 @@ "q": "^1.5.0", "semver": "^5.7.2", "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "license": "MIT", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", "dependencies": { - "@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" - }, - "azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - }, - "typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "requires": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tasks-utility-common": { + "node_modules/azure-pipelines-tasks-utility-common": { "version": "3.246.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2", "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "license": "BSD-3-Clause" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", "dependencies": { - "@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "requires": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tool-lib": { + "node_modules/azure-pipelines-tool-lib": { "version": "2.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "requires": { + "license": "MIT", + "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -300,284 +405,443 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - } } }, - "balanced-match": { + "node_modules/azure-pipelines-tool-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "license": "MIT" }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "requires": { + "license": "MIT", + "dependencies": { "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "license": "ISC" }, - "buffer-equal-constant-time": { + "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "license": "BSD-3-Clause" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "camelcase": { + "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "license": "MIT", "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "chokidar": { + "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "requires": { + "license": "MIT", + "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "cliui": { + "node_modules/cliui": { "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "requires": { + "license": "ISC", + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { + "license": "MIT", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "license": "MIT" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "license": "MIT" }, - "debug": { + "node_modules/debug": { "version": "4.3.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "requires": { + "license": "MIT", + "dependencies": { "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "decamelize": { + "node_modules/decamelize": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "des.js": { + "node_modules/des.js": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "requires": { + "license": "MIT", + "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "diff": { + "node_modules/diff": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "ecdsa-sig-formatter": { + "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "requires": { + "license": "Apache-2.0", + "dependencies": { "safe-buffer": "^5.0.1" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "license": "MIT" }, - "es-define-property": { + "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" } }, - "es-errors": { + "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "escalade": { + "node_modules/escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "requires": { + "license": "MIT", + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { + "node_modules/find-up": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "requires": { + "license": "MIT", + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat": { + "node_modules/flat": { "version": "5.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "requires": { + "license": "MIT", + "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "license": "ISC" }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", - "optional": true - }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "requires": { + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -585,197 +849,306 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "requires": { + "license": "ISC", + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "gopd": { + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gopd": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", + "license": "ISC" }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=" + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=" + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "requires": { + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "license": "MIT", + "bin": { + "he": "bin/he" + } }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "requires": { + "license": "MIT", + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "license": "ISC" }, - "ini": { + "node_modules/ini": { "version": "1.3.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "license": "ISC" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } }, - "ip-address": { + "node_modules/ip-address": { "version": "5.9.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", - "requires": { + "license": "MIT", + "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" } }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "requires": { + "license": "MIT", + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "requires": { + "license": "MIT", + "dependencies": { "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "requires": { + "license": "MIT", + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-unicode-supported": { + "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "js-md4": { + "node_modules/js-md4": { "version": "0.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", + "license": "MIT" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "requires": { + "license": "MIT", + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", + "license": "MIT" }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { + "license": "MIT", + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonwebtoken": { + "node_modules/jsonwebtoken": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "requires": { + "license": "MIT", + "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -787,129 +1160,177 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "dependencies": { - "semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" - } + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "jwa": { + "node_modules/jwa": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "requires": { + "license": "MIT", + "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "jws": { + "node_modules/jws": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "requires": { + "license": "MIT", + "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "locate-path": { + "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "requires": { + "license": "MIT", + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "license": "MIT" }, - "lodash.includes": { + "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "license": "MIT" }, - "lodash.isboolean": { + "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "license": "MIT" }, - "lodash.isinteger": { + "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "license": "MIT" }, - "lodash.isnumber": { + "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "license": "MIT" }, - "lodash.isplainobject": { + "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "license": "MIT" }, - "lodash.isstring": { + "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "license": "MIT" }, - "lodash.once": { + "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "license": "MIT" }, - "log-symbols": { + "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ltx": { + "node_modules/ltx": { "version": "2.10.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "requires": { + "license": "MIT", + "dependencies": { "inherits": "^2.0.4" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "requires": { + "license": "MIT", + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "license": "ISC" }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mocha": { + "node_modules/mocha": { "version": "10.8.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", @@ -931,391 +1352,608 @@ "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "license": "MIT", "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "requires": { - "brace-expansion": "^2.0.1" - } - } + "balanced-match": "^1.0.0" } }, - "ms": { + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "license": "MIT" }, - "msal-node1": { - "version": "npm:@azure/msal-node@1.18.4", + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", - "requires": { + "dependencies": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" - }, - "dependencies": { - "@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } } }, - "msal-node2": { - "version": "npm:@azure/msal-node@2.16.2", + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "requires": { + "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } } }, - "nodejs-file-downloader": { + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "requires": { + "license": "ISC", + "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "p-limit": { + "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "requires": { + "license": "MIT", + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "node_modules/p-locate": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "requires": { + "license": "MIT", + "dependencies": { "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "path-exists": { + "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "license": "MIT" }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "requires": { + "license": "MIT", + "dependencies": { "safe-buffer": "^5.1.0" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "requires": { + "license": "MIT", + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "requires": { + "license": "MIT", + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "requires": { + "license": "WTFPL OR ISC", + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "6.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "semver-compare": { + "node_modules/semver-compare": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "license": "MIT" }, - "serialize-javascript": { + "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "randombytes": "^2.1.0" } }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "license": "BSD-3-Clause" }, - "string-width": { + "node_modules/string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "requires": { + "license": "MIT", + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "requires": { + "license": "MIT", + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "requires": { + "license": "MIT", + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "requires": { + "license": "WTFPL", + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } }, - "typed-rest-client": { + "node_modules/typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "requires": { + "license": "MIT", + "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "typescript": { + "node_modules/typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", + "license": "MIT" }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", + "license": "(WTFPL OR MIT)" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "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.", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } }, - "workerpool": { + "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", + "license": "Apache-2.0" }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "license": "ISC" }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yargs": { + "node_modules/yargs": { "version": "16.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "requires": { + "license": "MIT", + "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1323,28 +1961,46 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "requires": { + "license": "MIT", + "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" } }, - "yocto-queue": { + "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } From 7ea22abefab9fa30302291db1165d95ab4cfb39f Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 13:53:44 +0530 Subject: [PATCH 29/37] remvoed default access token --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 82 +- Tasks/PowerShellV2/make.json | 19 +- Tasks/PowerShellV2/powershell.ps1 | 161 +- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 82 +- .../resources.resjson/en-US/resources.resjson | 2 - _generated/PowerShellV2/make.json | 19 +- _generated/PowerShellV2/package-lock.json | 1656 ++++-- _generated/PowerShellV2/powershell.ps1 | 162 +- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 82 +- _generated/PowerShellV2_Node20/make.json | 19 +- _generated/PowerShellV2_Node20/powershell.ps1 | 162 +- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- package-lock.json | 4784 ++++++++++++----- 19 files changed, 5087 insertions(+), 2175 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 5c0527994c28..2644955aaf1a 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -51,7 +51,7 @@ function Global:Get-WiscAccessTokenPSV2Task { $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken @@ -65,24 +65,18 @@ function Global:Get-WiscAccessTokenPSV2Task { $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() - $token = $null - $expirationTime = $null - if($tokenResult) { - $token = $tokenResult.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null } - if ($null -eq $token -or $token -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - if($expirationTime) { - $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." - } + if($tokenResult) { + $result["Token"] = $tokenResult.AccessToken + $result["ExpirationPeriod"] = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } - return $token + return $result } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global @@ -111,7 +105,8 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) # Ensure the output file has restricted permissions - if (-not (Test-Path $filePath)) { + if (-not (Test-Path $filePath)) + { New-Item -Path $filePath -ItemType File -Force $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name @@ -125,49 +120,54 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl - } else { + } + else + { $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Host "1-Task: Waiting for signals..." - Write-Verbose "2-Task: Waiting for signals..." $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - $env:StartTask = "true" - # Infinite loop to wait for signals and respond + + # Infinite loop to wait for and handle signals from user script for token request while ($true) { try { # Wait for either UserScript signal or Exit signal $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) - if ($index -eq 0) { + if ($index -eq 0) + { # Signal from UserScript - $token = "" - try { - [string]$connectedServiceName = $taskDict["ConnectedServiceName"] - - if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null + } + + try + { + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" } - catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - - } finally { - $token | Set-Content -Path $filePath + catch + { + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" + $result["ExceptionMessage"] = $_ + } + finally + { + $json = $result | ConvertTo-Json + $json | Set-Content -Path $filePath $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file - $tmp = $eventFromTask.Set() + $res = $eventFromTask.Set() - } elseif ($index -eq 1) { + } + elseif ($index -eq 1) + { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break diff --git a/Tasks/PowerShellV2/make.json b/Tasks/PowerShellV2/make.json index 15c0de38db82..307b46f054dc 100644 --- a/Tasks/PowerShellV2/make.json +++ b/Tasks/PowerShellV2/make.json @@ -12,6 +12,17 @@ "options": "-R" } ] + }, + { + "name": "Microsoft.Identity.Client", + "version": "4.48.0", + "repository": "https://www.nuget.org/api/v2/", + "cp": [ + { + "source": "lib/net45/Microsoft.Identity.Client.dll", + "dest": "msal" + } + ] } ] }, @@ -30,14 +41,6 @@ { "module": "../Common/Sanitizer", "type": "ps" - }, - { - "module": "../Common/VstsAzureRestHelpers_", - "type": "ps" - }, - { - "module": "../Common/TlsHelper_", - "type": "ps" } ] } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 714fa680e39d..a8e139bf4973 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -6,15 +6,8 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() -$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() -$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() $env:praval = "" -$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" -$defaultEnvironmentADALAuthUri = "https://login.windows.net/" -$azureStack = "AzureStack" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -22,6 +15,10 @@ function Get-EnvironmentAuthUrl { [Parameter(Mandatory = $false)] $useMSAL = $false ) + $defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" + $defaultEnvironmentADALAuthUri = "https://login.windows.net/" + $azureStack = "AzureStack" + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } if ([string]::IsNullOrEmpty($envAuthUrl)) { @@ -51,10 +48,6 @@ function Get-TaskDictionary { $dictionary["ConnectedServiceName"] = $connectedServiceName Write-Verbose "connectedServiceName : $connectedServiceName" - if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - return $dictionary - } - $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId @@ -74,6 +67,44 @@ function Get-EnvDictionary { return $envVars } +function RunTokenHandler { + param ( + [Parameter(Mandatory=$true)] + $tokenFilePath, + [Parameter(Mandatory=$true)] + $signalFromUserScript, + [Parameter(Mandatory=$true)] + $signalFromTask, + [Parameter(Mandatory=$true)] + $exitSignal + ) + + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary + + $psRunspace = [powershell]::Create().AddScript({ + param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + # Copying the env variables from parent runspace to the child runspace. + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + } catch { + $env:praval = $env:praval + " " + $_ + } + }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() +} + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -101,45 +132,23 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() - - $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary + $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() - $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) - try { - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - - . $accessTokenHelperFilePath - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) - return $env:praval - } catch { - $env:praval = $env:praval + " " + $_ - return $env:praval - } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) - - $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + Write-Host $connectedServiceName - while ($env:StartTask -ne "true") { - Start-Sleep 5 - Write-Host "Waiting....." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal + Start-Sleep 30 } - # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 5 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -243,47 +252,57 @@ try { $contents); - $joinedContents = ' - $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "' + $signalFromUserScript + '" - $signalFromTask = "' + $signalFromTask + '" - - $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - - function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + $joinedContents = ' + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" + + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + function Get-AzDoToken { + Write-Verbose "User Script: Starting process to notify Task and read output." - try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds + $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!$receivedResponseBool) { - Write-Verbose "User Script: Timeout waiting for Task to respond." + if (!receivedResponseBool) { + throw } - else { - try { - [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $tokenResponse = $powershellv2AccessToken - } catch { - Write-Verbose "Error reading the output file: $_" - } + + [string]$response = (Get-Content -Path $outputFile).Trim() + Write-Verbose "UserScript : Read output from file" + + $result = $response | ConvertFrom-Json + + if (![string]::IsNullOrWhiteSpace($result["Token"])) { + $expTime = $result["Expiration"] + Write-Host "Access Token Generated with expiration time of $expTime seconds" + return $result["Token"] + } + else + { + throw $result["ErrorMessage"] } - } - catch { - Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" + + return $powershellv2AccessToken } - return $tokenResponse - } + + ' + $joinedContents + } else { + $joinedContents = ' - ' + $joinedContents + function Get-AzDoToken { + return "' + $systemAccessToken + '" + } + + ' + $joinedContents; + } if ($input_showWarnings) { $joinedContents = ' diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 7427733ca7e9..da2f9c0814fa 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 168 + "Patch": 198 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index eefef010dfe3..e58e38776fb8 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 168 + "Patch": 198 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 867c51041ef7..3d624f64c33b 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.168 -Node20-225|2.250.169 +Default|2.250.198 +Node20-225|2.250.199 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 5c0527994c28..2644955aaf1a 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -51,7 +51,7 @@ function Global:Get-WiscAccessTokenPSV2Task { $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken @@ -65,24 +65,18 @@ function Global:Get-WiscAccessTokenPSV2Task { $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() - $token = $null - $expirationTime = $null - if($tokenResult) { - $token = $tokenResult.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null } - if ($null -eq $token -or $token -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - if($expirationTime) { - $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." - } + if($tokenResult) { + $result["Token"] = $tokenResult.AccessToken + $result["ExpirationPeriod"] = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } - return $token + return $result } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global @@ -111,7 +105,8 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) # Ensure the output file has restricted permissions - if (-not (Test-Path $filePath)) { + if (-not (Test-Path $filePath)) + { New-Item -Path $filePath -ItemType File -Force $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name @@ -125,49 +120,54 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl - } else { + } + else + { $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Host "1-Task: Waiting for signals..." - Write-Verbose "2-Task: Waiting for signals..." $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - $env:StartTask = "true" - # Infinite loop to wait for signals and respond + + # Infinite loop to wait for and handle signals from user script for token request while ($true) { try { # Wait for either UserScript signal or Exit signal $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) - if ($index -eq 0) { + if ($index -eq 0) + { # Signal from UserScript - $token = "" - try { - [string]$connectedServiceName = $taskDict["ConnectedServiceName"] - - if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null + } + + try + { + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" } - catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - - } finally { - $token | Set-Content -Path $filePath + catch + { + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" + $result["ExceptionMessage"] = $_ + } + finally + { + $json = $result | ConvertTo-Json + $json | Set-Content -Path $filePath $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file - $tmp = $eventFromTask.Set() + $res = $eventFromTask.Set() - } elseif ($index -eq 1) { + } + elseif ($index -eq 1) + { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break diff --git a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson index d7810c1fb145..f4b03fe1b455 100644 --- a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson @@ -6,8 +6,6 @@ "loc.releaseNotes": "Script task consistency. Added support for macOS and Linux.", "loc.group.displayName.preferenceVariables": "Preference Variables", "loc.group.displayName.advanced": "Advanced", - "loc.input.label.ConnectedServiceName": "Azure DevOps Service Connection", - "loc.input.help.ConnectedServiceName": "Select an Azure DevOps Service Connection service connection", "loc.input.label.targetType": "Type", "loc.input.help.targetType": "Target script type: File Path or Inline", "loc.input.label.filePath": "Script Path", diff --git a/_generated/PowerShellV2/make.json b/_generated/PowerShellV2/make.json index 15c0de38db82..307b46f054dc 100644 --- a/_generated/PowerShellV2/make.json +++ b/_generated/PowerShellV2/make.json @@ -12,6 +12,17 @@ "options": "-R" } ] + }, + { + "name": "Microsoft.Identity.Client", + "version": "4.48.0", + "repository": "https://www.nuget.org/api/v2/", + "cp": [ + { + "source": "lib/net45/Microsoft.Identity.Client.dll", + "dest": "msal" + } + ] } ] }, @@ -30,14 +41,6 @@ { "module": "../Common/Sanitizer", "type": "ps" - }, - { - "module": "../Common/VstsAzureRestHelpers_", - "type": "ps" - }, - { - "module": "../Common/TlsHelper_", - "type": "ps" } ] } diff --git a/_generated/PowerShellV2/package-lock.json b/_generated/PowerShellV2/package-lock.json index 43ecda457836..5a046e1dd340 100644 --- a/_generated/PowerShellV2/package-lock.json +++ b/_generated/PowerShellV2/package-lock.json @@ -1,136 +1,205 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@azure/msal-common": { + "packages": { + "": { + "name": "vsts-powershell-task", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@azure/msal-node": "^2.7.0", + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.16.0", + "azure-pipelines-tasks-artifacts-common": "2.230.0", + "azure-pipelines-tasks-packaging-common": "^3.236.0", + "azure-pipelines-tasks-utility-common": "^3.235.0", + "msal-node1": "npm:@azure/msal-node@^1.18.4", + "msal-node2": "npm:@azure/msal-node@^2.9.2", + "semver": "^6.3.1", + "uuid": "^3.0.1" + }, + "devDependencies": { + "typescript": "4.9.5" + } + }, + "node_modules/@azure/msal-common": { "version": "14.16.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "@azure/msal-node": { + "node_modules/@azure/msal-node": { "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "requires": { + "license": "MIT", + "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } + "engines": { + "node": ">=16" } }, - "@types/fs-extra": { + "node_modules/@azure/msal-node/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@types/fs-extra": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/ini": { + "node_modules/@types/ini": { "version": "1.3.30", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", + "license": "MIT" }, - "@types/ltx": { + "node_modules/@types/ltx": { "version": "2.8.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/mocha": { + "node_modules/@types/mocha": { "version": "5.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", + "license": "MIT" }, - "@types/node": { + "node_modules/@types/node": { "version": "16.18.120", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", - "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=" + "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", + "license": "MIT" }, - "@types/q": { + "node_modules/@types/q": { "version": "1.5.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", + "license": "MIT" }, - "@types/semver": { + "node_modules/@types/semver": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", + "license": "MIT" }, - "@types/uuid": { + "node_modules/@types/uuid": { "version": "3.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", + "license": "MIT" }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.5.16", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", + "license": "MIT", + "engines": { + "node": ">=12.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "requires": { + "license": "MIT", + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "requires": { + "license": "MIT", + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "requires": { + "license": "ISC", + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", + "license": "Python-2.0" }, - "azure-devops-node-api": { + "node_modules/azure-devops-node-api": { "version": "12.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "requires": { + "license": "MIT", + "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "azure-pipelines-task-lib": { + "node_modules/azure-pipelines-task-lib": { "version": "4.17.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "requires": { + "license": "MIT", + "dependencies": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -138,20 +207,23 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - } } }, - "azure-pipelines-tasks-artifacts-common": { + "node_modules/azure-pipelines-task-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "requires": { + "license": "MIT", + "dependencies": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -159,20 +231,23 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" - } } }, - "azure-pipelines-tasks-packaging-common": { + "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common": { "version": "3.246.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "requires": { + "license": "MIT", + "dependencies": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -189,110 +264,140 @@ "q": "^1.5.0", "semver": "^5.7.2", "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "license": "MIT", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", "dependencies": { - "@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" - }, - "azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - }, - "typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "requires": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tasks-utility-common": { + "node_modules/azure-pipelines-tasks-utility-common": { "version": "3.246.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2", "typed-rest-client": "2.1.0" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", + "license": "MIT" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "license": "BSD-3-Clause" + }, + "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "license": "MIT", "dependencies": { - "@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "requires": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, - "azure-pipelines-tool-lib": { + "node_modules/azure-pipelines-tool-lib": { "version": "2.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "requires": { + "license": "MIT", + "dependencies": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -300,284 +405,443 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" - } } }, - "balanced-match": { + "node_modules/azure-pipelines-tool-lib/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "license": "MIT" }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "requires": { + "license": "MIT", + "dependencies": { "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "license": "ISC" }, - "buffer-equal-constant-time": { + "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "license": "BSD-3-Clause" }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "camelcase": { + "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "license": "MIT", "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "chokidar": { + "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "requires": { + "license": "MIT", + "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "cliui": { + "node_modules/cliui": { "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "requires": { + "license": "ISC", + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { + "license": "MIT", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "license": "MIT" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "license": "MIT" }, - "debug": { + "node_modules/debug": { "version": "4.3.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "requires": { + "license": "MIT", + "dependencies": { "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "decamelize": { + "node_modules/decamelize": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "des.js": { + "node_modules/des.js": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "requires": { + "license": "MIT", + "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "diff": { + "node_modules/diff": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "ecdsa-sig-formatter": { + "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "requires": { + "license": "Apache-2.0", + "dependencies": { "safe-buffer": "^5.0.1" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "license": "MIT" }, - "es-define-property": { + "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" } }, - "es-errors": { + "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "escalade": { + "node_modules/escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "requires": { + "license": "MIT", + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { + "node_modules/find-up": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "requires": { + "license": "MIT", + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat": { + "node_modules/flat": { "version": "5.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "requires": { + "license": "MIT", + "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "license": "ISC" }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", - "optional": true - }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "glob": { + "node_modules/glob": { "version": "7.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "requires": { + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -585,197 +849,306 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "requires": { + "license": "ISC", + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "gopd": { + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gopd": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", + "license": "ISC" }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=" + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=" + "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "requires": { + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "license": "MIT", + "bin": { + "he": "bin/he" + } }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "requires": { + "license": "MIT", + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "license": "ISC" }, - "ini": { + "node_modules/ini": { "version": "1.3.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "license": "ISC" }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } }, - "ip-address": { + "node_modules/ip-address": { "version": "5.9.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", - "requires": { + "license": "MIT", + "dependencies": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" } }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "requires": { + "license": "MIT", + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "requires": { + "license": "MIT", + "dependencies": { "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "requires": { + "license": "MIT", + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } }, - "is-plain-obj": { + "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-unicode-supported": { + "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "js-md4": { + "node_modules/js-md4": { "version": "0.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", + "license": "MIT" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "requires": { + "license": "MIT", + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", + "license": "MIT" }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { + "license": "MIT", + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonwebtoken": { + "node_modules/jsonwebtoken": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "requires": { + "license": "MIT", + "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -787,129 +1160,177 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "dependencies": { - "semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" - } + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "jwa": { + "node_modules/jwa": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "requires": { + "license": "MIT", + "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "jws": { + "node_modules/jws": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "requires": { + "license": "MIT", + "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "locate-path": { + "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "requires": { + "license": "MIT", + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "license": "MIT" }, - "lodash.includes": { + "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "license": "MIT" }, - "lodash.isboolean": { + "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "license": "MIT" }, - "lodash.isinteger": { + "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "license": "MIT" }, - "lodash.isnumber": { + "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "license": "MIT" }, - "lodash.isplainobject": { + "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "license": "MIT" }, - "lodash.isstring": { + "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "license": "MIT" }, - "lodash.once": { + "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "license": "MIT" }, - "log-symbols": { + "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ltx": { + "node_modules/ltx": { "version": "2.10.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "requires": { + "license": "MIT", + "dependencies": { "inherits": "^2.0.4" } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "requires": { + "license": "MIT", + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "license": "ISC" }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "mocha": { + "node_modules/mocha": { "version": "10.8.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", @@ -931,391 +1352,608 @@ "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "license": "MIT", "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "requires": { - "brace-expansion": "^2.0.1" - } - } + "balanced-match": "^1.0.0" } }, - "ms": { + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "license": "MIT" }, - "msal-node1": { - "version": "npm:@azure/msal-node@1.18.4", + "node_modules/msal-node1": { + "name": "@azure/msal-node", + "version": "1.18.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", - "requires": { + "dependencies": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" - }, - "dependencies": { - "@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } } }, - "msal-node2": { - "version": "npm:@azure/msal-node@2.16.2", + "node_modules/msal-node1/node_modules/@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/msal-node1/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/msal-node2": { + "name": "@azure/msal-node", + "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "requires": { + "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" - } } }, - "nodejs-file-downloader": { + "node_modules/msal-node2/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "requires": { + "license": "ISC", + "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "p-limit": { + "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "requires": { + "license": "MIT", + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "node_modules/p-locate": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "requires": { + "license": "MIT", + "dependencies": { "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "path-exists": { + "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "license": "MIT" }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "q": { + "node_modules/q": { "version": "1.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "requires": { + "license": "MIT", + "dependencies": { "safe-buffer": "^5.1.0" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "requires": { + "license": "MIT", + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "requires": { + "license": "MIT", + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "requires": { + "license": "WTFPL OR ISC", + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "6.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "semver-compare": { + "node_modules/semver-compare": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "license": "MIT" }, - "serialize-javascript": { + "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "randombytes": "^2.1.0" } }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "license": "BSD-3-Clause" }, - "string-width": { + "node_modules/string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "requires": { + "license": "MIT", + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "requires": { + "license": "MIT", + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "requires": { + "license": "MIT", + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "requires": { + "license": "WTFPL", + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } }, - "typed-rest-client": { + "node_modules/typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "requires": { + "license": "MIT", + "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "typescript": { + "node_modules/typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", + "license": "MIT" }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", + "license": "(WTFPL OR MIT)" }, - "uuid": { + "node_modules/uuid": { "version": "3.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "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.", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } }, - "workerpool": { + "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", + "license": "Apache-2.0" }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "license": "ISC" }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yargs": { + "node_modules/yargs": { "version": "16.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "requires": { + "license": "MIT", + "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1323,28 +1961,46 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "requires": { + "license": "MIT", + "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" } }, - "yocto-queue": { + "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 390096730a12..a8e139bf4973 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -6,15 +6,8 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() -$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() -$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() $env:praval = "" -$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" -$defaultEnvironmentADALAuthUri = "https://login.windows.net/" -$azureStack = "AzureStack" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -22,6 +15,10 @@ function Get-EnvironmentAuthUrl { [Parameter(Mandatory = $false)] $useMSAL = $false ) + $defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" + $defaultEnvironmentADALAuthUri = "https://login.windows.net/" + $azureStack = "AzureStack" + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } if ([string]::IsNullOrEmpty($envAuthUrl)) { @@ -51,10 +48,6 @@ function Get-TaskDictionary { $dictionary["ConnectedServiceName"] = $connectedServiceName Write-Verbose "connectedServiceName : $connectedServiceName" - if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - return $dictionary - } - $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId @@ -74,6 +67,44 @@ function Get-EnvDictionary { return $envVars } +function RunTokenHandler { + param ( + [Parameter(Mandatory=$true)] + $tokenFilePath, + [Parameter(Mandatory=$true)] + $signalFromUserScript, + [Parameter(Mandatory=$true)] + $signalFromTask, + [Parameter(Mandatory=$true)] + $exitSignal + ) + + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary + + $psRunspace = [powershell]::Create().AddScript({ + param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + # Copying the env variables from parent runspace to the child runspace. + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + } catch { + $env:praval = $env:praval + " " + $_ + } + }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() +} + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -101,45 +132,23 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() - - $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary + $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() - $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) - try { - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - - . $accessTokenHelperFilePath - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) - return $env:praval - } catch { - $env:praval = $env:praval + " " + $_ - return $env:praval - } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) - - $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + Write-Host $connectedServiceName - while ($env:StartTask -ne "true") { - Start-Sleep 5 - Write-Host "Waiting....." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal + Start-Sleep 30 } - # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 5 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -243,47 +252,57 @@ try { $contents); - $joinedContents = ' - $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "' + $signalFromUserScript + '" - $signalFromTask = "' + $signalFromTask + '" - - $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - - function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + $joinedContents = ' + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" + + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + function Get-AzDoToken { + Write-Verbose "User Script: Starting process to notify Task and read output." - try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds + $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!$receivedResponseBool) { - Write-Verbose "User Script: Timeout waiting for Task to respond." + if (!receivedResponseBool) { + throw } - else { - try { - [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $tokenResponse = $powershellv2AccessToken - } catch { - Write-Verbose "Error reading the output file: $_" - } + + [string]$response = (Get-Content -Path $outputFile).Trim() + Write-Verbose "UserScript : Read output from file" + + $result = $response | ConvertFrom-Json + + if (![string]::IsNullOrWhiteSpace($result["Token"])) { + $expTime = $result["Expiration"] + Write-Host "Access Token Generated with expiration time of $expTime seconds" + return $result["Token"] + } + else + { + throw $result["ErrorMessage"] } - } - catch { - Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" + + return $powershellv2AccessToken } - return $tokenResponse - } + + ' + $joinedContents + } else { + $joinedContents = ' - ' + $joinedContents + function Get-AzDoToken { + return "' + $systemAccessToken + '" + } + + ' + $joinedContents; + } if ($input_showWarnings) { $joinedContents = ' @@ -410,7 +429,6 @@ finally { $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() Write-Host $psRunspace.EndInvoke($rsoutput) - Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 64e069260743..54589e10bd41 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 168 + "Patch": 198 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.168", + "Default": "2.250.198", "LocalPackages": "2.249.4", - "Node20-225": "2.250.169" + "Node20-225": "2.250.199" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 412be52a2174..486f72c48660 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 168 + "Patch": 198 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.168", + "Default": "2.250.198", "LocalPackages": "2.249.4", - "Node20-225": "2.250.169" + "Node20-225": "2.250.199" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 5c0527994c28..2644955aaf1a 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -51,7 +51,7 @@ function Global:Get-WiscAccessTokenPSV2Task { $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken @@ -65,24 +65,18 @@ function Global:Get-WiscAccessTokenPSV2Task { $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() - $token = $null - $expirationTime = $null - if($tokenResult) { - $token = $tokenResult.AccessToken - $expirationTime = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null } - if ($null -eq $token -or $token -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Generated token found to be null, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - if($expirationTime) { - $env:praval = $env:praval + "`n" + "Generated access token with expiration time of $expirationTime minutes." - } + if($tokenResult) { + $result["Token"] = $tokenResult.AccessToken + $result["ExpirationPeriod"] = $([math]::Round(([DateTime]::Parse($tokenResult.ExpiresOn) - [DateTime]::Now).TotalMinutes)) } - return $token + return $result } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global @@ -111,7 +105,8 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) # Ensure the output file has restricted permissions - if (-not (Test-Path $filePath)) { + if (-not (Test-Path $filePath)) + { New-Item -Path $filePath -ItemType File -Force $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name @@ -125,49 +120,54 @@ $tokenHandler = [PSCustomObject]@{ # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl - } else { + } + else + { $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - Write-Host "1-Task: Waiting for signals..." - Write-Verbose "2-Task: Waiting for signals..." $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - $env:StartTask = "true" - # Infinite loop to wait for signals and respond + + # Infinite loop to wait for and handle signals from user script for token request while ($true) { try { # Wait for either UserScript signal or Exit signal $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) - if ($index -eq 0) { + if ($index -eq 0) + { # Signal from UserScript - $token = "" - try { - [string]$connectedServiceName = $taskDict["ConnectedServiceName"] - - if ($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "No Service connection was found, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - } else { - $token = Get-WiscAccessTokenPSV2Task -connectedServiceName $connectedServiceName -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection : $connectedServiceName" - } + $result = @{ + Token = $null + ExpirationPeriod = $null + ExceptionMessage = $null + } + + try + { + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict + $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" } - catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_, returning the System Access Token" - $token = $env:SystemAccessTokenPowershellV2 - - } finally { - $token | Set-Content -Path $filePath + catch + { + $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" + $result["ExceptionMessage"] = $_ + } + finally + { + $json = $result | ConvertTo-Json + $json | Set-Content -Path $filePath $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file - $tmp = $eventFromTask.Set() + $res = $eventFromTask.Set() - } elseif ($index -eq 1) { + } + elseif ($index -eq 1) + { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break diff --git a/_generated/PowerShellV2_Node20/make.json b/_generated/PowerShellV2_Node20/make.json index 15c0de38db82..307b46f054dc 100644 --- a/_generated/PowerShellV2_Node20/make.json +++ b/_generated/PowerShellV2_Node20/make.json @@ -12,6 +12,17 @@ "options": "-R" } ] + }, + { + "name": "Microsoft.Identity.Client", + "version": "4.48.0", + "repository": "https://www.nuget.org/api/v2/", + "cp": [ + { + "source": "lib/net45/Microsoft.Identity.Client.dll", + "dest": "msal" + } + ] } ] }, @@ -30,14 +41,6 @@ { "module": "../Common/Sanitizer", "type": "ps" - }, - { - "module": "../Common/VstsAzureRestHelpers_", - "type": "ps" - }, - { - "module": "../Common/TlsHelper_", - "type": "ps" } ] } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 390096730a12..a8e139bf4973 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -6,15 +6,8 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() -$signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() -$exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() $env:praval = "" -$defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" -$defaultEnvironmentADALAuthUri = "https://login.windows.net/" -$azureStack = "AzureStack" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -22,6 +15,10 @@ function Get-EnvironmentAuthUrl { [Parameter(Mandatory = $false)] $useMSAL = $false ) + $defaultEnvironmentMSALAuthUri = "https://login.microsoftonline.com/" + $defaultEnvironmentADALAuthUri = "https://login.windows.net/" + $azureStack = "AzureStack" + $envAuthUrl = if ($useMSAL) { $endpoint.Data.activeDirectoryAuthority } else { $endpoint.Data.environmentAuthorityUrl } if ([string]::IsNullOrEmpty($envAuthUrl)) { @@ -51,10 +48,6 @@ function Get-TaskDictionary { $dictionary["ConnectedServiceName"] = $connectedServiceName Write-Verbose "connectedServiceName : $connectedServiceName" - if($null -eq $connectedServiceName -or $connectedServiceName -eq [string]::Empty) { - return $dictionary - } - $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId $dictionary["TenantId"] = $endpoint.Auth.Parameters.TenantId @@ -74,6 +67,44 @@ function Get-EnvDictionary { return $envVars } +function RunTokenHandler { + param ( + [Parameter(Mandatory=$true)] + $tokenFilePath, + [Parameter(Mandatory=$true)] + $signalFromUserScript, + [Parameter(Mandatory=$true)] + $signalFromTask, + [Parameter(Mandatory=$true)] + $exitSignal + ) + + $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) + $runspacePool.Open() + + $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" + $taskDict = Get-TaskDictionary + $envVars = Get-EnvDictionary + + $psRunspace = [powershell]::Create().AddScript({ + param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + try { + # Copying the env variables from parent runspace to the child runspace. + $envVars.GetEnumerator() | ForEach-Object { + [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) + } + + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + } catch { + $env:praval = $env:praval + " " + $_ + } + }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + + $psRunspace.RunspacePool = $runspacePool + $psRunspace.BeginInvoke() +} + function Get-ActionPreference { param ( [Parameter(Mandatory)] @@ -101,45 +132,23 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" - $env:SystemAccessTokenPowershellV2 = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") - # Create a runspace to handle the Async communication between the Task and User Script for Access Token - $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) - $runspacePool.Open() - - $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" - $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary + $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() - $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath,$filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) - try { - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - - . $accessTokenHelperFilePath - $tokenHandler.TokenHandler.Invoke($filePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) - return $env:praval - } catch { - $env:praval = $env:praval + " " + $_ - return $env:praval - } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenfilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) - - $psRunspace.RunspacePool = $runspacePool - $rsoutput = $psRunspace.BeginInvoke() + $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + Write-Host $connectedServiceName - while ($env:StartTask -ne "true") { - Start-Sleep 5 - Write-Host "Waiting....." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal + Start-Sleep 30 } - # Wait for the async runspace to start and get ready to listen to User scripts requests - Start-Sleep 5 # Get inputs. $input_errorActionPreference = Get-ActionPreference -VstsInputName 'errorActionPreference' -DefaultAction 'Stop' @@ -243,47 +252,57 @@ try { $contents); - $joinedContents = ' - $outputFile = "' + $tokenfilePath + '" - $signalFromUserScript = "' + $signalFromUserScript + '" - $signalFromTask = "' + $signalFromTask + '" - - $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) - $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - - function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + $joinedContents = ' + $outputFile = "' + $tokenfilePath + '" + $signalFromUserScript = "' + $signalFromUserScript + '" + $signalFromTask = "' + $signalFromTask + '" + + $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) + $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) - [string]$tokenResponse = $env:SystemAccessTokenPowershellV2 + function Get-AzDoToken { + Write-Verbose "User Script: Starting process to notify Task and read output." - try { # Signal Task to generate access token $tmp = $eventFromUserScript.Set() Write-Verbose "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(15000) # Wait for up to 15 seconds + $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!$receivedResponseBool) { - Write-Verbose "User Script: Timeout waiting for Task to respond." + if (!receivedResponseBool) { + throw } - else { - try { - [string]$powershellv2AccessToken = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $tokenResponse = $powershellv2AccessToken - } catch { - Write-Verbose "Error reading the output file: $_" - } + + [string]$response = (Get-Content -Path $outputFile).Trim() + Write-Verbose "UserScript : Read output from file" + + $result = $response | ConvertFrom-Json + + if (![string]::IsNullOrWhiteSpace($result["Token"])) { + $expTime = $result["Expiration"] + Write-Host "Access Token Generated with expiration time of $expTime seconds" + return $result["Token"] + } + else + { + throw $result["ErrorMessage"] } - } - catch { - Write-Verbose "Error occurred in Get-AzDoTokenHelper : $_" + + return $powershellv2AccessToken } - return $tokenResponse - } + + ' + $joinedContents + } else { + $joinedContents = ' - ' + $joinedContents + function Get-AzDoToken { + return "' + $systemAccessToken + '" + } + + ' + $joinedContents; + } if ($input_showWarnings) { $joinedContents = ' @@ -410,7 +429,6 @@ finally { $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() Write-Host $psRunspace.EndInvoke($rsoutput) - Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 058e2b54ef68..0997cf3e5412 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 169 + "Patch": 199 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.168", + "Default": "2.250.198", "LocalPackages": "2.249.4", - "Node20-225": "2.250.169" + "Node20-225": "2.250.199" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index f323bded07b0..c6b6e7ee7e75 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 169 + "Patch": 199 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.168", + "Default": "2.250.198", "LocalPackages": "2.249.4", - "Node20-225": "2.250.169" + "Node20-225": "2.250.199" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5a046e1dd340..b5b08897cb5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,629 +1,554 @@ { - "name": "vsts-powershell-task", - "version": "1.0.0", + "name": "Agent.Tasks", + "version": "0.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "vsts-powershell-task", - "version": "1.0.0", + "name": "Agent.Tasks", + "version": "0.6.0", "license": "MIT", "dependencies": { - "@azure/msal-node": "^2.7.0", - "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.16.0", - "azure-pipelines-tasks-artifacts-common": "2.230.0", - "azure-pipelines-tasks-packaging-common": "^3.236.0", - "azure-pipelines-tasks-utility-common": "^3.235.0", - "msal-node1": "npm:@azure/msal-node@^1.18.4", - "msal-node2": "npm:@azure/msal-node@^2.9.2", - "semver": "^6.3.1", - "uuid": "^3.0.1" + "agent-base": "^6.0.2" }, "devDependencies": { - "typescript": "4.9.5" + "adm-zip": "0.4.13", + "azure-devops-node-api": "^12.2.0", + "fast-xml-parser": "^4.3.6", + "js-yaml": "^3.13.1", + "minimatch": "3.0.2", + "minimist": "^1.2.8", + "mocha": "^6.2.3", + "node-fetch": "2.6.11", + "node-uuid": "1.4.6", + "nodejs-file-downloader": "^4.11.1", + "nyc": "^15.1.0", + "q": "1.4.1", + "semver": "5.7.2", + "shelljs": "^0.8.5", + "typed-rest-client": "^1.8.9", + "typescript": "4.0.2", + "validator": "^13.7.0" } }, - "node_modules/@azure/msal-common": { - "version": "14.16.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", - "license": "MIT", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha1-7UQbb6YAByUgzhi0PSyMyMrsx/Q=", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, "engines": { - "node": ">=0.8.0" + "node": ">=6.0.0" } }, - "node_modules/@azure/msal-node": { - "version": "2.16.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", - "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "license": "MIT", + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha1-S1+rl9MzOO/5FiNQVfDrwh5XOoU=", + "dev": true, "dependencies": { - "@azure/msal-common": "14.16.0", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=6.9.0" } }, - "node_modules/@types/fs-extra": { - "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", - "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "license": "MIT", - "dependencies": { - "@types/node": "*" + "node_modules/@babel/compat-data": { + "version": "7.26.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/compat-data/-/compat-data-7.26.3.tgz", + "integrity": "sha1-mUiCZKVrKt7WOYOr1qQX8DuS7QI=", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/ini": { - "version": "1.3.30", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", - "license": "MIT" - }, - "node_modules/@types/ltx": { - "version": "2.8.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", - "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "license": "MIT", + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha1-14tgI8yPMRTM8EnrIZYT90p0e0A=", + "dev": true, "dependencies": { - "@types/node": "*" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@types/mocha": { - "version": "5.2.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "16.18.120", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", - "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", - "license": "MIT" - }, - "node_modules/@types/q": { - "version": "1.5.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "3.4.13", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", - "license": "MIT" + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha1-S1YPZJ/E6RjdCrdc9JYei8iC2Co=", + "dev": true }, - "node_modules/adm-zip": { - "version": "0.5.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", - "license": "MIT", - "engines": { - "node": ">=12.0" + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "license": "MIT", + "node_modules/@babel/generator": { + "version": "7.26.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/generator/-/generator-7.26.3.tgz", + "integrity": "sha1-q41DYFRKQlyQwkjfcFmIH0ss4Bk=", + "dev": true, "dependencies": { - "debug": "4" + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { - "node": ">= 6.0.0" + "node": ">=6.9.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", - "license": "MIT", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha1-Va8CXONlvjzcDBweVsavYXzoiHU=", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "license": "MIT", + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha1-5/jSBgLr2/nrvqCgdR+w8qQUFxU=", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "license": "ISC", + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha1-jOVOydWSaV5Y2EzYhLe1xqL97q4=", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", - "license": "Python-2.0" - }, - "node_modules/azure-devops-node-api": { - "version": "12.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", - "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "license": "MIT", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha1-Gqu3Lucu01eJtLvK08ooYs5hTow=", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-task-lib": { - "version": "4.17.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", - "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "license": "MIT", - "dependencies": { - "adm-zip": "^0.5.10", - "minimatch": "3.0.5", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.7.2", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha1-JLZOLD7HzTs8VHcpuNFocfIsvcc=", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-task-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha1-huRb2KSat+A/J2V3+WF5ZT1B2nI=", + "dev": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-tasks-artifacts-common": { - "version": "2.230.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", - "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "license": "MIT", + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha1-MOYh8eulqkX+b0ho0ukVTYhBGaQ=", + "dev": true, "dependencies": { - "@types/fs-extra": "8.0.0", - "@types/mocha": "^5.2.6", - "@types/node": "^16.11.39", - "azure-devops-node-api": "12.0.0", - "azure-pipelines-task-lib": "^4.2.0", - "fs-extra": "8.1.0", - "semver": "6.3.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "license": "ISC", + "node_modules/@babel/parser": { + "version": "7.26.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/parser/-/parser-7.26.3.tgz", + "integrity": "sha1-jFHF223fCBNK8d26zxaqq0i6wjQ=", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.3" + }, "bin": { - "semver": "bin/semver.js" + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/azure-pipelines-tasks-packaging-common": { - "version": "3.246.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", - "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "license": "MIT", + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha1-7LYtgaim9dxf6Kv8OQH8Ut3xUBY=", + "dev": true, "dependencies": { - "@types/ini": "1.3.30", - "@types/ltx": "2.8.0", - "@types/mocha": "^5.2.6", - "@types/node": "~16.11.39", - "@types/q": "1.5.2", - "adm-zip": "^0.4.11", - "azure-devops-node-api": "14.1.0", - "azure-pipelines-task-lib": "^4.9.0", - "azure-pipelines-tool-lib": "^2.0.7", - "ini": "^1.3.8", - "ip-address": "^5.8.9", - "ltx": "^2.6.2", - "mocha": "^10.7.3", - "q": "^1.5.0", - "semver": "^5.7.2", - "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", - "license": "MIT", + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, "engines": { - "node": ">=0.3.0" + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "license": "MIT", + "node_modules/@babel/traverse": { + "version": "7.26.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/traverse/-/traverse-7.26.4.tgz", + "integrity": "sha1-rDoqhLkI3ebUY8O/osX9wWU1dL0=", + "dev": true, "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">= 16.0.0" + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/@babel/types": { + "version": "7.26.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/types/-/types-7.26.3.tgz", + "integrity": "sha1-N+eYMPBMK1aHrMd9uX+8dfuB88A=", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=", + "dev": true, "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">= 16.0.0" + "node": ">=8" } }, - "node_modules/azure-pipelines-tasks-utility-common": { - "version": "3.246.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", - "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, "dependencies": { - "@types/node": "~16.11.39", - "azure-pipelines-task-lib": "^4.11.0", - "azure-pipelines-tool-lib": "^2.0.7", - "js-yaml": "3.13.1", - "semver": "^5.7.2", - "typed-rest-client": "2.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "p-limit": "^2.2.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "license": "BSD-3-Clause" + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha1-Tw4GNi4BNi+CPTSPGHKwj2ZtgUI=", + "dev": true, "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 16.0.0" + "node": ">=6.0.0" } }, - "node_modules/azure-pipelines-tool-lib": { - "version": "2.0.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", - "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "license": "MIT", - "dependencies": { - "@types/semver": "^5.3.0", - "@types/uuid": "^3.4.5", - "azure-pipelines-task-lib": "^4.1.0", - "semver": "^5.7.0", - "semver-compare": "^1.0.0", - "typed-rest-client": "^1.8.6", - "uuid": "^3.3.2" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha1-eg7mAfYPmaIMfHxf8MgDiMEYm9Y=", + "dev": true, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/azure-pipelines-tool-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha1-VY+2Ry7RakyFC4iVMOazZDjEkoA=", + "dev": true, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "license": "MIT" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha1-MYi8snOkFLDSFf0ipYVAuYm5QJo=", + "dev": true }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha1-FfGQ6YiV8/wjJ27hS8drZ1wuUPA=", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/adm-zip": { + "version": "0.4.13", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha1-WX4vjMNnIVHhMH0+lc3bx1ZyMUo=", + "dev": true, + "engines": { + "node": ">=0.3.0" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", - "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "debug": "4" }, "engines": { - "node": ">=8" + "node": ">= 6.0.0" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", - "license": "ISC" - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "license": "BSD-3-Clause" - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "license": "MIT", + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", + "dev": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", - "license": "MIT", + "node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha1-V9NbhoboUeLMBMQD8cACA5dqGBM=", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha1-Ej1keekq1FrYl9QFTjx8p9tJROE=", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "license": "MIT", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "license": "MIT", + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha1-mdnSnHs4OR5vQo0ozhNlUfC3fhI=", + "dev": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "default-require-extensions": "^3.0.0" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "license": "MIT", + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "license": "MIT" + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", - "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "license": "MIT", + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha1-HlWD7BZ2NUCieuUu7Zn/iZIjVo8=", + "dev": true, "dependencies": { - "ms": "^2.1.3" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", - "license": "MIT", + "node_modules/array.prototype.reduce": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", + "integrity": "sha1-aq3C+ZWvKcuIfrhm2YHchatvfcc=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "is-string": "^1.0.7" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "license": "MIT", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha1-nXYNhNvdBtDL+SyISWFaGnqzGDw=", + "dev": true, "dependencies": { - "es-define-property": "^1.0.0", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -632,310 +557,432 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "license": "MIT", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha1-pcw3XWoDwu/IelU/PgsVIt7xSEY=", + "dev": true, "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "license": "BSD-3-Clause", + "possible-typed-array-names": "^1.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "license": "Apache-2.0", + "node_modules/azure-devops-node-api": { + "version": "12.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha1-OLnv18WsdDVP5Ojb5CaX2wuOhaU=", + "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true, "license": "MIT" }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "dev": true, + "license": "ISC" }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "license": "MIT", + "node_modules/browserslist": { + "version": "4.24.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha1-X8JyXKj7PBQy4T2sJ4x8wQPgJtI=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=6" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/escape-string-regexp": { + "node_modules/caching-transform": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "license": "MIT", - "engines": { - "node": ">=10" + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha1-ANKXpCBtceIWPDnq/6gVesBlHw8=", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha1-BzapZg9TfjOIgm9EDV7EX3ROqkw=", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "license": "MIT", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha1-MuWJLmNhspsLVFum93YzeNrKKEA=", + "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "license": "MIT", + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha1-Qc/QMrWT45F2pxUzq084SqBP1oE=", + "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", + "node_modules/caniuse-lite": { + "version": "1.0.30001688", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001688.tgz", + "integrity": "sha1-+dPt50nwg84NtME9udgora8ujQo=", + "dev": true, "funding": [ { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "license": "MIT", + "node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=4" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "license": "ISC" + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "license": "ISC", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", + "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=6" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "license": "MIT", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ansi-regex": "^4.1.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "license": "ISC", + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha1-f6rmI1P7QhM2bQypg1jSLoNosF8=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", + "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">= 8" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "license": "ISC", + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": "*" + "node": ">= 8" } }, - "node_modules/gopd": { + "node_modules/data-view-buffer": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "license": "MIT", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha1-jqYybv7Bei5CYgaW5nHX1ai8ZrI=", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "license": "MIT", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha1-kHIcqV/ygGd+t5N0n84QETR2aeI=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "license": "MIT", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha1-Xgu/tIKO0tG5tADNin0Rm8oP8Yo=", + "dev": true, "dependencies": { - "es-define-property": "^1.0.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha1-v64A/urq2mjCriVsYlQPYLgGJb0=", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", + "dev": true, "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, "engines": { "node": ">= 0.4" }, @@ -943,544 +990,1903 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "license": "MIT", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha1-EHgcxhbrlRqAoDS6/Kpzd/avK2w=", + "dev": true, "dependencies": { - "function-bind": "^1.1.2" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "license": "MIT", - "bin": { - "he": "bin/he" + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", + "dev": true, + "engines": { + "node": ">=0.3.1" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "license": "MIT", + "node_modules/dunder-proto": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha1-wvzgmLPI+ImVVJBfQ3e22F2rqoA=", + "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", + "node_modules/electron-to-chromium": { + "version": "1.5.73", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.73.tgz", + "integrity": "sha1-8ylWzkCUf6PIYGcmqWzY+1u19yA=", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.23.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha1-9FmaSUbVftRnUV7RDk8VconNUvs=", + "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "license": "ISC" + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha1-OoM/mrf9uA/J6NIwDIA9IW2P27A=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4=", + "dev": true + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha1-3bVc1HrC4kBwEmC8Ko4x7LZD2UE=", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha1-i7YPCkQMLkKBliQoQ41YVFrzl3c=", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha1-lsicgsxJ/YeUokg1uj4f+H8hThg=", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", + "dev": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz", + "integrity": "sha1-p+Zl/3m3kZEApSAvI5hLYVD5sx4=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-4.1.1.tgz", + "integrity": "sha1-o5IFnMOCiB/5hkL12k3eCpWfMJs=", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha1-cbMoAMnxWqjy+D9Ka9m/812GGlM=", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha1-5LymgIgWv4+TtSdQ8RJ/Wm/Ybjo=", + "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/ini": { - "version": "1.3.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, "license": "ISC" }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", + "dev": true, "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function.prototype.name/-/function.prototype.name-1.1.7.tgz", + "integrity": "sha1-nfSOpfdGv1d9fhW12onfiVKpjns=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha1-BAT+TuK6L2B/Dg7DyAuumUEzuDQ=", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha1-Q9090Oe0m4Ky38rRDcgkv3/CZdU=", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha1-UzdE1aogrKTgecjl2vf9RCAoIfU=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globals/-/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha1-dDDtOpddl7+1m8zkH1yruvplEjY=", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", + "dev": true, + "license": "ISC" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/growl/-/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha1-CHG9Pj1RYm9soJZmaLo11WAtbqo=", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha1-LNxC1AvvLltO6rfAGnPFTOerWrw=", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha1-pIR3mJs7MnrqPAT1MJbYFtl1IqE=", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha1-HqyRdilH0vcFa8g42T4TsulgSWE=", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha1-eh+Ss9Ye3SvGXSTxMFMOqT1/rpg=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha1-jkQY79Pl06brsBZMBe9a+2mqlkY=", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha1-3aejRF31ekJYPbQihoLrp8QXBnI=", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha1-wg0MZUvgXaT7wjxWJjXAGek9r4k=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "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" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha1-O8KoXqdC2eNiBdys3XLKH9xRsFU=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha1-uuCkG5aImGwhiN2mZX5WuPnmO44=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha1-rYVUGZb8eqiycpcB0ntzGfldgvc=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha1-10p9DF81eONKIHKeaSAuV41JXcI=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha1-8VWLrxrBfg3up8BBXEODUf8rPHI=", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha1-7elrf+HicLPERl46RlZYdkkm1i4=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha1-ztkDoCespjgbd3pXQwadc3akl0c=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number-object/-/is-number-object-1.1.0.tgz", + "integrity": "sha1-WoZ+nsw9KU3adA2fEng1hXr36wU=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha1-dtcKPtEO+b5I61d4h9dCBb8MrSI=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha1-irIJ6kJGCBQTct7W4MsgDvHZ0B0=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha1-Ejfxy6BZzbYkMdN43MN9loAYFog=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-string/-/is-string-1.1.0.tgz", + "integrity": "sha1-jLg8XVcxG/gFi8bI2ylHEWQdpF0=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha1-9HdhJ59TLisFpwJKdQbbvtrNBjQ=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha1-1sXKVt9iM0lZMi19fdHMpQ3r4ik=", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha1-v3JhXWSd/l9pkHnFS4PkfRrhnP0=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha1-R+NHKulaY/qc8lZgvPDBgcOXcO8=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha1-6AFRnfjAxD4S/yg07q2E7J5iQAc=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha1-LRZsSwZE1Do58Ev2wu3R5YXzF1Y=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha1-j4TJQ0iIzGsdCp1wkqdtI56/DMY=", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha1-Nm1FTNDct+tuDkGTeOYAcshiYWk=", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha1-kIMFusmlvRdaxqdEier9D8JEWn0=", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha1-w8IwencSd82WODBfkVwprnQbYU4=", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha1-2u0SueHcpRjhXAVuHlN+dBKA+gs=", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha1-dNM1ojT2ftGZB/2t+sfM+dQJgl0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/json5/-/json5-2.2.3.tgz", + "integrity": "sha1-eM1vGhm9wStz21rQxh79ZsHikoM=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/math-intrinsics": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha1-TgS/h8hapR6Q0HjawiUrTrUmCBc=", + "dev": true, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" } }, - "node_modules/ip-address": { - "version": "5.9.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", + "dev": true, "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "lodash": "^4.17.15", - "sprintf-js": "1.1.2" - }, "engines": { - "node": ">= 0.10" + "node": ">= 0.6" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", + "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "license": "MIT", + "node_modules/minimatch": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.2.tgz", + "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", + "dev": true, "dependencies": { - "hasown": "^2.0.2" + "brace-expansion": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha1-waRk52kzAuCCoHXO4MBXdBrEdyw=", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/mkdirp": { + "version": "0.5.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha1-/QFQSmeX7Fyb6B/0PSBJYe1kpRI=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "license": "MIT", + "node_modules/mocha": { + "version": "6.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-6.2.3.tgz", + "integrity": "sha1-5khDIYHYuZOTQQISZkRQpMHjGRI=", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "2.2.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.4", + "ms": "2.1.1", + "node-environment-flags": "1.0.5", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "license": "MIT", + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.3.tgz", + "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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": ">=8" + "node": "*" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/js-md4": { - "version": "0.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "license": "MIT", + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, "dependencies": { - "argparse": "^2.0.1" + "brace-expansion": "^1.1.7" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "*" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", "license": "MIT" }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node_modules/node-environment-flags": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha1-+pMCdfW/Xa4YjWGSsktMi7rD12o=", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" } }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "license": "MIT", + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha1-zef8cd7vMTHvgKc4kZ+Znm7f/yU=", + "dev": true, "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha1-wDBDuzJ/QXoY/uerfuV7QIoUQwE=", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha1-nkRaUpUJUexNF32EOvNwtBHK8xQ=", + "dev": true + }, + "node_modules/node-uuid": { + "version": "1.4.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-uuid/-/node-uuid-1.4.6.tgz", + "integrity": "sha1-apYy9GNSJDyE0vRVNNYUwL3L6vI=", + "deprecated": "Use uuid module instead", + "dev": true, + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", - "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "license": "MIT", + "node_modules/nodejs-file-downloader": { + "version": "4.13.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", + "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", + "dev": true, + "license": "ISC", "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^5.0.0", + "mime-types": "^2.1.27", + "sanitize-filename": "^1.6.3" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "license": "MIT", + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha1-EzXa4S3ch7biSdWhmUykva6nXwI=", + "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "nyc": "bin/nyc.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8.9" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "license": "MIT" + "node_modules/nyc/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/lodash.includes": { + "node_modules/nyc/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "license": "MIT", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ltx": { - "version": "2.10.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", - "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "license": "MIT", + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, "dependencies": { - "inherits": "^2.0.4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "license": "MIT", + "node_modules/nyc/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "license": "MIT", + "node_modules/nyc/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, "dependencies": { - "mime-db": "1.52.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "license": "ISC" + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/minimatch": { - "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "license": "ISC", + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "p-locate": "^4.1.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "license": "MIT", + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">=8" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/nyc/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", + "node_modules/nyc/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "license": "ISC", + "node_modules/nyc/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "license": "MIT" - }, - "node_modules/msal-node1": { - "name": "@azure/msal-node", - "version": "1.18.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", - "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, "dependencies": { - "@azure/msal-common": "13.3.1", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" - } - }, - "node_modules/msal-node1/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", - "license": "MIT", + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msal-node1/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=8" } }, - "node_modules/msal-node2": { - "name": "@azure/msal-node", - "version": "2.16.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", - "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, "dependencies": { - "@azure/msal-common": "14.16.0", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" - } - }, - "node_modules/msal-node2/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "node_modules/nodejs-file-downloader": { - "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", - "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "license": "ISC", + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, "dependencies": { - "follow-redirects": "^1.15.6", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "license": "MIT", + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -1489,87 +2895,250 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha1-Lx/gYG7Bp2WBVMzU9yhQT2lmeSM=", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "license": "MIT", + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "license": "MIT", + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/path-exists": { + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "license": "MIT", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha1-NTf2VGZew8w4gnOH/JBMFjxU9QY=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, "engines": { "node": ">=8" } }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true, "license": "MIT" }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", - "license": "MIT", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s=", + "dev": true + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, "engines": { - "node": ">=8.6" + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha1-ibtjxvraLD6QrcSmR77us5zHv48=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/process-on-spawn": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha1-nVmZuoezvwqKywUyLWny9apPt2M=", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/q": { - "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "version": "1.4.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "license": "MIT", + "dev": true, "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -1579,6 +3148,7 @@ "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" @@ -1590,51 +3160,90 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "license": "MIT", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz", + "integrity": "sha1-xYr7F6QAe00RGMB7ksI/ykIsXYI=", + "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "dunder-proto": "^1.0.0", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.2.0", + "which-builtin-type": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "license": "MIT", + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha1-s65AsdJJm4NQqyw/5u84RdOpb0I=", + "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, "dependencies": { - "resolve": "^1.1.6" + "es6-error": "^4.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=4" } }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "license": "MIT", + "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -1648,63 +3257,97 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha1-yeVOxPYDsLu45+UAel7nrs0VOMM=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha1-f4fftnoxUHguqvGFg/9dFxGsEME=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", + "dev": true, "license": "WTFPL OR ISC", "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "license": "ISC", + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", + "dev": true, "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" } }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", + "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -1718,10 +3361,47 @@ "node": ">= 0.4" } }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha1-FqcFxaDcL15jjKltiozU4cK5CYU=", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", @@ -1736,15 +3416,16 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", + "dev": true, "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1753,69 +3434,228 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", - "license": "BSD-3-Clause" + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "license": "MIT", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "license": "MIT", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "license": "MIT", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk=", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha1-EDaFuLj5t5dxMYgnqnhlCmENRX4=", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, "engines": { "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha1-QLLdXulMlZtNz7HWXOcukNpIDIE=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "license": "MIT", + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha1-YuJzEnLNKFBBs2WWBU6fZlabaUI=", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha1-fug03ajHwX7/MRhHK7Nb/tqjTd4=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha1-XE6Cn+Fa1P8NIMPbWsl7c8mwcts=", + "dev": true + }, + "node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha1-ds/nQs8fQbubHCmtAwaMBbTA5Ao=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -1824,22 +3664,43 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "license": "MIT", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha1-BKhphmHYBepvopO2y55jrARO8V4=", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "dev": true, "dependencies": { - "is-number": "^7.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8.0" + "node": "*" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, "license": "WTFPL", "dependencies": { "utf8-byte-length": "^1.0.1" @@ -1849,15 +3710,100 @@ "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "dev": true, "license": "MIT", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha1-GGfF2Dsg/LXM8yZJ5eL8dCRHT/M=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha1-2Sly08/5mj+i52Wij83A8did7Gc=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha1-P6nyJWdwDMhqr4ah5xdvdLWWAPI=", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha1-7k3v+YS2S+HhGLDejJyHfVznPT0=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", + "dev": true, "license": "MIT", "dependencies": { "qs": "^6.9.1", @@ -1865,12 +3811,20 @@ "underscore": "^1.12.1" } }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", + "version": "4.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha1-fqfIh3fHI8aB4zv3mIvl0AjQWsI=", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1879,127 +3833,367 @@ "node": ">=4.2.0" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha1-KQMgIQV9Xmzb0IxRKcIm3/jtb54=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", + "dev": true, "license": "MIT" }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha1-gIRvuh156CVH+2YfjRQeCUV1X+U=", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", + "dev": true, "license": "(WTFPL OR MIT)" }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "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.", - "license": "MIT", + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/validator/-/validator-13.12.0.tgz", + "integrity": "sha1-fXjna6hVBNo/7k/Rkis4WRTUs18=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, "bin": { - "uuid": "bin/uuid" + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", + "integrity": "sha1-LYUNbErDe5VEGmeJDhnz/ai2xtk=", + "dev": true, + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.0", + "is-number-object": "^1.1.0", + "is-string": "^1.1.0", + "is-symbol": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", - "license": "Apache-2.0" + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha1-iRg9obSQerCJprAgKcxdjWV0Jw4=", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "license": "MIT", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha1-Yn73YkOSChB+fOjpYZHevksWwqA=", + "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha1-d2sf412Qrr6Z6KwV6yQJM4mkpAk=", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha1-2020KcRwb+yi8BZ3oUQnjkqMIWs=", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, "license": "ISC" }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "license": "ISC", - "engines": { - "node": ">=10" + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true + }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "license": "MIT", + "version": "13.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "license": "ISC", - "engines": { - "node": ">=10" + "version": "13.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "license": "MIT", + "version": "1.6.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha1-7yXCx2n/a9CeSw+dfGBfsnhG6p8=", + "dev": true, "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "license": "MIT", + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha1-Fk2qyHqy1vbbOimHXi0XZlgtq+0=", + "dev": true, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } } } From 97fef604075bdad11c1695c0cd18344e0a9c2f14 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 14:46:45 +0530 Subject: [PATCH 30/37] Refactor --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 6 +- Tasks/PowerShellV2/package-lock.json | 1825 ++++++----------- Tasks/PowerShellV2/powershell.ps1 | 9 +- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 2 +- .../resources.resjson/en-US/resources.resjson | 2 + _generated/PowerShellV2/package-lock.json | 1825 ++++++----------- _generated/PowerShellV2/powershell.ps1 | 9 +- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 2 +- _generated/PowerShellV2_Node20/powershell.ps1 | 9 +- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 16 files changed, 1234 insertions(+), 2487 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 2644955aaf1a..80fdf82b92a4 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -51,6 +51,10 @@ function Global:Get-WiscAccessTokenPSV2Task { $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] + $a = Get-ChildItem $PSScriptRoot -Recurse + + $env:praval = $env:praval + "`n" + $a + Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) @@ -82,7 +86,7 @@ New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessToken $tokenHandler = [PSCustomObject]@{ - TokenHandler = { + Run = { param( [Parameter(Mandatory=$true)] [string]$filePath, diff --git a/Tasks/PowerShellV2/package-lock.json b/Tasks/PowerShellV2/package-lock.json index 5a046e1dd340..fc9a6ad66a68 100644 --- a/Tasks/PowerShellV2/package-lock.json +++ b/Tasks/PowerShellV2/package-lock.json @@ -1,205 +1,136 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 3, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "vsts-powershell-task", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@azure/msal-node": "^2.7.0", - "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.16.0", - "azure-pipelines-tasks-artifacts-common": "2.230.0", - "azure-pipelines-tasks-packaging-common": "^3.236.0", - "azure-pipelines-tasks-utility-common": "^3.235.0", - "msal-node1": "npm:@azure/msal-node@^1.18.4", - "msal-node2": "npm:@azure/msal-node@^2.9.2", - "semver": "^6.3.1", - "uuid": "^3.0.1" - }, - "devDependencies": { - "typescript": "4.9.5" - } - }, - "node_modules/@azure/msal-common": { + "dependencies": { + "@azure/msal-common": { "version": "14.16.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" }, - "node_modules/@azure/msal-node": { + "@azure/msal-node": { "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "license": "MIT", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/@types/fs-extra": { + "@types/fs-extra": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/ini": { + "@types/ini": { "version": "1.3.30", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", - "license": "MIT" + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, - "node_modules/@types/ltx": { + "@types/ltx": { "version": "2.8.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/mocha": { + "@types/mocha": { "version": "5.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", - "license": "MIT" + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, - "node_modules/@types/node": { - "version": "16.18.120", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", - "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", - "license": "MIT" + "@types/node": { + "version": "16.18.122", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.122.tgz", + "integrity": "sha1-VJSN2+Ld74FE7hazfxYOP5nDI5c=" }, - "node_modules/@types/q": { + "@types/q": { "version": "1.5.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", - "license": "MIT" + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" }, - "node_modules/@types/semver": { + "@types/semver": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", - "license": "MIT" + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, - "node_modules/@types/uuid": { + "@types/uuid": { "version": "3.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", - "license": "MIT" + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, - "node_modules/adm-zip": { + "adm-zip": { "version": "0.5.16", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", - "license": "MIT", - "engines": { - "node": ">=12.0" - } + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" }, - "node_modules/agent-base": { + "agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "license": "MIT", - "dependencies": { + "requires": { "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" } }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", - "license": "MIT", - "engines": { - "node": ">=6" - } + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "license": "MIT", - "dependencies": { + "requires": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { + "anymatch": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "license": "ISC", - "dependencies": { + "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/argparse": { + "argparse": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", - "license": "Python-2.0" + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" }, - "node_modules/azure-devops-node-api": { + "azure-devops-node-api": { "version": "12.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "license": "MIT", - "dependencies": { + "requires": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "node_modules/azure-pipelines-task-lib": { + "azure-pipelines-task-lib": { "version": "4.17.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "license": "MIT", - "dependencies": { + "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -207,23 +138,20 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-task-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-artifacts-common": { + "azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "license": "MIT", - "dependencies": { + "requires": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -231,23 +159,20 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + } } }, - "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common": { + "azure-pipelines-tasks-packaging-common": { "version": "3.246.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "license": "MIT", - "dependencies": { + "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -264,140 +189,110 @@ "q": "^1.5.0", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", - "license": "MIT", - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "license": "MIT", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" }, - "engines": { - "node": ">= 16.0.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - }, - "engines": { - "node": ">= 16.0.0" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" + }, + "azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tasks-utility-common": { + "azure-pipelines-tasks-utility-common": { "version": "3.246.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "license": "BSD-3-Clause" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - }, - "engines": { - "node": ">= 16.0.0" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tool-lib": { + "azure-pipelines-tool-lib": { "version": "2.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "license": "MIT", - "dependencies": { + "requires": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -405,443 +300,300 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-tool-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "license": "MIT" + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, - "node_modules/binary-extensions": { + "binary-extensions": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "license": "MIT", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "license": "MIT", - "dependencies": { + "requires": { "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/browser-stdout": { + "browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", - "license": "ISC" + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, - "node_modules/buffer-equal-constant-time": { + "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "license": "BSD-3-Clause" + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", + "call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha1-MuWJLmNhspsLVFum93YzeNrKKEA=", + "requires": { "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha1-Qc/QMrWT45F2pxUzq084SqBP1oE=", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" } }, - "node_modules/camelcase": { + "camelcase": { "version": "6.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" }, - "node_modules/chalk": { + "chalk": { "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/chokidar": { + "chokidar": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "license": "MIT", - "dependencies": { + "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", + "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, - "node_modules/cliui": { + "cliui": { "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "license": "ISC", - "dependencies": { + "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/color-convert": { + "color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "license": "MIT", - "dependencies": { + "requires": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "license": "MIT" + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", - "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "license": "MIT", - "dependencies": { + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "debug": { + "version": "4.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.4.0.tgz", + "integrity": "sha1-Kz8q6i/+t3ZHdGAmc3fchxD6uoo=", + "requires": { "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, - "node_modules/decamelize": { + "decamelize": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/des.js": { + "des.js": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "license": "MIT", - "dependencies": { + "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "node_modules/diff": { + "diff": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" + }, + "dunder-proto": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha1-wvzgmLPI+ImVVJBfQ3e22F2rqoA=", + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" } }, - "node_modules/ecdsa-sig-formatter": { + "ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "license": "Apache-2.0", - "dependencies": { + "requires": { "safe-buffer": "^5.0.1" } }, - "node_modules/emoji-regex": { + "emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "license": "MIT" + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } + "es-define-property": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=" }, - "node_modules/es-errors": { + "es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha1-3bVc1HrC4kBwEmC8Ko4x7LZD2UE=", + "requires": { + "es-errors": "^1.3.0" } }, - "node_modules/escalade": { + "escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "license": "MIT", - "engines": { - "node": ">=6" - } + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" }, - "node_modules/esprima": { + "esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" }, - "node_modules/fill-range": { + "fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "license": "MIT", - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/find-up": { + "find-up": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "license": "MIT", - "dependencies": { + "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { + "flat": { "version": "5.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" }, - "node_modules/follow-redirects": { + "follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" }, - "node_modules/fs-extra": { + "fs-extra": { "version": "8.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "license": "MIT", - "dependencies": { + "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" } }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "license": "ISC" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", + "optional": true }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" }, - "node_modules/get-caller-file": { + "get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "license": "MIT", - "dependencies": { + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" + }, + "get-intrinsic": { + "version": "1.2.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha1-Q9090Oe0m4Ky38rRDcgkv3/CZdU=", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" } }, - "node_modules/glob": { + "glob": { "version": "7.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -849,306 +601,181 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "node_modules/glob-parent": { + "glob-parent": { "version": "5.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "license": "ISC", - "dependencies": { + "requires": { "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "gopd": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=" }, - "node_modules/graceful-fs": { + "graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", - "license": "ISC" + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, - "node_modules/has-flag": { + "has-flag": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "has-symbols": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=" }, - "node_modules/hasown": { + "hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "license": "MIT", - "dependencies": { + "requires": { "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/he": { + "he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "license": "MIT", - "bin": { - "he": "bin/he" - } + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" }, - "node_modules/https-proxy-agent": { + "https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "license": "MIT", - "dependencies": { + "requires": { "agent-base": "6", "debug": "4" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "license": "ISC" + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, - "node_modules/ini": { + "ini": { "version": "1.3.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "license": "ISC" + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, - "node_modules/interpret": { + "interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" }, - "node_modules/ip-address": { + "ip-address": { "version": "5.9.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", - "license": "MIT", - "dependencies": { + "requires": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/is-binary-path": { + "is-binary-path": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "license": "MIT", - "dependencies": { + "requires": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "license": "MIT", - "dependencies": { + "is-core-module": { + "version": "2.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha1-bAH/3V4zxJwdKr+pMzSoXLVr2Bw=", + "requires": { "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "node_modules/is-fullwidth-code-point": { + "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "license": "MIT", - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, - "node_modules/is-plain-obj": { + "is-plain-obj": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" }, - "node_modules/is-unicode-supported": { + "is-unicode-supported": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" }, - "node_modules/js-md4": { + "js-md4": { "version": "0.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", - "license": "MIT" + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, - "node_modules/js-yaml": { + "js-yaml": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "license": "MIT", - "dependencies": { + "requires": { "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { + "jsbn": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", - "license": "MIT" + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, - "node_modules/jsonfile": { + "jsonfile": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "license": "MIT", - "optionalDependencies": { + "requires": { "graceful-fs": "^4.1.6" } }, - "node_modules/jsonwebtoken": { + "jsonwebtoken": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "license": "MIT", - "dependencies": { + "requires": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -1160,177 +787,134 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" + } } }, - "node_modules/jwa": { + "jwa": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "license": "MIT", - "dependencies": { + "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "node_modules/jws": { + "jws": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "license": "MIT", - "dependencies": { + "requires": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "node_modules/locate-path": { + "locate-path": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "license": "MIT", - "dependencies": { + "requires": { "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { + "lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "license": "MIT" + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, - "node_modules/lodash.includes": { + "lodash.includes": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", - "license": "MIT" + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, - "node_modules/lodash.isboolean": { + "lodash.isboolean": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", - "license": "MIT" + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, - "node_modules/lodash.isinteger": { + "lodash.isinteger": { "version": "4.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", - "license": "MIT" + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, - "node_modules/lodash.isnumber": { + "lodash.isnumber": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", - "license": "MIT" + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, - "node_modules/lodash.isplainobject": { + "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "license": "MIT" + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, - "node_modules/lodash.isstring": { + "lodash.isstring": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "license": "MIT" + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, - "node_modules/lodash.once": { + "lodash.once": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "license": "MIT" + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "node_modules/log-symbols": { + "log-symbols": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "license": "MIT", - "dependencies": { + "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ltx": { + "ltx": { "version": "2.10.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "license": "MIT", - "dependencies": { + "requires": { "inherits": "^2.0.4" } }, - "node_modules/mime-db": { + "math-intrinsics": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha1-TgS/h8hapR6Q0HjawiUrTrUmCBc=" + }, + "mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" }, - "node_modules/mime-types": { + "mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "license": "MIT", - "dependencies": { + "requires": { "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/minimalistic-assert": { + "minimalistic-assert": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "license": "ISC" + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" }, - "node_modules/minimatch": { + "minimatch": { "version": "3.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "license": "ISC", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/mocha": { + "mocha": { "version": "10.8.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", @@ -1352,608 +936,411 @@ "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, - "node_modules/ms": { + "ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "license": "MIT" + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, - "node_modules/msal-node1": { - "name": "@azure/msal-node", - "version": "1.18.4", + "msal-node1": { + "version": "npm:@azure/msal-node@1.18.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", - "dependencies": { + "requires": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/msal-node1/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msal-node1/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/msal-node2": { - "name": "@azure/msal-node", - "version": "2.16.2", + "msal-node2": { + "version": "npm:@azure/msal-node@2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/msal-node2/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/nodejs-file-downloader": { + "nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "license": "ISC", - "dependencies": { + "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "node_modules/normalize-path": { + "normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, - "node_modules/object-inspect": { + "object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "license": "ISC", - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/p-limit": { + "p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "license": "MIT", - "dependencies": { + "requires": { "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "p-locate": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "license": "MIT", - "dependencies": { + "requires": { "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-exists": { + "path-exists": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "node_modules/path-parse": { + "path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "license": "MIT" + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, - "node_modules/picomatch": { + "picomatch": { "version": "2.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" }, - "node_modules/q": { + "q": { "version": "1.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, - "node_modules/qs": { + "qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { + "randombytes": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "license": "MIT", - "dependencies": { + "requires": { "safe-buffer": "^5.1.0" } }, - "node_modules/readdirp": { + "readdirp": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "license": "MIT", - "dependencies": { + "requires": { "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" } }, - "node_modules/rechoir": { + "rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { + "requires": { "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/require-directory": { + "require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.22.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.9.tgz", + "integrity": "sha1-baduTNxXGB+kRxIxQA6IUdCpJPM=", + "requires": { + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { + "safe-buffer": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, - "node_modules/sanitize-filename": { + "sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "license": "WTFPL OR ISC", - "dependencies": { + "requires": { "truncate-utf8-bytes": "^1.0.0" } }, - "node_modules/semver": { + "semver": { "version": "6.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" }, - "node_modules/semver-compare": { + "semver-compare": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "license": "MIT" + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, - "node_modules/serialize-javascript": { + "serialize-javascript": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "randombytes": "^2.1.0" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shelljs": { + "shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "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.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", + "side-channel": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", + "requires": { "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" } }, - "node_modules/sprintf-js": { + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, + "sprintf-js": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", - "license": "BSD-3-Clause" + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, - "node_modules/string-width": { + "string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "license": "MIT", - "dependencies": { + "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-ansi": { + "strip-ansi": { "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-json-comments": { + "strip-json-comments": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" }, - "node_modules/supports-color": { + "supports-color": { "version": "8.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "license": "MIT", - "dependencies": { + "requires": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/supports-preserve-symlinks-flag": { + "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" }, - "node_modules/to-regex-range": { + "to-regex-range": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "license": "MIT", - "dependencies": { + "requires": { "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" } }, - "node_modules/truncate-utf8-bytes": { + "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "license": "WTFPL", - "dependencies": { + "requires": { "utf8-byte-length": "^1.0.1" } }, - "node_modules/tunnel": { + "tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", - "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" }, - "node_modules/typed-rest-client": { + "typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "license": "MIT", - "dependencies": { + "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "node_modules/typescript": { + "typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } + "dev": true }, - "node_modules/underscore": { + "underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", - "license": "MIT" + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, - "node_modules/universalify": { + "universalify": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, - "node_modules/utf8-byte-length": { + "utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", - "license": "(WTFPL OR MIT)" + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, - "node_modules/uuid": { + "uuid": { "version": "3.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "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.", - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" }, - "node_modules/workerpool": { + "workerpool": { "version": "6.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", - "license": "Apache-2.0" + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, - "node_modules/wrap-ansi": { + "wrap-ansi": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { + "wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "license": "ISC" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/y18n": { + "y18n": { "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "license": "ISC", - "engines": { - "node": ">=10" - } + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" }, - "node_modules/yargs": { + "yargs": { "version": "16.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "license": "MIT", - "dependencies": { + "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1961,46 +1348,28 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yargs-parser": { + "yargs-parser": { "version": "20.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "license": "ISC", - "engines": { - "node": ">=10" - } + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" }, - "node_modules/yargs-unparser": { + "yargs-unparser": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "license": "MIT", - "dependencies": { + "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yocto-queue": { + "yocto-queue": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index a8e139bf4973..5249da70d6c6 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -87,7 +87,7 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) try { # Copying the env variables from parent runspace to the child runspace. $envVars.GetEnumerator() | ForEach-Object { @@ -99,7 +99,7 @@ function RunTokenHandler { } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -148,6 +148,7 @@ try { if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal Start-Sleep 30 + Write-Host $env:praval } # Get inputs. @@ -271,7 +272,7 @@ try { # Wait for Task to finish processing $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!receivedResponseBool) { + if (!$receivedResponseBool) { throw } @@ -428,7 +429,7 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $psRunspace.EndInvoke($rsoutput) + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index da2f9c0814fa..e9a8a1e02233 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 198 + "Patch": 208 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index e58e38776fb8..604867d01a58 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 198 + "Patch": 208 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 3d624f64c33b..f007500806cf 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.198 -Node20-225|2.250.199 +Default|2.250.208 +Node20-225|2.250.209 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 2644955aaf1a..cbf41fa90dcc 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -82,7 +82,7 @@ New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessToken $tokenHandler = [PSCustomObject]@{ - TokenHandler = { + Run = { param( [Parameter(Mandatory=$true)] [string]$filePath, diff --git a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson index f4b03fe1b455..d7810c1fb145 100644 --- a/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson +++ b/_generated/PowerShellV2/Strings/resources.resjson/en-US/resources.resjson @@ -6,6 +6,8 @@ "loc.releaseNotes": "Script task consistency. Added support for macOS and Linux.", "loc.group.displayName.preferenceVariables": "Preference Variables", "loc.group.displayName.advanced": "Advanced", + "loc.input.label.ConnectedServiceName": "Azure DevOps Service Connection", + "loc.input.help.ConnectedServiceName": "Select an Azure DevOps Service Connection service connection", "loc.input.label.targetType": "Type", "loc.input.help.targetType": "Target script type: File Path or Inline", "loc.input.label.filePath": "Script Path", diff --git a/_generated/PowerShellV2/package-lock.json b/_generated/PowerShellV2/package-lock.json index 5a046e1dd340..fc9a6ad66a68 100644 --- a/_generated/PowerShellV2/package-lock.json +++ b/_generated/PowerShellV2/package-lock.json @@ -1,205 +1,136 @@ { "name": "vsts-powershell-task", "version": "1.0.0", - "lockfileVersion": 3, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "vsts-powershell-task", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@azure/msal-node": "^2.7.0", - "@types/mocha": "^5.2.7", - "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.16.0", - "azure-pipelines-tasks-artifacts-common": "2.230.0", - "azure-pipelines-tasks-packaging-common": "^3.236.0", - "azure-pipelines-tasks-utility-common": "^3.235.0", - "msal-node1": "npm:@azure/msal-node@^1.18.4", - "msal-node2": "npm:@azure/msal-node@^2.9.2", - "semver": "^6.3.1", - "uuid": "^3.0.1" - }, - "devDependencies": { - "typescript": "4.9.5" - } - }, - "node_modules/@azure/msal-common": { + "dependencies": { + "@azure/msal-common": { "version": "14.16.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-14.16.0.tgz", - "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-80cPyux4jb5QhZlSzUmTQL2iPXo=" }, - "node_modules/@azure/msal-node": { + "@azure/msal-node": { "version": "2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "license": "MIT", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/@types/fs-extra": { + "@types/fs-extra": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/fs-extra/-/fs-extra-8.0.0.tgz", "integrity": "sha1-0+LDE8op+VBZ8ZjdYNH3dGQtSyU=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/ini": { + "@types/ini": { "version": "1.3.30", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ini/-/ini-1.3.30.tgz", - "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=", - "license": "MIT" + "integrity": "sha1-0UhUWcn62E6TdBS4MqKttknqs3k=" }, - "node_modules/@types/ltx": { + "@types/ltx": { "version": "2.8.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/ltx/-/ltx-2.8.0.tgz", "integrity": "sha1-hzfrLVKxYKa7nkbhgddMjylixQQ=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@types/mocha": { + "@types/mocha": { "version": "5.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", - "license": "MIT" + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=" }, - "node_modules/@types/node": { - "version": "16.18.120", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.120.tgz", - "integrity": "sha1-cZRDJDX9/rNocfH8RC5RH5sDJiI=", - "license": "MIT" + "@types/node": { + "version": "16.18.122", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.18.122.tgz", + "integrity": "sha1-VJSN2+Ld74FE7hazfxYOP5nDI5c=" }, - "node_modules/@types/q": { + "@types/q": { "version": "1.5.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/q/-/q-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=", - "license": "MIT" + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" }, - "node_modules/@types/semver": { + "@types/semver": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=", - "license": "MIT" + "integrity": "sha1-FGwqKe59O65L8vyydGNuJkyBPEU=" }, - "node_modules/@types/uuid": { + "@types/uuid": { "version": "3.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/uuid/-/uuid-3.4.13.tgz", - "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=", - "license": "MIT" + "integrity": "sha1-/okOUX+4QGIL4oTuIT6B1wKx92s=" }, - "node_modules/adm-zip": { + "adm-zip": { "version": "0.5.16", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=", - "license": "MIT", - "engines": { - "node": ">=12.0" - } + "integrity": "sha1-C15Md58H3t6lgFzcyxFHBx2UqQk=" }, - "node_modules/agent-base": { + "agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", - "license": "MIT", - "dependencies": { + "requires": { "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" } }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", - "license": "MIT", - "engines": { - "node": ">=6" - } + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=" }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=" }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "license": "MIT", - "dependencies": { + "requires": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { + "anymatch": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "license": "ISC", - "dependencies": { + "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/argparse": { + "argparse": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", - "license": "Python-2.0" + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=" }, - "node_modules/azure-devops-node-api": { + "azure-devops-node-api": { "version": "12.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.0.0.tgz", "integrity": "sha1-OLmJL4jobaRiRiGEEZIJI9jdalI=", - "license": "MIT", - "dependencies": { + "requires": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "node_modules/azure-pipelines-task-lib": { + "azure-pipelines-task-lib": { "version": "4.17.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", "integrity": "sha1-/VMnGollIKefO6iDOcwLNiv51bk=", - "license": "MIT", - "dependencies": { + "requires": { "adm-zip": "^0.5.10", "minimatch": "3.0.5", "nodejs-file-downloader": "^4.11.1", @@ -207,23 +138,20 @@ "semver": "^5.7.2", "shelljs": "^0.8.5", "uuid": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-task-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-artifacts-common": { + "azure-pipelines-tasks-artifacts-common": { "version": "2.230.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-artifacts-common/-/azure-pipelines-tasks-artifacts-common-2.230.0.tgz", "integrity": "sha1-auvD4xclbRvsWARm36mev2tKJlQ=", - "license": "MIT", - "dependencies": { + "requires": { "@types/fs-extra": "8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^16.11.39", @@ -231,23 +159,20 @@ "azure-pipelines-task-lib": "^4.2.0", "fs-extra": "8.1.0", "semver": "6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + } } }, - "node_modules/azure-pipelines-tasks-artifacts-common/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common": { + "azure-pipelines-tasks-packaging-common": { "version": "3.246.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.246.2.tgz", "integrity": "sha1-zVQP/pvpKSJ/3BKu2wKyN7W6U94=", - "license": "MIT", - "dependencies": { + "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", "@types/mocha": "^5.2.6", @@ -264,140 +189,110 @@ "q": "^1.5.0", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", - "license": "MIT", - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/azure-devops-node-api": { - "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", - "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", - "license": "MIT", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "2.1.0" }, - "engines": { - "node": ">= 16.0.0" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-packaging-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - }, - "engines": { - "node": ">= 16.0.0" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=" + }, + "azure-devops-node-api": { + "version": "14.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha1-7FOT3p+hRjmd6qtpBOQdoD7c4YA=", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "2.1.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tasks-utility-common": { + "azure-pipelines-tasks-utility-common": { "version": "3.246.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.246.0.tgz", "integrity": "sha1-+AfA6GAxHX81X9Y4YhTuuacwa2A=", - "license": "MIT", - "dependencies": { + "requires": { "@types/node": "~16.11.39", "azure-pipelines-task-lib": "^4.11.0", "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.7.2", "typed-rest-client": "2.1.0" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/@types/node": { - "version": "16.11.68", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", - "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=", - "license": "MIT" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "license": "BSD-3-Clause" - }, - "node_modules/azure-pipelines-tasks-utility-common/node_modules/typed-rest-client": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", - "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", - "license": "MIT", "dependencies": { - "des.js": "^1.1.0", - "js-md4": "^0.3.2", - "qs": "^6.10.3", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - }, - "engines": { - "node": ">= 16.0.0" + "@types/node": { + "version": "16.11.68", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@types/node/-/node-16.11.68.tgz", + "integrity": "sha1-MO6SP02UB5PgOA9c5hwL1LcZa2w=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "typed-rest-client": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha1-8Exs/KvGASwtA2uAbqrEVWBPFZg=", + "requires": { + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + } } }, - "node_modules/azure-pipelines-tool-lib": { + "azure-pipelines-tool-lib": { "version": "2.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.8.tgz", "integrity": "sha1-S9vVPAQsrcivQ6v2sNyspzUNDPk=", - "license": "MIT", - "dependencies": { + "requires": { "@types/semver": "^5.3.0", "@types/uuid": "^3.4.5", "azure-pipelines-task-lib": "^4.1.0", @@ -405,443 +300,300 @@ "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", "uuid": "^3.3.2" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", + "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=" + } } }, - "node_modules/azure-pipelines-tool-lib/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "license": "MIT" + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, - "node_modules/binary-extensions": { + "binary-extensions": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=" }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "license": "MIT", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/braces/-/braces-3.0.3.tgz", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "license": "MIT", - "dependencies": { + "requires": { "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/browser-stdout": { + "browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", - "license": "ISC" + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" }, - "node_modules/buffer-equal-constant-time": { + "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "license": "BSD-3-Clause" + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", + "call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha1-MuWJLmNhspsLVFum93YzeNrKKEA=", + "requires": { "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha1-Qc/QMrWT45F2pxUzq084SqBP1oE=", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" } }, - "node_modules/camelcase": { + "camelcase": { "version": "6.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=" }, - "node_modules/chalk": { + "chalk": { "version": "4.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-4.1.2.tgz", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/chokidar": { + "chokidar": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "license": "MIT", - "dependencies": { + "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", + "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, - "node_modules/cliui": { + "cliui": { "version": "7.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "license": "ISC", - "dependencies": { + "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/color-convert": { + "color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "license": "MIT", - "dependencies": { + "requires": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "license": "MIT" + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", - "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", - "license": "MIT", - "dependencies": { + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "debug": { + "version": "4.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.4.0.tgz", + "integrity": "sha1-Kz8q6i/+t3ZHdGAmc3fchxD6uoo=", + "requires": { "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, - "node_modules/decamelize": { + "decamelize": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=" }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/des.js": { + "des.js": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/des.js/-/des.js-1.1.0.tgz", "integrity": "sha1-HTf1dm87v/Tuljjocah2jBc7gdo=", - "license": "MIT", - "dependencies": { + "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "node_modules/diff": { + "diff": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.0.tgz", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=" + }, + "dunder-proto": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha1-wvzgmLPI+ImVVJBfQ3e22F2rqoA=", + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" } }, - "node_modules/ecdsa-sig-formatter": { + "ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "license": "Apache-2.0", - "dependencies": { + "requires": { "safe-buffer": "^5.0.1" } }, - "node_modules/emoji-regex": { + "emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "license": "MIT" + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=" }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } + "es-define-property": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo=" }, - "node_modules/es-errors": { + "es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=" + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha1-3bVc1HrC4kBwEmC8Ko4x7LZD2UE=", + "requires": { + "es-errors": "^1.3.0" } }, - "node_modules/escalade": { + "escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", - "license": "MIT", - "engines": { - "node": ">=6" - } + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=" }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=" }, - "node_modules/esprima": { + "esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" }, - "node_modules/fill-range": { + "fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "license": "MIT", - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/find-up": { + "find-up": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-5.0.0.tgz", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "license": "MIT", - "dependencies": { + "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { + "flat": { "version": "5.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } + "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=" }, - "node_modules/follow-redirects": { + "follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } + "integrity": "sha1-pgT6EORDv5jKlCKNnuvMLoosjuE=" }, - "node_modules/fs-extra": { + "fs-extra": { "version": "8.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "license": "MIT", - "dependencies": { + "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" } }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "license": "ISC" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", + "optional": true }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=" }, - "node_modules/get-caller-file": { + "get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", - "license": "MIT", - "dependencies": { + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" + }, + "get-intrinsic": { + "version": "1.2.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha1-Q9090Oe0m4Ky38rRDcgkv3/CZdU=", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" } }, - "node_modules/glob": { + "glob": { "version": "7.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -849,306 +601,181 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "node_modules/glob-parent": { + "glob-parent": { "version": "5.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "license": "ISC", - "dependencies": { + "requires": { "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "gopd": { + "version": "1.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE=" }, - "node_modules/graceful-fs": { + "graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=", - "license": "ISC" + "integrity": "sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM=" }, - "node_modules/has-flag": { + "has-flag": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "has-symbols": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha1-/JxqeDoISVHQuXH+EBjegTcHozg=" }, - "node_modules/hasown": { + "hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", - "license": "MIT", - "dependencies": { + "requires": { "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/he": { + "he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "license": "MIT", - "bin": { - "he": "bin/he" - } + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=" }, - "node_modules/https-proxy-agent": { + "https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", - "license": "MIT", - "dependencies": { + "requires": { "agent-base": "6", "debug": "4" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "license": "ISC" + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" }, - "node_modules/ini": { + "ini": { "version": "1.3.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz", - "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", - "license": "ISC" + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=" }, - "node_modules/interpret": { + "interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=" }, - "node_modules/ip-address": { + "ip-address": { "version": "5.9.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ip-address/-/ip-address-5.9.4.tgz", "integrity": "sha1-RmCsJhrWG9OXqGCgB/fpjk6u44Y=", - "license": "MIT", - "dependencies": { + "requires": { "jsbn": "1.1.0", "lodash": "^4.17.15", "sprintf-js": "1.1.2" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/is-binary-path": { + "is-binary-path": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "license": "MIT", - "dependencies": { + "requires": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc=", - "license": "MIT", - "dependencies": { + "is-core-module": { + "version": "2.16.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha1-bAH/3V4zxJwdKr+pMzSoXLVr2Bw=", + "requires": { "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "node_modules/is-fullwidth-code-point": { + "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=" }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "license": "MIT", - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, - "node_modules/is-plain-obj": { + "is-plain-obj": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=" }, - "node_modules/is-unicode-supported": { + "is-unicode-supported": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=" }, - "node_modules/js-md4": { + "js-md4": { "version": "0.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-md4/-/js-md4-0.3.2.tgz", - "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=", - "license": "MIT" + "integrity": "sha1-zTs9wEWwxARVbIHdtXVsI+WdfPU=" }, - "node_modules/js-yaml": { + "js-yaml": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "license": "MIT", - "dependencies": { + "requires": { "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { + "jsbn": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", - "license": "MIT" + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, - "node_modules/jsonfile": { + "jsonfile": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "license": "MIT", - "optionalDependencies": { + "requires": { "graceful-fs": "^4.1.6" } }, - "node_modules/jsonwebtoken": { + "jsonwebtoken": { "version": "9.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", - "license": "MIT", - "dependencies": { + "requires": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", @@ -1160,177 +787,134 @@ "ms": "^2.1.1", "semver": "^7.5.4" }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=" + } } }, - "node_modules/jwa": { + "jwa": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jwa/-/jwa-1.4.1.tgz", "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "license": "MIT", - "dependencies": { + "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, - "node_modules/jws": { + "jws": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jws/-/jws-3.2.2.tgz", "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "license": "MIT", - "dependencies": { + "requires": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, - "node_modules/locate-path": { + "locate-path": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "license": "MIT", - "dependencies": { + "requires": { "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { + "lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "license": "MIT" + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" }, - "node_modules/lodash.includes": { + "lodash.includes": { "version": "4.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", - "license": "MIT" + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, - "node_modules/lodash.isboolean": { + "lodash.isboolean": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", - "license": "MIT" + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" }, - "node_modules/lodash.isinteger": { + "lodash.isinteger": { "version": "4.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", - "license": "MIT" + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" }, - "node_modules/lodash.isnumber": { + "lodash.isnumber": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", - "license": "MIT" + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, - "node_modules/lodash.isplainobject": { + "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "license": "MIT" + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" }, - "node_modules/lodash.isstring": { + "lodash.isstring": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "license": "MIT" + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" }, - "node_modules/lodash.once": { + "lodash.once": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "license": "MIT" + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "node_modules/log-symbols": { + "log-symbols": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "license": "MIT", - "dependencies": { + "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ltx": { + "ltx": { "version": "2.10.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ltx/-/ltx-2.10.0.tgz", "integrity": "sha1-C3lLiY4B2dzGG1SxYOeIaQA7uyA=", - "license": "MIT", - "dependencies": { + "requires": { "inherits": "^2.0.4" } }, - "node_modules/mime-db": { + "math-intrinsics": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha1-TgS/h8hapR6Q0HjawiUrTrUmCBc=" + }, + "mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=" }, - "node_modules/mime-types": { + "mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "license": "MIT", - "dependencies": { + "requires": { "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/minimalistic-assert": { + "minimalistic-assert": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "license": "ISC" + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" }, - "node_modules/minimatch": { + "minimatch": { "version": "3.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha1-TajxKQ7g8PjoPWDKafjxNAaGBKM=", - "license": "ISC", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/mocha": { + "mocha": { "version": "10.8.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", @@ -1352,608 +936,411 @@ "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", - "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4=", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, - "node_modules/ms": { + "ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "license": "MIT" + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" }, - "node_modules/msal-node1": { - "name": "@azure/msal-node", - "version": "1.18.4", + "msal-node1": { + "version": "npm:@azure/msal-node@1.18.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-1.18.4.tgz", "integrity": "sha1-ySGwRHyS+zsMsev1qadvytLsfCE=", - "dependencies": { + "requires": { "@azure/msal-common": "13.3.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "dependencies": { + "@azure/msal-common": { + "version": "13.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", + "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/msal-node1/node_modules/@azure/msal-common": { - "version": "13.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-13.3.1.tgz", - "integrity": "sha1-ASRlv5QNEjddxHOHt1TM+da5IYA=", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msal-node1/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/msal-node2": { - "name": "@azure/msal-node", - "version": "2.16.2", + "msal-node2": { + "version": "npm:@azure/msal-node@2.16.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-2.16.2.tgz", "integrity": "sha1-Prdo02iD6m+ak5wLW0Z7UY54//w=", - "dependencies": { + "requires": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=" + } } }, - "node_modules/msal-node2/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/nodejs-file-downloader": { + "nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha1-2ofDAIHeX/TouGQGLJjN7APmatA=", - "license": "ISC", - "dependencies": { + "requires": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "node_modules/normalize-path": { + "normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, - "node_modules/object-inspect": { + "object-inspect": { "version": "1.13.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-8UwYPeURMCQ9bRiuFJN1/1DqSIo=" }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "license": "ISC", - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/p-limit": { + "p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "license": "MIT", - "dependencies": { + "requires": { "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "p-locate": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "license": "MIT", - "dependencies": { + "requires": { "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-exists": { + "path-exists": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "license": "MIT", - "engines": { - "node": ">=8" - } + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=" }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "node_modules/path-parse": { + "path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "license": "MIT" + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=" }, - "node_modules/picomatch": { + "picomatch": { "version": "2.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=" }, - "node_modules/q": { + "q": { "version": "1.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, - "node_modules/qs": { + "qs": { "version": "6.13.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.1.tgz", "integrity": "sha1-POX8cr06gXG4XJm5PGXdILfRsW4=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/randombytes": { + "randombytes": { "version": "2.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "license": "MIT", - "dependencies": { + "requires": { "safe-buffer": "^5.1.0" } }, - "node_modules/readdirp": { + "readdirp": { "version": "3.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "license": "MIT", - "dependencies": { + "requires": { "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" } }, - "node_modules/rechoir": { + "rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { + "requires": { "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" } }, - "node_modules/require-directory": { + "require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0=", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.22.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.9.tgz", + "integrity": "sha1-baduTNxXGB+kRxIxQA6IUdCpJPM=", + "requires": { + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { + "safe-buffer": { "version": "5.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" }, - "node_modules/sanitize-filename": { + "sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", - "license": "WTFPL OR ISC", - "dependencies": { + "requires": { "truncate-utf8-bytes": "^1.0.0" } }, - "node_modules/semver": { + "semver": { "version": "6.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=" }, - "node_modules/semver-compare": { + "semver-compare": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "license": "MIT" + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" }, - "node_modules/serialize-javascript": { + "serialize-javascript": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "randombytes": "^2.1.0" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shelljs": { + "shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha1-3gVUCNg2G+1mxmnS8ABTjO2O4gw=", - "license": "BSD-3-Clause", - "dependencies": { + "requires": { "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.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", + "side-channel": { + "version": "1.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k=", + "requires": { "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0=", + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I=", + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" } }, - "node_modules/sprintf-js": { + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo=", + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, + "sprintf-js": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", - "license": "BSD-3-Clause" + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=" }, - "node_modules/string-width": { + "string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "license": "MIT", - "dependencies": { + "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-ansi": { + "strip-ansi": { "version": "6.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-json-comments": { + "strip-json-comments": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=" }, - "node_modules/supports-color": { + "supports-color": { "version": "8.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "license": "MIT", - "dependencies": { + "requires": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/supports-preserve-symlinks-flag": { + "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=" }, - "node_modules/to-regex-range": { + "to-regex-range": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "license": "MIT", - "dependencies": { + "requires": { "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" } }, - "node_modules/truncate-utf8-bytes": { + "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "license": "WTFPL", - "dependencies": { + "requires": { "utf8-byte-length": "^1.0.1" } }, - "node_modules/tunnel": { + "tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", - "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=" }, - "node_modules/typed-rest-client": { + "typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", - "license": "MIT", - "dependencies": { + "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "node_modules/typescript": { + "typescript": { "version": "4.9.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.9.5.tgz", "integrity": "sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo=", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } + "dev": true }, - "node_modules/underscore": { + "underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", - "license": "MIT" + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=" }, - "node_modules/universalify": { + "universalify": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" }, - "node_modules/utf8-byte-length": { + "utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", - "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=", - "license": "(WTFPL OR MIT)" + "integrity": "sha1-+fY5ENFVNu4rLV3UZlOJcV6sXB4=" }, - "node_modules/uuid": { + "uuid": { "version": "3.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "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.", - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" }, - "node_modules/workerpool": { + "workerpool": { "version": "6.5.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", - "license": "Apache-2.0" + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=" }, - "node_modules/wrap-ansi": { + "wrap-ansi": { "version": "7.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "license": "MIT", - "dependencies": { + "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { + "wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "license": "ISC" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/y18n": { + "y18n": { "version": "5.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "license": "ISC", - "engines": { - "node": ">=10" - } + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=" }, - "node_modules/yargs": { + "yargs": { "version": "16.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "license": "MIT", - "dependencies": { + "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -1961,46 +1348,28 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yargs-parser": { + "yargs-parser": { "version": "20.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "license": "ISC", - "engines": { - "node": ">=10" - } + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=" }, - "node_modules/yargs-unparser": { + "yargs-unparser": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "license": "MIT", - "dependencies": { + "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/yocto-queue": { + "yocto-queue": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=" } } } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index a8e139bf4973..5249da70d6c6 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -87,7 +87,7 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) try { # Copying the env variables from parent runspace to the child runspace. $envVars.GetEnumerator() | ForEach-Object { @@ -99,7 +99,7 @@ function RunTokenHandler { } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -148,6 +148,7 @@ try { if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal Start-Sleep 30 + Write-Host $env:praval } # Get inputs. @@ -271,7 +272,7 @@ try { # Wait for Task to finish processing $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!receivedResponseBool) { + if (!$receivedResponseBool) { throw } @@ -428,7 +429,7 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $psRunspace.EndInvoke($rsoutput) + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 54589e10bd41..a6f4667785b2 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 198 + "Patch": 208 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.198", + "Default": "2.250.208", "LocalPackages": "2.249.4", - "Node20-225": "2.250.199" + "Node20-225": "2.250.209" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 486f72c48660..7bd6258ef685 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 198 + "Patch": 208 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.198", + "Default": "2.250.208", "LocalPackages": "2.249.4", - "Node20-225": "2.250.199" + "Node20-225": "2.250.209" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 2644955aaf1a..cbf41fa90dcc 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -82,7 +82,7 @@ New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessToken $tokenHandler = [PSCustomObject]@{ - TokenHandler = { + Run = { param( [Parameter(Mandatory=$true)] [string]$filePath, diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index a8e139bf4973..5249da70d6c6 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -87,7 +87,7 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) try { # Copying the env variables from parent runspace to the child runspace. $envVars.GetEnumerator() | ForEach-Object { @@ -99,7 +99,7 @@ function RunTokenHandler { } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -148,6 +148,7 @@ try { if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal Start-Sleep 30 + Write-Host $env:praval } # Get inputs. @@ -271,7 +272,7 @@ try { # Wait for Task to finish processing $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds - if (!receivedResponseBool) { + if (!$receivedResponseBool) { throw } @@ -428,7 +429,7 @@ finally { # Signal Task to exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $psRunspace.EndInvoke($rsoutput) + Write-Host $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 0997cf3e5412..fb44dd6ec8e4 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 199 + "Patch": 209 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.198", + "Default": "2.250.208", "LocalPackages": "2.249.4", - "Node20-225": "2.250.199" + "Node20-225": "2.250.209" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index c6b6e7ee7e75..a1c6dbb36a93 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 199 + "Patch": 209 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.198", + "Default": "2.250.208", "LocalPackages": "2.249.4", - "Node20-225": "2.250.199" + "Node20-225": "2.250.209" } } \ No newline at end of file From 834be91ebc0d9ad4523569a206d03aa547e0fbbd Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 20:08:59 +0530 Subject: [PATCH 31/37] refactoring --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 37 +++-- Tasks/PowerShellV2/Tests/L0StdErr.ts | 10 +- Tasks/PowerShellV2/make.json | 15 +- Tasks/PowerShellV2/powershell.ps1 | 88 ++++++----- Tasks/PowerShellV2/powershell.ts | 148 +++++++++--------- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 39 +++-- _generated/PowerShellV2/Tests/L0StdErr.ts | 10 +- _generated/PowerShellV2/make.json | 15 +- _generated/PowerShellV2/powershell.ps1 | 88 ++++++----- _generated/PowerShellV2/powershell.ts | 148 +++++++++--------- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 39 +++-- .../PowerShellV2_Node20/Tests/L0StdErr.ts | 10 +- _generated/PowerShellV2_Node20/make.json | 15 +- _generated/PowerShellV2_Node20/powershell.ps1 | 88 ++++++----- _generated/PowerShellV2_Node20/powershell.ts | 148 +++++++++--------- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 22 files changed, 481 insertions(+), 449 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 80fdf82b92a4..b9050278924a 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -4,16 +4,17 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] - [string]$serviceConnectionId, + $taskDict, [Parameter(Mandatory=$true)] [string]$vstsAccessToken ) - $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require - $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require - $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require - $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require - $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + $serviceConnectionId = $taskDict["ConnectedServiceName"] + $uri = $taskDict["Uri"] + $planId = $taskDict["PlanId"] + $jobId = $taskDict["JobId"] + $hub = $taskDict["Hub"] + $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $env:praval = $env:praval + "`n" + $url @@ -50,15 +51,14 @@ function Global:Get-WiscAccessTokenPSV2Task { $tenantId = $taskDict["TenantId"] $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - - $a = Get-ChildItem $PSScriptRoot -Recurse $env:praval = $env:praval + "`n" + $a - Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() @@ -96,17 +96,24 @@ $tokenHandler = [PSCustomObject]@{ [string]$signalFromTask, [Parameter(Mandatory=$true)] [string]$exitSignal, - $taskDict + [Parameter(Mandatory=$true)] + $taskDict, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null + $eventTaskWaitToExecute = $null try { $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) @@ -137,7 +144,7 @@ $tokenHandler = [PSCustomObject]@{ while ($true) { try { # Wait for either UserScript signal or Exit signal - $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { @@ -170,7 +177,11 @@ $tokenHandler = [PSCustomObject]@{ $res = $eventFromTask.Set() } - elseif ($index -eq 1) + elseif ($index -eq 1) { + [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) + $env:praval = $env:praval + "`n" + "SharedDict Set" + } + elseif ($index -eq 2) { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received diff --git a/Tasks/PowerShellV2/Tests/L0StdErr.ts b/Tasks/PowerShellV2/Tests/L0StdErr.ts index 9168877ff34b..ab4ce04bff5f 100644 --- a/Tasks/PowerShellV2/Tests/L0StdErr.ts +++ b/Tasks/PowerShellV2/Tests/L0StdErr.ts @@ -68,7 +68,7 @@ let a: ma.TaskLibAnswers = { return true; } } - } + }, }; tmr.setAnswers(a); tmr.registerMockExport('IssueSource', { TaskInternal: "TaskInternal", CustomerScript: "CustomerScript" }); @@ -97,14 +97,6 @@ fs.ReadStream.on = function(data, data1) { } tmr.registerMock('fs', fsClone); -// Moc Child Process -const cp = require('child_process'); -const cpClone = Object.assign({}, cp); -cpClone.spawnSync = function(cmd, args) { - console.log('Mock SpawnSync'); -} -tmr.registerMock('child_process', cpClone); - // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/Tasks/PowerShellV2/make.json b/Tasks/PowerShellV2/make.json index 307b46f054dc..698c17f0f94d 100644 --- a/Tasks/PowerShellV2/make.json +++ b/Tasks/PowerShellV2/make.json @@ -12,17 +12,6 @@ "options": "-R" } ] - }, - { - "name": "Microsoft.Identity.Client", - "version": "4.48.0", - "repository": "https://www.nuget.org/api/v2/", - "cp": [ - { - "source": "lib/net45/Microsoft.Identity.Client.dll", - "dest": "msal" - } - ] } ] }, @@ -41,6 +30,10 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" } ] } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 5249da70d6c6..27a902e07573 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -46,7 +46,7 @@ function Get-TaskDictionary { $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) $dictionary["ConnectedServiceName"] = $connectedServiceName - Write-Verbose "connectedServiceName : $connectedServiceName" + Write-Verbose "Azure Devops Service Connection Name : $connectedServiceName" $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId @@ -56,15 +56,13 @@ function Get-TaskDictionary { $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken - return $dictionary -} + $dictionary["Uri"] = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $dictionary["PlanId"] = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $dictionary["JobId"] = Get-VstsTaskVariable -Name 'System.JobId' -Require + $dictionary["Hub"] = Get-VstsTaskVariable -Name 'System.HostType' -Require + $dictionary["ProjectId"] = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require -function Get-EnvDictionary { - $envVars = @{} - [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { - $envVars[$_.Key] = $_.Value - } - return $envVars + return $dictionary } function RunTokenHandler { @@ -76,7 +74,11 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $signalFromTask, [Parameter(Mandatory=$true)] - $exitSignal + $exitSignal, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) @@ -87,19 +89,23 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) try { - # Copying the env variables from parent runspace to the child runspace. - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }). + AddArgument($accessTokenHelperFilePath). + AddArgument($tokenFilePath). + AddArgument($signalFromUserScript). + AddArgument($signalFromTask). + AddArgument($exitSignal). + AddArgument($taskDict). + AddArgument($envVars). + AddArgument($waitSignal). + AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -132,6 +138,7 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require @@ -141,14 +148,29 @@ try { $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) - Write-Host $connectedServiceName if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal - Start-Sleep 30 - Write-Host $env:praval + $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) + + RunTokenHandler ` + -tokenFilePath $tokenFilePath ` + -signalFromUserScript $signalFromUserScript ` + -signalFromTask $signalFromTask ` + -exitSignal $exitSignal ` + -waitSignal $waitSignalForRunspaceToBeReady ` + -sharedVar $sharedVar + + $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + $sharedVarValue = $null + do { + $res = $waitSignal.Set() + Start-Sleep 1 + $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) + } while ($sharedVarValue -eq "wait") } # Get inputs. @@ -263,35 +285,29 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." - # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Verbose "User Script: Notified Task to generate access token $tmp." + Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds + $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds if (!$receivedResponseBool) { - throw + throw "Request timed out" } [string]$response = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $result = $response | ConvertFrom-Json - if (![string]::IsNullOrWhiteSpace($result["Token"])) { - $expTime = $result["Expiration"] + if (![string]::IsNullOrWhiteSpace($result.Token)) { + $expTime = $result.ExpirationPeriod Write-Host "Access Token Generated with expiration time of $expTime seconds" - return $result["Token"] + return $result.Token } - else + else { - throw $result["ErrorMessage"] + throw $result.ExceptionMessage } - - return $powershellv2AccessToken } ' + $joinedContents diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 7461df54f8a6..15a21d35b890 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -14,15 +14,6 @@ import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); -cp.spawnSync('mkfifo', [ts2PsPipePath]); -cp.spawnSync('mkfifo', [ps2TsPipePath]); - -cp.spawnSync('chmod', ['600', ts2PsPipePath]); -cp.spawnSync('chmod', ['600', ps2TsPipePath]); - - -process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); - async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); tl.debug("connectedServiceName: " + connectedServiceName); @@ -33,22 +24,15 @@ async function startNamedPiped() { pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); tl.debug(`Received from PowerShell: ${command}`); - var systemAccessToken = tl.getVariable('System.AccessToken'); - process.env.System_Access_Token_PSV2_Task = systemAccessToken; if (command == 'Get-AzDoToken') { try { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); - writeStream.write(token + "\n"); - } else { - tl.debug(`No Service Connection found, returning empty token`); - writeStream.write(systemAccessToken + "\n"); - } + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); } catch(err) { tl.debug(`Token generation failed with error message ${err.message}`); - writeStream.write(systemAccessToken + "\n"); + writeStream.write("exception: " + err.message + "\n"); } } else { try { @@ -162,11 +146,21 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def } async function run() { + + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + const systemAccessToken = tl.getVariable('System.AccessToken'); + try { tl.setResourcePath(path.join(__dirname, 'task.json')); - if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + if(connectedServiceName && connectedServiceName.trim().length > 0) { + cp.spawnSync('mkfifo', [ts2PsPipePath]); + cp.spawnSync('mkfifo', [ps2TsPipePath]); + + cp.spawnSync('chmod', ['600', ts2PsPipePath]); + cp.spawnSync('chmod', ['600', ps2TsPipePath]); + startNamedPiped(); } @@ -248,40 +242,8 @@ async function run() { script = `${input_script}`; } - script = ` - $pipeWriter = $null; - $pipeReader = $null; - - try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); - } catch { - Write-Verbose "Error in connecting to the pipes."; - } - - function Get-AzDoToken { - try { - $pipeWriter.WriteLine('Get-AzDoToken'); - $pipeWriter.Flush(); - - $token = $pipeReader.ReadLine(); - $token = $token.Trim(); - - if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "empty response was found, returning the System Access Token"; - $token = $env:System_Access_Token_PSV2_Task; - } - return $token; - } - catch { - Write-Verbose "Error in Get-AzDoToken: $_"; - $token = $env:System_Access_Token_PSV2_Task; - return $token; - } - } - ${script} - `; - + + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -296,21 +258,51 @@ async function run() { `; } - script = ` - try { - ${script} - } - finally { - if($pipeWriter) { - $pipeWriter.WriteLine('Close'); - $pipeWriter.Flush(); - $pipeWriter.Close(); - } - if($pipeReader) { - $pipeReader.Close(); - } - }` + if(connectedServiceName && connectedServiceName.trim().length > 0) { + script = ` + $ps2TsPipeWriter = $null + $ts2PsPipeReader = $null + try { + $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + + function Get-AzDoToken { + $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); + $ps2TsPipeWriter.Flush(); + + $token = $ts2PsPipeReader.ReadLine(); + $token = $token.Trim(); + + if ($token.StartsWith("exception:")) { + throw $token + } + + return $token; + } + + ${script} + } finally { + if($ps2TsPipeWriter) { + $ps2TsPipeWriter.WriteLine('Close'); + $ps2TsPipeWriter.Flush(); + $ps2TsPipeWriter.Close(); + } + if($ts2PsPipeReader) { + $ts2PsPipeReader.Close(); + } + } + `; + } else { + script = ` + function Get-AzDoToken { + return "${systemAccessToken}" + } + + ${script} + `; + } + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -324,6 +316,8 @@ async function run() { contents.push(`}`); } + + // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -385,14 +379,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); + if(connectedServiceName && connectedServiceName.trim().length > 0) { + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + tl.debug("error caught in exiting"); } - } catch (err) { - tl.debug("error caught in exiting"); } } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index e9a8a1e02233..b2b4e1095699 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 208 + "Patch": 252 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 604867d01a58..f262ef692ade 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 208 + "Patch": 252 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index f007500806cf..446d99a68fa1 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.208 -Node20-225|2.250.209 +Default|2.250.252 +Node20-225|2.250.253 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index cbf41fa90dcc..b9050278924a 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -4,16 +4,17 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] - [string]$serviceConnectionId, + $taskDict, [Parameter(Mandatory=$true)] [string]$vstsAccessToken ) - $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require - $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require - $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require - $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require - $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + $serviceConnectionId = $taskDict["ConnectedServiceName"] + $uri = $taskDict["Uri"] + $planId = $taskDict["PlanId"] + $jobId = $taskDict["JobId"] + $hub = $taskDict["Hub"] + $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $env:praval = $env:praval + "`n" + $url @@ -50,11 +51,14 @@ function Global:Get-WiscAccessTokenPSV2Task { $tenantId = $taskDict["TenantId"] $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - - Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" + + $env:praval = $env:praval + "`n" + $a + + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() @@ -92,17 +96,24 @@ $tokenHandler = [PSCustomObject]@{ [string]$signalFromTask, [Parameter(Mandatory=$true)] [string]$exitSignal, - $taskDict + [Parameter(Mandatory=$true)] + $taskDict, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null + $eventTaskWaitToExecute = $null try { $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) @@ -133,7 +144,7 @@ $tokenHandler = [PSCustomObject]@{ while ($true) { try { # Wait for either UserScript signal or Exit signal - $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { @@ -166,7 +177,11 @@ $tokenHandler = [PSCustomObject]@{ $res = $eventFromTask.Set() } - elseif ($index -eq 1) + elseif ($index -eq 1) { + [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) + $env:praval = $env:praval + "`n" + "SharedDict Set" + } + elseif ($index -eq 2) { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received diff --git a/_generated/PowerShellV2/Tests/L0StdErr.ts b/_generated/PowerShellV2/Tests/L0StdErr.ts index 9168877ff34b..ab4ce04bff5f 100644 --- a/_generated/PowerShellV2/Tests/L0StdErr.ts +++ b/_generated/PowerShellV2/Tests/L0StdErr.ts @@ -68,7 +68,7 @@ let a: ma.TaskLibAnswers = { return true; } } - } + }, }; tmr.setAnswers(a); tmr.registerMockExport('IssueSource', { TaskInternal: "TaskInternal", CustomerScript: "CustomerScript" }); @@ -97,14 +97,6 @@ fs.ReadStream.on = function(data, data1) { } tmr.registerMock('fs', fsClone); -// Moc Child Process -const cp = require('child_process'); -const cpClone = Object.assign({}, cp); -cpClone.spawnSync = function(cmd, args) { - console.log('Mock SpawnSync'); -} -tmr.registerMock('child_process', cpClone); - // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2/make.json b/_generated/PowerShellV2/make.json index 307b46f054dc..698c17f0f94d 100644 --- a/_generated/PowerShellV2/make.json +++ b/_generated/PowerShellV2/make.json @@ -12,17 +12,6 @@ "options": "-R" } ] - }, - { - "name": "Microsoft.Identity.Client", - "version": "4.48.0", - "repository": "https://www.nuget.org/api/v2/", - "cp": [ - { - "source": "lib/net45/Microsoft.Identity.Client.dll", - "dest": "msal" - } - ] } ] }, @@ -41,6 +30,10 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 5249da70d6c6..27a902e07573 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -46,7 +46,7 @@ function Get-TaskDictionary { $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) $dictionary["ConnectedServiceName"] = $connectedServiceName - Write-Verbose "connectedServiceName : $connectedServiceName" + Write-Verbose "Azure Devops Service Connection Name : $connectedServiceName" $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId @@ -56,15 +56,13 @@ function Get-TaskDictionary { $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken - return $dictionary -} + $dictionary["Uri"] = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $dictionary["PlanId"] = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $dictionary["JobId"] = Get-VstsTaskVariable -Name 'System.JobId' -Require + $dictionary["Hub"] = Get-VstsTaskVariable -Name 'System.HostType' -Require + $dictionary["ProjectId"] = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require -function Get-EnvDictionary { - $envVars = @{} - [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { - $envVars[$_.Key] = $_.Value - } - return $envVars + return $dictionary } function RunTokenHandler { @@ -76,7 +74,11 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $signalFromTask, [Parameter(Mandatory=$true)] - $exitSignal + $exitSignal, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) @@ -87,19 +89,23 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) try { - # Copying the env variables from parent runspace to the child runspace. - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }). + AddArgument($accessTokenHelperFilePath). + AddArgument($tokenFilePath). + AddArgument($signalFromUserScript). + AddArgument($signalFromTask). + AddArgument($exitSignal). + AddArgument($taskDict). + AddArgument($envVars). + AddArgument($waitSignal). + AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -132,6 +138,7 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require @@ -141,14 +148,29 @@ try { $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) - Write-Host $connectedServiceName if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal - Start-Sleep 30 - Write-Host $env:praval + $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) + + RunTokenHandler ` + -tokenFilePath $tokenFilePath ` + -signalFromUserScript $signalFromUserScript ` + -signalFromTask $signalFromTask ` + -exitSignal $exitSignal ` + -waitSignal $waitSignalForRunspaceToBeReady ` + -sharedVar $sharedVar + + $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + $sharedVarValue = $null + do { + $res = $waitSignal.Set() + Start-Sleep 1 + $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) + } while ($sharedVarValue -eq "wait") } # Get inputs. @@ -263,35 +285,29 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." - # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Verbose "User Script: Notified Task to generate access token $tmp." + Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds + $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds if (!$receivedResponseBool) { - throw + throw "Request timed out" } [string]$response = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $result = $response | ConvertFrom-Json - if (![string]::IsNullOrWhiteSpace($result["Token"])) { - $expTime = $result["Expiration"] + if (![string]::IsNullOrWhiteSpace($result.Token)) { + $expTime = $result.ExpirationPeriod Write-Host "Access Token Generated with expiration time of $expTime seconds" - return $result["Token"] + return $result.Token } - else + else { - throw $result["ErrorMessage"] + throw $result.ExceptionMessage } - - return $powershellv2AccessToken } ' + $joinedContents diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 7461df54f8a6..15a21d35b890 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -14,15 +14,6 @@ import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); -cp.spawnSync('mkfifo', [ts2PsPipePath]); -cp.spawnSync('mkfifo', [ps2TsPipePath]); - -cp.spawnSync('chmod', ['600', ts2PsPipePath]); -cp.spawnSync('chmod', ['600', ps2TsPipePath]); - - -process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); - async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); tl.debug("connectedServiceName: " + connectedServiceName); @@ -33,22 +24,15 @@ async function startNamedPiped() { pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); tl.debug(`Received from PowerShell: ${command}`); - var systemAccessToken = tl.getVariable('System.AccessToken'); - process.env.System_Access_Token_PSV2_Task = systemAccessToken; if (command == 'Get-AzDoToken') { try { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); - writeStream.write(token + "\n"); - } else { - tl.debug(`No Service Connection found, returning empty token`); - writeStream.write(systemAccessToken + "\n"); - } + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); } catch(err) { tl.debug(`Token generation failed with error message ${err.message}`); - writeStream.write(systemAccessToken + "\n"); + writeStream.write("exception: " + err.message + "\n"); } } else { try { @@ -162,11 +146,21 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def } async function run() { + + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + const systemAccessToken = tl.getVariable('System.AccessToken'); + try { tl.setResourcePath(path.join(__dirname, 'task.json')); - if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + if(connectedServiceName && connectedServiceName.trim().length > 0) { + cp.spawnSync('mkfifo', [ts2PsPipePath]); + cp.spawnSync('mkfifo', [ps2TsPipePath]); + + cp.spawnSync('chmod', ['600', ts2PsPipePath]); + cp.spawnSync('chmod', ['600', ps2TsPipePath]); + startNamedPiped(); } @@ -248,40 +242,8 @@ async function run() { script = `${input_script}`; } - script = ` - $pipeWriter = $null; - $pipeReader = $null; - - try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); - } catch { - Write-Verbose "Error in connecting to the pipes."; - } - - function Get-AzDoToken { - try { - $pipeWriter.WriteLine('Get-AzDoToken'); - $pipeWriter.Flush(); - - $token = $pipeReader.ReadLine(); - $token = $token.Trim(); - - if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "empty response was found, returning the System Access Token"; - $token = $env:System_Access_Token_PSV2_Task; - } - return $token; - } - catch { - Write-Verbose "Error in Get-AzDoToken: $_"; - $token = $env:System_Access_Token_PSV2_Task; - return $token; - } - } - ${script} - `; - + + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -296,21 +258,51 @@ async function run() { `; } - script = ` - try { - ${script} - } - finally { - if($pipeWriter) { - $pipeWriter.WriteLine('Close'); - $pipeWriter.Flush(); - $pipeWriter.Close(); - } - if($pipeReader) { - $pipeReader.Close(); - } - }` + if(connectedServiceName && connectedServiceName.trim().length > 0) { + script = ` + $ps2TsPipeWriter = $null + $ts2PsPipeReader = $null + try { + $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + + function Get-AzDoToken { + $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); + $ps2TsPipeWriter.Flush(); + + $token = $ts2PsPipeReader.ReadLine(); + $token = $token.Trim(); + + if ($token.StartsWith("exception:")) { + throw $token + } + + return $token; + } + + ${script} + } finally { + if($ps2TsPipeWriter) { + $ps2TsPipeWriter.WriteLine('Close'); + $ps2TsPipeWriter.Flush(); + $ps2TsPipeWriter.Close(); + } + if($ts2PsPipeReader) { + $ts2PsPipeReader.Close(); + } + } + `; + } else { + script = ` + function Get-AzDoToken { + return "${systemAccessToken}" + } + + ${script} + `; + } + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -324,6 +316,8 @@ async function run() { contents.push(`}`); } + + // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -385,14 +379,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); + if(connectedServiceName && connectedServiceName.trim().length > 0) { + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + tl.debug("error caught in exiting"); } - } catch (err) { - tl.debug("error caught in exiting"); } } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index a6f4667785b2..ce20dcf60f61 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 208 + "Patch": 252 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.208", + "Default": "2.250.252", "LocalPackages": "2.249.4", - "Node20-225": "2.250.209" + "Node20-225": "2.250.253" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 7bd6258ef685..fcfb89b99d41 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 208 + "Patch": 252 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.208", + "Default": "2.250.252", "LocalPackages": "2.249.4", - "Node20-225": "2.250.209" + "Node20-225": "2.250.253" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index cbf41fa90dcc..b9050278924a 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -4,16 +4,17 @@ Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk function Global:Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] - [string]$serviceConnectionId, + $taskDict, [Parameter(Mandatory=$true)] [string]$vstsAccessToken ) - $uri = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require - $planId = Get-VstsTaskVariable -Name 'System.PlanId' -Require - $jobId = Get-VstsTaskVariable -Name 'System.JobId' -Require - $hub = Get-VstsTaskVariable -Name 'System.HostType' -Require - $projectId = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require + $serviceConnectionId = $taskDict["ConnectedServiceName"] + $uri = $taskDict["Uri"] + $planId = $taskDict["PlanId"] + $jobId = $taskDict["JobId"] + $hub = $taskDict["Hub"] + $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" $env:praval = $env:praval + "`n" + $url @@ -50,11 +51,14 @@ function Global:Get-WiscAccessTokenPSV2Task { $tenantId = $taskDict["TenantId"] $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - - Add-Type -Path "$PSScriptRoot\msal\Microsoft.Identity.Client.dll" + + $env:praval = $env:praval + "`n" + $a + + Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" + $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -serviceConnectionId $connectedServiceName -vstsAccessToken $vstsAccessToken + $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() @@ -92,17 +96,24 @@ $tokenHandler = [PSCustomObject]@{ [string]$signalFromTask, [Parameter(Mandatory=$true)] [string]$exitSignal, - $taskDict + [Parameter(Mandatory=$true)] + $taskDict, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $eventFromUserScript = $null $eventFromTask = $null $eventExit = $null + $eventTaskWaitToExecute = $null try { $eventFromUserScript = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromUserScript) $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) @@ -133,7 +144,7 @@ $tokenHandler = [PSCustomObject]@{ while ($true) { try { # Wait for either UserScript signal or Exit signal - $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventExit)) + $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { @@ -166,7 +177,11 @@ $tokenHandler = [PSCustomObject]@{ $res = $eventFromTask.Set() } - elseif ($index -eq 1) + elseif ($index -eq 1) { + [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) + $env:praval = $env:praval + "`n" + "SharedDict Set" + } + elseif ($index -eq 2) { $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received diff --git a/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts b/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts index 9168877ff34b..ab4ce04bff5f 100644 --- a/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts +++ b/_generated/PowerShellV2_Node20/Tests/L0StdErr.ts @@ -68,7 +68,7 @@ let a: ma.TaskLibAnswers = { return true; } } - } + }, }; tmr.setAnswers(a); tmr.registerMockExport('IssueSource', { TaskInternal: "TaskInternal", CustomerScript: "CustomerScript" }); @@ -97,14 +97,6 @@ fs.ReadStream.on = function(data, data1) { } tmr.registerMock('fs', fsClone); -// Moc Child Process -const cp = require('child_process'); -const cpClone = Object.assign({}, cp); -cpClone.spawnSync = function(cmd, args) { - console.log('Mock SpawnSync'); -} -tmr.registerMock('child_process', cpClone); - // Mock uuidv4 tmr.registerMock('uuid/v4', function () { return 'fileName'; diff --git a/_generated/PowerShellV2_Node20/make.json b/_generated/PowerShellV2_Node20/make.json index 307b46f054dc..698c17f0f94d 100644 --- a/_generated/PowerShellV2_Node20/make.json +++ b/_generated/PowerShellV2_Node20/make.json @@ -12,17 +12,6 @@ "options": "-R" } ] - }, - { - "name": "Microsoft.Identity.Client", - "version": "4.48.0", - "repository": "https://www.nuget.org/api/v2/", - "cp": [ - { - "source": "lib/net45/Microsoft.Identity.Client.dll", - "dest": "msal" - } - ] } ] }, @@ -41,6 +30,10 @@ { "module": "../Common/Sanitizer", "type": "ps" + }, + { + "module": "../Common/VstsAzureRestHelpers_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 5249da70d6c6..27a902e07573 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -46,7 +46,7 @@ function Get-TaskDictionary { $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) $dictionary["ConnectedServiceName"] = $connectedServiceName - Write-Verbose "connectedServiceName : $connectedServiceName" + Write-Verbose "Azure Devops Service Connection Name : $connectedServiceName" $endpoint = Get-VstsEndpoint -Name $connectedServiceName -Require $dictionary["ClientId"] = $endpoint.Auth.Parameters.ServicePrincipalId @@ -56,15 +56,13 @@ function Get-TaskDictionary { $vstsEndpoint = Get-VstsEndpoint -Name SystemVssConnection -Require $dictionary["VstsAccessToken"] = $vstsEndpoint.auth.parameters.AccessToken - return $dictionary -} + $dictionary["Uri"] = Get-VstsTaskVariable -Name 'System.CollectionUri' -Require + $dictionary["PlanId"] = Get-VstsTaskVariable -Name 'System.PlanId' -Require + $dictionary["JobId"] = Get-VstsTaskVariable -Name 'System.JobId' -Require + $dictionary["Hub"] = Get-VstsTaskVariable -Name 'System.HostType' -Require + $dictionary["ProjectId"] = Get-VstsTaskVariable -Name 'System.TeamProjectId' -Require -function Get-EnvDictionary { - $envVars = @{} - [System.Environment]::GetEnvironmentVariables().GetEnumerator() | ForEach-Object { - $envVars[$_.Key] = $_.Value - } - return $envVars + return $dictionary } function RunTokenHandler { @@ -76,7 +74,11 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $signalFromTask, [Parameter(Mandatory=$true)] - $exitSignal + $exitSignal, + [Parameter(Mandatory=$true)] + $waitSignal, + [Parameter(Mandatory=$true)] + $sharedVar ) $runspacePool = [runspacefactory]::CreateRunspacePool(1, 1) @@ -87,19 +89,23 @@ function RunTokenHandler { $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) try { - # Copying the env variables from parent runspace to the child runspace. - $envVars.GetEnumerator() | ForEach-Object { - [System.Environment]::SetEnvironmentVariable($_.Key, $_.Value, [System.EnvironmentVariableTarget]::Process) - } - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } - }).AddArgument($accessTokenHelperFilePath).AddArgument($tokenFilePath).AddArgument($signalFromUserScript).AddArgument($signalFromTask).AddArgument($exitSignal).AddArgument($taskDict).AddArgument($envVars) + }). + AddArgument($accessTokenHelperFilePath). + AddArgument($tokenFilePath). + AddArgument($signalFromUserScript). + AddArgument($signalFromTask). + AddArgument($exitSignal). + AddArgument($taskDict). + AddArgument($envVars). + AddArgument($waitSignal). + AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool $psRunspace.BeginInvoke() @@ -132,6 +138,7 @@ function Get-ActionPreference { Trace-VstsEnteringInvocation $MyInvocation try { Import-VstsLocStrings "$PSScriptRoot\task.json" + $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require @@ -141,14 +148,29 @@ try { $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) - Write-Host $connectedServiceName if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - RunTokenHandler -tokenFilePath $tokenfilePath -signalFromUserScript $signalFromUserScript -signalFromTask $signalFromTask -exitSignal $exitSignal - Start-Sleep 30 - Write-Host $env:praval + $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) + + RunTokenHandler ` + -tokenFilePath $tokenFilePath ` + -signalFromUserScript $signalFromUserScript ` + -signalFromTask $signalFromTask ` + -exitSignal $exitSignal ` + -waitSignal $waitSignalForRunspaceToBeReady ` + -sharedVar $sharedVar + + $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + $sharedVarValue = $null + do { + $res = $waitSignal.Set() + Start-Sleep 1 + $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) + } while ($sharedVarValue -eq "wait") } # Get inputs. @@ -263,35 +285,29 @@ try { $eventFromTask = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $signalFromTask) function Get-AzDoToken { - Write-Verbose "User Script: Starting process to notify Task and read output." - # Signal Task to generate access token $tmp = $eventFromUserScript.Set() - Write-Verbose "User Script: Notified Task to generate access token $tmp." + Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(20000) # Wait for up to 20 seconds + $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds if (!$receivedResponseBool) { - throw + throw "Request timed out" } [string]$response = (Get-Content -Path $outputFile).Trim() - Write-Verbose "UserScript : Read output from file" - $result = $response | ConvertFrom-Json - if (![string]::IsNullOrWhiteSpace($result["Token"])) { - $expTime = $result["Expiration"] + if (![string]::IsNullOrWhiteSpace($result.Token)) { + $expTime = $result.ExpirationPeriod Write-Host "Access Token Generated with expiration time of $expTime seconds" - return $result["Token"] + return $result.Token } - else + else { - throw $result["ErrorMessage"] + throw $result.ExceptionMessage } - - return $powershellv2AccessToken } ' + $joinedContents diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 7461df54f8a6..15a21d35b890 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -14,15 +14,6 @@ import cp = require('child_process'); const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); -cp.spawnSync('mkfifo', [ts2PsPipePath]); -cp.spawnSync('mkfifo', [ps2TsPipePath]); - -cp.spawnSync('chmod', ['600', ts2PsPipePath]); -cp.spawnSync('chmod', ['600', ps2TsPipePath]); - - -process.env.System_Access_Token_PSV2_Task = tl.getVariable('System.AccessToken'); - async function startNamedPiped() { const connectedServiceName = tl.getInput("ConnectedServiceName", false); tl.debug("connectedServiceName: " + connectedServiceName); @@ -33,22 +24,15 @@ async function startNamedPiped() { pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); tl.debug(`Received from PowerShell: ${command}`); - var systemAccessToken = tl.getVariable('System.AccessToken'); - process.env.System_Access_Token_PSV2_Task = systemAccessToken; if (command == 'Get-AzDoToken') { try { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); - tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); - writeStream.write(token + "\n"); - } else { - tl.debug(`No Service Connection found, returning empty token`); - writeStream.write(systemAccessToken + "\n"); - } + const token = await getAccessTokenViaWorkloadIdentityFederation(connectedServiceName); + tl.debug(`Successfully fetched the ADO access token for ${connectedServiceName}`); + writeStream.write(token + "\n"); } catch(err) { tl.debug(`Token generation failed with error message ${err.message}`); - writeStream.write(systemAccessToken + "\n"); + writeStream.write("exception: " + err.message + "\n"); } } else { try { @@ -162,11 +146,21 @@ function getActionPreference(vstsInputName: string, defaultAction: string = 'Def } async function run() { + + const connectedServiceName = tl.getInput("ConnectedServiceName", false); + const systemAccessToken = tl.getVariable('System.AccessToken'); + try { tl.setResourcePath(path.join(__dirname, 'task.json')); - if(tl.exist(ts2PsPipePath) && tl.exist(ps2TsPipePath)) + if(connectedServiceName && connectedServiceName.trim().length > 0) { + cp.spawnSync('mkfifo', [ts2PsPipePath]); + cp.spawnSync('mkfifo', [ps2TsPipePath]); + + cp.spawnSync('chmod', ['600', ts2PsPipePath]); + cp.spawnSync('chmod', ['600', ps2TsPipePath]); + startNamedPiped(); } @@ -248,40 +242,8 @@ async function run() { script = `${input_script}`; } - script = ` - $pipeWriter = $null; - $pipeReader = $null; - - try { - $pipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $pipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); - } catch { - Write-Verbose "Error in connecting to the pipes."; - } - - function Get-AzDoToken { - try { - $pipeWriter.WriteLine('Get-AzDoToken'); - $pipeWriter.Flush(); - - $token = $pipeReader.ReadLine(); - $token = $token.Trim(); - - if ($null -eq $token -or $token -eq [string]::Empty) { - Write-Verbose "empty response was found, returning the System Access Token"; - $token = $env:System_Access_Token_PSV2_Task; - } - return $token; - } - catch { - Write-Verbose "Error in Get-AzDoToken: $_"; - $token = $env:System_Access_Token_PSV2_Task; - return $token; - } - } - ${script} - `; - + + if (input_showWarnings) { script = ` $warnings = New-Object System.Collections.ObjectModel.ObservableCollection[System.Management.Automation.WarningRecord]; @@ -296,21 +258,51 @@ async function run() { `; } - script = ` - try { - ${script} - } - finally { - if($pipeWriter) { - $pipeWriter.WriteLine('Close'); - $pipeWriter.Flush(); - $pipeWriter.Close(); - } - if($pipeReader) { - $pipeReader.Close(); - } - }` + if(connectedServiceName && connectedServiceName.trim().length > 0) { + script = ` + $ps2TsPipeWriter = $null + $ts2PsPipeReader = $null + try { + $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); + $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + + function Get-AzDoToken { + $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); + $ps2TsPipeWriter.Flush(); + + $token = $ts2PsPipeReader.ReadLine(); + $token = $token.Trim(); + + if ($token.StartsWith("exception:")) { + throw $token + } + + return $token; + } + + ${script} + } finally { + if($ps2TsPipeWriter) { + $ps2TsPipeWriter.WriteLine('Close'); + $ps2TsPipeWriter.Flush(); + $ps2TsPipeWriter.Close(); + } + if($ts2PsPipeReader) { + $ts2PsPipeReader.Close(); + } + } + `; + } else { + script = ` + function Get-AzDoToken { + return "${systemAccessToken}" + } + + ${script} + `; + } + contents.push(script); // log with detail to avoid a warning output. tl.logDetail(uuidV4(), tl.loc('JS_FormattedCommand', script), null, 'command', 'command', 0); @@ -324,6 +316,8 @@ async function run() { contents.push(`}`); } + + // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -385,14 +379,16 @@ async function run() { catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); } finally { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); + if(connectedServiceName && connectedServiceName.trim().length > 0) { + try { + const pipeStream = fs.createWriteStream(ps2TsPipePath); + if(pipeStream != null) { + pipeStream.write('Close'); + pipeStream.close(); + } + } catch (err) { + tl.debug("error caught in exiting"); } - } catch (err) { - tl.debug("error caught in exiting"); } } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index fb44dd6ec8e4..531052615e44 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 209 + "Patch": 253 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.208", + "Default": "2.250.252", "LocalPackages": "2.249.4", - "Node20-225": "2.250.209" + "Node20-225": "2.250.253" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index a1c6dbb36a93..40c245d07abd 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 209 + "Patch": 253 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.208", + "Default": "2.250.252", "LocalPackages": "2.249.4", - "Node20-225": "2.250.209" + "Node20-225": "2.250.253" } } \ No newline at end of file From f5e89e6260f2463e1be4342fc6ba1a8824d462e8 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 21:12:02 +0530 Subject: [PATCH 32/37] Typescript comments --- Tasks/PowerShellV2/make.json | 4 + Tasks/PowerShellV2/powershell.ps1 | 2 +- Tasks/PowerShellV2/powershell.ts | 102 +++++++++--------- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/make.json | 4 + _generated/PowerShellV2/powershell.ps1 | 2 +- _generated/PowerShellV2/powershell.ts | 102 +++++++++--------- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- _generated/PowerShellV2_Node20/make.json | 4 + _generated/PowerShellV2_Node20/powershell.ps1 | 2 +- _generated/PowerShellV2_Node20/powershell.ts | 102 +++++++++--------- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 16 files changed, 190 insertions(+), 166 deletions(-) diff --git a/Tasks/PowerShellV2/make.json b/Tasks/PowerShellV2/make.json index 698c17f0f94d..15c0de38db82 100644 --- a/Tasks/PowerShellV2/make.json +++ b/Tasks/PowerShellV2/make.json @@ -34,6 +34,10 @@ { "module": "../Common/VstsAzureRestHelpers_", "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 27a902e07573..8fc3a32a68d8 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -301,7 +301,7 @@ try { if (![string]::IsNullOrWhiteSpace($result.Token)) { $expTime = $result.ExpirationPeriod - Write-Host "Access Token Generated with expiration time of $expTime seconds" + Write-Host "Access Token Generated with expiration time of $expTime minutes" return $result.Token } else diff --git a/Tasks/PowerShellV2/powershell.ts b/Tasks/PowerShellV2/powershell.ts index 15a21d35b890..0c9626f8610b 100644 --- a/Tasks/PowerShellV2/powershell.ts +++ b/Tasks/PowerShellV2/powershell.ts @@ -11,15 +11,19 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); -const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); - -async function startNamedPiped() { - const connectedServiceName = tl.getInput("ConnectedServiceName", false); - tl.debug("connectedServiceName: " + connectedServiceName); - - const pipeStream = fs.createReadStream(ps2TsPipePath); - const writeStream = fs.createWriteStream(ts2PsPipePath); +const taskToUserScriptPipePath = '/tmp/ts2us' + uuidV4(); +const userScriptToTaskPipePath = '/tmp/us2ts' + uuidV4(); + +/* + This method is responsible for serving the access token requests from user script received via Get-AzDoToken method + - The pipestream would keep listening to the 'Get-AzDoToken' requests + - For each request, it would generate the access token for the input ADO service connection and write it to the taskToUserScriptPipe + - If any exception is occurred during token generation, it would be written to the pipe with prefix "exception:" + - It terminates once any request other than 'Get-AzDoToken' comes it to. +*/ +async function tokenHandler(connectedServiceName : string) { + const pipeStream = fs.createReadStream(userScriptToTaskPipePath); + const writeStream = fs.createWriteStream(taskToUserScriptPipePath); pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); @@ -39,8 +43,8 @@ async function startNamedPiped() { tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); } @@ -52,8 +56,8 @@ async function startNamedPiped() { tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); @@ -153,15 +157,17 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); + // Only run the token handler logic if an ADO Service connection is provided as an input. if(connectedServiceName && connectedServiceName.trim().length > 0) { - cp.spawnSync('mkfifo', [ts2PsPipePath]); - cp.spawnSync('mkfifo', [ps2TsPipePath]); + // FIFO pipes for comm between the Task and User Script for Service connection Access token + cp.spawnSync('mkfifo', [taskToUserScriptPipePath]); + cp.spawnSync('mkfifo', [userScriptToTaskPipePath]); - cp.spawnSync('chmod', ['600', ts2PsPipePath]); - cp.spawnSync('chmod', ['600', ps2TsPipePath]); + cp.spawnSync('chmod', ['600', taskToUserScriptPipePath]); + cp.spawnSync('chmod', ['600', userScriptToTaskPipePath]); - startNamedPiped(); + tokenHandler(connectedServiceName); } // Get inputs @@ -258,38 +264,50 @@ async function run() { `; } + /* + Adding a utility called Get-AzDoToken + - when an ADO Service connection is provided as an input, this function would return an access token for the same. + - To get the access token, user script will call this method, + - this method would write the request to the $us2tsPipeWriter pipe, + - the async TokenHandler(above) running as part of task script will read this request, + - after reading the request, it will generate the token and write it to the ts2usPipeReader pipe, + - if there were any errors/exception in generate the token, the exception message will be written starting with "exception:" + - this method will read the response from the TokenHandler and if not an exception message, return the token, + - otherwise throw an exception was the message. + - If no ADO service connection is provided, this function returns the System.AccessToken. + */ if(connectedServiceName && connectedServiceName.trim().length > 0) { script = ` - $ps2TsPipeWriter = $null - $ts2PsPipeReader = $null + $us2tsPipeWriter = $null + $ts2usPipeReader = $null try { - $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + $us2tsPipeWriter = [System.IO.StreamWriter]::new('${userScriptToTaskPipePath}'); + $ts2usPipeReader = [System.IO.StreamReader]::new('${taskToUserScriptPipePath}'); function Get-AzDoToken { - $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); - $ps2TsPipeWriter.Flush(); + $us2tsPipeWriter.WriteLine('Get-AzDoToken'); + $us2tsPipeWriter.Flush(); - $token = $ts2PsPipeReader.ReadLine(); - $token = $token.Trim(); + $response = $ts2usPipeReader.ReadLine(); + $response = $response.Trim(); - if ($token.StartsWith("exception:")) { - throw $token + if ($response.StartsWith("exception:")) { + throw $response } - return $token; + return $response; } ${script} } finally { - if($ps2TsPipeWriter) { - $ps2TsPipeWriter.WriteLine('Close'); - $ps2TsPipeWriter.Flush(); - $ps2TsPipeWriter.Close(); + if($us2tsPipeWriter) { + $us2tsPipeWriter.WriteLine('Close'); + $us2tsPipeWriter.Flush(); + $us2tsPipeWriter.Close(); } - if($ts2PsPipeReader) { - $ts2PsPipeReader.Close(); + if($ts2usPipeReader) { + $ts2usPipeReader.Close(); } } `; @@ -316,8 +334,6 @@ async function run() { contents.push(`}`); } - - // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -378,18 +394,6 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); - } finally { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); - } - } catch (err) { - tl.debug("error caught in exiting"); - } - } } } diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index b2b4e1095699..712a8277f772 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 252 + "Patch": 256 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index f262ef692ade..adfda6830d7a 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 252 + "Patch": 256 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 446d99a68fa1..2bfbc1a596cf 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.252 -Node20-225|2.250.253 +Default|2.250.256 +Node20-225|2.250.257 diff --git a/_generated/PowerShellV2/make.json b/_generated/PowerShellV2/make.json index 698c17f0f94d..15c0de38db82 100644 --- a/_generated/PowerShellV2/make.json +++ b/_generated/PowerShellV2/make.json @@ -34,6 +34,10 @@ { "module": "../Common/VstsAzureRestHelpers_", "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 27a902e07573..8fc3a32a68d8 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -301,7 +301,7 @@ try { if (![string]::IsNullOrWhiteSpace($result.Token)) { $expTime = $result.ExpirationPeriod - Write-Host "Access Token Generated with expiration time of $expTime seconds" + Write-Host "Access Token Generated with expiration time of $expTime minutes" return $result.Token } else diff --git a/_generated/PowerShellV2/powershell.ts b/_generated/PowerShellV2/powershell.ts index 15a21d35b890..0c9626f8610b 100644 --- a/_generated/PowerShellV2/powershell.ts +++ b/_generated/PowerShellV2/powershell.ts @@ -11,15 +11,19 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); -const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); - -async function startNamedPiped() { - const connectedServiceName = tl.getInput("ConnectedServiceName", false); - tl.debug("connectedServiceName: " + connectedServiceName); - - const pipeStream = fs.createReadStream(ps2TsPipePath); - const writeStream = fs.createWriteStream(ts2PsPipePath); +const taskToUserScriptPipePath = '/tmp/ts2us' + uuidV4(); +const userScriptToTaskPipePath = '/tmp/us2ts' + uuidV4(); + +/* + This method is responsible for serving the access token requests from user script received via Get-AzDoToken method + - The pipestream would keep listening to the 'Get-AzDoToken' requests + - For each request, it would generate the access token for the input ADO service connection and write it to the taskToUserScriptPipe + - If any exception is occurred during token generation, it would be written to the pipe with prefix "exception:" + - It terminates once any request other than 'Get-AzDoToken' comes it to. +*/ +async function tokenHandler(connectedServiceName : string) { + const pipeStream = fs.createReadStream(userScriptToTaskPipePath); + const writeStream = fs.createWriteStream(taskToUserScriptPipePath); pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); @@ -39,8 +43,8 @@ async function startNamedPiped() { tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); } @@ -52,8 +56,8 @@ async function startNamedPiped() { tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); @@ -153,15 +157,17 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); + // Only run the token handler logic if an ADO Service connection is provided as an input. if(connectedServiceName && connectedServiceName.trim().length > 0) { - cp.spawnSync('mkfifo', [ts2PsPipePath]); - cp.spawnSync('mkfifo', [ps2TsPipePath]); + // FIFO pipes for comm between the Task and User Script for Service connection Access token + cp.spawnSync('mkfifo', [taskToUserScriptPipePath]); + cp.spawnSync('mkfifo', [userScriptToTaskPipePath]); - cp.spawnSync('chmod', ['600', ts2PsPipePath]); - cp.spawnSync('chmod', ['600', ps2TsPipePath]); + cp.spawnSync('chmod', ['600', taskToUserScriptPipePath]); + cp.spawnSync('chmod', ['600', userScriptToTaskPipePath]); - startNamedPiped(); + tokenHandler(connectedServiceName); } // Get inputs @@ -258,38 +264,50 @@ async function run() { `; } + /* + Adding a utility called Get-AzDoToken + - when an ADO Service connection is provided as an input, this function would return an access token for the same. + - To get the access token, user script will call this method, + - this method would write the request to the $us2tsPipeWriter pipe, + - the async TokenHandler(above) running as part of task script will read this request, + - after reading the request, it will generate the token and write it to the ts2usPipeReader pipe, + - if there were any errors/exception in generate the token, the exception message will be written starting with "exception:" + - this method will read the response from the TokenHandler and if not an exception message, return the token, + - otherwise throw an exception was the message. + - If no ADO service connection is provided, this function returns the System.AccessToken. + */ if(connectedServiceName && connectedServiceName.trim().length > 0) { script = ` - $ps2TsPipeWriter = $null - $ts2PsPipeReader = $null + $us2tsPipeWriter = $null + $ts2usPipeReader = $null try { - $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + $us2tsPipeWriter = [System.IO.StreamWriter]::new('${userScriptToTaskPipePath}'); + $ts2usPipeReader = [System.IO.StreamReader]::new('${taskToUserScriptPipePath}'); function Get-AzDoToken { - $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); - $ps2TsPipeWriter.Flush(); + $us2tsPipeWriter.WriteLine('Get-AzDoToken'); + $us2tsPipeWriter.Flush(); - $token = $ts2PsPipeReader.ReadLine(); - $token = $token.Trim(); + $response = $ts2usPipeReader.ReadLine(); + $response = $response.Trim(); - if ($token.StartsWith("exception:")) { - throw $token + if ($response.StartsWith("exception:")) { + throw $response } - return $token; + return $response; } ${script} } finally { - if($ps2TsPipeWriter) { - $ps2TsPipeWriter.WriteLine('Close'); - $ps2TsPipeWriter.Flush(); - $ps2TsPipeWriter.Close(); + if($us2tsPipeWriter) { + $us2tsPipeWriter.WriteLine('Close'); + $us2tsPipeWriter.Flush(); + $us2tsPipeWriter.Close(); } - if($ts2PsPipeReader) { - $ts2PsPipeReader.Close(); + if($ts2usPipeReader) { + $ts2usPipeReader.Close(); } } `; @@ -316,8 +334,6 @@ async function run() { contents.push(`}`); } - - // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -378,18 +394,6 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); - } finally { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); - } - } catch (err) { - tl.debug("error caught in exiting"); - } - } } } diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index ce20dcf60f61..54f60cf96dbc 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 252 + "Patch": 256 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.252", + "Default": "2.250.256", "LocalPackages": "2.249.4", - "Node20-225": "2.250.253" + "Node20-225": "2.250.257" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index fcfb89b99d41..bca056ba4282 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 252 + "Patch": 256 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.252", + "Default": "2.250.256", "LocalPackages": "2.249.4", - "Node20-225": "2.250.253" + "Node20-225": "2.250.257" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/make.json b/_generated/PowerShellV2_Node20/make.json index 698c17f0f94d..15c0de38db82 100644 --- a/_generated/PowerShellV2_Node20/make.json +++ b/_generated/PowerShellV2_Node20/make.json @@ -34,6 +34,10 @@ { "module": "../Common/VstsAzureRestHelpers_", "type": "ps" + }, + { + "module": "../Common/TlsHelper_", + "type": "ps" } ] } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 27a902e07573..8fc3a32a68d8 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -301,7 +301,7 @@ try { if (![string]::IsNullOrWhiteSpace($result.Token)) { $expTime = $result.ExpirationPeriod - Write-Host "Access Token Generated with expiration time of $expTime seconds" + Write-Host "Access Token Generated with expiration time of $expTime minutes" return $result.Token } else diff --git a/_generated/PowerShellV2_Node20/powershell.ts b/_generated/PowerShellV2_Node20/powershell.ts index 15a21d35b890..0c9626f8610b 100644 --- a/_generated/PowerShellV2_Node20/powershell.ts +++ b/_generated/PowerShellV2_Node20/powershell.ts @@ -11,15 +11,19 @@ import * as msal from "@azure/msal-node"; import { getFederatedToken } from "azure-pipelines-tasks-artifacts-common/webapi"; import cp = require('child_process'); -const ts2PsPipePath = '/tmp/ts2ps' + uuidV4(); -const ps2TsPipePath = '/tmp/ps2ts' + uuidV4(); - -async function startNamedPiped() { - const connectedServiceName = tl.getInput("ConnectedServiceName", false); - tl.debug("connectedServiceName: " + connectedServiceName); - - const pipeStream = fs.createReadStream(ps2TsPipePath); - const writeStream = fs.createWriteStream(ts2PsPipePath); +const taskToUserScriptPipePath = '/tmp/ts2us' + uuidV4(); +const userScriptToTaskPipePath = '/tmp/us2ts' + uuidV4(); + +/* + This method is responsible for serving the access token requests from user script received via Get-AzDoToken method + - The pipestream would keep listening to the 'Get-AzDoToken' requests + - For each request, it would generate the access token for the input ADO service connection and write it to the taskToUserScriptPipe + - If any exception is occurred during token generation, it would be written to the pipe with prefix "exception:" + - It terminates once any request other than 'Get-AzDoToken' comes it to. +*/ +async function tokenHandler(connectedServiceName : string) { + const pipeStream = fs.createReadStream(userScriptToTaskPipePath); + const writeStream = fs.createWriteStream(taskToUserScriptPipePath); pipeStream.on('data', async (data) => { const command = data.toString('utf8').trim(); @@ -39,8 +43,8 @@ async function startNamedPiped() { tl.debug('Pipe reading ended'); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); } @@ -52,8 +56,8 @@ async function startNamedPiped() { tl.debug('Error with pipe stream:' + err); writeStream.close(); pipeStream.close(); - fs.unlinkSync(ts2PsPipePath); - fs.unlinkSync(ps2TsPipePath); + fs.unlinkSync(taskToUserScriptPipePath); + fs.unlinkSync(userScriptToTaskPipePath); } catch(err) { tl.debug(`Cleanup failed : ${err.message}`); @@ -153,15 +157,17 @@ async function run() { try { tl.setResourcePath(path.join(__dirname, 'task.json')); + // Only run the token handler logic if an ADO Service connection is provided as an input. if(connectedServiceName && connectedServiceName.trim().length > 0) { - cp.spawnSync('mkfifo', [ts2PsPipePath]); - cp.spawnSync('mkfifo', [ps2TsPipePath]); + // FIFO pipes for comm between the Task and User Script for Service connection Access token + cp.spawnSync('mkfifo', [taskToUserScriptPipePath]); + cp.spawnSync('mkfifo', [userScriptToTaskPipePath]); - cp.spawnSync('chmod', ['600', ts2PsPipePath]); - cp.spawnSync('chmod', ['600', ps2TsPipePath]); + cp.spawnSync('chmod', ['600', taskToUserScriptPipePath]); + cp.spawnSync('chmod', ['600', userScriptToTaskPipePath]); - startNamedPiped(); + tokenHandler(connectedServiceName); } // Get inputs @@ -258,38 +264,50 @@ async function run() { `; } + /* + Adding a utility called Get-AzDoToken + - when an ADO Service connection is provided as an input, this function would return an access token for the same. + - To get the access token, user script will call this method, + - this method would write the request to the $us2tsPipeWriter pipe, + - the async TokenHandler(above) running as part of task script will read this request, + - after reading the request, it will generate the token and write it to the ts2usPipeReader pipe, + - if there were any errors/exception in generate the token, the exception message will be written starting with "exception:" + - this method will read the response from the TokenHandler and if not an exception message, return the token, + - otherwise throw an exception was the message. + - If no ADO service connection is provided, this function returns the System.AccessToken. + */ if(connectedServiceName && connectedServiceName.trim().length > 0) { script = ` - $ps2TsPipeWriter = $null - $ts2PsPipeReader = $null + $us2tsPipeWriter = $null + $ts2usPipeReader = $null try { - $ps2TsPipeWriter = [System.IO.StreamWriter]::new('${ps2TsPipePath}'); - $ts2PsPipeReader = [System.IO.StreamReader]::new('${ts2PsPipePath}'); + $us2tsPipeWriter = [System.IO.StreamWriter]::new('${userScriptToTaskPipePath}'); + $ts2usPipeReader = [System.IO.StreamReader]::new('${taskToUserScriptPipePath}'); function Get-AzDoToken { - $ps2TsPipeWriter.WriteLine('Get-AzDoToken'); - $ps2TsPipeWriter.Flush(); + $us2tsPipeWriter.WriteLine('Get-AzDoToken'); + $us2tsPipeWriter.Flush(); - $token = $ts2PsPipeReader.ReadLine(); - $token = $token.Trim(); + $response = $ts2usPipeReader.ReadLine(); + $response = $response.Trim(); - if ($token.StartsWith("exception:")) { - throw $token + if ($response.StartsWith("exception:")) { + throw $response } - return $token; + return $response; } ${script} } finally { - if($ps2TsPipeWriter) { - $ps2TsPipeWriter.WriteLine('Close'); - $ps2TsPipeWriter.Flush(); - $ps2TsPipeWriter.Close(); + if($us2tsPipeWriter) { + $us2tsPipeWriter.WriteLine('Close'); + $us2tsPipeWriter.Flush(); + $us2tsPipeWriter.Close(); } - if($ts2PsPipeReader) { - $ts2PsPipeReader.Close(); + if($ts2usPipeReader) { + $ts2usPipeReader.Close(); } } `; @@ -316,8 +334,6 @@ async function run() { contents.push(`}`); } - - // Write the script to disk. tl.assertAgent('2.115.0'); let tempDirectory = tl.getVariable('agent.tempDirectory'); @@ -378,18 +394,6 @@ async function run() { } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message || 'run() failed'); - } finally { - if(connectedServiceName && connectedServiceName.trim().length > 0) { - try { - const pipeStream = fs.createWriteStream(ps2TsPipePath); - if(pipeStream != null) { - pipeStream.write('Close'); - pipeStream.close(); - } - } catch (err) { - tl.debug("error caught in exiting"); - } - } } } diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 531052615e44..c9fbd147150f 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 253 + "Patch": 257 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.252", + "Default": "2.250.256", "LocalPackages": "2.249.4", - "Node20-225": "2.250.253" + "Node20-225": "2.250.257" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 40c245d07abd..8c4841efdf95 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 253 + "Patch": 257 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.252", + "Default": "2.250.256", "LocalPackages": "2.249.4", - "Node20-225": "2.250.253" + "Node20-225": "2.250.257" } } \ No newline at end of file From 7bdc269d588f09f441d2dd9ec2bc0a46041f4e30 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Mon, 16 Dec 2024 22:02:18 +0530 Subject: [PATCH 33/37] Powershell comments --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 20 +++++- Tasks/PowerShellV2/powershell.ps1 | 61 ++++++++++++++----- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 +- _generated/PowerShellV2/AccessTokenHelper.ps1 | 20 +++++- _generated/PowerShellV2/powershell.ps1 | 61 ++++++++++++++----- _generated/PowerShellV2/task.json | 6 +- _generated/PowerShellV2/task.loc.json | 6 +- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 20 +++++- _generated/PowerShellV2_Node20/powershell.ps1 | 61 ++++++++++++++----- _generated/PowerShellV2_Node20/task.json | 6 +- _generated/PowerShellV2_Node20/task.loc.json | 6 +- 13 files changed, 208 insertions(+), 67 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index b9050278924a..25c14b332bb2 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -84,6 +84,23 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global +# This is the main tokenHandler object +# It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken + +# $filePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $taskDict : Pre-Fetched values from the main runspace required for token generation +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + +# The run method +# First creates the shared file with path value equal to $filePath and set the access control restricted to current user only. +# Runs an infinite loop, inside that it listens to the various signals/events received from user script and the main runspace of task script. +# eventFromUserScript : It indicates an event from user script requesting token +# eventTaskWaitToExecute : It indicates an event from main task runspace to set the Env Var $sharedVar to "start" from "wait" +# exitSignal : It indicates an event from main task runspace to break the infinite loop and exit. $tokenHandler = [PSCustomObject]@{ Run = { @@ -115,7 +132,6 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) - # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -128,8 +144,6 @@ $tokenHandler = [PSCustomObject]@{ $currentUser, "FullControl", "Allow" ) $acl.SetAccessRule($rule) - - # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 8fc3a32a68d8..25e38a3aad26 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -65,6 +65,15 @@ function Get-TaskDictionary { return $dictionary } +# This method runs a parallel runspace asynchronously +# Inside this runspace, we are dot source the AccessTokenHandler which is responsible for +# handling the access token requests for input ADO service connection received from User script via Get-AzDoToken +# $tokenFilePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" function RunTokenHandler { param ( [Parameter(Mandatory=$true)] @@ -76,7 +85,7 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $exitSignal, [Parameter(Mandatory=$true)] - $waitSignal, + $waitForTokenHandlerSignal, [Parameter(Mandatory=$true)] $sharedVar ) @@ -86,13 +95,12 @@ function RunTokenHandler { $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) try { . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } @@ -103,8 +111,7 @@ function RunTokenHandler { AddArgument($signalFromTask). AddArgument($exitSignal). AddArgument($taskDict). - AddArgument($envVars). - AddArgument($waitSignal). + AddArgument($waitForTokenHandlerSignal). AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool @@ -141,19 +148,30 @@ try { $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + # Shared file between user script and task script. The generated token is written to this file. The file is access controlled. $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + + # $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + + # $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + + # $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + # Only run the TokenHandler logic if the input ADO Service Connection is provided if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + + # It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + $sharedVar = "PowershellV2Task_EnvVar_" + [System.Guid]::NewGuid().ToString("N") [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) RunTokenHandler ` @@ -161,13 +179,17 @@ try { -signalFromUserScript $signalFromUserScript ` -signalFromTask $signalFromTask ` -exitSignal $exitSignal ` - -waitSignal $waitSignalForRunspaceToBeReady ` + -waitForTokenHandlerSignal $waitSignalForRunspaceToBeReady ` -sharedVar $sharedVar - $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + # The below logic prevents the task script from executing further until the TokenHandler in the child runspace is ready to handle request. + # Every second, we are sending the waitForTokenHandlerSignal to the tokenHandler + # Once the tokenHandler is ready, it will read the waitForTokenHandlerSignal and modify the Env Var $sharedVar to "start" from "wait" + # then we can let the task script proceed. + $waitForTokenHandlerSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) $sharedVarValue = $null do { - $res = $waitSignal.Set() + $res = $waitForTokenHandlerSignal.Set() Start-Sleep 1 $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) } while ($sharedVarValue -eq "wait") @@ -274,7 +296,17 @@ try { ([System.Environment]::NewLine), $contents); - + # Get-AzDoToken function returns an access token for an ADO service conn if the service conn is provided as input + # When the user script calls the Get-AzDoToken with ADO service conn set in task inputs, + # an event eventFromUserScript is sent to the tokenHandler in the task script, + # tokenHandler on receiving this event would + # generate token + # write it to shared outputFile + # send eventFromTask indicating the token is ready to be read from the shared outputFile + # Incase there is an error while token generation, the error message is written to the shared outputFile. + # after sending the eventFromUserScript, the Get-AzDoToken method waits for 60 seconds for the tokenHandler to respond + # if no event is received, an exception is thrown. + # If the ADO service connection is not provided as input, the default System.AccessToken is returned. if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" @@ -290,7 +322,7 @@ try { Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds if (!$receivedResponseBool) { throw "Request timed out" @@ -442,10 +474,11 @@ catch { } finally { try { - # Signal Task to exit + # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $env:praval + + Write-Verbose $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 712a8277f772..9b081950d812 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 256 + "Patch": 258 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index adfda6830d7a..655d2af37781 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 256 + "Patch": 258 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 2bfbc1a596cf..af178e4c1f2f 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.256 -Node20-225|2.250.257 +Default|2.250.258 +Node20-225|2.250.259 diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index b9050278924a..25c14b332bb2 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -84,6 +84,23 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global +# This is the main tokenHandler object +# It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken + +# $filePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $taskDict : Pre-Fetched values from the main runspace required for token generation +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + +# The run method +# First creates the shared file with path value equal to $filePath and set the access control restricted to current user only. +# Runs an infinite loop, inside that it listens to the various signals/events received from user script and the main runspace of task script. +# eventFromUserScript : It indicates an event from user script requesting token +# eventTaskWaitToExecute : It indicates an event from main task runspace to set the Env Var $sharedVar to "start" from "wait" +# exitSignal : It indicates an event from main task runspace to break the infinite loop and exit. $tokenHandler = [PSCustomObject]@{ Run = { @@ -115,7 +132,6 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) - # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -128,8 +144,6 @@ $tokenHandler = [PSCustomObject]@{ $currentUser, "FullControl", "Allow" ) $acl.SetAccessRule($rule) - - # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 8fc3a32a68d8..25e38a3aad26 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -65,6 +65,15 @@ function Get-TaskDictionary { return $dictionary } +# This method runs a parallel runspace asynchronously +# Inside this runspace, we are dot source the AccessTokenHandler which is responsible for +# handling the access token requests for input ADO service connection received from User script via Get-AzDoToken +# $tokenFilePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" function RunTokenHandler { param ( [Parameter(Mandatory=$true)] @@ -76,7 +85,7 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $exitSignal, [Parameter(Mandatory=$true)] - $waitSignal, + $waitForTokenHandlerSignal, [Parameter(Mandatory=$true)] $sharedVar ) @@ -86,13 +95,12 @@ function RunTokenHandler { $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) try { . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } @@ -103,8 +111,7 @@ function RunTokenHandler { AddArgument($signalFromTask). AddArgument($exitSignal). AddArgument($taskDict). - AddArgument($envVars). - AddArgument($waitSignal). + AddArgument($waitForTokenHandlerSignal). AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool @@ -141,19 +148,30 @@ try { $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + # Shared file between user script and task script. The generated token is written to this file. The file is access controlled. $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + + # $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + + # $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + + # $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + # Only run the TokenHandler logic if the input ADO Service Connection is provided if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + + # It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + $sharedVar = "PowershellV2Task_EnvVar_" + [System.Guid]::NewGuid().ToString("N") [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) RunTokenHandler ` @@ -161,13 +179,17 @@ try { -signalFromUserScript $signalFromUserScript ` -signalFromTask $signalFromTask ` -exitSignal $exitSignal ` - -waitSignal $waitSignalForRunspaceToBeReady ` + -waitForTokenHandlerSignal $waitSignalForRunspaceToBeReady ` -sharedVar $sharedVar - $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + # The below logic prevents the task script from executing further until the TokenHandler in the child runspace is ready to handle request. + # Every second, we are sending the waitForTokenHandlerSignal to the tokenHandler + # Once the tokenHandler is ready, it will read the waitForTokenHandlerSignal and modify the Env Var $sharedVar to "start" from "wait" + # then we can let the task script proceed. + $waitForTokenHandlerSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) $sharedVarValue = $null do { - $res = $waitSignal.Set() + $res = $waitForTokenHandlerSignal.Set() Start-Sleep 1 $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) } while ($sharedVarValue -eq "wait") @@ -274,7 +296,17 @@ try { ([System.Environment]::NewLine), $contents); - + # Get-AzDoToken function returns an access token for an ADO service conn if the service conn is provided as input + # When the user script calls the Get-AzDoToken with ADO service conn set in task inputs, + # an event eventFromUserScript is sent to the tokenHandler in the task script, + # tokenHandler on receiving this event would + # generate token + # write it to shared outputFile + # send eventFromTask indicating the token is ready to be read from the shared outputFile + # Incase there is an error while token generation, the error message is written to the shared outputFile. + # after sending the eventFromUserScript, the Get-AzDoToken method waits for 60 seconds for the tokenHandler to respond + # if no event is received, an exception is thrown. + # If the ADO service connection is not provided as input, the default System.AccessToken is returned. if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" @@ -290,7 +322,7 @@ try { Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds if (!$receivedResponseBool) { throw "Request timed out" @@ -442,10 +474,11 @@ catch { } finally { try { - # Signal Task to exit + # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $env:praval + + Write-Verbose $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 54f60cf96dbc..08b29d2450da 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 256 + "Patch": 258 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.256", + "Default": "2.250.258", "LocalPackages": "2.249.4", - "Node20-225": "2.250.257" + "Node20-225": "2.250.259" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index bca056ba4282..f46cac226e62 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 256 + "Patch": 258 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.256", + "Default": "2.250.258", "LocalPackages": "2.249.4", - "Node20-225": "2.250.257" + "Node20-225": "2.250.259" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index b9050278924a..25c14b332bb2 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -84,6 +84,23 @@ function Global:Get-WiscAccessTokenPSV2Task { } New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global +# This is the main tokenHandler object +# It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken + +# $filePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $taskDict : Pre-Fetched values from the main runspace required for token generation +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + +# The run method +# First creates the shared file with path value equal to $filePath and set the access control restricted to current user only. +# Runs an infinite loop, inside that it listens to the various signals/events received from user script and the main runspace of task script. +# eventFromUserScript : It indicates an event from user script requesting token +# eventTaskWaitToExecute : It indicates an event from main task runspace to set the Env Var $sharedVar to "start" from "wait" +# exitSignal : It indicates an event from main task runspace to break the infinite loop and exit. $tokenHandler = [PSCustomObject]@{ Run = { @@ -115,7 +132,6 @@ $tokenHandler = [PSCustomObject]@{ $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $eventTaskWaitToExecute = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignal) - # Ensure the output file has restricted permissions if (-not (Test-Path $filePath)) { New-Item -Path $filePath -ItemType File -Force @@ -128,8 +144,6 @@ $tokenHandler = [PSCustomObject]@{ $currentUser, "FullControl", "Allow" ) $acl.SetAccessRule($rule) - - # Apply the ACL to the file Set-Acl -Path $filePath -AclObject $acl } else diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 8fc3a32a68d8..25e38a3aad26 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -65,6 +65,15 @@ function Get-TaskDictionary { return $dictionary } +# This method runs a parallel runspace asynchronously +# Inside this runspace, we are dot source the AccessTokenHandler which is responsible for +# handling the access token requests for input ADO service connection received from User script via Get-AzDoToken +# $tokenFilePath : Shared file between user script and task script. The generated token is written to this file. The file is access controlled. +# $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request +# $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. +# $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. +# $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. +# sharedVar : It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" function RunTokenHandler { param ( [Parameter(Mandatory=$true)] @@ -76,7 +85,7 @@ function RunTokenHandler { [Parameter(Mandatory=$true)] $exitSignal, [Parameter(Mandatory=$true)] - $waitSignal, + $waitForTokenHandlerSignal, [Parameter(Mandatory=$true)] $sharedVar ) @@ -86,13 +95,12 @@ function RunTokenHandler { $accessTokenHelperFilePath = "$PSScriptRoot\AccessTokenHelper.ps1" $taskDict = Get-TaskDictionary - $envVars = Get-EnvDictionary $psRunspace = [powershell]::Create().AddScript({ - param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $envVars, $waitSignal, $sharedVar) + param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) try { . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitSignal, $sharedVar) + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) } catch { $env:praval = $env:praval + " " + $_ } @@ -103,8 +111,7 @@ function RunTokenHandler { AddArgument($signalFromTask). AddArgument($exitSignal). AddArgument($taskDict). - AddArgument($envVars). - AddArgument($waitSignal). + AddArgument($waitForTokenHandlerSignal). AddArgument($sharedVar) $psRunspace.RunspacePool = $runspacePool @@ -141,19 +148,30 @@ try { $systemAccessToken = Get-VstsTaskVariable -Name 'System.AccessToken' -Require + # Shared file between user script and task script. The generated token is written to this file. The file is access controlled. $tempDirectory = Get-VstsTaskVariable -Name 'agent.tempDirectory' -Require Assert-VstsPath -LiteralPath $tempDirectory -PathType 'Container' $tokenfilePath = [System.IO.Path]::Combine($tempDirectory, "$([System.Guid]::NewGuid()).txt") + # $signalFromUserScript : Name of the event received from user script via Get-AzDoToken indicating a token request $signalFromUserScript = "Global\SignalFromUserScript" + [System.Guid]::NewGuid().ToString() + + # $signalFromTask : Name of the event sent by TokenHandler to Get-AzDoToken indicating the token is generated and ready to be read from the shared file. $signalFromTask = "Global\SignalFromTask" + [System.Guid]::NewGuid().ToString() + + # $exitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler indicating the end of the task and exit. $exitSignal = "Global\ExitSignal" + [System.Guid]::NewGuid().ToString() + + # $waitSignal : Name of the event sent by the Main runspace of the taskScript to the token handler to verify if the token handler is ready to handle request. $waitSignalForRunspaceToBeReady = "Global\WaitForRunspaceToBeReady" + [System.Guid]::NewGuid().ToString() $connectedServiceName = (Get-VstsInput -Name ConnectedServiceName) + # Only run the TokenHandler logic if the input ADO Service Connection is provided if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { - $sharedVar = "EnvVar_" + [System.Guid]::NewGuid().ToString("N") + + # It is an env var. When TokenHandler is ready & a wait signal is received, it will set this env var $sharedVar to "start" from "wait" + $sharedVar = "PowershellV2Task_EnvVar_" + [System.Guid]::NewGuid().ToString("N") [System.Environment]::SetEnvironmentVariable($sharedVar, "wait", [System.EnvironmentVariableTarget]::Process) RunTokenHandler ` @@ -161,13 +179,17 @@ try { -signalFromUserScript $signalFromUserScript ` -signalFromTask $signalFromTask ` -exitSignal $exitSignal ` - -waitSignal $waitSignalForRunspaceToBeReady ` + -waitForTokenHandlerSignal $waitSignalForRunspaceToBeReady ` -sharedVar $sharedVar - $waitSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) + # The below logic prevents the task script from executing further until the TokenHandler in the child runspace is ready to handle request. + # Every second, we are sending the waitForTokenHandlerSignal to the tokenHandler + # Once the tokenHandler is ready, it will read the waitForTokenHandlerSignal and modify the Env Var $sharedVar to "start" from "wait" + # then we can let the task script proceed. + $waitForTokenHandlerSignal = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $waitSignalForRunspaceToBeReady) $sharedVarValue = $null do { - $res = $waitSignal.Set() + $res = $waitForTokenHandlerSignal.Set() Start-Sleep 1 $sharedVarValue = [System.Environment]::GetEnvironmentVariable($sharedVar) } while ($sharedVarValue -eq "wait") @@ -274,7 +296,17 @@ try { ([System.Environment]::NewLine), $contents); - + # Get-AzDoToken function returns an access token for an ADO service conn if the service conn is provided as input + # When the user script calls the Get-AzDoToken with ADO service conn set in task inputs, + # an event eventFromUserScript is sent to the tokenHandler in the task script, + # tokenHandler on receiving this event would + # generate token + # write it to shared outputFile + # send eventFromTask indicating the token is ready to be read from the shared outputFile + # Incase there is an error while token generation, the error message is written to the shared outputFile. + # after sending the eventFromUserScript, the Get-AzDoToken method waits for 60 seconds for the tokenHandler to respond + # if no event is received, an exception is thrown. + # If the ADO service connection is not provided as input, the default System.AccessToken is returned. if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { $joinedContents = ' $outputFile = "' + $tokenfilePath + '" @@ -290,7 +322,7 @@ try { Write-Debug "User Script: Notified Task to generate access token $tmp." # Wait for Task to finish processing - $receivedResponseBool = $eventFromTask.WaitOne(30000) # Wait for up to 30 seconds + $receivedResponseBool = $eventFromTask.WaitOne(60000) # Wait for up to 60 seconds if (!$receivedResponseBool) { throw "Request timed out" @@ -442,10 +474,11 @@ catch { } finally { try { - # Signal Task to exit + # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Host $env:praval + + Write-Verbose $env:praval Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index c9fbd147150f..7ce2bce41d06 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 257 + "Patch": 259 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.256", + "Default": "2.250.258", "LocalPackages": "2.249.4", - "Node20-225": "2.250.257" + "Node20-225": "2.250.259" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 8c4841efdf95..5a3728b6f6c6 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 257 + "Patch": 259 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.256", + "Default": "2.250.258", "LocalPackages": "2.249.4", - "Node20-225": "2.250.257" + "Node20-225": "2.250.259" } } \ No newline at end of file From de34c80dd00377a3d4c7bef121cfd7f743963a64 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 17 Dec 2024 01:00:15 +0530 Subject: [PATCH 34/37] powershell.ps finally --- Tasks/PowerShellV2/powershell.ps1 | 11 ++++++----- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/powershell.ps1 | 11 ++++++----- _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- _generated/PowerShellV2_Node20/powershell.ps1 | 11 ++++++----- _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 10 files changed, 34 insertions(+), 31 deletions(-) diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 25e38a3aad26..08f952d083ff 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -474,11 +474,12 @@ catch { } finally { try { - # This signal is sent to the TokenHandler to break the infinite loop and exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - - Write-Verbose $env:praval + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + # This signal is sent to the TokenHandler to break the infinite loop and exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Write-Verbose $env:praval + } Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 9b081950d812..591dd474783c 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 258 + "Patch": 262 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index 655d2af37781..ec358d8fa2e4 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 258 + "Patch": 262 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index af178e4c1f2f..2460d04fd25d 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.258 -Node20-225|2.250.259 +Default|2.250.262 +Node20-225|2.250.263 diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 25e38a3aad26..08f952d083ff 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -474,11 +474,12 @@ catch { } finally { try { - # This signal is sent to the TokenHandler to break the infinite loop and exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - - Write-Verbose $env:praval + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + # This signal is sent to the TokenHandler to break the infinite loop and exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Write-Verbose $env:praval + } Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index 08b29d2450da..d80bde0b37e4 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 258 + "Patch": 262 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.258", + "Default": "2.250.262", "LocalPackages": "2.249.4", - "Node20-225": "2.250.259" + "Node20-225": "2.250.263" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index f46cac226e62..469b5b95c5ad 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 258 + "Patch": 262 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.258", + "Default": "2.250.262", "LocalPackages": "2.249.4", - "Node20-225": "2.250.259" + "Node20-225": "2.250.263" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 25e38a3aad26..08f952d083ff 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -474,11 +474,12 @@ catch { } finally { try { - # This signal is sent to the TokenHandler to break the infinite loop and exit - $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) - $output = $eventExit.Set() - - Write-Verbose $env:praval + if (![string]::IsNullOrWhiteSpace($connectedServiceName)) { + # This signal is sent to the TokenHandler to break the infinite loop and exit + $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) + $output = $eventExit.Set() + Write-Verbose $env:praval + } Trace-VstsLeavingInvocation $MyInvocation } catch { Write-Host "Full Exception Object: $_" diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 7ce2bce41d06..8ef0ae87994e 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 259 + "Patch": 263 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.258", + "Default": "2.250.262", "LocalPackages": "2.249.4", - "Node20-225": "2.250.259" + "Node20-225": "2.250.263" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 5a3728b6f6c6..0db7ca51d121 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 259 + "Patch": 263 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.258", + "Default": "2.250.262", "LocalPackages": "2.249.4", - "Node20-225": "2.250.259" + "Node20-225": "2.250.263" } } \ No newline at end of file From 1967b9f18041b4e7ba4b03c4689a69d09bcd224b Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 17 Dec 2024 11:09:14 +0530 Subject: [PATCH 35/37] Task version bump --- Tasks/PowerShellV2/task.json | 2 +- Tasks/PowerShellV2/task.loc.json | 2 +- _generated/PowerShellV2.versionmap.txt | 4 ++-- _generated/PowerShellV2/task.json | 6 +++--- _generated/PowerShellV2/task.loc.json | 6 +++--- _generated/PowerShellV2_Node20/task.json | 6 +++--- _generated/PowerShellV2_Node20/task.loc.json | 6 +++--- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Tasks/PowerShellV2/task.json b/Tasks/PowerShellV2/task.json index 591dd474783c..894e54b6758c 100644 --- a/Tasks/PowerShellV2/task.json +++ b/Tasks/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 262 + "Patch": 0 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", diff --git a/Tasks/PowerShellV2/task.loc.json b/Tasks/PowerShellV2/task.loc.json index ec358d8fa2e4..68d022b14ecf 100644 --- a/Tasks/PowerShellV2/task.loc.json +++ b/Tasks/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 262 + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", diff --git a/_generated/PowerShellV2.versionmap.txt b/_generated/PowerShellV2.versionmap.txt index 2460d04fd25d..f496d3e996a5 100644 --- a/_generated/PowerShellV2.versionmap.txt +++ b/_generated/PowerShellV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.250.262 -Node20-225|2.250.263 +Default|2.250.0 +Node20-225|2.250.1 diff --git a/_generated/PowerShellV2/task.json b/_generated/PowerShellV2/task.json index d80bde0b37e4..a3a2252f3dd5 100644 --- a/_generated/PowerShellV2/task.json +++ b/_generated/PowerShellV2/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 262 + "Patch": 0 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.262", + "Default": "2.250.0", "LocalPackages": "2.249.4", - "Node20-225": "2.250.263" + "Node20-225": "2.250.1" } } \ No newline at end of file diff --git a/_generated/PowerShellV2/task.loc.json b/_generated/PowerShellV2/task.loc.json index 469b5b95c5ad..f61f1a1efe2f 100644 --- a/_generated/PowerShellV2/task.loc.json +++ b/_generated/PowerShellV2/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 262 + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -269,8 +269,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.262", + "Default": "2.250.0", "LocalPackages": "2.249.4", - "Node20-225": "2.250.263" + "Node20-225": "2.250.1" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.json b/_generated/PowerShellV2_Node20/task.json index 8ef0ae87994e..12a6f15b61f5 100644 --- a/_generated/PowerShellV2_Node20/task.json +++ b/_generated/PowerShellV2_Node20/task.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 263 + "Patch": 1 }, "releaseNotes": "Script task consistency. Added support for macOS and Linux.", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "Detected characters in arguments that may not be executed correctly by the shell. Please escape special characters using backtick (`). More information is available here: https://aka.ms/ado/75787" }, "_buildConfigMapping": { - "Default": "2.250.262", + "Default": "2.250.0", "LocalPackages": "2.249.4", - "Node20-225": "2.250.263" + "Node20-225": "2.250.1" } } \ No newline at end of file diff --git a/_generated/PowerShellV2_Node20/task.loc.json b/_generated/PowerShellV2_Node20/task.loc.json index 0db7ca51d121..24209e541ead 100644 --- a/_generated/PowerShellV2_Node20/task.loc.json +++ b/_generated/PowerShellV2_Node20/task.loc.json @@ -18,7 +18,7 @@ "version": { "Major": 2, "Minor": 250, - "Patch": 263 + "Patch": 1 }, "releaseNotes": "ms-resource:loc.releaseNotes", "minimumAgentVersion": "2.115.0", @@ -273,8 +273,8 @@ "ScriptArgsSanitized": "ms-resource:loc.messages.ScriptArgsSanitized" }, "_buildConfigMapping": { - "Default": "2.250.262", + "Default": "2.250.0", "LocalPackages": "2.249.4", - "Node20-225": "2.250.263" + "Node20-225": "2.250.1" } } \ No newline at end of file From 16905346102e6890dcff067a1ae6173005570e47 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 17 Dec 2024 11:28:31 +0530 Subject: [PATCH 36/37] deleting vsts.ps1 --- Tasks/PowerShellV2/Vsts.ps1 | 41 ------------------------- _generated/PowerShellV2/Vsts.ps1 | 41 ------------------------- _generated/PowerShellV2_Node20/Vsts.ps1 | 41 ------------------------- 3 files changed, 123 deletions(-) delete mode 100644 Tasks/PowerShellV2/Vsts.ps1 delete mode 100644 _generated/PowerShellV2/Vsts.ps1 delete mode 100644 _generated/PowerShellV2_Node20/Vsts.ps1 diff --git a/Tasks/PowerShellV2/Vsts.ps1 b/Tasks/PowerShellV2/Vsts.ps1 deleted file mode 100644 index 879d406bb733..000000000000 --- a/Tasks/PowerShellV2/Vsts.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -[CmdletBinding()] -param( - [Parameter(Mandatory = $true)] - [string]$Name, - [switch]$Require) - -$originalErrorActionPreference = $ErrorActionPreference -try { - $ErrorActionPreference = 'Stop' - - # Get the URL. - $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name - $key = "ENDPOINT_URL_$Name" - $url = Get-VaultValue -Description $description -Key $key -Require:$Require - - # Get the auth object. - $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name - $key = "ENDPOINT_AUTH_$Name" - if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { - $auth = ConvertFrom-Json -InputObject $auth - } - - # Get the data. - $description = "'$Name' service endpoint data" - $key = "ENDPOINT_DATA_$Name" - if ($data = (Get-VaultValue -Description $description -Key $key)) { - $data = ConvertFrom-Json -InputObject $data - } - - # Return the endpoint. - if ($url -or $auth -or $data) { - New-Object -TypeName psobject -Property @{ - Url = $url - Auth = $auth - Data = $data - } - } -} catch { - $ErrorActionPreference = $originalErrorActionPreference - Write-Error $_ -} diff --git a/_generated/PowerShellV2/Vsts.ps1 b/_generated/PowerShellV2/Vsts.ps1 deleted file mode 100644 index 879d406bb733..000000000000 --- a/_generated/PowerShellV2/Vsts.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -[CmdletBinding()] -param( - [Parameter(Mandatory = $true)] - [string]$Name, - [switch]$Require) - -$originalErrorActionPreference = $ErrorActionPreference -try { - $ErrorActionPreference = 'Stop' - - # Get the URL. - $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name - $key = "ENDPOINT_URL_$Name" - $url = Get-VaultValue -Description $description -Key $key -Require:$Require - - # Get the auth object. - $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name - $key = "ENDPOINT_AUTH_$Name" - if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { - $auth = ConvertFrom-Json -InputObject $auth - } - - # Get the data. - $description = "'$Name' service endpoint data" - $key = "ENDPOINT_DATA_$Name" - if ($data = (Get-VaultValue -Description $description -Key $key)) { - $data = ConvertFrom-Json -InputObject $data - } - - # Return the endpoint. - if ($url -or $auth -or $data) { - New-Object -TypeName psobject -Property @{ - Url = $url - Auth = $auth - Data = $data - } - } -} catch { - $ErrorActionPreference = $originalErrorActionPreference - Write-Error $_ -} diff --git a/_generated/PowerShellV2_Node20/Vsts.ps1 b/_generated/PowerShellV2_Node20/Vsts.ps1 deleted file mode 100644 index 879d406bb733..000000000000 --- a/_generated/PowerShellV2_Node20/Vsts.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -[CmdletBinding()] -param( - [Parameter(Mandatory = $true)] - [string]$Name, - [switch]$Require) - -$originalErrorActionPreference = $ErrorActionPreference -try { - $ErrorActionPreference = 'Stop' - - # Get the URL. - $description = Get-LocString -Key PSLIB_EndpointUrl0 -ArgumentList $Name - $key = "ENDPOINT_URL_$Name" - $url = Get-VaultValue -Description $description -Key $key -Require:$Require - - # Get the auth object. - $description = Get-LocString -Key PSLIB_EndpointAuth0 -ArgumentList $Name - $key = "ENDPOINT_AUTH_$Name" - if ($auth = (Get-VaultValue -Description $description -Key $key -Require:$Require)) { - $auth = ConvertFrom-Json -InputObject $auth - } - - # Get the data. - $description = "'$Name' service endpoint data" - $key = "ENDPOINT_DATA_$Name" - if ($data = (Get-VaultValue -Description $description -Key $key)) { - $data = ConvertFrom-Json -InputObject $data - } - - # Return the endpoint. - if ($url -or $auth -or $data) { - New-Object -TypeName psobject -Property @{ - Url = $url - Auth = $auth - Data = $data - } - } -} catch { - $ErrorActionPreference = $originalErrorActionPreference - Write-Error $_ -} From 9714c9c4d14b2db58de61daa2e5fd7dfa48effd8 Mon Sep 17 00:00:00 2001 From: Praval Singhal Date: Tue, 17 Dec 2024 12:18:47 +0530 Subject: [PATCH 37/37] clean up of runspace logs --- Tasks/PowerShellV2/AccessTokenHelper.ps1 | 55 +++++++------------ Tasks/PowerShellV2/powershell.ps1 | 11 +--- _generated/PowerShellV2/AccessTokenHelper.ps1 | 55 +++++++------------ _generated/PowerShellV2/powershell.ps1 | 11 +--- .../PowerShellV2_Node20/AccessTokenHelper.ps1 | 55 +++++++------------ _generated/PowerShellV2_Node20/powershell.ps1 | 11 +--- 6 files changed, 66 insertions(+), 132 deletions(-) diff --git a/Tasks/PowerShellV2/AccessTokenHelper.ps1 b/Tasks/PowerShellV2/AccessTokenHelper.ps1 index 25c14b332bb2..0449aa45c1db 100644 --- a/Tasks/PowerShellV2/AccessTokenHelper.ps1 +++ b/Tasks/PowerShellV2/AccessTokenHelper.ps1 @@ -1,7 +1,7 @@ Import-Module Microsoft.PowerShell.Security Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -function Global:Get-VstsFederatedTokenPS2Task { +function Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] $taskDict, @@ -17,7 +17,6 @@ function Global:Get-VstsFederatedTokenPS2Task { $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - $env:praval = $env:praval + "`n" + $url $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) @@ -26,22 +25,17 @@ function Global:Get-VstsFederatedTokenPS2Task { # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body - - # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global -function Global:Get-WiscAccessTokenPSV2Task { +function Get-WiscAccessTokenPSV2Task { param( $taskDict ) @@ -49,24 +43,19 @@ function Global:Get-WiscAccessTokenPSV2Task { $clientId = $taskDict["ClientId"] $envAuthUrl = $taskDict["EnvAuthUrl"] $tenantId = $taskDict["TenantId"] - $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - $env:praval = $env:praval + "`n" + $a - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken - $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $oidc_token = Get-VstsFederatedTokenPS2Task -taskDict $taskDict -vstsAccessToken $vstsAccessToken $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() $scope = "499b84ac-1321-427f-aa17-267ca6975798" [string] $resourceId = $scope + "/.default" $scopes = [Collections.Generic.List[string]]@($resourceId) - $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $result = @{ @@ -82,7 +71,6 @@ function Global:Get-WiscAccessTokenPSV2Task { return $result } -New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global # This is the main tokenHandler object # It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken @@ -148,21 +136,18 @@ $tokenHandler = [PSCustomObject]@{ } else { - $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - # Infinite loop to wait for and handle signals from user script for token request - while ($true) { - try { - # Wait for either UserScript signal or Exit signal + while ($true) + { + try + { $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { - # Signal from UserScript $result = @{ Token = $null @@ -172,19 +157,16 @@ $tokenHandler = [PSCustomObject]@{ try { - $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict } catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" $result["ExceptionMessage"] = $_ } finally { $json = $result | ConvertTo-Json $json | Set-Content -Path $filePath - $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file @@ -193,26 +175,29 @@ $tokenHandler = [PSCustomObject]@{ } elseif ($index -eq 1) { [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) - $env:praval = $env:praval + "`n" + "SharedDict Set" } elseif ($index -eq 2) { - $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } - } catch { - $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" + } + catch + { + # do nothing } } - } catch { - $env:praval = $env:praval + "`n" + "Critical error in Task: $_" - } finally { - try { + } + finally + { + try + { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - } catch { + } + catch + { # do nothing } } diff --git a/Tasks/PowerShellV2/powershell.ps1 b/Tasks/PowerShellV2/powershell.ps1 index 08f952d083ff..9888d2fdd4ed 100644 --- a/Tasks/PowerShellV2/powershell.ps1 +++ b/Tasks/PowerShellV2/powershell.ps1 @@ -6,8 +6,6 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$env:praval = "" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -98,12 +96,8 @@ function RunTokenHandler { $psRunspace = [powershell]::Create().AddScript({ param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - try { - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - } catch { - $env:praval = $env:praval + " " + $_ - } + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) }). AddArgument($accessTokenHelperFilePath). AddArgument($tokenFilePath). @@ -478,7 +472,6 @@ finally { # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Verbose $env:praval } Trace-VstsLeavingInvocation $MyInvocation } catch { diff --git a/_generated/PowerShellV2/AccessTokenHelper.ps1 b/_generated/PowerShellV2/AccessTokenHelper.ps1 index 25c14b332bb2..0449aa45c1db 100644 --- a/_generated/PowerShellV2/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2/AccessTokenHelper.ps1 @@ -1,7 +1,7 @@ Import-Module Microsoft.PowerShell.Security Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -function Global:Get-VstsFederatedTokenPS2Task { +function Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] $taskDict, @@ -17,7 +17,6 @@ function Global:Get-VstsFederatedTokenPS2Task { $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - $env:praval = $env:praval + "`n" + $url $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) @@ -26,22 +25,17 @@ function Global:Get-VstsFederatedTokenPS2Task { # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body - - # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global -function Global:Get-WiscAccessTokenPSV2Task { +function Get-WiscAccessTokenPSV2Task { param( $taskDict ) @@ -49,24 +43,19 @@ function Global:Get-WiscAccessTokenPSV2Task { $clientId = $taskDict["ClientId"] $envAuthUrl = $taskDict["EnvAuthUrl"] $tenantId = $taskDict["TenantId"] - $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - $env:praval = $env:praval + "`n" + $a - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken - $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $oidc_token = Get-VstsFederatedTokenPS2Task -taskDict $taskDict -vstsAccessToken $vstsAccessToken $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() $scope = "499b84ac-1321-427f-aa17-267ca6975798" [string] $resourceId = $scope + "/.default" $scopes = [Collections.Generic.List[string]]@($resourceId) - $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $result = @{ @@ -82,7 +71,6 @@ function Global:Get-WiscAccessTokenPSV2Task { return $result } -New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global # This is the main tokenHandler object # It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken @@ -148,21 +136,18 @@ $tokenHandler = [PSCustomObject]@{ } else { - $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - # Infinite loop to wait for and handle signals from user script for token request - while ($true) { - try { - # Wait for either UserScript signal or Exit signal + while ($true) + { + try + { $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { - # Signal from UserScript $result = @{ Token = $null @@ -172,19 +157,16 @@ $tokenHandler = [PSCustomObject]@{ try { - $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict } catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" $result["ExceptionMessage"] = $_ } finally { $json = $result | ConvertTo-Json $json | Set-Content -Path $filePath - $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file @@ -193,26 +175,29 @@ $tokenHandler = [PSCustomObject]@{ } elseif ($index -eq 1) { [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) - $env:praval = $env:praval + "`n" + "SharedDict Set" } elseif ($index -eq 2) { - $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } - } catch { - $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" + } + catch + { + # do nothing } } - } catch { - $env:praval = $env:praval + "`n" + "Critical error in Task: $_" - } finally { - try { + } + finally + { + try + { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - } catch { + } + catch + { # do nothing } } diff --git a/_generated/PowerShellV2/powershell.ps1 b/_generated/PowerShellV2/powershell.ps1 index 08f952d083ff..9888d2fdd4ed 100644 --- a/_generated/PowerShellV2/powershell.ps1 +++ b/_generated/PowerShellV2/powershell.ps1 @@ -6,8 +6,6 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$env:praval = "" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -98,12 +96,8 @@ function RunTokenHandler { $psRunspace = [powershell]::Create().AddScript({ param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - try { - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - } catch { - $env:praval = $env:praval + " " + $_ - } + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) }). AddArgument($accessTokenHelperFilePath). AddArgument($tokenFilePath). @@ -478,7 +472,6 @@ finally { # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Verbose $env:praval } Trace-VstsLeavingInvocation $MyInvocation } catch { diff --git a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 index 25c14b332bb2..0449aa45c1db 100644 --- a/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 +++ b/_generated/PowerShellV2_Node20/AccessTokenHelper.ps1 @@ -1,7 +1,7 @@ Import-Module Microsoft.PowerShell.Security Import-Module $PSScriptRoot\ps_modules\VstsTaskSdk -function Global:Get-VstsFederatedTokenPS2Task { +function Get-VstsFederatedTokenPS2Task { param( [Parameter(Mandatory=$true)] $taskDict, @@ -17,7 +17,6 @@ function Global:Get-VstsFederatedTokenPS2Task { $projectId = $taskDict["ProjectId"] $url = $uri + "$projectId/_apis/distributedtask/hubs/$hub/plans/$planId/jobs/$jobId/oidctoken?serviceConnectionId=$serviceConnectionId&api-version=7.1-preview.1" - $env:praval = $env:praval + "`n" + $url $headers = @{ "Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($vstsAccessToken)")) @@ -26,22 +25,17 @@ function Global:Get-VstsFederatedTokenPS2Task { # POST request to generate the OIDC token $response = Invoke-WebRequest -Uri $url -Method Post -Headers $headers -Body $body - - # Parse the response content to extract the OIDC token $responseContent = $response.Content | ConvertFrom-Json $oidcToken = $responseContent.oidcToken if ($null -eq $oidcToken -or $oidcToken -eq [string]::Empty) { - $env:praval = $env:praval + "`n" + "Failed to create OIDC token." throw (New-Object System.Exception("CouldNotGenerateOidcToken")) } - $env:praval = $env:praval + "`n" + "OIDC Token generated Successfully" return $oidcToken } -New-Alias -Name 'Get-VstsFederatedToken' -Value 'Global:Get-VstsFederatedTokenPS2Task' -Scope Global -function Global:Get-WiscAccessTokenPSV2Task { +function Get-WiscAccessTokenPSV2Task { param( $taskDict ) @@ -49,24 +43,19 @@ function Global:Get-WiscAccessTokenPSV2Task { $clientId = $taskDict["ClientId"] $envAuthUrl = $taskDict["EnvAuthUrl"] $tenantId = $taskDict["TenantId"] - $connectedServiceName = $taskDict["ConnectedServiceName"] $vstsAccessToken = $taskDict["VstsAccessToken"] - $env:praval = $env:praval + "`n" + $a - Add-Type -Path "$PSScriptRoot\ps_modules\VstsAzureRestHelpers_\msal\Microsoft.Identity.Client.dll" $clientBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithAuthority($envAuthUrl, $tenantId) - $oidc_token = Get-VstsFederatedToken -taskDict $taskDict -vstsAccessToken $vstsAccessToken - $env:praval = $env:praval + "`n" + "oidc_token $oidc_token" + $oidc_token = Get-VstsFederatedTokenPS2Task -taskDict $taskDict -vstsAccessToken $vstsAccessToken $msalClientInstance = $clientBuilder.WithClientAssertion($oidc_token).Build() $scope = "499b84ac-1321-427f-aa17-267ca6975798" [string] $resourceId = $scope + "/.default" $scopes = [Collections.Generic.List[string]]@($resourceId) - $env:praval = $env:praval + "`n" + "Fetching Access Token - MSAL" $tokenResult = $msalClientInstance.AcquireTokenForClient($scopes).ExecuteAsync().GetAwaiter().GetResult() $result = @{ @@ -82,7 +71,6 @@ function Global:Get-WiscAccessTokenPSV2Task { return $result } -New-Alias -Name 'Get-WiscAccessTokenPSV2Task' -Value 'Global:Get-WiscAccessTokenPSV2Task' -Scope Global # This is the main tokenHandler object # It is responsible for handling the access token requests for input ADO service connection received from User script via Get-AzDoToken @@ -148,21 +136,18 @@ $tokenHandler = [PSCustomObject]@{ } else { - $env:praval = $env:praval + "`n" + "Token File not found" throw "Token File not found" } - $env:praval = $env:praval + "`n" + "Task: Waiting for signals..." - # Infinite loop to wait for and handle signals from user script for token request - while ($true) { - try { - # Wait for either UserScript signal or Exit signal + while ($true) + { + try + { $index = [System.Threading.WaitHandle]::WaitAny(@($eventFromUserScript, $eventTaskWaitToExecute, $eventExit)) if ($index -eq 0) { - # Signal from UserScript $result = @{ Token = $null @@ -172,19 +157,16 @@ $tokenHandler = [PSCustomObject]@{ try { - $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict - $env:praval = $env:praval + "`n" + "Successfully generated the Azure Access token for Service Connection" + $result = Get-WiscAccessTokenPSV2Task -taskDict $taskDict } catch { - $env:praval = $env:praval + "`n" + "Failed to generate token with message $_" $result["ExceptionMessage"] = $_ } finally { $json = $result | ConvertTo-Json $json | Set-Content -Path $filePath - $env:praval = $env:praval + "`n" + "Task: Wrote access token to file" } # Signal UserScript to read the file @@ -193,26 +175,29 @@ $tokenHandler = [PSCustomObject]@{ } elseif ($index -eq 1) { [System.Environment]::SetEnvironmentVariable($sharedVar, "start", [System.EnvironmentVariableTarget]::Process) - $env:praval = $env:praval + "`n" + "SharedDict Set" } elseif ($index -eq 2) { - $env:praval = $env:praval + "`n" + "Exiting the loop" # Exit signal received break } - } catch { - $env:praval = $env:praval + "`n" + "Error occurred while waiting for signals: $_" + } + catch + { + # do nothing } } - } catch { - $env:praval = $env:praval + "`n" + "Critical error in Task: $_" - } finally { - try { + } + finally + { + try + { if ($null -ne $eventFromUserScript ) { $eventFromUserScript.Dispose() } if ($null -ne $eventFromTask) { $eventFromTask.Dispose() } if ($null -ne $eventExit) { $eventExit.Dispose() } - } catch { + } + catch + { # do nothing } } diff --git a/_generated/PowerShellV2_Node20/powershell.ps1 b/_generated/PowerShellV2_Node20/powershell.ps1 index 08f952d083ff..9888d2fdd4ed 100644 --- a/_generated/PowerShellV2_Node20/powershell.ps1 +++ b/_generated/PowerShellV2_Node20/powershell.ps1 @@ -6,8 +6,6 @@ Import-Module Microsoft.PowerShell.Security . $PSScriptRoot\helpers.ps1 -$env:praval = "" - function Get-EnvironmentAuthUrl { [CmdletBinding()] param( @@ -98,12 +96,8 @@ function RunTokenHandler { $psRunspace = [powershell]::Create().AddScript({ param($accessTokenHelperFilePath, $tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - try { - . $accessTokenHelperFilePath - $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) - } catch { - $env:praval = $env:praval + " " + $_ - } + . $accessTokenHelperFilePath + $tokenHandler.Run.Invoke($tokenFilePath, $signalFromUserScript, $signalFromTask, $exitSignal, $taskDict, $waitForTokenHandlerSignal, $sharedVar) }). AddArgument($accessTokenHelperFilePath). AddArgument($tokenFilePath). @@ -478,7 +472,6 @@ finally { # This signal is sent to the TokenHandler to break the infinite loop and exit $eventExit = New-Object System.Threading.EventWaitHandle($false, [System.Threading.EventResetMode]::AutoReset, $exitSignal) $output = $eventExit.Set() - Write-Verbose $env:praval } Trace-VstsLeavingInvocation $MyInvocation } catch {