diff --git a/eng/scripts/get-aspire-cli-pr.ps1 b/eng/scripts/get-aspire-cli-pr.ps1 index afbe07e9590..745c6ab1974 100755 --- a/eng/scripts/get-aspire-cli-pr.ps1 +++ b/eng/scripts/get-aspire-cli-pr.ps1 @@ -57,6 +57,9 @@ .EXAMPLE .\get-aspire-cli-pr.ps1 1234 -WhatIf +.EXAMPLE + .\get-aspire-cli-pr.ps1 1234 -SkipExtensionInstall + .EXAMPLE Piped execution iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } @@ -64,6 +67,7 @@ .NOTES Requires GitHub CLI (gh) to be installed and authenticated Requires appropriate permissions to download artifacts from target repository + VS Code extension installation requires VS Code CLI (code) to be available in PATH .PARAMETER ASPIRE_REPO (environment variable) Override repository (owner/name). Default: dotnet/aspire @@ -94,6 +98,9 @@ param( [Parameter(HelpMessage = "Only install NuGet packages to the hive, skip CLI download")] [switch]$HiveOnly, + [Parameter(HelpMessage = "Skip VS Code extension download and installation")] + [switch]$SkipExtensionInstall, + [Parameter(HelpMessage = "Keep downloaded archive files after installation")] [switch]$KeepArchive ) @@ -103,6 +110,7 @@ $Script:BuiltNugetsArtifactName = "built-nugets" $Script:BuiltNugetsRidArtifactName = "built-nugets-for" $Script:CliArchiveArtifactNamePrefix = "cli-native-archives" $Script:AspireCliArtifactNamePrefix = "aspire-cli" +$Script:ExtensionArtifactName = "aspire-extension" $Script:IsModernPowerShell = $PSVersionTable.PSVersion.Major -ge 6 -and $PSVersionTable.PSEdition -eq "Core" $Script:HostOS = "unset" $Script:Repository = if ($env:ASPIRE_REPO -and $env:ASPIRE_REPO.Trim()) { $env:ASPIRE_REPO.Trim() } else { 'dotnet/aspire' } @@ -370,6 +378,7 @@ function Expand-AspireCliArchive { New-Item -ItemType Directory -Path $DestinationPath -Force | Out-Null } + Write-Message "Extracting archive: $ArchiveFile" -Level Verbose # Check archive format based on file extension and extract accordingly if ($ArchiveFile -match "\.zip$") { # Use Expand-Archive for ZIP files @@ -591,6 +600,21 @@ function Test-GitHubCLIDependency { } } +# Function to check VS Code CLI dependency +function Test-VSCodeCLIDependency { + [CmdletBinding()] + param() + + if (-not (Get-Command code -ErrorAction SilentlyContinue)) { + Write-Message "VS Code CLI (code) is not available in PATH. Extension installation will be skipped." -Level Warning + Write-Message "To install VS Code extensions, ensure VS Code is installed and the 'code' command is available." -Level Info + return $false + } + + Write-Message "VS Code CLI (code) found" -Level Verbose + return $true +} + # Simplified installation path determination function Get-InstallPrefix { [CmdletBinding()] @@ -715,6 +739,71 @@ function Invoke-ArtifactDownload { } } +# Function to download VS Code extension artifact +function Get-AspireExtensionFromArtifact { + [CmdletBinding(SupportsShouldProcess)] + param( + [Parameter(Mandatory = $true)] + [string]$RunId, + + [Parameter(Mandatory = $true)] + [string]$TempDir + ) + + $downloadDir = Join-Path $TempDir "extension" + Write-Message "Downloading VS Code extension from GitHub - $Script:ExtensionArtifactName ..." -Level Info + + try { + Invoke-ArtifactDownload -RunId $RunId -ArtifactName $Script:ExtensionArtifactName -DownloadDirectory $downloadDir + return $downloadDir + } + catch { + Write-Message "Failed to download VS Code extension artifact: $($_.Exception.Message)" -Level Warning + Write-Message "This could mean the extension artifact is not available for this build." -Level Info + return $null + } +} + +# Function to install VS Code extension +function Install-AspireExtensionFromDownload { + [CmdletBinding(SupportsShouldProcess)] + param( + [Parameter(Mandatory = $true)] + [string]$DownloadDir + ) + + if (!$PSCmdlet.ShouldProcess("VS Code", "Installing Aspire extension")) { + return + } + + # Find the .vsix file directly (the artifact contains the .vsix file, not a zip) + $vsixFile = Get-ChildItem -Path $DownloadDir -Filter "*.vsix" -Recurse | Select-Object -First 1 + + if (-not $vsixFile) { + Write-Message "No .vsix file found in downloaded artifact" -Level Warning + Write-Message "Files found in download directory:" -Level Verbose + Get-ChildItem -Path $DownloadDir -Recurse | ForEach-Object { Write-Message " $($_.Name)" -Level Verbose } + return + } + + try { + # Install the extension using VS Code CLI + Write-Message "Installing VS Code extension: $($vsixFile.Name)" -Level Info + $installCommand = @("code", "--install-extension", $vsixFile.FullName) + + & $installCommand[0] $installCommand[1..($installCommand.Length-1)] + + if ($LASTEXITCODE -eq 0) { + Write-Message "VS Code extension successfully installed" -Level Success + } else { + Write-Message "Failed to install VS Code extension (exit code: $LASTEXITCODE)" -Level Warning + } + } + catch { + Write-Message "Failed to install VS Code extension: $($_.Exception.Message)" -Level Warning + } +} + # Function to download built-nugets artifact function Get-BuiltNugets { [CmdletBinding(SupportsShouldProcess)] @@ -906,6 +995,14 @@ function Start-DownloadAndInstall { } $nugetDownloadDir = Get-BuiltNugets -RunId $runId -RID $rid -TempDir $TempDir + # Download VS Code extension if not skipped + $extensionDownloadDir = $null + if (-not $SkipExtensionInstall) { + $extensionDownloadDir = Get-AspireExtensionFromArtifact -RunId $runId -TempDir $TempDir + } else { + Write-Message "Skipping VS Code extension download due to -SkipExtensionInstall flag" -Level Info + } + # Then, install artifacts Write-Message "Installing artifacts..." -Level Info if ($HiveOnly) { @@ -915,6 +1012,13 @@ function Start-DownloadAndInstall { } Install-BuiltNugets -DownloadDir $nugetDownloadDir -NugetHiveDir $nugetHiveDir + # Install VS Code extension if downloaded + if ($extensionDownloadDir -and -not $SkipExtensionInstall) { + if (Test-VSCodeCLIDependency) { + Install-AspireExtensionFromDownload -DownloadDir $extensionDownloadDir + } + } + # Update PATH environment variables if (-not $HiveOnly) { Update-PathEnvironment -CliBinDir $cliBinDir diff --git a/extension/package.json b/extension/package.json index 81ec1fadecd..454241364a2 100644 --- a/extension/package.json +++ b/extension/package.json @@ -3,7 +3,7 @@ "displayName": "Aspire", "description": "%extension.description%", "publisher": "microsoft-aspire", - "version": "0.2.0", + "version": "0.3.0", "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", "icon": "dotnet-aspire-logo-128.png", "license": "SEE LICENSE IN LICENSE.TXT", @@ -24,16 +24,56 @@ "apphost" ], "activationEvents": [ - "workspaceContains:**/*AppHost*" + "onDebug", + "onDebugResolve:aspire", + "onDebugInitialConfigurations:aspire", + "onDebugDynamicConfigurations:aspire", + "workspaceContains:**/*.csproj", + "onStartupFinished", + "onView:workbench.view.debug" ], "main": "./dist/extension.js", "contributes": { - "commands": [ + "debuggers": [ { - "command": "aspire-vscode.run", - "title": "%command.run%", - "category": "Aspire" - }, + "type": "aspire", + "label": "Aspire", + "configurationAttributes": { + "launch": { + "required": ["program"], + "properties": { + "program": { + "type": "string", + "description": "%extension.debug.program%", + "default": "${workspaceFolder}" + } + } + } + }, + "configurationSnippets": [ + { + "label": "%extension.debug.defaultConfiguration.name%", + "description": "%extension.debug.defaultConfiguration.description%", + "body": { + "type": "aspire", + "request": "launch", + "name": "%extension.debug.defaultConfiguration.name%", + "program": "${workspaceFolder}" + } + } + ] + , + "initialConfigurations": [ + { + "type": "aspire", + "request": "launch", + "name": "%extension.debug.defaultConfiguration.name%", + "program": "${workspaceFolder}" + } + ] + } + ], + "commands": [ { "command": "aspire-vscode.add", "title": "%command.add%", @@ -58,6 +98,11 @@ "command": "aspire-vscode.deploy", "title": "%command.deploy%", "category": "Aspire" + }, + { + "command": "aspire-vscode.configureLaunchJson", + "title": "%command.configureLaunchJson%", + "category": "Aspire" } ] }, @@ -86,39 +131,44 @@ }, "devDependencies": { "@eslint/js": "^9.27.0", + "@types/express": "^5.0.3", "@types/mocha": "^10.0.10", "@types/node": "20.x", "@types/node-forge": "^1.3.11", "@types/sinon": "^17.0.4", "@types/vscode": "^1.98.0", + "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "@vscode/test-cli": "^0.0.10", "@vscode/test-electron": "^2.4.1", "copyfiles": "^2.4.1", "eslint": "^9.27.0", - "gulp": "^4.0.2", + "gulp": "^5.0.1", "gulp-concat": "^2.6.1", "gulp-filter": "^7.0.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", + "postcss": "^8.5.6", "ts-loader": "^9.5.2", "typescript": "^5.8.3", "typescript-eslint": "^8.32.1", "vscode-nls-dev": "^4.0.1", - "wait-for-expect": "^3.0.2", + "wait-for-expect": "^4.0.0", "webpack": "^5.98.0", "webpack-cli": "^6.0.1" }, "dependencies": { "@vscode/extension-telemetry": "^1.0.0", "@vscode/vsce": "^3.3.2", + "express": "^5.1.0", "node-forge": "^1.3.1", - "p-retry": "^6.2.1", - "sinon": "^20.0.0", + "p-retry": "^7.0.0", + "sinon": "^21.0.0", "ts-node": "^10.9.2", "vscode-jsonrpc": "^8.2.1", - "vscode-nls": "5.2.0" + "vscode-nls": "5.2.0", + "ws": "^8.18.3" }, "resolutions": { "braces": "^3.0.3" diff --git a/extension/package.nls.cs.json b/extension/package.nls.cs.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.cs.json +++ b/extension/package.nls.cs.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.de.json b/extension/package.nls.de.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.de.json +++ b/extension/package.nls.de.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.es.json b/extension/package.nls.es.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.es.json +++ b/extension/package.nls.es.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.fr.json b/extension/package.nls.fr.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.fr.json +++ b/extension/package.nls.fr.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.it.json b/extension/package.nls.it.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.it.json +++ b/extension/package.nls.it.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.ja.json b/extension/package.nls.ja.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.ja.json +++ b/extension/package.nls.ja.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.json b/extension/package.nls.json index b7f63b4c7ef..8bc9d776802 100644 --- a/extension/package.nls.json +++ b/extension/package.nls.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } diff --git a/extension/package.nls.ko.json b/extension/package.nls.ko.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.ko.json +++ b/extension/package.nls.ko.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.pl.json b/extension/package.nls.pl.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.pl.json +++ b/extension/package.nls.pl.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.pt-br.json b/extension/package.nls.pt-br.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.pt-br.json +++ b/extension/package.nls.pt-br.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.ru.json b/extension/package.nls.ru.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.ru.json +++ b/extension/package.nls.ru.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.tr.json b/extension/package.nls.tr.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.tr.json +++ b/extension/package.nls.tr.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.zh-cn.json b/extension/package.nls.zh-cn.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.zh-cn.json +++ b/extension/package.nls.zh-cn.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/package.nls.zh-tw.json b/extension/package.nls.zh-tw.json index a3fe81d4574..44c116d9893 100644 --- a/extension/package.nls.zh-tw.json +++ b/extension/package.nls.zh-tw.json @@ -1,21 +1,24 @@ { "extension.title": "Aspire VSCode", "extension.description": "Official Aspire extension for Visual Studio Code", - "command.run": "Run app host", + "extension.debug.program": "Path to the Aspire solution", + "extension.debug.defaultConfiguration.name": "Aspire: Launch Default AppHost", + "extension.debug.defaultConfiguration.description": "Launch the effective Aspire AppHost in your workspace.", "command.add": "Add an integration", "command.new": "New Aspire project", "command.publish": "Publish deployment artifacts", "command.config": "Manage configuration settings", "command.deploy": "Deploy app host", + "command.configureLaunchJson": "Configure launch.json file", "aspire-vscode.strings.noCsprojFound": "No AppHost found in the current workspace", "aspire-vscode.strings.error": "Error: {0}", "aspire-vscode.strings.yes": "Yes", "aspire-vscode.strings.no": "No", "aspire-vscode.strings.directUrl": "Direct: {0}", "aspire-vscode.strings.codespacesUrl": "Codespaces: {0}", - "aspire-vscode.strings.directLink": "Direct link", - "aspire-vscode.strings.codespacesLink": "Codespaces link", - "aspire-vscode.strings.openAspireDashboard": "Open Aspire Dashboard", + "aspire-vscode.strings.directLink": "Open local URL", + "aspire-vscode.strings.codespacesLink": "Open codespaces URL", + "aspire-vscode.strings.openAspireDashboard": "Launch Aspire Dashboard", "aspire-vscode.strings.addressError": "Failed to get RPC server address. The extension may not function correctly.", "aspire-vscode.strings.noWorkspaceOpen": "No workspace is open. Please open a folder or workspace before running this command.", "aspire-vscode.strings.failedToShowPromptEmpty": "Failed to show prompt, text was empty.", @@ -29,11 +32,27 @@ "aspire-vscode.strings.fieldRequired": "This field is required", "aspire-vscode.strings.debugProject": "Debug {0}", "aspire-vscode.strings.watchProject": "Watch {0} ({1})", - "csharpDevKitNotInstalled": "C# Dev Kit is not installed. Please install it from the marketplace.", - "noCsharpBuildTask": "No C# Dev Kit build task found.", - "noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", - "buildFailedWithExitCode": "Build failed with exit code {0}", - "buildSucceeded": "Build succeeded for project {0}. Attempting to locate output dll...", - "noOutputFromMsbuild": "No output from msbuild", - "failedToGetTargetPath": "Failed to get TargetPath: {0}" + "aspire-vscode.strings.noCsharpBuildTask": "No C# Dev Kit build task found.", + "aspire-vscode.strings.noWatchTask": "No watch task found. Please ensure a watch task is defined in your workspace.", + "aspire-vscode.strings.buildFailedWithExitCode": "Build failed with exit code {0}", + "aspire-vscode.strings.noOutputFromMsbuild": "No output from msbuild", + "aspire-vscode.strings.failedToGetTargetPath": "Failed to get TargetPath: {0}", + "aspire-vscode.strings.unsupportedResourceType": "Attempted to start unsupported resource type: {0}", + "aspire-vscode.strings.rpcServerNotInitialized": "RPC Server is not initialized", + "aspire-vscode.strings.extensionContextNotInitialized": "Extension context is not initialized", + "aspire-vscode.strings.errorRetrievingAppHosts": "Error retrieving app hosts in the current workspace. Debug options may be incomplete.", + "aspire-vscode.strings.launchingWithDirectory": "Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...", + "aspire-vscode.strings.launchingWithAppHost": "Launching Aspire debug session for AppHost {0}...", + "aspire-vscode.strings.disconnectingFromSession": "Disconnecting from Aspire debug session... Child processes will be stopped.", + "aspire-vscode.strings.processExitedWithCode": "Process exited with code {0}", + "aspire-vscode.strings.failedToStartPythonProgram": "Failed to start Python program: {0}", + "aspire-vscode.strings.csharpSupportNotEnabled": "C# support is not enabled in this workspace. This project should have started through the Aspire CLI.", + "aspire-vscode.strings.failedToStartProject": "Failed to start project: {0}", + "aspire-vscode.strings.dcpServerNotInitialized": "DCP server not initialized - cannot forward debug output", + "aspire-vscode.strings.invalidTokenProvided": "Invalid token provided", + "aspire-vscode.strings.noWorkspaceFolder": "No workspace folder found", + "aspire-vscode.strings.aspireConfigExists": "Aspire launch configuration already exists in launch.json", + "aspire-vscode.strings.aspireConfigAdded": "Aspire launch configuration added to launch.json successfully!", + "aspire-vscode.strings.openLaunchJson": "Open launch.json", + "aspire-vscode.strings.failedToConfigureLaunchJson": "Failed to configure launch.json: {0}" } \ No newline at end of file diff --git a/extension/src/AspireExtensionContext.ts b/extension/src/AspireExtensionContext.ts new file mode 100644 index 00000000000..5fbe3f073b6 --- /dev/null +++ b/extension/src/AspireExtensionContext.ts @@ -0,0 +1,80 @@ +import * as vscode from 'vscode'; +import { AspireDebugSession } from './debugger/AspireDebugSession'; +import { AspireDebugConfigurationProvider } from './debugger/AspireDebugConfigurationProvider'; +import { aspireDebugSessionNotInitialized, extensionContextNotInitialized } from './loc/strings'; +import AspireRpcServer from './server/AspireRpcServer'; +import AspireDcpServer from './dcp/AspireDcpServer'; +import { ResourceDebuggerExtension } from './debugger/debuggerExtensions'; + +export class AspireExtensionContext { + private _rpcServer: AspireRpcServer | undefined; + private _dcpServer: AspireDcpServer | undefined; + private _extensionContext: vscode.ExtensionContext | undefined; + private _aspireDebugSession: AspireDebugSession | undefined; + private _debugConfigProvider: AspireDebugConfigurationProvider | undefined; + private _debuggerExtensions: ResourceDebuggerExtension[] | undefined; + + constructor() { + this._rpcServer = undefined; + this._extensionContext = undefined; + this._aspireDebugSession = undefined; + this._debugConfigProvider = undefined; + this._dcpServer = undefined; + } + + initialize(rpcServer: AspireRpcServer, extensionContext: vscode.ExtensionContext, debugConfigProvider: AspireDebugConfigurationProvider, dcpServer: AspireDcpServer, debuggerExtensions: ResourceDebuggerExtension[]): void { + this._rpcServer = rpcServer; + this._extensionContext = extensionContext; + this._debugConfigProvider = debugConfigProvider; + this._dcpServer = dcpServer; + this._debuggerExtensions = debuggerExtensions; + } + + get rpcServer(): AspireRpcServer { + if (!this._rpcServer) { + throw new Error(extensionContextNotInitialized); + } + return this._rpcServer; + } + + get dcpServer(): AspireDcpServer { + if (!this._dcpServer) { + throw new Error(extensionContextNotInitialized); + } + return this._dcpServer; + } + + get extensionContext(): vscode.ExtensionContext { + if (!this._extensionContext) { + throw new Error(extensionContextNotInitialized); + } + return this._extensionContext; + } + + get debuggerExtensions(): ResourceDebuggerExtension[] | undefined { + return this._debuggerExtensions; + } + + hasAspireDebugSession(): boolean { + return !!this._aspireDebugSession; + } + + get aspireDebugSession(): AspireDebugSession { + if (!this._aspireDebugSession) { + throw new Error(aspireDebugSessionNotInitialized); + } + return this._aspireDebugSession; + } + + set aspireDebugSession(value: AspireDebugSession) { + this._aspireDebugSession = value; + } + + get debugConfigProvider(): AspireDebugConfigurationProvider | undefined { + if (!this._debugConfigProvider) { + throw new Error(extensionContextNotInitialized); + } + + return this._debugConfigProvider; + } +} diff --git a/extension/src/capabilities.ts b/extension/src/capabilities.ts index af8a4765572..85ebcb0c09d 100644 --- a/extension/src/capabilities.ts +++ b/extension/src/capabilities.ts @@ -1,4 +1,6 @@ import * as vscode from 'vscode'; +import { ResourceDebuggerExtension } from './debugger/debuggerExtensions'; + function isExtensionInstalled(extensionId: string): boolean { const extension = vscode.extensions.getExtension(extensionId); @@ -9,7 +11,7 @@ function isCsDevKitInstalled() { return isExtensionInstalled("ms-dotnettools.csdevkit"); } -function isCsharpInstalled() { +export function isCsharpInstalled() { return isExtensionInstalled("ms-dotnettools.csharp"); } @@ -21,8 +23,10 @@ export function getSupportedCapabilities(): string[] { } if (isCsharpInstalled()) { - capabilities.push("csharp"); + capabilities.push("project"); } + vscode.extensions.all.forEach(ext => capabilities.push(ext.id)); + return capabilities; -} \ No newline at end of file +} diff --git a/extension/src/commands/add.ts b/extension/src/commands/add.ts index 0006c1865d5..489ad3b9cd7 100644 --- a/extension/src/commands/add.ts +++ b/extension/src/commands/add.ts @@ -1,10 +1,11 @@ +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; import { sendToAspireTerminal } from '../utils/terminal'; import { isWorkspaceOpen } from '../utils/workspace'; -export async function addCommand() { +export async function addCommand(rpcServerConnectionInfo: RpcServerConnectionInfo) { if (!isWorkspaceOpen()) { return; } - sendToAspireTerminal("aspire add"); + sendToAspireTerminal("aspire add", rpcServerConnectionInfo); } diff --git a/extension/src/commands/config.ts b/extension/src/commands/config.ts index 0358e2aa6fb..22562791c7c 100644 --- a/extension/src/commands/config.ts +++ b/extension/src/commands/config.ts @@ -1,10 +1,11 @@ +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; import { sendToAspireTerminal } from '../utils/terminal'; import { isWorkspaceOpen } from '../utils/workspace'; -export async function configCommand() { +export async function configCommand(rpcServerConnectionInfo: RpcServerConnectionInfo) { if (!isWorkspaceOpen()) { return; } - sendToAspireTerminal("aspire config"); + sendToAspireTerminal("aspire config", rpcServerConnectionInfo); } diff --git a/extension/src/commands/configureLaunchJson.ts b/extension/src/commands/configureLaunchJson.ts new file mode 100644 index 00000000000..4f4eb45cf2a --- /dev/null +++ b/extension/src/commands/configureLaunchJson.ts @@ -0,0 +1,82 @@ +import * as vscode from 'vscode'; +import * as path from 'path'; +import { isWorkspaceOpen } from '../utils/workspace'; +import { noWorkspaceFolder, aspireConfigExists, failedToConfigureLaunchJson, defaultConfigurationName } from '../loc/strings'; + +export async function configureLaunchJsonCommand() { + if (!isWorkspaceOpen()) { + return; + } + + const workspaceFolder = vscode.workspace.workspaceFolders?.[0]; + if (!workspaceFolder) { + vscode.window.showErrorMessage(noWorkspaceFolder); + return; + } + + const launchJsonPath = path.join(workspaceFolder.uri.fsPath, '.vscode', 'launch.json'); + + try { + const defaultConfig = { + type: 'aspire', + request: 'launch', + name: defaultConfigurationName, + program: '${workspaceFolder}' + }; + + // Check if .vscode directory exists, create if not + const vscodeDir = path.join(workspaceFolder.uri.fsPath, '.vscode'); + const vscodeUri = vscode.Uri.file(vscodeDir); + + try { + await vscode.workspace.fs.stat(vscodeUri); + } catch { + // Directory doesn't exist, create it + await vscode.workspace.fs.createDirectory(vscodeUri); + } + + const launchUri = vscode.Uri.file(launchJsonPath); + let launchConfig: any = { + version: '0.2.0', + configurations: [] + }; + + // Check if launch.json already exists + try { + const existingContent = await vscode.workspace.fs.readFile(launchUri); + const existingText = Buffer.from(existingContent).toString('utf8'); + launchConfig = JSON.parse(existingText); + + // Check if Aspire configuration already exists + const hasAspireConfig = launchConfig.configurations?.some((config: any) => + config.type === 'aspire' && config.name === defaultConfigurationName + ); + + if (hasAspireConfig) { + vscode.window.showInformationMessage(aspireConfigExists); + return; + } + } catch { + // File doesn't exist or is invalid JSON, we'll create/overwrite it + } + + // Ensure configurations array exists + if (!launchConfig.configurations) { + launchConfig.configurations = []; + } + + // Add the Aspire configuration + launchConfig.configurations.push(defaultConfig); + + // Write the updated launch.json + const updatedContent = JSON.stringify(launchConfig, null, 2); + await vscode.workspace.fs.writeFile(launchUri, Buffer.from(updatedContent, 'utf8')); + + const document = await vscode.workspace.openTextDocument(launchUri); + await vscode.window.showTextDocument(document); + + + } catch (error) { + vscode.window.showErrorMessage(failedToConfigureLaunchJson(error)); + } +} diff --git a/extension/src/commands/deploy.ts b/extension/src/commands/deploy.ts index c4123f19937..b0d243c3456 100644 --- a/extension/src/commands/deploy.ts +++ b/extension/src/commands/deploy.ts @@ -1,10 +1,11 @@ +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; import { sendToAspireTerminal } from '../utils/terminal'; import { isWorkspaceOpen } from '../utils/workspace'; -export async function deployCommand() { +export async function deployCommand(rpcServerConnectionInfo: RpcServerConnectionInfo) { if (!isWorkspaceOpen()) { return; } - sendToAspireTerminal("aspire deploy"); + sendToAspireTerminal("aspire deploy", rpcServerConnectionInfo); } diff --git a/extension/src/commands/new.ts b/extension/src/commands/new.ts index 6ae869eb12b..7b56ae8c029 100644 --- a/extension/src/commands/new.ts +++ b/extension/src/commands/new.ts @@ -1,5 +1,6 @@ +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; import { sendToAspireTerminal } from '../utils/terminal'; -export async function newCommand() { - sendToAspireTerminal("aspire new"); +export async function newCommand(rpcServerConnectionInfo: RpcServerConnectionInfo) { + sendToAspireTerminal("aspire new", rpcServerConnectionInfo); }; diff --git a/extension/src/commands/publish.ts b/extension/src/commands/publish.ts index 78964c5ef59..5f4e7f9a6be 100644 --- a/extension/src/commands/publish.ts +++ b/extension/src/commands/publish.ts @@ -1,10 +1,11 @@ +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; import { sendToAspireTerminal } from '../utils/terminal'; import { isWorkspaceOpen } from '../utils/workspace'; -export async function publishCommand() { +export async function publishCommand(rpcServerConnectionInfo: RpcServerConnectionInfo) { if (!isWorkspaceOpen()) { return; } - sendToAspireTerminal("aspire publish"); + sendToAspireTerminal("aspire publish", rpcServerConnectionInfo); } diff --git a/extension/src/commands/run.ts b/extension/src/commands/run.ts deleted file mode 100644 index a1edad6f206..00000000000 --- a/extension/src/commands/run.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { sendToAspireTerminal } from '../utils/terminal'; -import { isWorkspaceOpen } from '../utils/workspace'; - -export async function runCommand() { - if (!isWorkspaceOpen()) { - return; - } - - sendToAspireTerminal("aspire run"); -}; diff --git a/extension/src/dcp/AspireDcpServer.ts b/extension/src/dcp/AspireDcpServer.ts new file mode 100644 index 00000000000..6ec0cbe1d12 --- /dev/null +++ b/extension/src/dcp/AspireDcpServer.ts @@ -0,0 +1,249 @@ +import express, { Request, Response, NextFunction } from 'express'; +import https from 'https'; +import WebSocket, { WebSocketServer } from 'ws'; +import { createSelfSignedCert, generateToken } from '../utils/security'; +import { extensionLogOutputChannel } from '../utils/logging'; +import { AspireResourceDebugSession, DcpServerConnectionInfo, ErrorDetails, ErrorResponse, ProcessRestartedNotification, RunSessionNotification, RunSessionPayload, ServiceLogsNotification, SessionTerminatedNotification } from './types'; +import { AspireDebugSession } from '../debugger/AspireDebugSession'; +import { createDebugSessionConfiguration, ResourceDebuggerExtension } from '../debugger/debuggerExtensions'; + +export default class AspireDcpServer { + private readonly app: express.Express; + private server: https.Server; + private wss: WebSocketServer; + private wsBySession: Map = new Map(); + private pendingNotificationQueueByDcpId: Map = new Map(); + + public readonly connectionInfo: DcpServerConnectionInfo; + + private constructor( + info: DcpServerConnectionInfo, + app: express.Express, + server: https.Server, + wss: WebSocketServer, + wsBySession: Map, + pendingNotificationQueueByDcpId: Map) { + this.connectionInfo = info; + this.app = app; + this.server = server; + this.wss = wss; + this.wsBySession = wsBySession; + this.pendingNotificationQueueByDcpId = pendingNotificationQueueByDcpId; + } + + static async create(debuggerExtensions: ResourceDebuggerExtension[], getDebugSession: () => AspireDebugSession): Promise { + const runsBySession = new Map(); + const wsBySession = new Map(); + const pendingNotificationQueueByDcpId = new Map(); + + return new Promise((resolve, reject) => { + const token = generateToken(); + + const app = express(); + app.use(express.json()); + + function requireHeaders(req: Request, res: Response, next: NextFunction): void { + const auth = req.header('Authorization'); + const dcpId = req.header('microsoft-developer-dcp-instance-id'); + if (!auth || !dcpId) { + res.status(401).json({ error: { code: 'MissingHeaders', message: 'Authorization and Microsoft-Developer-DCP-Instance-ID headers are required.' } }); + return; + } + + if (auth.split('Bearer ').length !== 2) { + res.status(401).json({ error: { code: 'InvalidAuthHeader', message: 'Authorization header must start with "Bearer "' } }); + return; + } + + if (auth.split('Bearer ')[1] !== token) { + res.status(401).json({ error: { code: 'InvalidToken', message: 'Invalid or missing token in Authorization header.' } }); + return; + } + + next(); + } + + app.get("/telemetry/enabled", (req: Request, res: Response) => { + // TODO enable dashboard telemetry + res.json({ is_enabled: false }); + }); + + app.get('/info', (req: Request, res: Response) => { + res.json({ + protocols_supported: ["2024-03-03"] + }); + }); + + app.put('/run_session', requireHeaders, async (req: Request, res: Response) => { + const payload: RunSessionPayload = req.body; + const runId = generateRunId(); + const dcpId = req.header('microsoft-developer-dcp-instance-id') as string; + + const processes: AspireResourceDebugSession[] = []; + + for (const launchConfig of payload.launch_configurations) { + const foundDebuggerExtension = debuggerExtensions.find(ext => ext.resourceType === launchConfig.type) ?? null; + const aspireDebugSession = getDebugSession(); + const config = await createDebugSessionConfiguration(launchConfig, payload.args ?? [], payload.env ?? [], { debug: launchConfig.mode === "Debug", runId, dcpId }, foundDebuggerExtension); + const debugSession = await aspireDebugSession.startAndGetDebugSession(config); + + if (!debugSession) { + const error: ErrorDetails = { + code: 'DebugSessionFailed', + message: `Failed to start debug session for run ID ${runId}`, + details: [] + }; + + extensionLogOutputChannel.error(`Error creating debug session ${runId}: ${error.message}`); + const response: ErrorResponse = { error }; + res.status(400).json(response).end(); + return; + } + + processes.push(debugSession); + } + + extensionLogOutputChannel.info(`Debugging session created with ID: ${runId}`); + + + runsBySession.set(runId, processes); + res.status(201).set('Location', `https://${req.get('host')}/run_session/${runId}`).end(); + extensionLogOutputChannel.info(`New run session created with ID: ${runId}`); + }); + + app.delete('/run_session/:id', requireHeaders, async (req: Request, res: Response) => { + const runId = req.params.id; + if (runsBySession.has(runId)) { + const baseDebugSessions = runsBySession.get(runId); + for (const debugSession of baseDebugSessions || []) { + debugSession.stopSession(); + } + + runsBySession.delete(runId); + res.status(200).end(); + } else { + res.status(204).end(); + } + }); + + + const { key, cert, certBase64 } = createSelfSignedCert(); + const server = https.createServer({ key, cert }, app); + const wss = new WebSocketServer({ noServer: true }); + + server.on('upgrade', (request, socket, head) => { + if (request.url?.startsWith('/run_session/notify')) { + wss.handleUpgrade(request, socket, head, (ws) => { + const dcpId = request.headers['microsoft-developer-dcp-instance-id'] as string; + extensionLogOutputChannel.info(`WebSocket connection established for DCP ID: ${dcpId}`); + wsBySession.set(dcpId, ws); + + const pendingNotifications = pendingNotificationQueueByDcpId.get(dcpId); + if (pendingNotifications) { + for (const notification of pendingNotifications) { + AspireDcpServer.sendNotificationCore(notification, ws); + } + + pendingNotificationQueueByDcpId.delete(dcpId); + } + + ws.onclose = () => { + extensionLogOutputChannel.info(`WebSocket connection closed for DCP ID: ${dcpId}`); + wsBySession.delete(dcpId); + }; + }); + } else { + socket.destroy(); + } + }); + + wss.on('connection', (ws: WebSocket, req) => { + ws.send(JSON.stringify({ notification_type: 'connected' }) + '\n'); + }); + + server.listen(0, () => { + const addr = server.address(); + if (typeof addr === 'object' && addr) { + extensionLogOutputChannel.info(`DCP server listening on port ${addr.port} (HTTPS)`); + const info: DcpServerConnectionInfo = { + address: `localhost:${addr.port}`, + token: token, + certificate: certBase64 + }; + resolve(new AspireDcpServer(info, app, server, wss, wsBySession, pendingNotificationQueueByDcpId)); + } else { + reject(new Error('Failed to get server address')); + } + }); + + server.on('error', reject); + }); + } + + sendNotification(notification: RunSessionNotification) { + // If no WebSocket is available for the session, log a warning + const ws = this.wsBySession.get(notification.dcp_id); + if (!ws || ws.readyState !== WebSocket.OPEN) { + extensionLogOutputChannel.warn(`No WebSocket found for DCP ID: ${notification.dcp_id} or WebSocket is not open (state: ${ws?.readyState})`); + this.pendingNotificationQueueByDcpId.set(notification.dcp_id, [...(this.pendingNotificationQueueByDcpId.get(notification.dcp_id) || []), notification]); + return; + } + + AspireDcpServer.sendNotificationCore(notification, ws); + } + + static sendNotificationCore(notification: RunSessionNotification, ws: WebSocket) { + // Send the notification to the WebSocket + if (notification.notification_type === 'processRestarted') { + const processNotification = notification as ProcessRestartedNotification; + const message = JSON.stringify({ + notification_type: 'processRestarted', + session_id: notification.session_id, + pid: processNotification.pid + }); + + ws.send(message + '\n'); + } + else if (notification.notification_type === 'sessionTerminated') { + const sessionTerminated = notification as SessionTerminatedNotification; + const message = JSON.stringify({ + notification_type: 'sessionTerminated', + session_id: notification.session_id, + exit_code: sessionTerminated.exit_code + }); + + ws.send(message + '\n'); + } + else if (notification.notification_type === 'serviceLogs') { + const serviceLogs = notification as ServiceLogsNotification; + const message = JSON.stringify({ + notification_type: 'serviceLogs', + session_id: notification.session_id, + is_std_err: serviceLogs.is_std_err, + log_message: serviceLogs.log_message + }); + + ws.send(message + '\n'); + } + } + + public dispose(): void { + // Send WebSocket close message to all clients before shutting down + if (this.wss) { + this.wss.clients.forEach(client => { + if (client.readyState === WebSocket.OPEN) { + client.close(1000, 'DCP server shutting down'); + } + }); + this.wss.close(); + } + + if (this.server) { + this.server.close(); + } + } +} + +export function generateRunId(): string { + return `run-${Date.now()}-${Math.random().toString(36).substring(2, 15)}`; +} diff --git a/extension/src/dcp/types.ts b/extension/src/dcp/types.ts new file mode 100644 index 00000000000..7dc82a65061 --- /dev/null +++ b/extension/src/dcp/types.ts @@ -0,0 +1,79 @@ +import * as vscode from 'vscode'; + +export interface ErrorResponse { + error: ErrorDetails; +}; + +export interface ErrorDetails { + code: string; + message: string; + details: ErrorDetails[]; +}; + +type LaunchConfigurationType = "project" | "node" | "python"; +type LaunchConfigurationMode = "Debug" | "NoDebug"; + +export interface LaunchConfiguration { + type: LaunchConfigurationType; + project_path: string; + mode?: LaunchConfigurationMode | undefined; + launch_profile?: string; + disable_launch_profile?: boolean; +} + +export interface EnvVar { + name: string; + value: string; +} + +export interface RunSessionPayload { + launch_configurations: LaunchConfiguration[]; + env?: EnvVar[]; + args?: string[]; +} + +export interface DcpServerConnectionInfo { + address: string; + token: string; + certificate: string; +} + +export interface RunSessionNotification { + notification_type: 'processRestarted' | 'sessionTerminated' | 'serviceLogs'; + session_id: string; + dcp_id: string; +} + +export interface ProcessRestartedNotification extends RunSessionNotification { + notification_type: 'processRestarted'; + pid?: number; +} + +export interface SessionTerminatedNotification extends RunSessionNotification { + notification_type: 'sessionTerminated'; + exit_code: number; +} + +export interface ServiceLogsNotification extends RunSessionNotification { + notification_type: 'serviceLogs'; + is_std_err: boolean; + log_message: string; +} + +export interface LaunchOptions { + debug: boolean; + forceBuild?: boolean; + runId: string; + dcpId: string | null; +}; + +export interface AspireResourceDebugSession { + id: string; + session: vscode.DebugSession; + stopSession(): void; +} + +export interface AspireExtendedDebugConfiguration extends vscode.DebugConfiguration { + runId: string; + dcpId: string | null; +} diff --git a/extension/src/debugger/AspireDebugAdapterDescriptorFactory.ts b/extension/src/debugger/AspireDebugAdapterDescriptorFactory.ts new file mode 100644 index 00000000000..7f1396779cd --- /dev/null +++ b/extension/src/debugger/AspireDebugAdapterDescriptorFactory.ts @@ -0,0 +1,22 @@ +import * as vscode from 'vscode'; +import { AspireDebugSession } from './AspireDebugSession'; +import AspireDcpServer from '../dcp/AspireDcpServer'; +import AspireRpcServer from '../server/AspireRpcServer'; + +export class AspireDebugAdapterDescriptorFactory implements vscode.DebugAdapterDescriptorFactory { + private readonly _rpcServer: AspireRpcServer; + private readonly _dcpServer: AspireDcpServer; + private readonly _setAspireDebugSession: (session: AspireDebugSession) => void; + + constructor(rpcServer: AspireRpcServer, dcpServer: AspireDcpServer, setAspireDebugSession: (session: AspireDebugSession) => void) { + this._rpcServer = rpcServer; + this._dcpServer = dcpServer; + this._setAspireDebugSession = setAspireDebugSession; + } + + async createDebugAdapterDescriptor(session: vscode.DebugSession, executable: vscode.DebugAdapterExecutable | undefined): Promise { + const aspireDebugSession = new AspireDebugSession(session, this._rpcServer, this._dcpServer); + this._setAspireDebugSession(aspireDebugSession); + return new vscode.DebugAdapterInlineImplementation(aspireDebugSession); + } +} diff --git a/extension/src/debugger/AspireDebugConfigurationProvider.ts b/extension/src/debugger/AspireDebugConfigurationProvider.ts new file mode 100644 index 00000000000..9ed71ad36e6 --- /dev/null +++ b/extension/src/debugger/AspireDebugConfigurationProvider.ts @@ -0,0 +1,80 @@ +import * as vscode from 'vscode'; +import path from 'path'; +import { extensionLogOutputChannel } from '../utils/logging'; +import { errorRetrievingAppHosts } from '../loc/strings'; +import { spawnCliProcess } from './languages/cli'; +import AspireRpcServer, { RpcServerConnectionInfo } from '../server/AspireRpcServer'; + +export class AspireDebugConfigurationProvider implements vscode.DebugConfigurationProvider { + private _rpcServerConnectionInfo: RpcServerConnectionInfo; + + constructor(rpcServer: AspireRpcServer) { + this._rpcServerConnectionInfo = rpcServer.connectionInfo; + } + + async provideDebugConfigurations(folder: vscode.WorkspaceFolder | undefined, token?: vscode.CancellationToken): Promise { + if (folder === undefined) { + return []; + } + + const configurations: vscode.DebugConfiguration[] = []; + configurations.push({ + type: 'aspire', + request: 'launch', + name: `Aspire: Launch Default AppHost`, + program: '${workspaceFolder}' + }); + + try { + for (const candidate of await this.computeAppHostCandidates(folder)) { + configurations.push({ + type: 'aspire', + request: 'launch', + name: `Aspire: ${path.basename(candidate)}`, + program: candidate, + }); + } + } catch (error) { + extensionLogOutputChannel.error(`Error retrieving app hosts: ${error}`); + vscode.window.showWarningMessage(errorRetrievingAppHosts); + } + + return configurations; + } + + async resolveDebugConfiguration(folder: vscode.WorkspaceFolder | undefined, config: vscode.DebugConfiguration, token?: vscode.CancellationToken): Promise { + if (config.program === '') { + config.program = folder?.uri.fsPath || ''; + } + + return config; + } + + private async computeAppHostCandidates(folder: vscode.WorkspaceFolder): Promise { + try { + return new Promise((resolve, reject) => { + const workspaceFolder = folder.uri.fsPath; + + const stdout: string[] = []; + const stderr: string[] = []; + + spawnCliProcess(this._rpcServerConnectionInfo, 'aspire', ['extension', 'get-apphosts', '--directory', workspaceFolder], { + excludeExtensionEnvironment: true, + stdoutCallback: (data) => stdout.push(data), + stderrCallback: (data) => stderr.push(data), + exitCallback(code) { + if (code !== 0) { + reject(new Error(`Failed to retrieve app hosts: ${stderr.join('\n')}`)); + return; + } + + const candidates = JSON.parse(stdout[stdout.length - 1]) as string[]; + resolve(candidates); + }, + }); + }); + } catch (error) { + throw error; + } + } +} diff --git a/extension/src/debugger/AspireDebugSession.ts b/extension/src/debugger/AspireDebugSession.ts new file mode 100644 index 00000000000..2cff39ef1aa --- /dev/null +++ b/extension/src/debugger/AspireDebugSession.ts @@ -0,0 +1,261 @@ +import * as vscode from "vscode"; +import { EventEmitter } from "vscode"; +import * as fs from "fs"; +import { createDebugAdapterTracker } from "./adapterTracker"; +import { AspireExtendedDebugConfiguration, AspireResourceDebugSession, EnvVar } from "../dcp/types"; +import { extensionLogOutputChannel } from "../utils/logging"; +import AspireDcpServer from "../dcp/AspireDcpServer"; +import { spawnCliProcess } from "./languages/cli"; +import { disconnectingFromSession, launchingWithAppHost, launchingWithDirectory, processExitedWithCode } from "../loc/strings"; +import { projectDebuggerExtension } from "./languages/dotnet"; +import AspireRpcServer from "../server/AspireRpcServer"; +import { createDebugSessionConfiguration } from "./debuggerExtensions"; + +export class AspireDebugSession implements vscode.DebugAdapter { + private readonly _onDidSendMessage = new EventEmitter(); + private _messageSeq = 1; + + private readonly _session: vscode.DebugSession; + private _appHostDebugSession: AspireResourceDebugSession | undefined = undefined; + private _resourceDebugSessions: AspireResourceDebugSession[] = []; + private _trackedDebugAdapters: string[] = []; + + private readonly _rpcServer: AspireRpcServer; + private readonly _dcpServer: AspireDcpServer; + + private readonly _disposables: vscode.Disposable[] = []; + + public readonly onDidSendMessage = this._onDidSendMessage.event; + + constructor(session: vscode.DebugSession, rpcServer: AspireRpcServer, dcpServer: AspireDcpServer) { + this._session = session; + this._rpcServer = rpcServer; + this._dcpServer = dcpServer; + } + + handleMessage(message: any): void { + if (message.command === 'initialize') { + this.sendEvent({ + type: 'event', + seq: this._messageSeq++, + event: 'initialized', + body: {} + }); + + this.sendResponse(message, { + supportsConfigurationDoneRequest: true + }); + } + else if (message.command === 'launch') { + const appHostPath = this._session.configuration.program as string; + + if (isDirectory(appHostPath)) { + this.sendMessageWithEmoji("📁", launchingWithDirectory(appHostPath)); + this.spawnRunCommand(message.arguments?.noDebug ? ['run'] : ['run', '--start-debug-session'], appHostPath); + } + else { + this.sendMessageWithEmoji("📂", launchingWithAppHost(appHostPath)); + + const workspaceFolder = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath; + this.spawnRunCommand(message.arguments?.noDebug ? ['run'] : ['run', '--start-debug-session'], workspaceFolder); + } + + this.sendEvent({ + type: 'response', + request_seq: message.seq, + seq: this._messageSeq++, + success: true, + command: 'launch', + body: {} + }); + } + else if (message.command === 'disconnect' || message.command === 'terminate') { + this.sendMessageWithEmoji("🔌", disconnectingFromSession); + this.dispose(); + + this.sendEvent({ + type: 'response', + request_seq: message.seq, + seq: this._messageSeq++, + success: true, + command: message.command, + body: {} + }); + } + else if (message.command) { + // Respond to all other requests with a generic success + this.sendEvent({ + type: 'response', + request_seq: message.seq, + seq: this._messageSeq++, + success: true, + command: message.command, + body: {} + }); + } + + function isDirectory(pathToCheck: string): boolean { + return fs.existsSync(pathToCheck) && fs.statSync(pathToCheck).isDirectory(); + } + } + + spawnRunCommand(args: string[], workingDirectory: string | undefined) { + spawnCliProcess( + this._rpcServer.connectionInfo, + 'aspire', + args, + { + stdoutCallback: (data) => { + for (const line of trimMessage(data)) { + this.sendMessage(line); + } + }, + stderrCallback: (data) => { + for (const line of trimMessage(data)) { + this.sendMessageWithEmoji("❌", line, false); + } + }, + exitCallback: (code) => { + this.sendMessageWithEmoji("🔚", processExitedWithCode(code ?? '?')); + // if the process failed, we want to stop the debug session + this.dispose(); + }, + dcpServerConnectionInfo: this._dcpServer.connectionInfo, + workingDirectory: workingDirectory + } + ); + + this._disposables.push({ + dispose: () => { + this._rpcServer.requestStopCli(); + extensionLogOutputChannel.info(`Requested Aspire CLI exit with args: ${args.join(' ')}`); + } + }); + + function trimMessage(message: string): string[] { + return message + .replace('\r\n', '\n') + .split('\n') + .map(line => line.trim()) + .filter(line => line.length > 0); + } + } + + createDebugAdapterTrackerCore(debugAdapter: string) { + if (this._trackedDebugAdapters.includes(debugAdapter)) { + return; + } + + this._trackedDebugAdapters.push(debugAdapter); + this._disposables.push(createDebugAdapterTracker(this._dcpServer, debugAdapter)); + } + + async startAppHost(projectFile: string, args: string[], environment: EnvVar[], debug: boolean): Promise { + this.createDebugAdapterTrackerCore(projectDebuggerExtension.debugAdapter); + + extensionLogOutputChannel.info(`Starting AppHost for project: ${projectFile} with args: ${args.join(' ')}`); + const appHostDebugSessionConfiguration = await createDebugSessionConfiguration({ project_path: projectFile, type: 'project' }, args, environment, { debug, forceBuild: debug, runId: '', dcpId: null }, projectDebuggerExtension); + const appHostDebugSession = await this.startAndGetDebugSession(appHostDebugSessionConfiguration); + + if (!appHostDebugSession) { + return; + } + + this._appHostDebugSession = appHostDebugSession; + + const disposable = vscode.debug.onDidTerminateDebugSession(async session => { + if (this._appHostDebugSession && session.id === this._appHostDebugSession.id) { + // We should also dispose of the parent Aspire debug session whenever the AppHost stops. + this.dispose(); + disposable.dispose(); + } + }); + + this._disposables.push(disposable); + } + + async startAndGetDebugSession(debugConfig: AspireExtendedDebugConfiguration): Promise { + return new Promise(async (resolve) => { + this.createDebugAdapterTrackerCore(debugConfig.type); + + const disposable = vscode.debug.onDidStartDebugSession(session => { + if (session.configuration.runId === debugConfig.runId) { + extensionLogOutputChannel.info(`Debug session started: ${session.name} (run id: ${session.configuration.runId})`); + disposable.dispose(); + + const disposalFunction = () => { + extensionLogOutputChannel.info(`Stopping debug session: ${session.name} (run id: ${session.configuration.runId})`); + vscode.debug.stopDebugging(session); + }; + + const vsCodeDebugSession: AspireResourceDebugSession = { + id: session.id, + session: session, + stopSession: disposalFunction + }; + + this._resourceDebugSessions.push(vsCodeDebugSession); + this._disposables.push({ + dispose: disposalFunction + }); + + resolve(vsCodeDebugSession); + } + }); + + extensionLogOutputChannel.info(`Starting debug session with configuration: ${JSON.stringify(debugConfig)}`); + const started = await vscode.debug.startDebugging(undefined, debugConfig, this._session); + if (!started) { + disposable.dispose(); + resolve(undefined); + } + + setTimeout(() => { + disposable.dispose(); + resolve(undefined); + }, 10000); + }); + } + + dispose(): void { + extensionLogOutputChannel.info('Stopping the Aspire debug session'); + vscode.debug.stopDebugging(this._session); + this._disposables.forEach(disposable => disposable.dispose()); + this._trackedDebugAdapters = []; + } + + private sendResponse(request: any, body: any = {}) { + this._onDidSendMessage.fire({ + type: 'response', + seq: this._messageSeq++, + request_seq: request.seq, + success: true, + command: request.command, + body + }); + } + + private sendEvent(event: any) { + this._onDidSendMessage.fire(event); + } + + sendMessageWithEmoji(emoji: string, message: string, addNewLine: boolean = true) { + this.sendMessage(`${emoji} ${message}`, addNewLine); + } + + sendMessage(message: string, addNewLine: boolean = true) { + this.sendEvent({ + type: 'event', + seq: this._messageSeq++, + event: 'output', + body: { + category: 'stdout', + output: `${message}${addNewLine ? '\n' : ''}` + } + }); + } + + notifyAppHostStartupCompleted() { + extensionLogOutputChannel.info(`AppHost startup completed and dashboard is running.`); + } +} diff --git a/extension/src/debugger/adapterTracker.ts b/extension/src/debugger/adapterTracker.ts new file mode 100644 index 00000000000..7c7fadd8c94 --- /dev/null +++ b/extension/src/debugger/adapterTracker.ts @@ -0,0 +1,81 @@ +import * as vscode from 'vscode'; +import { ServiceLogsNotification, ProcessRestartedNotification, SessionTerminatedNotification, AspireExtendedDebugConfiguration } from "../dcp/types"; +import { extensionLogOutputChannel } from "../utils/logging"; +import AspireDcpServer from '../dcp/AspireDcpServer'; +import { removeTrailingNewline } from '../utils/strings'; +import { dcpServerNotInitialized } from '../loc/strings'; + +export function createDebugAdapterTracker(dcpServer: AspireDcpServer, debugAdapter: string): vscode.Disposable { + return vscode.debug.registerDebugAdapterTrackerFactory(debugAdapter, { + createDebugAdapterTracker(session: vscode.DebugSession) { + return { + onDidSendMessage: message => { + if (message.type === 'event' && message.event === 'output') { + if (!isDebugConfigurationWithId(session.configuration) || session.configuration.dcpId === null) { + extensionLogOutputChannel.warn(`Debug session ${session.id} does not have an attached run id.`); + return; + } + + const { category, output } = message.body; + if (category === 'stdout' || category === 'stderr') { + const notification: ServiceLogsNotification = { + notification_type: 'serviceLogs', + session_id: session.configuration.runId, + dcp_id: session.configuration.dcpId, + is_std_err: category === 'stderr', + log_message: removeTrailingNewline(output) + }; + + dcpServer.sendNotification(notification); + } + } + + // Listen for process event with isRestart (if supported by adapter) + if (message.type === 'event' && message.event === 'process') { + if (typeof message.body?.systemProcessId !== 'number') { + extensionLogOutputChannel.warn(`Debug session ${session.id} does not have a valid system process ID.`); + return; + } + + if (!isDebugConfigurationWithId(session.configuration) || session.configuration.dcpId === null) { + extensionLogOutputChannel.warn(`Debug session ${session.id} does not have an attached run id.`); + return; + } + + if (!dcpServer) { + extensionLogOutputChannel.warn(dcpServerNotInitialized); + return; + } + const processNotification: ProcessRestartedNotification = { + notification_type: 'processRestarted', + session_id: session.configuration.runId, + dcp_id: session.configuration.dcpId, + pid: message.body.systemProcessId + }; + + dcpServer.sendNotification(processNotification); + } + }, + onExit(code: number | undefined) { + if (!isDebugConfigurationWithId(session.configuration) || session.configuration.dcpId === null) { + extensionLogOutputChannel.warn(`Debug session ${session.id} does not have an attached run id.`); + return; + } + + const notification: SessionTerminatedNotification = { + notification_type: 'sessionTerminated', + session_id: session.configuration.runId, + dcp_id: session.configuration.dcpId, + exit_code: code ?? 0 + }; + + dcpServer.sendNotification(notification); + } + }; + } + }); +} + +function isDebugConfigurationWithId(session: vscode.DebugConfiguration): session is AspireExtendedDebugConfiguration { + return (session as AspireExtendedDebugConfiguration).runId !== undefined; +} diff --git a/extension/src/debugger/appHost.ts b/extension/src/debugger/appHost.ts deleted file mode 100644 index 74b12d5f457..00000000000 --- a/extension/src/debugger/appHost.ts +++ /dev/null @@ -1,38 +0,0 @@ -import * as vscode from 'vscode'; -import { EnvVar } from './common'; -import { extensionLogOutputChannel } from '../utils/logging'; -import { ICliRpcClient } from '../server/rpcClient'; -import { startDotNetProgram } from './dotnet'; - -export let appHostDebugSession: vscode.DebugSession | undefined = undefined; - -export function clearAppHostDebugSession() { - if (appHostDebugSession) { - extensionLogOutputChannel.info(`Stopping and clearing AppHost debug session: ${appHostDebugSession.name}`); - vscode.debug.stopDebugging(appHostDebugSession); - appHostDebugSession = undefined; - } -} - -export async function startAppHost(projectFile: string, workingDirectory: string, args: string[], environment: EnvVar[], debug: boolean, rpcClient: ICliRpcClient): Promise { - extensionLogOutputChannel.info(`Starting AppHost for project: ${projectFile} in directory: ${workingDirectory} with args: ${args.join(' ')}`); - const session = await startDotNetProgram(projectFile, workingDirectory, args, environment, { debug, forceBuild: debug }); - if (isDebugSession(session)) { - appHostDebugSession = session; - - const disposable = vscode.debug.onDidTerminateDebugSession(async session => { - if (isDebugSession(session) && appHostDebugSession && session.id === appHostDebugSession.id) { - // If the AppHost session was terminated, we should reset the session variable and - // also stop the CLI to replicate the 'aspire run' CLI behavior. - extensionLogOutputChannel.info(`AppHost debug session terminated: ${session.name}`); - clearAppHostDebugSession(); - await rpcClient.stopCli(); - disposable.dispose(); - } - }); - } -} - -function isDebugSession(obj: unknown): obj is vscode.DebugSession { - return typeof obj === 'object' && obj !== null && 'configuration' in obj; -} \ No newline at end of file diff --git a/extension/src/debugger/common.ts b/extension/src/debugger/common.ts deleted file mode 100644 index 4693cff4c33..00000000000 --- a/extension/src/debugger/common.ts +++ /dev/null @@ -1,78 +0,0 @@ -import * as vscode from 'vscode'; -import { extensionLogOutputChannel } from '../utils/logging'; -import { appHostDebugSession, clearAppHostDebugSession } from './appHost'; -import { mergeEnvs } from '../utils/environment'; - -export type EnvVar = { - name: string; - value: string; -}; - -export type LaunchOptions = { - debug: boolean; - forceBuild?: boolean; -}; - -export type TerminalProgramRun = { - terminal: vscode.Terminal; - runId: string; -}; - -const debugSessions: vscode.DebugSession[] = []; - -export function startCliProgram(terminalName: string, command: string, args?: string[], env?: EnvVar[], workingDirectory?: string): TerminalProgramRun { - const envVars = mergeEnvs(process.env, env); - const terminal = vscode.window.createTerminal({ - name: terminalName, - cwd: workingDirectory ?? process.cwd(), - env: envVars - }); - - terminal.sendText(`${command} ${(args ?? []).map(a => JSON.stringify(a)).join(' ')}`); - terminal.show(); - - const runId = `${terminalName}-${Date.now()}`; - extensionLogOutputChannel.info(`Spawned terminal for run session ${runId}`); - - return { - terminal, - runId - }; -} - -export async function startAndGetDebugSession(debugConfig: vscode.DebugConfiguration): Promise { - return new Promise(async (resolve) => { - const disposable = vscode.debug.onDidStartDebugSession(session => { - if (session.name === debugConfig.name) { - extensionLogOutputChannel.info(`Debug session started: ${session.name}`); - disposable.dispose(); - debugSessions.push(session); - resolve(session); - } - }); - - extensionLogOutputChannel.info(`Starting debug session with configuration: ${JSON.stringify(debugConfig)}`); - const started = await vscode.debug.startDebugging(undefined, debugConfig, appHostDebugSession); - if (!started) { - disposable.dispose(); - resolve(undefined); - } - - setTimeout(() => { - disposable.dispose(); - resolve(undefined); - }, 10000); - }); -} - -export function stopAllDebuggingSessions() { - extensionLogOutputChannel.info('Stopping all debug sessions'); - while (debugSessions.length > 0) { - const session = debugSessions.pop(); - vscode.debug.stopDebugging(session); - } - - if (appHostDebugSession) { - clearAppHostDebugSession(); - } -} \ No newline at end of file diff --git a/extension/src/debugger/debuggerExtensions.ts b/extension/src/debugger/debuggerExtensions.ts new file mode 100644 index 00000000000..91fe25c438d --- /dev/null +++ b/extension/src/debugger/debuggerExtensions.ts @@ -0,0 +1,55 @@ +import path from "path"; +import { LaunchConfiguration, EnvVar, LaunchOptions, AspireExtendedDebugConfiguration } from "../dcp/types"; +import { debugProject } from "../loc/strings"; +import { mergeEnvs } from "../utils/environment"; +import { extensionLogOutputChannel } from "../utils/logging"; +import { projectDebuggerExtension } from "./languages/dotnet"; +import { isCsharpInstalled } from "../capabilities"; + +// Represents a resource-specific debugger extension for when the default session configuration is not sufficient to launch the resource. +export interface ResourceDebuggerExtension { + resourceType: string; + debugAdapter: string; + extensionId: string | null; + displayName: string; + + createDebugSessionConfigurationCallback?: (launchConfig: LaunchConfiguration, args: string[], env: EnvVar[], launchOptions: LaunchOptions, debugConfiguration: AspireExtendedDebugConfiguration) => Promise; +} + +export async function createDebugSessionConfiguration(launchConfig: LaunchConfiguration, args: string[], env: EnvVar[], launchOptions: LaunchOptions, debuggerExtension: ResourceDebuggerExtension | null): Promise { + if (debuggerExtension === null) { + extensionLogOutputChannel.warn(`Unknown type: ${launchConfig.type}.`); + } + + const configuration: AspireExtendedDebugConfiguration = { + type: debuggerExtension?.debugAdapter || launchConfig.type, + request: 'launch', + name: debugProject(`${debuggerExtension?.displayName ?? launchConfig.type}: ${path.basename(launchConfig.project_path)}`), + program: launchConfig.project_path, + args: args, + cwd: path.dirname(launchConfig.project_path), + env: mergeEnvs(process.env, env), + justMyCode: false, + stopAtEntry: false, + noDebug: !launchOptions.debug, + runId: launchOptions.runId, + dcpId: launchOptions.dcpId, + console: 'internalConsole' + }; + + if (debuggerExtension?.createDebugSessionConfigurationCallback) { + await debuggerExtension.createDebugSessionConfigurationCallback(launchConfig, args, env, launchOptions, configuration); + } + + return configuration; +} + +export function getResourceDebuggerExtensions(): ResourceDebuggerExtension[] { + const extensions = []; + if (isCsharpInstalled()) { + extensions.push(projectDebuggerExtension); + } + + return extensions; +} + diff --git a/extension/src/debugger/dotnet.ts b/extension/src/debugger/dotnet.ts deleted file mode 100644 index aa80c3593d2..00000000000 --- a/extension/src/debugger/dotnet.ts +++ /dev/null @@ -1,131 +0,0 @@ -import * as vscode from 'vscode'; -import { LaunchOptions, EnvVar, startAndGetDebugSession, TerminalProgramRun, startCliProgram } from './common'; -import { extensionLogOutputChannel } from '../utils/logging'; -import { debugProject, csharpDevKitNotInstalled, noCsharpBuildTask, noWatchTask, buildFailedWithExitCode, buildSucceeded, noOutputFromMsbuild, failedToGetTargetPath, watchProject } from '../loc/strings'; -import { execFile } from 'child_process'; -import * as util from 'util'; -import { mergeEnvs } from '../utils/environment'; -import * as path from 'path'; -import { getAspireTerminal } from '../utils/terminal'; -import { doesFileExist } from '../utils/io'; -import { getSupportedCapabilities } from '../capabilities'; - -export async function startDotNetProgram(projectFile: string, workingDirectory: string, args: string[], env: EnvVar[], launchOptions: LaunchOptions): Promise { - try { - const outputPath = await getDotnetTargetPath(projectFile); - - if (!(await doesFileExist(outputPath)) || launchOptions.forceBuild) { - await buildDotNetProject(projectFile); - } - - if (!launchOptions.debug) { - // For now, launch all .NET programs using dotnet watch - // Consider a switch to use `dotnet run` in the future - return startCliProgram( - watchProject(path.basename(projectFile), 'dotnet'), - 'dotnet', - args, - env, - workingDirectory - ); - } - - if (!getSupportedCapabilities().includes('csharp')) { - throw new Error('C# support is not enabled in this workspace. The C# extension is required.'); - } - - const config: vscode.DebugConfiguration = { - type: 'coreclr', - request: 'launch', - name: debugProject(path.basename(projectFile)), - program: outputPath, - args: args, - cwd: workingDirectory, - env: mergeEnvs(process.env, env), - justMyCode: false, - stopAtEntry: false, - }; - - // The build task brings the build terminal to the foreground. If build has succeeded, - // we should then bring the Aspire terminal to the terminal foreground as it's actively running. - getAspireTerminal().show(true); - - return await startAndGetDebugSession(config); - } - catch (error) { - if (error instanceof Error) { - extensionLogOutputChannel.error(`Failed to start project: ${error.message}`); - vscode.window.showErrorMessage(`Failed to start project: ${error.message}`); - return undefined; - } - } -} - -async function buildDotNetProject(projectFile: string): Promise { - const csharpDevKit = vscode.extensions.getExtension('ms-dotnettools.csdevkit'); - if (!csharpDevKit) { - return Promise.reject(new Error(csharpDevKitNotInstalled)); - } - - if (!csharpDevKit.isActive) { - extensionLogOutputChannel.info('Activating C# Dev Kit extension...'); - await csharpDevKit.activate(); - } - - // C# Dev Kit may not register the build task immediately, so we need to retry until it is available - const pRetry = (await import('p-retry')).default; - await pRetry(async () => { - const tasks = await vscode.tasks.fetchTasks(); - const buildTask = tasks.find(t => t.name?.includes('build')); - if (!buildTask) { - throw new Error(noCsharpBuildTask); - } - }); - - const tasks = await vscode.tasks.fetchTasks(); - const buildTask = tasks.find(t => t.name?.includes('build')); - if (!buildTask) { - return Promise.reject(new Error(noWatchTask)); - } - - extensionLogOutputChannel.info(`Executing build task: ${buildTask.name} for project: ${projectFile}`); - await vscode.tasks.executeTask(buildTask); - - return new Promise((resolve, reject) => { - vscode.tasks.onDidEndTaskProcess(async e => { - if (e.execution.task === buildTask) { - if (e.exitCode !== 0) { - reject(new Error(buildFailedWithExitCode(e.exitCode ?? 0))); - } - else { - vscode.window.showInformationMessage(buildSucceeded(projectFile)); - return resolve(); - } - } - }); - }); -} - -const execFileAsync = util.promisify(execFile); - -async function getDotnetTargetPath(projectFile: string): Promise { - const args = [ - 'msbuild', - projectFile, - '-nologo', - '-getProperty:TargetPath', - '-v:q', - '-property:GenerateFullPaths=true' - ]; - try { - const { stdout } = await execFileAsync('dotnet', args, { encoding: 'utf8' }); - const output = stdout.trim(); - if (!output) { - throw new Error(noOutputFromMsbuild); - } - - return output; - } catch (err) { - throw new Error(failedToGetTargetPath(String(err))); - } -} \ No newline at end of file diff --git a/extension/src/debugger/languages/cli.ts b/extension/src/debugger/languages/cli.ts new file mode 100644 index 00000000000..2d1355b6152 --- /dev/null +++ b/extension/src/debugger/languages/cli.ts @@ -0,0 +1,44 @@ +import { ChildProcessWithoutNullStreams, spawn } from "child_process"; +import { DcpServerConnectionInfo, EnvVar } from "../../dcp/types"; +import { mergeEnvs } from "../../utils/environment"; +import { createEnvironment } from "../../utils/terminal"; +import { extensionLogOutputChannel } from "../../utils/logging"; +import { RpcServerConnectionInfo } from "../../server/AspireRpcServer"; + +export interface SpawnProcessOptions { + stdoutCallback?: (data: string) => void; + stderrCallback?: (data: string) => void; + exitCallback?: (code: number | null) => void; + env?: EnvVar[]; + workingDirectory?: string; + dcpServerConnectionInfo?: DcpServerConnectionInfo; + excludeExtensionEnvironment?: boolean; +} + +export function spawnCliProcess(rpcServerConnectionInfo: RpcServerConnectionInfo, command: string, args?: string[], options?: SpawnProcessOptions): ChildProcessWithoutNullStreams { + const envVars = mergeEnvs(process.env, options?.env); + const additionalEnv = options?.excludeExtensionEnvironment ? { } : createEnvironment(rpcServerConnectionInfo, options?.dcpServerConnectionInfo); + const workingDirectory = options?.workingDirectory ?? process.cwd(); + + extensionLogOutputChannel.info(`Spawning CLI process: ${command} ${args?.join(" ")} (working directory: ${workingDirectory})`); + + const child = spawn(command, args ?? [], { + cwd: workingDirectory, + env: { ...envVars, ...additionalEnv }, + shell: false + }); + + child.stdout.on("data", (data) => { + options?.stdoutCallback?.(new String(data).toString()); + }); + + child.stderr.on("data", (data) => { + options?.stderrCallback?.(new String(data).toString()); + }); + + child.on("close", (code) => { + options?.exitCallback?.(code); + }); + + return child; +} diff --git a/extension/src/debugger/languages/dotnet.ts b/extension/src/debugger/languages/dotnet.ts new file mode 100644 index 00000000000..31abbf2b55f --- /dev/null +++ b/extension/src/debugger/languages/dotnet.ts @@ -0,0 +1,95 @@ +import * as vscode from 'vscode'; +import { extensionLogOutputChannel } from '../../utils/logging'; +import { noCsharpBuildTask, buildFailedWithExitCode, noOutputFromMsbuild, failedToGetTargetPath } from '../../loc/strings'; +import { execFile } from 'child_process'; +import * as util from 'util'; +import * as path from 'path'; +import { doesFileExist } from '../../utils/io'; +import { AspireExtendedDebugConfiguration } from '../../dcp/types'; +import { ResourceDebuggerExtension } from '../debuggerExtensions'; + +const execFileAsync = util.promisify(execFile); + +export const projectDebuggerExtension: ResourceDebuggerExtension = { + resourceType: 'project', + debugAdapter: 'coreclr', + extensionId: 'ms-dotnettools.csharp', + displayName: 'C#', + createDebugSessionConfigurationCallback: async (launchConfig, args, env, launchOptions, debugConfiguration: AspireExtendedDebugConfiguration): Promise => { + const projectPath = launchConfig.project_path; + const workingDirectory = path.dirname(launchConfig.project_path); + + const outputPath = await getDotNetTargetPath(projectPath); + + if (!(await doesFileExist(outputPath)) || launchOptions.forceBuild) { + await buildDotNetProject(projectPath); + } + + debugConfiguration.program = outputPath; + debugConfiguration.cwd = workingDirectory; + } +}; + +async function buildDotNetProject(projectFile: string): Promise { + const csharpDevKit = vscode.extensions.getExtension('ms-dotnettools.csdevkit'); + if (!csharpDevKit) { + // If c# dev kit is not installed, we will have already built this project on the command line using the Aspire CLI + // thus we should just immediately return + return Promise.resolve(); + } + + if (!csharpDevKit.isActive) { + extensionLogOutputChannel.info('Activating C# Dev Kit extension...'); + await csharpDevKit.activate(); + } + + // C# Dev Kit may not register the build task immediately, so we need to retry until it is available + const pRetry = (await import('p-retry')).default; + const buildTask = await pRetry(async () => { + const tasks = await vscode.tasks.fetchTasks(); + const buildTask = tasks.find(t => t.source === "dotnet" && t.name?.includes('build')); + if (!buildTask) { + throw new Error(noCsharpBuildTask); + } + + return buildTask; + }); + + extensionLogOutputChannel.info(`Executing build task: ${buildTask.name} for project: ${projectFile}`); + await vscode.tasks.executeTask(buildTask); + + return new Promise((resolve, reject) => { + vscode.tasks.onDidEndTaskProcess(async e => { + if (e.execution.task === buildTask) { + if (e.exitCode !== 0) { + reject(new Error(buildFailedWithExitCode(e.exitCode ?? 0))); + } + else { + return resolve(); + } + } + }); + }); +} + +async function getDotNetTargetPath(projectFile: string): Promise { + const args = [ + 'msbuild', + projectFile, + '-nologo', + '-getProperty:TargetPath', + '-v:q', + '-property:GenerateFullPaths=true' + ]; + try { + const { stdout } = await execFileAsync('dotnet', args, { encoding: 'utf8' }); + const output = stdout.trim(); + if (!output) { + throw new Error(noOutputFromMsbuild); + } + + return output; + } catch (err) { + throw new Error(failedToGetTargetPath(String(err))); + } +} diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 69b72c563ea..9e0500ae5ca 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -1,8 +1,6 @@ import * as vscode from 'vscode'; -import { runCommand } from './commands/run'; import { addCommand } from './commands/add'; -import { RpcServerInformation, createRpcServer } from './server/rpcServer'; import { RpcClient } from './server/rpcClient'; import { InteractionService } from './server/interactionService'; import { newCommand } from './commands/new'; @@ -12,44 +10,70 @@ import { publishCommand } from './commands/publish'; import { errorMessage } from './loc/strings'; import { extensionLogOutputChannel } from './utils/logging'; import { initializeTelemetry, sendTelemetryEvent } from './utils/telemetry'; +import { AspireDebugAdapterDescriptorFactory } from './debugger/AspireDebugAdapterDescriptorFactory'; +import { AspireDebugConfigurationProvider } from './debugger/AspireDebugConfigurationProvider'; +import { AspireExtensionContext } from './AspireExtensionContext'; +import AspireRpcServer, { RpcServerConnectionInfo } from './server/AspireRpcServer'; +import AspireDcpServer from './dcp/AspireDcpServer'; +import { configureLaunchJsonCommand } from './commands/configureLaunchJson'; +import { getResourceDebuggerExtensions } from './debugger/debuggerExtensions'; -export let rpcServerInfo: RpcServerInformation | undefined; -export let extensionContext: vscode.ExtensionContext | undefined; +let aspireExtensionContext = new AspireExtensionContext(); export async function activate(context: vscode.ExtensionContext) { - initializeTelemetry(context); extensionLogOutputChannel.info("Activating Aspire extension"); + initializeTelemetry(context); - rpcServerInfo = await createRpcServer( - connection => new InteractionService(), - (connection, token: string) => new RpcClient(connection, token) + const debuggerExtensions = getResourceDebuggerExtensions(); + + const rpcServer = await AspireRpcServer.create( + _ => new InteractionService(() => aspireExtensionContext.hasAspireDebugSession(), () => aspireExtensionContext.aspireDebugSession), + (rpcServerConnectionInfo: RpcServerConnectionInfo, connection, token: string) => new RpcClient(rpcServerConnectionInfo, connection, token) ); - const cliRunCommand = vscode.commands.registerCommand('aspire-vscode.run', () => tryExecuteCommand('aspire-vscode.run', runCommand)); - const cliAddCommand = vscode.commands.registerCommand('aspire-vscode.add', () => tryExecuteCommand('aspire-vscode.add', addCommand)); - const cliNewCommand = vscode.commands.registerCommand('aspire-vscode.new', () => tryExecuteCommand('aspire-vscode.new', newCommand)); - const cliConfigCommand = vscode.commands.registerCommand('aspire-vscode.config', () => tryExecuteCommand('aspire-vscode.config', configCommand)); - const cliDeployCommand = vscode.commands.registerCommand('aspire-vscode.deploy', () => tryExecuteCommand('aspire-vscode.deploy', deployCommand)); - const cliPublishCommand = vscode.commands.registerCommand('aspire-vscode.publish', () => tryExecuteCommand('aspire-vscode.publish', publishCommand)); + const dcpServer = await AspireDcpServer.create(debuggerExtensions, () => aspireExtensionContext.aspireDebugSession); + + const cliAddCommandRegistration = vscode.commands.registerCommand('aspire-vscode.add', () => tryExecuteCommand('aspire-vscode.add', rpcServer.connectionInfo, addCommand)); + const cliNewCommandRegistration = vscode.commands.registerCommand('aspire-vscode.new', () => tryExecuteCommand('aspire-vscode.new', rpcServer.connectionInfo, newCommand)); + const cliConfigCommandRegistration = vscode.commands.registerCommand('aspire-vscode.config', () => tryExecuteCommand('aspire-vscode.config', rpcServer.connectionInfo, configCommand)); + const cliDeployCommandRegistration = vscode.commands.registerCommand('aspire-vscode.deploy', () => tryExecuteCommand('aspire-vscode.deploy', rpcServer.connectionInfo, deployCommand)); + const cliPublishCommandRegistration = vscode.commands.registerCommand('aspire-vscode.publish', () => tryExecuteCommand('aspire-vscode.publish', rpcServer.connectionInfo, publishCommand)); + const configureLaunchJsonCommandRegistration = vscode.commands.registerCommand('aspire-vscode.configureLaunchJson', () => tryExecuteCommand('aspire-vscode.configureLaunchJson', rpcServer.connectionInfo, configureLaunchJsonCommand)); - context.subscriptions.push(cliRunCommand, cliAddCommand, cliNewCommand, cliConfigCommand, cliDeployCommand, cliPublishCommand); + context.subscriptions.push(cliAddCommandRegistration, cliNewCommandRegistration, cliConfigCommandRegistration, cliDeployCommandRegistration, cliPublishCommandRegistration, configureLaunchJsonCommandRegistration); - extensionContext = context; + const debugConfigProvider = new AspireDebugConfigurationProvider(rpcServer); + context.subscriptions.push( + vscode.debug.registerDebugConfigurationProvider('aspire', debugConfigProvider, vscode.DebugConfigurationProviderTriggerKind.Dynamic) + ); + context.subscriptions.push( + vscode.debug.registerDebugConfigurationProvider('aspire', debugConfigProvider, vscode.DebugConfigurationProviderTriggerKind.Initial) + ); + context.subscriptions.push(vscode.debug.registerDebugAdapterDescriptorFactory('aspire', new AspireDebugAdapterDescriptorFactory(rpcServer, dcpServer, session => { + aspireExtensionContext.aspireDebugSession = session; + }))); - // Return exported API for tests or other extensions + aspireExtensionContext.initialize(rpcServer, context, debugConfigProvider, dcpServer, debuggerExtensions); + + // Return exported API for tests or other extensions return { - rpcServerInfo: rpcServerInfo, + rpcServerInfo: rpcServer.connectionInfo, }; } export function deactivate() { - rpcServerInfo?.dispose(); + aspireExtensionContext.rpcServer.dispose(); + aspireExtensionContext.dcpServer.dispose(); + if (aspireExtensionContext.hasAspireDebugSession()) { + aspireExtensionContext.aspireDebugSession.dispose(); + } + } -async function tryExecuteCommand(commandName: string, command: () => Promise): Promise { +async function tryExecuteCommand(commandName: string, rpcServerConnectionInfo: RpcServerConnectionInfo, command: (rpcServerConnectionInfo: RpcServerConnectionInfo) => Promise): Promise { try { sendTelemetryEvent(`${commandName}.invoked`); - await command(); + await command(rpcServerConnectionInfo); } catch (error) { vscode.window.showErrorMessage(errorMessage(error)); diff --git a/extension/src/loc/strings.ts b/extension/src/loc/strings.ts index e1ee71da8ac..0146a58925c 100644 --- a/extension/src/loc/strings.ts +++ b/extension/src/loc/strings.ts @@ -9,16 +9,15 @@ nls.config({ const localize = nls.loadMessageBundle(); -// Common strings export const noCsprojFound = localize('aspire-vscode.strings.noCsprojFound', 'No AppHost found in the current workspace'); -export const errorMessage = (error: any) => localize('aspire-vscode.commands.add.error', 'Error: {0}', error); +export const errorMessage = (error: any) => localize('aspire-vscode.strings.error', 'Error: {0}', error); export const yesLabel = localize('aspire-vscode.strings.yes', 'Yes'); export const noLabel = localize('aspire-vscode.strings.no', 'No'); export const directUrl = (url: string) => localize('aspire-vscode.strings.directUrl', 'Direct: {0}', url); export const codespacesUrl = (url: string) => localize('aspire-vscode.strings.codespacesUrl', 'Codespaces: {0}', url); -export const directLink = localize('aspire-vscode.strings.directLink', 'Direct link'); -export const codespacesLink = localize('aspire-vscode.strings.codespacesLink', 'Codespaces link'); -export const openAspireDashboard = localize('aspire-vscode.strings.openAspireDashboard', 'Open Aspire Dashboard'); +export const directLink = localize('aspire-vscode.strings.directLink', 'Open local URL'); +export const codespacesLink = localize('aspire-vscode.strings.codespacesLink', 'Open codespaces URL'); +export const openAspireDashboard = localize('aspire-vscode.strings.openAspireDashboard', 'Launch Aspire Dashboard'); export const noWorkspaceOpen = localize('aspire-vscode.strings.noWorkspaceOpen', 'No workspace is open. Please open a folder or workspace before running this command.'); export const failedToShowPromptEmpty = localize('aspire-vscode.strings.failedToShowPromptEmpty', 'Failed to show prompt, text was empty.'); export const rpcServerAddressError = localize('aspire-vscode.strings.addressError', 'Failed to get RPC server address. The extension may not function correctly.'); @@ -32,10 +31,28 @@ export const aspireOutputChannelName = localize('aspire-vscode.strings.aspireOut export const fieldRequired = localize('aspire-vscode.strings.fieldRequired', 'This field is required'); export const debugProject = (projectName: string) => localize('aspire-vscode.strings.debugProject', 'Debug {0}', projectName); export const watchProject = (projectName: string, projectType: string) => localize('aspire-vscode.strings.watchProject', 'Watch {0} ({1})', projectName, projectType); -export const csharpDevKitNotInstalled = localize('csharpDevKitNotInstalled', 'C# Dev Kit is not installed. Please install it from the marketplace.'); -export const noCsharpBuildTask = localize('noCsharpBuildTask', 'No C# Dev Kit build task found.'); -export const noWatchTask = localize('noWatchTask', 'No watch task found. Please ensure a watch task is defined in your workspace.'); -export const buildFailedWithExitCode = (exitCode: number) => localize('buildFailedWithExitCode', 'Build failed with exit code {0}', exitCode); -export const buildSucceeded = (projectFile: string) => localize('buildSucceeded', 'Build succeeded for project {0}. Attempting to locate output dll...', projectFile); -export const noOutputFromMsbuild = localize('noOutputFromMsbuild', 'No output from msbuild'); -export const failedToGetTargetPath = (err: string) => localize('failedToGetTargetPath', 'Failed to get TargetPath: {0}', err); +export const noCsharpBuildTask = localize('aspire-vscode.strings.noCsharpBuildTask', 'No C# Dev Kit build task found.'); +export const noWatchTask = localize('aspire-vscode.strings.noWatchTask', 'No watch task found. Please ensure a watch task is defined in your workspace.'); +export const buildFailedWithExitCode = (exitCode: number) => localize('aspire-vscode.strings.buildFailedWithExitCode', 'Build failed with exit code {0}', exitCode); +export const noOutputFromMsbuild = localize('aspire-vscode.strings.noOutputFromMsbuild', 'No output from msbuild'); +export const failedToGetTargetPath = (err: string) => localize('aspire-vscode.strings.failedToGetTargetPath', 'Failed to get TargetPath: {0}', err); +export const unsupportedResourceType = (type: string) => localize('aspire-vscode.strings.unsupportedResourceType', 'Attempted to start unsupported resource type: {0}', type); +export const rpcServerNotInitialized = localize('aspire-vscode.strings.rpcServerNotInitialized', 'RPC Server is not initialized'); +export const extensionContextNotInitialized = localize('aspire-vscode.strings.extensionContextNotInitialized', 'Extension context is not initialized'); +export const aspireDebugSessionNotInitialized = localize('aspire-vscode.strings.aspireDebugSessionNotInitialized', 'Aspire debug session is not initialized'); +export const errorRetrievingAppHosts = localize('aspire-vscode.strings.errorRetrievingAppHosts', 'Error retrieving app hosts in the current workspace. Debug options may be incomplete.'); +export const launchingWithDirectory = (appHostPath: string) => localize('aspire-vscode.strings.launchingWithDirectory', 'Launching Aspire debug session using directory {0}: attempting to determine effective AppHost...', appHostPath); +export const launchingWithAppHost = (appHostPath: string) => localize('aspire-vscode.strings.launchingWithAppHost', 'Launching Aspire debug session for AppHost {0}...', appHostPath); +export const disconnectingFromSession = localize('aspire-vscode.strings.disconnectingFromSession', 'Disconnecting from Aspire debug session... Child processes will be stopped.'); +export const processExitedWithCode = (code: number | string) => localize('aspire-vscode.strings.processExitedWithCode', 'Process exited with code {0}', code); +export const failedToStartPythonProgram = (errorMessage: string) => localize('aspire-vscode.strings.failedToStartPythonProgram', 'Failed to start Python program: {0}', errorMessage); +export const csharpSupportNotEnabled = localize('aspire-vscode.strings.csharpSupportNotEnabled', 'C# support is not enabled in this workspace. This project should have started through the Aspire CLI.'); +export const failedToStartProject = (errorMessage: string) => localize('aspire-vscode.strings.failedToStartProject', 'Failed to start project: {0}', errorMessage); +export const dcpServerNotInitialized = localize('aspire-vscode.strings.dcpServerNotInitialized', 'DCP server not initialized - cannot forward debug output'); +export const invalidTokenProvided = localize('aspire-vscode.strings.invalidTokenProvided', 'Invalid token provided'); +export const noWorkspaceFolder = localize('aspire-vscode.strings.noWorkspaceFolder', 'No workspace folder found'); +export const aspireConfigExists = localize('aspire-vscode.strings.aspireConfigExists', 'Aspire launch configuration already exists in launch.json'); +export const aspireConfigAdded = localize('aspire-vscode.strings.aspireConfigAdded', 'Aspire launch configuration added to launch.json successfully!'); +export const openLaunchJson = localize('aspire-vscode.strings.openLaunchJson', 'Open launch.json'); +export const failedToConfigureLaunchJson = (error: any) => localize('aspire-vscode.strings.failedToConfigureLaunchJson', 'Failed to configure launch.json: {0}', error); +export const defaultConfigurationName = localize('extension.debug.defaultConfiguration.name', 'Aspire: Launch Default AppHost'); diff --git a/extension/src/server/AspireRpcServer.ts b/extension/src/server/AspireRpcServer.ts new file mode 100644 index 00000000000..190f20751b9 --- /dev/null +++ b/extension/src/server/AspireRpcServer.ts @@ -0,0 +1,137 @@ +import * as vscode from 'vscode'; +import { createMessageConnection, MessageConnection } from 'vscode-jsonrpc'; +import { StreamMessageReader, StreamMessageWriter } from 'vscode-jsonrpc/node'; +import { invalidTokenProvided, rpcServerAddressError, rpcServerError } from '../loc/strings'; +import { addInteractionServiceEndpoints, IInteractionService } from './interactionService'; +import { ICliRpcClient } from './rpcClient'; +import * as tls from 'tls'; +import { createSelfSignedCert, generateToken } from '../utils/security'; +import { extensionLogOutputChannel } from '../utils/logging'; +import { getSupportedCapabilities } from '../capabilities'; +import { ResourceDebuggerExtension } from '../debugger/debuggerExtensions'; + +export type RpcServerConnectionInfo = { + address: string; + token: string; + cert: string; +}; + +interface RpcClientConnection { + stopCli: () => void; +} + +export default class AspireRpcServer { + public server: tls.Server; + public connectionInfo: RpcServerConnectionInfo; + public connections: RpcClientConnection[] = []; + + constructor(server: tls.Server, connectionInfo: RpcServerConnectionInfo) { + this.server = server; + this.connectionInfo = connectionInfo; + } + + public dispose() { + extensionLogOutputChannel.info(`Disposing RPC server`); + this.server.close(); + } + + public requestStopCli() { + this.connections.forEach(connection => connection.stopCli()); + } + + static create(interactionServiceFactory: (connection: MessageConnection) => IInteractionService, rpcClientFactory: (rpcServerConnectionInfo: RpcServerConnectionInfo, connection: MessageConnection, token: string) => ICliRpcClient): Promise { + const token = generateToken(); + const { key, cert } = createSelfSignedCert(); + + function withAuthentication(callback: (...params: any[]) => any) { + return (...params: any[]) => { + if (!params || params[0] !== token) { + throw new Error(invalidTokenProvided); + } + + if (Array.isArray(params)) { + (params as any[]).shift(); + } + + return callback(...params); + }; + } + + return new Promise((resolve, reject) => { + const server = tls.createServer({ key, cert }); + + server.on('error', (err) => { + extensionLogOutputChannel.error(rpcServerError(err)); + reject(err); + }); + + extensionLogOutputChannel.info(`Setting up RPC server with token: ${token}`); + server.listen(0, () => { + const addressInfo = server?.address(); + if (typeof addressInfo === 'object' && addressInfo?.port) { + const fullAddress = `localhost:${addressInfo.port}`; + extensionLogOutputChannel.info(`RPC server listening on ${fullAddress}`); + + const connectionInfo: RpcServerConnectionInfo = { + token: token, + address: fullAddress, + cert: cert + }; + + const rpcServer = new AspireRpcServer(server, connectionInfo); + + server.on('secureConnection', (socket) => { + extensionLogOutputChannel.info('Client connected to RPC server'); + const connection = createMessageConnection( + new StreamMessageReader(socket), + new StreamMessageWriter(socket) + ); + + connection.onRequest('getCapabilities', withAuthentication(async () => { + return getSupportedCapabilities(); + })); + + connection.onRequest('ping', withAuthentication(async () => { + return 'pong'; + })); + + const rpcClient = rpcClientFactory(connectionInfo, connection, token); + const interactionService = interactionServiceFactory(connection); + addInteractionServiceEndpoints(connection, interactionService, rpcClient, withAuthentication); + + const clientFunctionality: RpcClientConnection = { + stopCli: () => { + rpcClient.stopCli(); + } + }; + + rpcServer.connections.push(clientFunctionality); + + connection.onClose(() => { + const index = rpcServer.connections.indexOf(clientFunctionality); + if (index !== -1) { + rpcServer.connections.splice(index, 1); + } + extensionLogOutputChannel.info('Client disconnected from RPC server'); + }); + + connection.listen(); + }); + + resolve(rpcServer); + } + else { + extensionLogOutputChannel.error(rpcServerAddressError); + vscode.window.showErrorMessage(rpcServerAddressError); + reject(new Error(rpcServerAddressError)); + } + }); + + server.on('error', (err) => { + extensionLogOutputChannel.error(rpcServerError(err)); + reject(err); + }); + }); + } +} + diff --git a/extension/src/server/interactionService.ts b/extension/src/server/interactionService.ts index 8e22a5d66c2..c100e531422 100644 --- a/extension/src/server/interactionService.ts +++ b/extension/src/server/interactionService.ts @@ -5,11 +5,8 @@ import { yesLabel, noLabel, directLink, codespacesLink, openAspireDashboard, fai import { ICliRpcClient } from './rpcClient'; import { formatText } from '../utils/strings'; import { extensionLogOutputChannel } from '../utils/logging'; -import { startAppHost } from '../debugger/appHost'; -import { getAspireTerminal } from '../utils/terminal'; -import { EnvVar, stopAllDebuggingSessions } from '../debugger/common'; - -type CSLogLevel = 'Trace' | 'Debug' | 'Information' | 'Warn' | 'Error' | 'Critical'; +import { EnvVar } from '../dcp/types'; +import { AspireDebugSession } from '../debugger/AspireDebugSession'; export interface IInteractionService { showStatus: (statusText: string | null) => void; @@ -27,13 +24,16 @@ export interface IInteractionService { displayCancellationMessage: () => void; openProject: (projectPath: string) => void; logMessage: (logLevel: CSLogLevel, message: string) => void; - launchAppHost(projectFile: string, workingDirectory: string, args: string[], environment: EnvVar[], debug: boolean, rpcClient: ICliRpcClient): Promise; + launchAppHost(projectFile: string, args: string[], environment: EnvVar[], debug: boolean): Promise; stopDebugging: () => void; + notifyAppHostStartupCompleted: () => void; } +type CSLogLevel = 'Trace' | 'Debug' | 'Information' | 'Warn' | 'Error' | 'Critical'; + type DashboardUrls = { - baseUrlWithLoginToken: string; - codespacesUrlWithLoginToken: string | null; + BaseUrlWithLoginToken: string; + CodespacesUrlWithLoginToken: string | null; }; type ConsoleLine = { @@ -42,8 +42,16 @@ type ConsoleLine = { }; export class InteractionService implements IInteractionService { + private _hasAspireDebugSession: () => boolean; + private _getAspireDebugSession: () => AspireDebugSession; + private _statusBarItem: vscode.StatusBarItem | undefined; + constructor(hasAspireDebugSession: () => boolean, getAspireDebugSession: () => AspireDebugSession) { + this._hasAspireDebugSession = hasAspireDebugSession; + this._getAspireDebugSession = getAspireDebugSession; + } + showStatus(statusText: string | null) { extensionLogOutputChannel.info(`Setting status bar text: ${statusText ?? 'null'}`); @@ -54,6 +62,10 @@ export class InteractionService implements IInteractionService { if (statusText) { this._statusBarItem.text = formatText(statusText); this._statusBarItem.show(); + + if (this._hasAspireDebugSession()) { + this._getAspireDebugSession().sendMessage(formatText(statusText)); + } } else if (this._statusBarItem) { this._statusBarItem.hide(); } @@ -198,27 +210,28 @@ export class InteractionService implements IInteractionService { { title: directLink } ]; - if (dashboardUrls.codespacesUrlWithLoginToken) { + if (dashboardUrls.CodespacesUrlWithLoginToken) { actions.push({ title: codespacesLink }); } - const selected = await vscode.window.showInformationMessage( + // Don't await - fire and forget to avoid blocking + vscode.window.showInformationMessage( openAspireDashboard, ...actions - ); - - if (!selected) { - return; - } + ).then(selected => { + if (!selected) { + return; + } - extensionLogOutputChannel.info(`Selected action: ${selected.title}`); + extensionLogOutputChannel.info(`Selected action: ${selected.title}`); - if (selected.title === directLink) { - vscode.env.openExternal(vscode.Uri.parse(dashboardUrls.baseUrlWithLoginToken)); - } - else if (selected.title === codespacesLink && dashboardUrls.codespacesUrlWithLoginToken) { - vscode.env.openExternal(vscode.Uri.parse(dashboardUrls.codespacesUrlWithLoginToken)); - } + if (selected.title === directLink) { + vscode.env.openExternal(vscode.Uri.parse(dashboardUrls.BaseUrlWithLoginToken)); + } + else if (selected.title === codespacesLink && dashboardUrls.CodespacesUrlWithLoginToken) { + vscode.env.openExternal(vscode.Uri.parse(dashboardUrls.CodespacesUrlWithLoginToken)); + } + }); } displayLines(lines: ConsoleLine[]) { @@ -260,13 +273,17 @@ export class InteractionService implements IInteractionService { } } - launchAppHost(projectFile: string, workingDirectory: string, args: string[], environment: EnvVar[], debug: boolean, rpcClient: ICliRpcClient): Promise { - return startAppHost(projectFile, workingDirectory, args, environment, debug, rpcClient); + launchAppHost(projectFile: string, args: string[], environment: EnvVar[], debug: boolean): Promise { + return this._getAspireDebugSession().startAppHost(projectFile, args, environment, debug); } stopDebugging() { this.clearStatusBar(); - stopAllDebuggingSessions(); + this._getAspireDebugSession().dispose(); + } + + notifyAppHostStartupCompleted() { + this._getAspireDebugSession().notifyAppHostStartupCompleted(); } clearStatusBar() { @@ -294,8 +311,7 @@ export function addInteractionServiceEndpoints(connection: MessageConnection, in connection.onRequest("displayCancellationMessage", withAuthentication(interactionService.displayCancellationMessage.bind(interactionService))); connection.onRequest("openProject", withAuthentication(interactionService.openProject.bind(interactionService))); connection.onRequest("logMessage", withAuthentication(interactionService.logMessage.bind(interactionService))); - connection.onRequest("launchAppHost", withAuthentication(async (projectFile: string, workingDirectory: string, args: string[], environment: EnvVar[], debug: boolean) => { - return interactionService.launchAppHost(projectFile, workingDirectory, args, environment, debug, rpcClient); - })); + connection.onRequest("launchAppHost", withAuthentication(async (projectFile: string, args: string[], environment: EnvVar[], debug: boolean) => interactionService.launchAppHost(projectFile, args, environment, debug))); connection.onRequest("stopDebugging", withAuthentication(interactionService.stopDebugging.bind(interactionService))); + connection.onRequest("notifyAppHostStartupCompleted", withAuthentication(interactionService.notifyAppHostStartupCompleted.bind(interactionService))); } diff --git a/extension/src/server/rpcClient.ts b/extension/src/server/rpcClient.ts index a37d4eb1888..a7f011a75f1 100644 --- a/extension/src/server/rpcClient.ts +++ b/extension/src/server/rpcClient.ts @@ -1,6 +1,7 @@ import { MessageConnection } from 'vscode-jsonrpc'; import { extensionLogOutputChannel, logAsyncOperation } from '../utils/logging'; import { getAspireTerminal } from '../utils/terminal'; +import { RpcServerConnectionInfo } from './AspireRpcServer'; export interface ICliRpcClient { getCliVersion(): Promise; @@ -14,11 +15,13 @@ export type ValidationResult = { }; export class RpcClient implements ICliRpcClient { + private _rpcServerConnectionInfo: RpcServerConnectionInfo; private _messageConnection: MessageConnection; private _token: string; private _connectionClosed: boolean; - constructor(messageConnection: MessageConnection, token: string) { + constructor(rpcServerConnectionInfo: RpcServerConnectionInfo, messageConnection: MessageConnection, token: string) { + this._rpcServerConnectionInfo = rpcServerConnectionInfo; this._messageConnection = messageConnection; this._token = token; this._connectionClosed = false; @@ -55,10 +58,10 @@ export class RpcClient implements ICliRpcClient { async stopCli() { if (this._connectionClosed) { // If connection is already closed for some reason, we cannot send a request - // Instead, dispose of the terminal directly. - getAspireTerminal().dispose(); + // Instead, dispose of the terminal directly. + getAspireTerminal(this._rpcServerConnectionInfo).dispose(); } else { await this._messageConnection.sendRequest('stopCli', this._token); } } -} \ No newline at end of file +} diff --git a/extension/src/server/rpcServer.ts b/extension/src/server/rpcServer.ts deleted file mode 100644 index 7698387cd17..00000000000 --- a/extension/src/server/rpcServer.ts +++ /dev/null @@ -1,93 +0,0 @@ -import * as net from 'net'; -import * as vscode from 'vscode'; -import { createMessageConnection, MessageConnection } from 'vscode-jsonrpc'; -import { StreamMessageReader, StreamMessageWriter } from 'vscode-jsonrpc/node'; -import { rpcServerAddressError, rpcServerError } from '../loc/strings'; -import { addInteractionServiceEndpoints, IInteractionService } from './interactionService'; -import { ICliRpcClient } from './rpcClient'; -import * as tls from 'tls'; -import { generateSelfSignedCert, generateToken } from '../utils/security'; -import { extensionLogOutputChannel } from '../utils/logging'; -import { get } from 'http'; -import { getSupportedCapabilities } from '../capabilities'; - -export type RpcServerInformation = { - address: string; - token: string; - server: tls.Server; - dispose: () => void; - cert: string; -}; - -export function createRpcServer(interactionService: (connection: MessageConnection) => IInteractionService, rpcClient: (connection: MessageConnection, token: string) => ICliRpcClient): Promise { - const token = generateToken(); - const { key, cert } = generateSelfSignedCert(); - - function withAuthentication(callback: (...params: any[]) => any) { - return (...params: any[]) => { - if (!params || params[0] !== token) { - throw new Error('Invalid token provided'); - } - - if (Array.isArray(params)) { - (params as any[]).shift(); - } - - return callback(...params); - }; - } - - return new Promise((resolve, reject) => { - const rpcServer = tls.createServer({ key, cert }, (socket) => { - extensionLogOutputChannel.info('Client connected to RPC server'); - const connection = createMessageConnection( - new StreamMessageReader(socket), - new StreamMessageWriter(socket) - ); - - connection.onRequest('ping', withAuthentication(async () => { - return { message: 'pong' }; - })); - - connection.onRequest('getCapabilities', withAuthentication(async () => { - return getSupportedCapabilities(); - })); - - addInteractionServiceEndpoints(connection, interactionService(connection), rpcClient(connection, token), withAuthentication); - - connection.listen(); - }); - - extensionLogOutputChannel.info(`Setting up RPC server with token: ${token}`); - rpcServer.listen(0, () => { - const addressInfo = rpcServer?.address(); - if (typeof addressInfo === 'object' && addressInfo?.port) { - const fullAddress = `localhost:${addressInfo.port}`; - extensionLogOutputChannel.info(`RPC server listening on ${fullAddress}`); - - function disposeRpcServer(rpcServer: net.Server) { - extensionLogOutputChannel.info(`Disposing RPC server`); - rpcServer.close(); - } - - resolve({ - token: token, - server: rpcServer, - address: fullAddress, - dispose: () => disposeRpcServer(rpcServer), - cert: cert - }); - } - else { - extensionLogOutputChannel.error(rpcServerAddressError); - vscode.window.showErrorMessage(rpcServerAddressError); - reject(new Error(rpcServerAddressError)); - } - }); - - rpcServer.on('error', (err) => { - extensionLogOutputChannel.error(rpcServerError(err)); - reject(err); - }); - }); -} \ No newline at end of file diff --git a/extension/src/test/rpc/e2eServerTests.test.ts b/extension/src/test/rpc/e2eServerTests.test.ts index 645e9558dc0..77166068eea 100644 --- a/extension/src/test/rpc/e2eServerTests.test.ts +++ b/extension/src/test/rpc/e2eServerTests.test.ts @@ -6,7 +6,7 @@ import * as tls from 'tls'; import { createMessageConnection } from 'vscode-jsonrpc'; import { StreamMessageReader, StreamMessageWriter } from 'vscode-jsonrpc/node'; import { getAndActivateExtension } from '../common'; -import { RpcServerInformation } from '../../server/rpcServer'; +import { RpcServerConnectionInfo } from '../../server/AspireRpcServer'; suite('End-to-end RPC server auth tests', () => { vscode.window.showInformationMessage('Starting end-to-end rpc server tests.'); @@ -17,7 +17,7 @@ suite('End-to-end RPC server auth tests', () => { // Act & Assert const response = await connection.sendRequest('ping', rpcServerInfo.token); - assert.deepStrictEqual(response, { message: 'pong' }); + assert.deepStrictEqual(response, 'pong'); connection.dispose(); client.end(); @@ -39,7 +39,7 @@ suite('End-to-end RPC server auth tests', () => { assert.ok(extension.exports.rpcServerInfo); }, 2000, 50); - const rpcServerInfo = extension.exports.rpcServerInfo as RpcServerInformation; + const rpcServerInfo = extension.exports.rpcServerInfo as RpcServerConnectionInfo; const port = Number(rpcServerInfo.address.replace('localhost:', '')); const client = tls.connect({ diff --git a/extension/src/test/rpc/interactionServiceTests.test.ts b/extension/src/test/rpc/interactionServiceTests.test.ts index 3521697a802..1307c8b52c3 100644 --- a/extension/src/test/rpc/interactionServiceTests.test.ts +++ b/extension/src/test/rpc/interactionServiceTests.test.ts @@ -2,12 +2,11 @@ import * as assert from 'assert'; import * as vscode from 'vscode'; import * as sinon from 'sinon'; -import { codespacesLink, directLink } from '../../loc/strings'; -import { createRpcServer, RpcServerInformation } from '../../server/rpcServer'; import { IInteractionService, InteractionService } from '../../server/interactionService'; import { ICliRpcClient, ValidationResult } from '../../server/rpcClient'; import { extensionLogOutputChannel } from '../../utils/logging'; -import * as terminalUtils from '../../utils/terminal'; +import AspireRpcServer, { RpcServerConnectionInfo } from '../../server/AspireRpcServer'; +import { AspireDebugSession } from '../../debugger/AspireDebugSession'; suite('InteractionService endpoints', () => { let statusBarItem: vscode.StatusBarItem; @@ -132,34 +131,6 @@ suite('InteractionService endpoints', () => { stub.restore(); }); - test("displayDashboardUrls shows correct actions and URLs", async () => { - const testInfo = await createTestRpcServer(); - const dashboardMessageItem: vscode.MessageItem = { title: directLink }; - const showInfoMessageStub = sinon.stub(vscode.window, 'showInformationMessage').resolves(dashboardMessageItem); - const openExternalStub = sinon.stub(vscode.env, 'openExternal').resolves(true as any); - - const baseUrl = 'http://localhost'; - const codespacesUrl = 'http://codespaces'; - await testInfo.interactionService.displayDashboardUrls({ - baseUrlWithLoginToken: baseUrl, - codespacesUrlWithLoginToken: codespacesUrl - }); - - // Check that showInformationMessage was called with the expected arguments - const expectedArgs = [ - 'Open Aspire Dashboard', - { title: directLink }, - { title: codespacesLink } - ]; - const actualArgs = showInfoMessageStub.getCall(0)?.args; - assert.deepStrictEqual(actualArgs, expectedArgs, 'showInformationMessage should be called with correct arguments'); - - // Check that openExternal was called with the baseUrl - assert.ok(openExternalStub.calledWith(vscode.Uri.parse(baseUrl)), 'openExternal should be called with baseUrl'); - showInfoMessageStub.restore(); - openExternalStub.restore(); - }); - test("displayDashboardUrls writes URLs to output channel", async () => { const stub = sinon.stub(extensionLogOutputChannel, 'info'); const showInformationMessageStub = sinon.stub(vscode.window, 'showInformationMessage').resolves(); @@ -168,8 +139,8 @@ suite('InteractionService endpoints', () => { const baseUrl = 'http://localhost'; const codespacesUrl = 'http://codespaces'; await testInfo.interactionService.displayDashboardUrls({ - baseUrlWithLoginToken: baseUrl, - codespacesUrlWithLoginToken: codespacesUrl + BaseUrlWithLoginToken: baseUrl, + CodespacesUrlWithLoginToken: codespacesUrl }); const outputLines = stub.getCalls().map(call => call.args[0]); assert.ok(outputLines.some(line => line.includes(baseUrl)), 'Output should contain base URL'); @@ -196,7 +167,7 @@ suite('InteractionService endpoints', () => { }); type RpcServerTestInfo = { - rpcServerInfo: RpcServerInformation; + rpcServerInfo: RpcServerConnectionInfo; rpcClient: ICliRpcClient; interactionService: IInteractionService; }; @@ -205,7 +176,7 @@ class TestCliRpcClient implements ICliRpcClient { stopCli(): Promise { return Promise.resolve(); } - + getCliVersion(): Promise { return Promise.resolve('1.0.0'); } @@ -223,22 +194,27 @@ class TestCliRpcClient implements ICliRpcClient { } } -async function createTestRpcServer(): Promise { +async function createTestRpcServer(hasAspireDebugSession?: () => boolean, getAspireDebugSession?: () => AspireDebugSession): Promise { + hasAspireDebugSession ??= () => false; + getAspireDebugSession ??= () => { + throw new Error(); + }; + const rpcClient = new TestCliRpcClient(); - const interactionService = new InteractionService(); + const interactionService = new InteractionService(hasAspireDebugSession, getAspireDebugSession); - const rpcServerInfo = await createRpcServer( + const rpcServer = await AspireRpcServer.create( () => interactionService, () => rpcClient ); - if (!rpcServerInfo) { + if (!rpcServer) { throw new Error('Failed to set up RPC server'); } return { - rpcServerInfo, + rpcServerInfo: rpcServer.connectionInfo, rpcClient: rpcClient, interactionService: interactionService }; -} \ No newline at end of file +} diff --git a/extension/src/utils/environment.ts b/extension/src/utils/environment.ts index 6cc1e01f45c..b546875af54 100644 --- a/extension/src/utils/environment.ts +++ b/extension/src/utils/environment.ts @@ -1,4 +1,4 @@ -import { EnvVar } from "../debugger/common"; +import { EnvVar } from "../dcp/types"; export function mergeEnvs(base: NodeJS.ProcessEnv, envVars?: EnvVar[]): Record { const merged: Record = { ...base }; diff --git a/extension/src/utils/security.ts b/extension/src/utils/security.ts index 7dc39dd0dfb..50d7b580566 100644 --- a/extension/src/utils/security.ts +++ b/extension/src/utils/security.ts @@ -1,7 +1,7 @@ -import { randomBytes } from 'crypto'; +import { randomBytes, X509Certificate } from 'crypto'; import forge from 'node-forge'; -export function generateSelfSignedCert(commonName: string = 'localhost') { +export function createSelfSignedCert(commonName: string = 'localhost') { const pki = forge.pki; const keys = pki.rsa.generateKeyPair(2048); const cert = pki.createCertificate(); @@ -21,20 +21,23 @@ export function generateSelfSignedCert(commonName: string = 'localhost') { name: 'subjectAltName', altNames: [ { type: 2, value: 'localhost' }, // DNS - { type: 7, ip: '127.0.0.1' } // IP ] } ]); cert.sign(keys.privateKey); + const certPem = pki.certificateToPem(cert); + const x509Cert = new X509Certificate(certPem); + return { key: pki.privateKeyToPem(keys.privateKey), - cert: pki.certificateToPem(cert) + cert: certPem, + certBase64: x509Cert.raw.toString('base64') }; } export function generateToken(): string { const key = randomBytes(16); return key.toString('base64'); -} \ No newline at end of file +} diff --git a/extension/src/utils/strings.ts b/extension/src/utils/strings.ts index 901ab514073..6423a4766c1 100644 --- a/extension/src/utils/strings.ts +++ b/extension/src/utils/strings.ts @@ -18,4 +18,8 @@ const emojiMap: { [key: string]: string; } = { */ export function formatText(str: string): string { return str.replace(/:[a-z]+(?:_[a-z]+)*:/g, match => emojiMap[match] || match); -} \ No newline at end of file +} + +export function removeTrailingNewline(str: string): string { + return str.replace(/(\r\n|\n)$/, ''); +} diff --git a/extension/src/utils/terminal.ts b/extension/src/utils/terminal.ts index 20ef9a49169..c456c63ca63 100644 --- a/extension/src/utils/terminal.ts +++ b/extension/src/utils/terminal.ts @@ -1,14 +1,11 @@ import * as vscode from 'vscode'; -import { rpcServerInfo } from '../extension'; import { aspireTerminalName } from '../loc/strings'; import { extensionLogOutputChannel } from './logging'; +import { RpcServerConnectionInfo } from '../server/AspireRpcServer'; +import { DcpServerConnectionInfo } from '../dcp/types'; let hasRunGetAspireTerminal = false; -export function getAspireTerminal(): vscode.Terminal { - if (!rpcServerInfo) { - throw new Error('RPC server is not initialized. Ensure activation before using this function.'); - } - +export function getAspireTerminal(rpcServerConnectionInfo: RpcServerConnectionInfo, dcpServerConnectionInfo?: DcpServerConnectionInfo): vscode.Terminal { const terminalName = aspireTerminalName; const existingTerminal = vscode.window.terminals.find(terminal => terminal.name === terminalName); @@ -23,31 +20,43 @@ export function getAspireTerminal(): vscode.Terminal { } extensionLogOutputChannel.info(`Creating new Aspire terminal`); + hasRunGetAspireTerminal = true; + + return vscode.window.createTerminal({ + name: terminalName, + env: createEnvironment(rpcServerConnectionInfo, dcpServerConnectionInfo) + }); +} - const env = { +export function createEnvironment(rpcServerConnectionInfo: RpcServerConnectionInfo, dcpServerConnectionInfo?: DcpServerConnectionInfo): any { + const env: any = { ...process.env, // Extension connection information - ASPIRE_EXTENSION_ENDPOINT: rpcServerInfo.address, - ASPIRE_EXTENSION_TOKEN: rpcServerInfo.token, - ASPIRE_EXTENSION_CERT: Buffer.from(rpcServerInfo.cert, 'utf-8').toString('base64'), + ASPIRE_EXTENSION_ENDPOINT: rpcServerConnectionInfo.address, + ASPIRE_EXTENSION_TOKEN: rpcServerConnectionInfo.token, + ASPIRE_EXTENSION_CERT: Buffer.from(rpcServerConnectionInfo.cert, 'utf-8').toString('base64'), ASPIRE_EXTENSION_PROMPT_ENABLED: 'true', // Use the current locale in the CLI - ASPIRE_LOCALE_OVERRIDE: vscode.env.language, + ASPIRE_LOCALE_OVERRIDE: vscode.env.language }; - hasRunGetAspireTerminal = true; + if (dcpServerConnectionInfo) { + // Include DCP server info + env.DEBUG_SESSION_PORT = dcpServerConnectionInfo.address; + env.DEBUG_SESSION_TOKEN = dcpServerConnectionInfo.token; + env.DEBUG_SESSION_SERVER_CERTIFICATE = dcpServerConnectionInfo.certificate; + } - return vscode.window.createTerminal({ - name: terminalName, - env - }); + return env; } -export function sendToAspireTerminal(command: string) { - const terminal = getAspireTerminal(); +export function sendToAspireTerminal(command: string, rpcServerConnectionInfo: RpcServerConnectionInfo, dcpServerConnectionInfo?: DcpServerConnectionInfo, showTerminal: boolean = true) { + const terminal = getAspireTerminal(rpcServerConnectionInfo, dcpServerConnectionInfo); extensionLogOutputChannel.info(`Sending command to Aspire terminal: ${command}`); terminal.sendText(command); - terminal.show(); + if (showTerminal) { + terminal.show(); + } } diff --git a/extension/yarn.lock b/extension/yarn.lock index fa256966c83..c1a49bfcab0 100644 --- a/extension/yarn.lock +++ b/extension/yarn.lock @@ -4,36 +4,36 @@ "@azu/format-text@^1.0.1", "@azu/format-text@^1.0.2": version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azu/format-text/-/format-text-1.0.2.tgz#abd46dab2422e312bd1bfe36f0d427ab6039825d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azu/format-text/-/format-text-1.0.2.tgz" integrity sha1-q9RtqyQi4xK9G/428NQnq2A5gl0= "@azu/style-format@^1.0.1": version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azu/style-format/-/style-format-1.0.1.tgz#b3643af0c5fee9d53e69a97c835c404bdc80f792" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azu/style-format/-/style-format-1.0.1.tgz" integrity sha1-s2Q68MX+6dU+aal8g1xAS9yA95I= dependencies: "@azu/format-text" "^1.0.1" "@azure/abort-controller@^2.0.0": version "2.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/abort-controller/-/abort-controller-2.1.2.tgz#42fe0ccab23841d9905812c58f1082d27784566d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/abort-controller/-/abort-controller-2.1.2.tgz" integrity sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0= dependencies: tslib "^2.6.2" "@azure/core-auth@^1.4.0", "@azure/core-auth@^1.8.0", "@azure/core-auth@^1.9.0": - version "1.10.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-auth/-/core-auth-1.10.0.tgz#68dba7036080e1d9d5699c4e48214ab796fa73ad" - integrity sha1-aNunA2CA4dnVaZxOSCFKt5b6c60= + version "1.9.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-auth/-/core-auth-1.9.0.tgz" + integrity sha1-rHJbA/q+PIkjcQZe6eIEG+4P0aw= dependencies: "@azure/abort-controller" "^2.0.0" "@azure/core-util" "^1.11.0" tslib "^2.6.2" "@azure/core-client@^1.9.2": - version "1.10.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-client/-/core-client-1.10.0.tgz#9f4ec9c89a63516927840ae620c60e811a0b54a3" - integrity sha1-n07JyJpjUWknhArmIMYOgRoLVKM= + version "1.9.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-client/-/core-client-1.9.4.tgz" + integrity sha1-u5u4Xtx4D8ZWMLbY/6Fyw2M8qP4= dependencies: "@azure/abort-controller" "^2.0.0" "@azure/core-auth" "^1.4.0" @@ -44,38 +44,38 @@ tslib "^2.6.2" "@azure/core-rest-pipeline@^1.17.0", "@azure/core-rest-pipeline@^1.20.0": - version "1.22.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.0.tgz#76e44a75093a2f477fc54b84f46049dc2ce65800" - integrity sha1-duRKdQk6L0d/xUuE9GBJ3CzmWAA= + version "1.20.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-rest-pipeline/-/core-rest-pipeline-1.20.0.tgz" + integrity sha1-kW2NbJz/a1VvCwv9W5I1JtWQ4tk= dependencies: "@azure/abort-controller" "^2.0.0" "@azure/core-auth" "^1.8.0" "@azure/core-tracing" "^1.0.1" "@azure/core-util" "^1.11.0" "@azure/logger" "^1.0.0" - "@typespec/ts-http-runtime" "^0.3.0" + "@typespec/ts-http-runtime" "^0.2.2" tslib "^2.6.2" "@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1": - version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-tracing/-/core-tracing-1.3.0.tgz#341153f5b2927539eb898577651ee48ce98dda25" - integrity sha1-NBFT9bKSdTnriYV3ZR7kjOmN2iU= + version "1.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-tracing/-/core-tracing-1.2.0.tgz" + integrity sha1-e+XVPDUi1jnPGQQsvNsZ9xvDWrI= dependencies: tslib "^2.6.2" "@azure/core-util@^1.11.0", "@azure/core-util@^1.6.1": - version "1.13.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-util/-/core-util-1.13.0.tgz#fc2834fc51e1e2bb74b70c284b40f824d867422a" - integrity sha1-/Cg0/FHh4rt0twwoS0D4JNhnQio= + version "1.12.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-util/-/core-util-1.12.0.tgz" + integrity sha1-C4woN+bWfD+66uIN80zwf2azSA0= dependencies: "@azure/abort-controller" "^2.0.0" - "@typespec/ts-http-runtime" "^0.3.0" + "@typespec/ts-http-runtime" "^0.2.2" tslib "^2.6.2" "@azure/identity@^4.1.0": - version "4.11.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/identity/-/identity-4.11.1.tgz#19ba5b7601ae4f2ded010c55ca55200ffa6c79ec" - integrity sha1-GbpbdgGuTy3tAQxVylUgD/pseew= + version "4.10.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/identity/-/identity-4.10.0.tgz" + integrity sha1-EM/kkge00RHr46qzreR1YcKFLG0= dependencies: "@azure/abort-controller" "^2.0.0" "@azure/core-auth" "^1.9.0" @@ -90,37 +90,37 @@ tslib "^2.2.0" "@azure/logger@^1.0.0": - version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/logger/-/logger-1.3.0.tgz#5501cf85d4f52630602a8cc75df76568c969a827" - integrity sha1-VQHPhdT1JjBgKozHXfdlaMlpqCc= + version "1.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/logger/-/logger-1.2.0.tgz" + integrity sha1-p5rvzdV9KpZgP6tZyaZuDZAipWQ= dependencies: - "@typespec/ts-http-runtime" "^0.3.0" + "@typespec/ts-http-runtime" "^0.2.2" tslib "^2.6.2" "@azure/msal-browser@^4.2.0": - version "4.19.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-browser/-/msal-browser-4.19.0.tgz#2f40cff81b2f545d29e0aeff87b95f2f9dab51bc" - integrity sha1-L0DP+BsvVF0p4K7/h7lfL52rUbw= + version "4.12.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-browser/-/msal-browser-4.12.0.tgz" + integrity sha1-D2VoxA/BvvQVOh8p/OH8b/CddbQ= dependencies: - "@azure/msal-common" "15.10.0" + "@azure/msal-common" "15.6.0" -"@azure/msal-common@15.10.0": - version "15.10.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-common/-/msal-common-15.10.0.tgz#ea0aa03f1dbc92090ea1fb8cb5ea32df56d4f88a" - integrity sha1-6gqgPx28kgkOofuMteoy31bU+Io= +"@azure/msal-common@15.6.0": + version "15.6.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-common/-/msal-common-15.6.0.tgz" + integrity sha1-B2TWRG7v85cCIZleJfJl/bIY2mY= "@azure/msal-node@^3.5.0": - version "3.7.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-node/-/msal-node-3.7.0.tgz#a9cb77e9bcaca22db4573511433949f147e7c396" - integrity sha1-qct36bysoi20VzURQzlJ8Ufnw5Y= + version "3.5.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-node/-/msal-node-3.5.3.tgz" + integrity sha1-AveiNEosKZQ1SgzsElue+ajnEJs= dependencies: - "@azure/msal-common" "15.10.0" + "@azure/msal-common" "15.6.0" jsonwebtoken "^9.0.0" uuid "^8.3.0" -"@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.21.4": version "7.27.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/code-frame/-/code-frame-7.27.1.tgz" integrity sha1-IA9xXmbVKiOyIalDVTSpHME61b4= dependencies: "@babel/helper-validator-identifier" "^7.27.1" @@ -129,62 +129,62 @@ "@babel/helper-validator-identifier@^7.27.1": version "7.27.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz" integrity sha1-pwVNzBRaln3U3I/uhFpXwTFsnfg= "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha1-daLotRy3WKdVPWgEpZMteqznXDk= "@cspotcode/source-map-support@^0.8.0": version "0.8.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" integrity sha1-AGKcNaaI4FqIsc2mhPudXnPwAKE= dependencies: "@jridgewell/trace-mapping" "0.3.9" "@discoveryjs/json-ext@^0.6.1": version "0.6.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz#f13c7c205915eb91ae54c557f5e92bddd8be0e83" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz" integrity sha1-8Tx8IFkV65GuVMVX9ekr3di+DoM= "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.7.0": version "4.7.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz" integrity sha1-YHCEYwxsAzmSoILebm+8GotSF1o= dependencies: eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": version "4.12.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" integrity sha1-z8bP/jnfOQo4Qc3iq8z5Lqp64OA= -"@eslint/config-array@^0.21.0": - version "0.21.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/config-array/-/config-array-0.21.0.tgz#abdbcbd16b124c638081766392a4d6b509f72636" - integrity sha1-q9vL0WsSTGOAgXZjkqTWtQn3JjY= +"@eslint/config-array@^0.20.0": + version "0.20.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/config-array/-/config-array-0.20.0.tgz" + integrity sha1-ehIy6CN2cS0zQAEqL1YaJ2TRmI8= dependencies: "@eslint/object-schema" "^2.1.6" debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.3.0": - version "0.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/config-helpers/-/config-helpers-0.3.0.tgz#3e09a90dfb87e0005c7694791e58e97077271286" - integrity sha1-PgmpDfuH4ABcdpR5HljpcHcnEoY= +"@eslint/config-helpers@^0.2.1": + version "0.2.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/config-helpers/-/config-helpers-0.2.2.tgz" + integrity sha1-N3n3a4lN46jsR2O3lmDm1U1bEBA= -"@eslint/core@^0.15.0", "@eslint/core@^0.15.1": - version "0.15.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/core/-/core-0.15.1.tgz#d530d44209cbfe2f82ef86d6ba08760196dd3b60" - integrity sha1-1TDUQgnL/i+C74bWugh2AZbdO2A= +"@eslint/core@^0.14.0": + version "0.14.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/core/-/core-0.14.0.tgz" + integrity sha1-MmKJOAlo6vfpbzZOHkz4863y0AM= dependencies: "@types/json-schema" "^7.0.15" "@eslint/eslintrc@^3.3.1": version "3.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/eslintrc/-/eslintrc-3.3.1.tgz" integrity sha1-5V9/HdQAYA3QZtu6NJxMC6yRaWQ= dependencies: ajv "^6.12.4" @@ -197,22 +197,22 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.32.0", "@eslint/js@^9.27.0": - version "9.32.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/js/-/js-9.32.0.tgz#a02916f58bd587ea276876cb051b579a3d75d091" - integrity sha1-oCkW9YvVh+onaHbLBRtXmj110JE= +"@eslint/js@9.27.0", "@eslint/js@^9.27.0": + version "9.27.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/js/-/js-9.27.0.tgz" + integrity sha1-GBojRgh3xIT23QOJD04/ov3rj/A= "@eslint/object-schema@^2.1.6": version "2.1.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/object-schema/-/object-schema-2.1.6.tgz" integrity sha1-WDaatbWzyhF4gMD2wLDzL2lQ8k8= -"@eslint/plugin-kit@^0.3.4": - version "0.3.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz#c6b9f165e94bf4d9fdd493f1c028a94aaf5fc1cc" - integrity sha1-xrnxZelL9Nn91JPxwCipSq9fwcw= +"@eslint/plugin-kit@^0.3.1": + version "0.3.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz" + integrity sha1-txsDey1NaDlt8EqMNaSUgeVZMGc= dependencies: - "@eslint/core" "^0.15.1" + "@eslint/core" "^0.14.0" levn "^0.4.1" "@gulp-sourcemaps/identity-map@^2.0.1": @@ -234,14 +234,26 @@ normalize-path "^2.0.1" through2 "^2.0.3" +"@gulpjs/messages@^1.1.0": + version "1.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@gulpjs/messages/-/messages-1.1.0.tgz#94e70978ff676ade541faab459c37ae0c7095e5a" + integrity sha1-lOcJeP9nat5UH6q0WcN64McJXlo= + +"@gulpjs/to-absolute-glob@^4.0.0": + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz#1fc2460d3953e1d9b9f2dfdb4bcc99da4710c021" + integrity sha1-H8JGDTlT4dm58t/bS8yZ2kcQwCE= + dependencies: + is-negated-glob "^1.0.0" + "@humanfs/core@^0.19.1": version "0.19.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanfs/core/-/core-0.19.1.tgz" integrity sha1-F8Vcp9Qmcz/jxWGQa4Fzwza0Cnc= "@humanfs/node@^0.16.6": version "0.16.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanfs/node/-/node-0.16.6.tgz" integrity sha1-7ioQ6qvRExmHvwSI/ZuCAXTNdl4= dependencies: "@humanfs/core" "^0.19.1" @@ -249,34 +261,22 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" integrity sha1-r1smkaIrRL6EewyoFkHF+2rQFyw= "@humanwhocodes/retry@^0.3.0": version "0.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/retry/-/retry-0.3.1.tgz" integrity sha1-xypcdqn7rzSI4jGxPcUsDae6tCo= "@humanwhocodes/retry@^0.4.2": version "0.4.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/retry/-/retry-0.4.3.tgz" integrity sha1-wrnS43TuYsWG062+qHGZsdenpro= -"@isaacs/balanced-match@^4.0.1": - version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" - integrity sha1-MIHa28NGBmG3UedZHX+upd853Sk= - -"@isaacs/brace-expansion@^5.0.0": - version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3" - integrity sha1-Sz2rq32OdaQpQUqWvWe/TB0T4PM= - dependencies: - "@isaacs/balanced-match" "^4.0.1" - "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@isaacs/cliui/-/cliui-8.0.2.tgz" integrity sha1-s3Znt7wYHBaHgiWbq0JHT79StVA= dependencies: string-width "^5.1.2" @@ -288,47 +288,53 @@ "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg= "@jridgewell/gen-mapping@^0.3.5": - version "0.3.12" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" - integrity sha1-IjTOJsYoifA9s9f+pDwZMqs+kns= + version "0.3.8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" + integrity sha1-Tw4GNi4BNi+CPTSPGHKwj2ZtgUI= dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" integrity sha1-eg7mAfYPmaIMfHxf8MgDiMEYm9Y= +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha1-VY+2Ry7RakyFC4iVMOazZDjEkoA= + "@jridgewell/source-map@^0.3.3": - version "0.3.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/source-map/-/source-map-0.3.10.tgz#a35714446a2e84503ff9bfe66f1d1d4846f2075b" - integrity sha1-o1cURGouhFA/+b/mbx0dSEbyB1s= + version "0.3.6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/source-map/-/source-map-0.3.6.tgz" + integrity sha1-nXHKiG4yUC65NiyadKRnh8Nt+Bo= dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" - integrity sha1-c1gENDOy5dpWmqAsvEwSHaOvJ9c= +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha1-MYi8snOkFLDSFf0ipYVAuYm5QJo= "@jridgewell/trace-mapping@0.3.9": version "0.3.9" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" integrity sha1-ZTT9WTOlO6fL86F2FeJzoNEnP/k= dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.29" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" - integrity sha1-pY0x6q2vksZpVoCy4dRkqbj79/w= + version "0.3.25" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha1-FfGQ6YiV8/wjJ27hS8drZ1wuUPA= dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -428,7 +434,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U= dependencies: "@nodelib/fs.stat" "2.0.5" @@ -436,12 +442,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos= "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po= dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -449,155 +455,156 @@ "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM= -"@secretlint/config-creator@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/config-creator/-/config-creator-10.2.2.tgz#5d646e83bb2aacfbd5218968ceb358420b4c2cb3" - integrity sha1-XWRug7sqrPvVIYlozrNYQgtMLLM= +"@secretlint/config-creator@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/config-creator/-/config-creator-9.3.3.tgz" + integrity sha1-J/20J9bYnHlbusptwuAr2MITkIo= dependencies: - "@secretlint/types" "^10.2.2" + "@secretlint/types" "^9.3.3" -"@secretlint/config-loader@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/config-loader/-/config-loader-10.2.2.tgz#a7790c8d0301db4f6d47e6fb0f0f9482fe652d9a" - integrity sha1-p3kMjQMB209tR+b7Dw+Ugv5lLZo= +"@secretlint/config-loader@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/config-loader/-/config-loader-9.3.3.tgz" + integrity sha1-txHQLRJF5SfTmGzDqWJnU5Ma6Jo= dependencies: - "@secretlint/profiler" "^10.2.2" - "@secretlint/resolver" "^10.2.2" - "@secretlint/types" "^10.2.2" + "@secretlint/profiler" "^9.3.3" + "@secretlint/resolver" "^9.3.3" + "@secretlint/types" "^9.3.3" ajv "^8.17.1" debug "^4.4.1" rc-config-loader "^4.1.3" -"@secretlint/core@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/core/-/core-10.2.2.tgz#cd41d5c27ba07c217f0af4e0e24dbdfe5ef62042" - integrity sha1-zUHVwnugfCF/CvTg4k29/l72IEI= +"@secretlint/core@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/core/-/core-9.3.3.tgz" + integrity sha1-bG3e2QL7FttbbApwBmAql3uOc4Y= dependencies: - "@secretlint/profiler" "^10.2.2" - "@secretlint/types" "^10.2.2" + "@secretlint/profiler" "^9.3.3" + "@secretlint/types" "^9.3.3" debug "^4.4.1" structured-source "^4.0.0" -"@secretlint/formatter@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/formatter/-/formatter-10.2.2.tgz#c8ce35803ad0d841cc9b6e703d6fab68a144e9c0" - integrity sha1-yM41gDrQ2EHMm25wPW+raKFE6cA= - dependencies: - "@secretlint/resolver" "^10.2.2" - "@secretlint/types" "^10.2.2" - "@textlint/linter-formatter" "^15.2.0" - "@textlint/module-interop" "^15.2.0" - "@textlint/types" "^15.2.0" - chalk "^5.4.1" +"@secretlint/formatter@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/formatter/-/formatter-9.3.3.tgz" + integrity sha1-GC+TvxCgKTIb9FEXGe/IKNA6XTM= + dependencies: + "@secretlint/resolver" "^9.3.3" + "@secretlint/types" "^9.3.3" + "@textlint/linter-formatter" "^14.7.1" + "@textlint/module-interop" "^14.7.1" + "@textlint/types" "^14.7.1" + chalk "^4.1.2" debug "^4.4.1" pluralize "^8.0.0" - strip-ansi "^7.1.0" + strip-ansi "^6.0.1" table "^6.9.0" - terminal-link "^4.0.0" - -"@secretlint/node@^10.1.1", "@secretlint/node@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/node/-/node-10.2.2.tgz#1d8a6ed620170bf4f29829a3a91878682c43c4d9" - integrity sha1-HYpu1iAXC/TymCmjqRh4aCxDxNk= - dependencies: - "@secretlint/config-loader" "^10.2.2" - "@secretlint/core" "^10.2.2" - "@secretlint/formatter" "^10.2.2" - "@secretlint/profiler" "^10.2.2" - "@secretlint/source-creator" "^10.2.2" - "@secretlint/types" "^10.2.2" + terminal-link "^2.1.1" + +"@secretlint/node@^9.3.2", "@secretlint/node@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/node/-/node-9.3.3.tgz" + integrity sha1-FF5KjMSzyGBqXdJYSTY2iuzC730= + dependencies: + "@secretlint/config-loader" "^9.3.3" + "@secretlint/core" "^9.3.3" + "@secretlint/formatter" "^9.3.3" + "@secretlint/profiler" "^9.3.3" + "@secretlint/source-creator" "^9.3.3" + "@secretlint/types" "^9.3.3" debug "^4.4.1" - p-map "^7.0.3" + p-map "^4.0.0" -"@secretlint/profiler@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/profiler/-/profiler-10.2.2.tgz#82c085ab1966806763bbf6edb830987f25d4e797" - integrity sha1-gsCFqxlmgGdju/btuDCYfyXU55c= +"@secretlint/profiler@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/profiler/-/profiler-9.3.3.tgz" + integrity sha1-kSFdD8cAbhuSLwA1U2YLO1hU8TU= -"@secretlint/resolver@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/resolver/-/resolver-10.2.2.tgz#9c3c3e2fef00679fcce99793e76e19e575b75721" - integrity sha1-nDw+L+8AZ5/M6ZeT524Z5XW3VyE= +"@secretlint/resolver@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/resolver/-/resolver-9.3.3.tgz" + integrity sha1-JFcYU3rGeRSeY5YLEZbNdX65plo= -"@secretlint/secretlint-formatter-sarif@^10.1.1": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-formatter-sarif/-/secretlint-formatter-sarif-10.2.2.tgz#5c4044a6a6c9d95e2f57270d6184931f0979d649" - integrity sha1-XEBEpqbJ2V4vVycNYYSTHwl51kk= +"@secretlint/secretlint-formatter-sarif@^9.3.2": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-formatter-sarif/-/secretlint-formatter-sarif-9.3.3.tgz" + integrity sha1-/rsSNQVP0/d8DjlTisE4tmrUHhU= dependencies: - node-sarif-builder "^3.2.0" + node-sarif-builder "^2.0.3" -"@secretlint/secretlint-rule-no-dotenv@^10.1.1": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-rule-no-dotenv/-/secretlint-rule-no-dotenv-10.2.2.tgz#ea43dcc2abd1dac3288b056610361f319f5ce6e9" - integrity sha1-6kPcwqvR2sMoiwVmEDYfMZ9c5uk= +"@secretlint/secretlint-rule-no-dotenv@^9.3.2": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-rule-no-dotenv/-/secretlint-rule-no-dotenv-9.3.3.tgz" + integrity sha1-a7ka/hhJZ2HXIQ/8ZDzviOtUXrU= dependencies: - "@secretlint/types" "^10.2.2" + "@secretlint/types" "^9.3.3" -"@secretlint/secretlint-rule-preset-recommend@^10.1.1": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-rule-preset-recommend/-/secretlint-rule-preset-recommend-10.2.2.tgz#27b17c38b360c6788826d28fcda28ac6e9772d0b" - integrity sha1-J7F8OLNgxniIJtKPzaKKxul3LQs= +"@secretlint/secretlint-rule-preset-recommend@^9.3.2": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/secretlint-rule-preset-recommend/-/secretlint-rule-preset-recommend-9.3.3.tgz" + integrity sha1-H1dPRCqOsin5q146db++JPVNfzE= -"@secretlint/source-creator@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/source-creator/-/source-creator-10.2.2.tgz#d600b6d4487859cdd39bbb1cf8cf744540b3f7a1" - integrity sha1-1gC21Eh4Wc3Tm7sc+M90RUCz96E= +"@secretlint/source-creator@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/source-creator/-/source-creator-9.3.3.tgz" + integrity sha1-hi0oTdff7M6fwdGb20OOS5gjebA= dependencies: - "@secretlint/types" "^10.2.2" - istextorbinary "^9.5.0" + "@secretlint/types" "^9.3.3" + istextorbinary "^6.0.0" -"@secretlint/types@^10.2.2": - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/types/-/types-10.2.2.tgz#1412d8f699fd900182cbf4c2923a9df9eb321ca7" - integrity sha1-FBLY9pn9kAGCy/TCkjqd+esyHKc= +"@secretlint/types@^9.3.3": + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@secretlint/types/-/types-9.3.3.tgz" + integrity sha1-yPRou227pqbm/osFlErI8ZflepE= "@sindresorhus/merge-streams@^2.1.0": version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz" integrity sha1-cZ33+0F2a8FDNp6qDdVtjch8mVg= "@sinonjs/commons@^3.0.1": version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/commons/-/commons-3.0.1.tgz" integrity sha1-ECk1fkTKkBphVYX20nc428iQhM0= dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^13.0.5": version "13.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz#36b9dbc21ad5546486ea9173d6bea063eb1717d5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz" integrity sha1-NrnbwhrVVGSG6pFz1r6gY+sXF9U= dependencies: "@sinonjs/commons" "^3.0.1" "@sinonjs/samsam@^8.0.1": - version "8.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/samsam/-/samsam-8.0.3.tgz#eb6ffaef421e1e27783cc9b52567de20cb28072d" - integrity sha1-62/670IeHid4PMm1JWfeIMsoBy0= + version "8.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/samsam/-/samsam-8.0.2.tgz" + integrity sha1-5Dhr9mj/NslZSeVaONxfWJL8Jok= dependencies: "@sinonjs/commons" "^3.0.1" + lodash.get "^4.4.2" type-detect "^4.1.0" -"@textlint/ast-node-types@15.2.1": - version "15.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/ast-node-types/-/ast-node-types-15.2.1.tgz#b98ce5bdf9e39941caa02e4cfcee459656c82b21" - integrity sha1-uYzlvfnjmUHKoC5M/O5FllbIKyE= +"@textlint/ast-node-types@^14.7.2": + version "14.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/ast-node-types/-/ast-node-types-14.7.2.tgz" + integrity sha1-6LJ0mTDjEI5OkZZmPMnlNz1SMEs= -"@textlint/linter-formatter@^15.2.0": - version "15.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/linter-formatter/-/linter-formatter-15.2.1.tgz#5e9015fe55daf1cb55c28ae1e81b3aea5e5cebd1" - integrity sha1-XpAV/lXa8ctVworh6Bs66l5c69E= +"@textlint/linter-formatter@^14.7.1": + version "14.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/linter-formatter/-/linter-formatter-14.7.2.tgz" + integrity sha1-CwjrnZWbj8r3ULGV3rqN2hVX6qs= dependencies: "@azu/format-text" "^1.0.2" "@azu/style-format" "^1.0.1" - "@textlint/module-interop" "15.2.1" - "@textlint/resolver" "15.2.1" - "@textlint/types" "15.2.1" + "@textlint/module-interop" "^14.7.2" + "@textlint/resolver" "^14.7.2" + "@textlint/types" "^14.7.2" chalk "^4.1.2" - debug "^4.4.1" + debug "^4.4.0" js-yaml "^3.14.1" lodash "^4.17.21" pluralize "^2.0.0" @@ -606,46 +613,61 @@ table "^6.9.0" text-table "^0.2.0" -"@textlint/module-interop@15.2.1", "@textlint/module-interop@^15.2.0": - version "15.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/module-interop/-/module-interop-15.2.1.tgz#97d05335280cdf680427c6eede2a4be448f24be3" - integrity sha1-l9BTNSgM32gEJ8bu3ipL5EjyS+M= +"@textlint/module-interop@^14.7.1", "@textlint/module-interop@^14.7.2": + version "14.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/module-interop/-/module-interop-14.7.2.tgz" + integrity sha1-exGF/8QZAPFu8hLhOanwoFco/0E= -"@textlint/resolver@15.2.1": - version "15.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/resolver/-/resolver-15.2.1.tgz#401527b287ffb921a7b03bb51d0319200ec8f580" - integrity sha1-QBUnsof/uSGnsDu1HQMZIA7I9YA= +"@textlint/resolver@^14.7.2": + version "14.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/resolver/-/resolver-14.7.2.tgz" + integrity sha1-Hqexoot1zJl9sZhx2V+MXvHGfzA= -"@textlint/types@15.2.1", "@textlint/types@^15.2.0": - version "15.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/types/-/types-15.2.1.tgz#2f29758df05a092e9ca661c0c65182d195bbb15a" - integrity sha1-Lyl1jfBaCS6cpmHAxlGC0ZW7sVo= +"@textlint/types@^14.7.1", "@textlint/types@^14.7.2": + version "14.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@textlint/types/-/types-14.7.2.tgz" + integrity sha1-e7Uhh1Fc2vDbT9CL3BWL2rWXwWQ= dependencies: - "@textlint/ast-node-types" "15.2.1" + "@textlint/ast-node-types" "^14.7.2" "@tsconfig/node10@^1.0.7": version "1.0.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node10/-/node10-1.0.11.tgz" integrity sha1-buRkAGhfEw4ngSjHs4t+Ax/1svI= "@tsconfig/node12@^1.0.7": version "1.0.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node12/-/node12-1.0.11.tgz" integrity sha1-7j3vHyfZ7WbaxuRqKVz/sBUuBY0= "@tsconfig/node14@^1.0.0": version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node14/-/node14-1.0.3.tgz" integrity sha1-5DhjFihPALmENb9A9y91oJ2r9sE= "@tsconfig/node16@^1.0.2": version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tsconfig/node16/-/node16-1.0.4.tgz" integrity sha1-C5LcwMwcgfbzBqOB8o4xsaVlNuk= +"@types/body-parser@*": + version "1.19.6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha1-GFm+u4/X2smRikXVTBlxq4ta9HQ= + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha1-W6fzvE+73q/43e2VLl/yzFP42Fg= + dependencies: + "@types/node" "*" + "@types/eslint-scope@^3.7.7": version "3.7.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" integrity sha1-MQi9XxiwzbJ3yGez3UScntcHmsU= dependencies: "@types/eslint" "*" @@ -653,27 +675,56 @@ "@types/eslint@*": version "9.6.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/eslint/-/eslint-9.6.1.tgz" integrity sha1-1Xla1zLOgXFfJ/ddqRMASlZ1FYQ= dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.6", "@types/estree@^1.0.8": - version "1.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha1-lYuRyZGxhnztMYvt6g4hXuBQcm4= +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/estree/-/estree-1.0.7.tgz" + integrity sha1-QVjTEFJ2dz1bdpXNSDSxci5PN6g= + +"@types/express-serve-static-core@^5.0.0": + version "5.0.7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz#2fa94879c9d46b11a5df4c74ac75befd6b283de6" + integrity sha1-L6lIecnUaxGl30x0rHW+/WsoPeY= + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@^5.0.3": + version "5.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956" + integrity sha1-bEvGrN3C4qWHFC4di+C84gdX6VY= + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "*" + +"@types/http-errors@*": + version "2.0.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha1-W3SasrFroRNCP+saZKldzTA5hHI= "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha1-dznCMqH+6bTTzomF8xTAxtM1Sdc= "@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": version "7.0.15" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/json-schema/-/json-schema-7.0.15.tgz" integrity sha1-WWoXRyM2lNUPatinhp/Lb1bPWEE= +"@types/mime@^1": + version "1.3.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha1-HvMC4Bz30rWg+lJnkMkSO/HQZpA= + "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -681,135 +732,156 @@ "@types/mocha@^10.0.10", "@types/mocha@^10.0.2": version "10.0.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/mocha/-/mocha-10.0.10.tgz" integrity sha1-kfYpBejSPL1mIlMS8jlFSiO+v6A= "@types/node-forge@^1.3.11": - version "1.3.13" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node-forge/-/node-forge-1.3.13.tgz#1797af20f7eccaf5f37b4d1739923bb0519d95b6" - integrity sha1-F5evIPfsyvXze00XOZI7sFGdlbY= + version "1.3.11" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node-forge/-/node-forge-1.3.11.tgz" + integrity sha1-CXLqU43bD02cL6DsXbVyR3OmBNo= dependencies: "@types/node" "*" -"@types/node@*": - version "24.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-24.2.0.tgz#cde712f88c5190006d6b069232582ecd1f94a760" - integrity sha1-zecS+IxRkABtawaSMlguzR+Up2A= - dependencies: - undici-types "~7.10.0" - -"@types/node@20.x": - version "20.19.9" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-20.19.9.tgz#ca9a58193fec361cc6e859d88b52261853f1f0d3" - integrity sha1-yppYGT/sNhzG6FnYi1ImGFPx8NM= +"@types/node@*", "@types/node@20.x": + version "20.17.52" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-20.17.52.tgz" + integrity sha1-DPWCNx+IUpxh84T81Xoht5fFbG4= dependencies: - undici-types "~6.21.0" + undici-types "~6.19.2" -"@types/normalize-package-data@^2.4.3": +"@types/normalize-package-data@^2.4.1": version "2.4.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" integrity sha1-VuLMJsOXwDj6sOOpF6EtXFkJ6QE= -"@types/retry@0.12.2": - version "0.12.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" - integrity sha1-7SeaZPpDi7afJIDtpEk3kSu3SAo= +"@types/qs@*": + version "6.14.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha1-2LYM7PYvLbD7aOXgBgd7kXi4XeU= + +"@types/range-parser@*": + version "1.2.7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha1-UK5DU+qt3AQEQnmBL1LIxlhX28s= -"@types/sarif@^2.1.7": +"@types/sarif@^2.1.4": version "2.1.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sarif/-/sarif-2.1.7.tgz#dab4d16ba7568e9846c454a8764f33c5d98e5524" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sarif/-/sarif-2.1.7.tgz" integrity sha1-2rTRa6dWjphGxFSodk8zxdmOVSQ= +"@types/send@*": + version "0.17.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74" + integrity sha1-2ZHU8rFvKx70lxMfAKkRQpB5HnQ= + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-static@*": + version "1.15.8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877" + integrity sha1-gYDD++SnDo8AufcLm6fwjzWYeHc= + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + "@types/sinon@^17.0.4": version "17.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sinon/-/sinon-17.0.4.tgz#fd9a3e8e07eea1a3f4a6f82a972c899e5778f369" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sinon/-/sinon-17.0.4.tgz" integrity sha1-/Zo+jgfuoaP0pvgqlyyJnld482k= dependencies: "@types/sinonjs__fake-timers" "*" "@types/sinonjs__fake-timers@*": version "8.1.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz#5fd3592ff10c1e9695d377020c033116cc2889f2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz" integrity sha1-X9NZL/EMHpaV03cCDAMxFswoifI= "@types/vscode@^1.98.0": - version "1.102.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/vscode/-/vscode-1.102.0.tgz#186dd6d4755807754a18ca869384c93b821039f2" - integrity sha1-GG3W1HVYB3VKGMqGk4TJO4IQOfI= + version "1.100.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/vscode/-/vscode-1.100.0.tgz" + integrity sha1-Nc1iioaxFYeFbflL6UBUqrAfLxc= + +"@types/ws@^8.18.1": + version "8.18.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha1-SEZOS/Ld/RfbE9hFRn9gcP/qSqk= + dependencies: + "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.39.0", "@typescript-eslint/eslint-plugin@^8.28.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.39.0.tgz#c9afec1866ee1a6ea3d768b5f8e92201efbbba06" - integrity sha1-ya/sGGbuGm6j12i1+OkiAe+7ugY= +"@typescript-eslint/eslint-plugin@8.33.0", "@typescript-eslint/eslint-plugin@^8.28.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz" + integrity sha1-Ue0DZJV1ulG87n79v9hSgySbVEc= dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.39.0" - "@typescript-eslint/type-utils" "8.39.0" - "@typescript-eslint/utils" "8.39.0" - "@typescript-eslint/visitor-keys" "8.39.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/type-utils" "8.33.0" + "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" graphemer "^1.4.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@8.39.0", "@typescript-eslint/parser@^8.28.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/parser/-/parser-8.39.0.tgz#c4b895d7a47f4cd5ee6ee77ea30e61d58b802008" - integrity sha1-xLiV16R/TNXubud+ow5h1YuAIAg= +"@typescript-eslint/parser@8.33.0", "@typescript-eslint/parser@^8.28.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/parser/-/parser-8.33.0.tgz" + integrity sha1-jlI8K0R6181qyRtxnYs3RJSBeE0= dependencies: - "@typescript-eslint/scope-manager" "8.39.0" - "@typescript-eslint/types" "8.39.0" - "@typescript-eslint/typescript-estree" "8.39.0" - "@typescript-eslint/visitor-keys" "8.39.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" debug "^4.3.4" -"@typescript-eslint/project-service@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/project-service/-/project-service-8.39.0.tgz#71cb29c3f8139f99a905b8705127bffc2ae84759" - integrity sha1-ccspw/gTn5mpBbhwUSe//CroR1k= +"@typescript-eslint/project-service@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/project-service/-/project-service-8.33.0.tgz" + integrity sha1-cfN++QEN5HvyCWORR0PFy++FHgg= dependencies: - "@typescript-eslint/tsconfig-utils" "^8.39.0" - "@typescript-eslint/types" "^8.39.0" + "@typescript-eslint/tsconfig-utils" "^8.33.0" + "@typescript-eslint/types" "^8.33.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-8.39.0.tgz#ba4bf6d8257bbc172c298febf16bc22df4856570" - integrity sha1-ukv22CV7vBcsKY/r8WvCLfSFZXA= +"@typescript-eslint/scope-manager@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz" + integrity sha1-RZzwxJ1BCACxoCO5c8YtaZsJv0w= dependencies: - "@typescript-eslint/types" "8.39.0" - "@typescript-eslint/visitor-keys" "8.39.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" -"@typescript-eslint/tsconfig-utils@8.39.0", "@typescript-eslint/tsconfig-utils@^8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.0.tgz#b2e87fef41a3067c570533b722f6af47be213f13" - integrity sha1-suh/70GjBnxXBTO3IvavR74hPxM= +"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz" + integrity sha1-MWrasDi73EPkSHgdWoFsKXPqtz4= -"@typescript-eslint/type-utils@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/type-utils/-/type-utils-8.39.0.tgz#310ec781ae5e7bb0f5940bfd652573587f22786b" - integrity sha1-MQ7Hga5ee7D1lAv9ZSVzWH8ieGs= +"@typescript-eslint/type-utils@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz" + integrity sha1-8GEkstbbilGySZDLEjyVQ6+T/vU= dependencies: - "@typescript-eslint/types" "8.39.0" - "@typescript-eslint/typescript-estree" "8.39.0" - "@typescript-eslint/utils" "8.39.0" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/utils" "8.33.0" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.39.0", "@typescript-eslint/types@^8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/types/-/types-8.39.0.tgz#80f010b7169d434a91cd0529d70a528dbc9c99c6" - integrity sha1-gPAQtxadQ0qRzQUp1wpSjbycmcY= +"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/types/-/types-8.33.0.tgz" + integrity sha1-AqfbumEair8a0qngD3L3uUtasO4= -"@typescript-eslint/typescript-estree@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.0.tgz#b9477a5c47a0feceffe91adf553ad9a3cd4cb3d6" - integrity sha1-uUd6XEeg/s7/6RrfVTrZo81Ms9Y= +"@typescript-eslint/typescript-estree@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz" + integrity sha1-q8wdPbdajp/S4nTujECZ+iOZq/0= dependencies: - "@typescript-eslint/project-service" "8.39.0" - "@typescript-eslint/tsconfig-utils" "8.39.0" - "@typescript-eslint/types" "8.39.0" - "@typescript-eslint/visitor-keys" "8.39.0" + "@typescript-eslint/project-service" "8.33.0" + "@typescript-eslint/tsconfig-utils" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -817,28 +889,28 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/utils/-/utils-8.39.0.tgz#dfea42f3c7ec85f9f3e994ff0bba8f3b2f09e220" - integrity sha1-3+pC88fshfnz6ZT/C7qPOy8J4iA= +"@typescript-eslint/utils@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/utils/-/utils-8.33.0.tgz" + integrity sha1-V0rV7e43EHe54oym+4BPJED0R8E= dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.39.0" - "@typescript-eslint/types" "8.39.0" - "@typescript-eslint/typescript-estree" "8.39.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" -"@typescript-eslint/visitor-keys@8.39.0": - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.0.tgz#5d619a6e810cdd3fd1913632719cbccab08bf875" - integrity sha1-XWGaboEM3T/RkTYycZy8yrCL+HU= +"@typescript-eslint/visitor-keys@8.33.0": + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz" + integrity sha1-+64W/TWUUx+MrZXUIRJdY06ZdP4= dependencies: - "@typescript-eslint/types" "8.39.0" - eslint-visitor-keys "^4.2.1" + "@typescript-eslint/types" "8.33.0" + eslint-visitor-keys "^4.2.0" -"@typespec/ts-http-runtime@^0.3.0": - version "0.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz#f506ff2170e594a257f8e78aa196088f3a46a22d" - integrity sha1-9Qb/IXDllKJX+OeKoZYIjzpGoi0= +"@typespec/ts-http-runtime@^0.2.2": + version "0.2.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typespec/ts-http-runtime/-/ts-http-runtime-0.2.2.tgz" + integrity sha1-oMdFjtmarm1+si78F6g5zsC0obM= dependencies: http-proxy-agent "^7.0.0" https-proxy-agent "^7.0.0" @@ -855,7 +927,7 @@ "@vscode/test-cli@^0.0.10": version "0.0.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/test-cli/-/test-cli-0.0.10.tgz#35f0e81c2e0ff8daceb223e99d1b65306c15822c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/test-cli/-/test-cli-0.0.10.tgz" integrity sha1-NfDoHC4P+NrOsiPpnRtlMGwVgiw= dependencies: "@types/mocha" "^10.0.2" @@ -870,7 +942,7 @@ "@vscode/test-electron@^2.4.1": version "2.5.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/test-electron/-/test-electron-2.5.2.tgz#f7d4078e8230ce9c94322f2a29cc16c17954085d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/test-electron/-/test-electron-2.5.2.tgz" integrity sha1-99QHjoIwzpyUMi8qKcwWwXlUCF0= dependencies: http-proxy-agent "^7.0.2" @@ -879,79 +951,79 @@ ora "^8.1.0" semver "^7.6.2" -"@vscode/vsce-sign-alpine-arm64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.5.tgz#e34cbf91f4e86a6cf52abc2e6e75084ae18f6c4a" - integrity sha1-40y/kfToamz1KrwubnUISuGPbEo= +"@vscode/vsce-sign-alpine-arm64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.2.tgz#4accc485e55aa6ff04b195b47f722ead57daa58e" + integrity sha1-SszEheVapv8EsZW0f3IurVfapY4= -"@vscode/vsce-sign-alpine-x64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.5.tgz#7443c0e839e74f03fce0cc3145330f0d2a80cc87" - integrity sha1-dEPA6DnnTwP84MwxRTMPDSqAzIc= +"@vscode/vsce-sign-alpine-x64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.2.tgz#4a4b7b505b4cc0f58596394897c49a0bce0e540c" + integrity sha1-Skt7UFtMwPWFljlIl8SaC84OVAw= -"@vscode/vsce-sign-darwin-arm64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.5.tgz#2eabac7d8371292a8d22a15b3ff57f1988c29d6b" - integrity sha1-LqusfYNxKSqNIqFbP/V/GYjCnWs= +"@vscode/vsce-sign-darwin-arm64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.2.tgz" + integrity sha1-EKpp/rf4Gj3GjCQgOMoD6v8ZwS4= -"@vscode/vsce-sign-darwin-x64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.5.tgz#96fb0329c8a367184c203d62574f9a92193022d8" - integrity sha1-lvsDKcijZxhMID1iV0+akhkwItg= +"@vscode/vsce-sign-darwin-x64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.2.tgz#3315528f3ea1007a648b3320bff36a33a9e07aa5" + integrity sha1-MxVSjz6hAHpkizMgv/NqM6ngeqU= -"@vscode/vsce-sign-linux-arm64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.5.tgz#c0450232aba43fbeadff5309838a5655dc7039c8" - integrity sha1-wEUCMqukP76t/1MJg4pWVdxwOcg= +"@vscode/vsce-sign-linux-arm64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.2.tgz#ce5c5cfc99e3454b4fb770405812b46bd6dca870" + integrity sha1-zlxc/JnjRUtPt3BAWBK0a9bcqHA= -"@vscode/vsce-sign-linux-arm@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.5.tgz#bf07340db1fe35cb3a8a222b2da4aa25310ee251" - integrity sha1-vwc0DbH+Ncs6iiIrLaSqJTEO4lE= +"@vscode/vsce-sign-linux-arm@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.2.tgz#4142fda83e7130b31aedd8aa81e4daa6334323c2" + integrity sha1-QUL9qD5xMLMa7diqgeTapjNDI8I= -"@vscode/vsce-sign-linux-x64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.5.tgz#23829924f40867e90d5e3bb861e8e8fa045eb0ee" - integrity sha1-I4KZJPQIZ+kNXju4Yejo+gResO4= +"@vscode/vsce-sign-linux-x64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.2.tgz#59ab93f322efb3cf49166d4e2e812789c3117428" + integrity sha1-WauT8yLvs89JFm1OLoEnicMRdCg= -"@vscode/vsce-sign-win32-arm64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.5.tgz#18ef271f5f7d9b31c03127582c1b1c51f26e23b4" - integrity sha1-GO8nH199mzHAMSdYLBscUfJuI7Q= +"@vscode/vsce-sign-win32-arm64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.2.tgz#d095704a14b0404c0b6f696e9889e9a51b31a86c" + integrity sha1-0JVwShSwQEwLb2lumInppRsxqGw= -"@vscode/vsce-sign-win32-x64@2.0.5": - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.5.tgz#83b89393e4451cfa7e3a2182aea4250f5e71aca8" - integrity sha1-g7iTk+RFHPp+OiGCrqQlD15xrKg= +"@vscode/vsce-sign-win32-x64@2.0.2": + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.2.tgz#294ea72b44fedd694d49f5cef4c55bf3876dc257" + integrity sha1-KU6nK0T+3WlNSfXO9MVb84dtwlc= "@vscode/vsce-sign@^2.0.0": - version "2.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign/-/vsce-sign-2.0.6.tgz#a2b11e29dab56379c513e0cc52615edad1d34cd3" - integrity sha1-orEeKdq1Y3nFE+DMUmFe2tHTTNM= + version "2.0.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign/-/vsce-sign-2.0.5.tgz" + integrity sha1-iFADZHbcDU4IDZwtgyXj6X7/UZM= optionalDependencies: - "@vscode/vsce-sign-alpine-arm64" "2.0.5" - "@vscode/vsce-sign-alpine-x64" "2.0.5" - "@vscode/vsce-sign-darwin-arm64" "2.0.5" - "@vscode/vsce-sign-darwin-x64" "2.0.5" - "@vscode/vsce-sign-linux-arm" "2.0.5" - "@vscode/vsce-sign-linux-arm64" "2.0.5" - "@vscode/vsce-sign-linux-x64" "2.0.5" - "@vscode/vsce-sign-win32-arm64" "2.0.5" - "@vscode/vsce-sign-win32-x64" "2.0.5" + "@vscode/vsce-sign-alpine-arm64" "2.0.2" + "@vscode/vsce-sign-alpine-x64" "2.0.2" + "@vscode/vsce-sign-darwin-arm64" "2.0.2" + "@vscode/vsce-sign-darwin-x64" "2.0.2" + "@vscode/vsce-sign-linux-arm" "2.0.2" + "@vscode/vsce-sign-linux-arm64" "2.0.2" + "@vscode/vsce-sign-linux-x64" "2.0.2" + "@vscode/vsce-sign-win32-arm64" "2.0.2" + "@vscode/vsce-sign-win32-x64" "2.0.2" "@vscode/vsce@^3.3.2": - version "3.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce/-/vsce-3.6.0.tgz#7102cb846db83ed70ec7119986af7d7c69cf3538" - integrity sha1-cQLLhG24PtcOxxGZhq99fGnPNTg= + version "3.4.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce/-/vsce-3.4.2.tgz" + integrity sha1-j+yDq1Gt2wyMYTmiCWz9AuBtFhk= dependencies: "@azure/identity" "^4.1.0" - "@secretlint/node" "^10.1.1" - "@secretlint/secretlint-formatter-sarif" "^10.1.1" - "@secretlint/secretlint-rule-no-dotenv" "^10.1.1" - "@secretlint/secretlint-rule-preset-recommend" "^10.1.1" + "@secretlint/node" "^9.3.2" + "@secretlint/secretlint-formatter-sarif" "^9.3.2" + "@secretlint/secretlint-rule-no-dotenv" "^9.3.2" + "@secretlint/secretlint-rule-preset-recommend" "^9.3.2" "@vscode/vsce-sign" "^2.0.0" azure-devops-node-api "^12.5.0" - chalk "^4.1.2" + chalk "^2.4.2" cheerio "^1.0.0-rc.9" cockatiel "^3.1.2" commander "^12.1.0" @@ -965,7 +1037,7 @@ minimatch "^3.0.3" parse-semver "^1.1.1" read "^1.0.7" - secretlint "^10.1.1" + secretlint "^9.3.2" semver "^7.5.2" tmp "^0.2.3" typed-rest-client "^1.8.4" @@ -978,7 +1050,7 @@ "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha1-qfagfysDyVyNOMRTah/ftSH/VbY= dependencies: "@webassemblyjs/helper-numbers" "1.13.2" @@ -986,22 +1058,22 @@ "@webassemblyjs/floating-point-hex-parser@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz" integrity sha1-/Moe7dscxOe27tT8eVbWgTshufs= "@webassemblyjs/helper-api-error@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz" integrity sha1-4KFhUiSLw42u523X4h8Vxe86sec= "@webassemblyjs/helper-buffer@1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz" integrity sha1-giqbxgMWZTH31d+E5ntb+ZtyuWs= "@webassemblyjs/helper-numbers@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz" integrity sha1-29kyVI5xGfS4p4d/1ajSDmNJCy0= dependencies: "@webassemblyjs/floating-point-hex-parser" "1.13.2" @@ -1010,12 +1082,12 @@ "@webassemblyjs/helper-wasm-bytecode@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz" integrity sha1-5VYQh1j0SKroTIUOWTzhig6zHgs= "@webassemblyjs/helper-wasm-section@1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz" integrity sha1-lindqcRDDqtUtZEFPW3G87oFA0g= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1025,26 +1097,26 @@ "@webassemblyjs/ieee754@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz" integrity sha1-HF6qzh1gatosf9cEXqk1bFnuDbo= dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/leb128/-/leb128-1.13.2.tgz" integrity sha1-V8XD3rAQXQLOJfo/109OvJ/Qu7A= dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.13.2": version "1.13.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/utf8/-/utf8-1.13.2.tgz" integrity sha1-kXog6T9xrVYClmwtaFrgxsIfYPE= "@webassemblyjs/wasm-edit@^1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz" integrity sha1-rGaJ9QIhm1kZjd7ELc1JaxAE1Zc= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1058,7 +1130,7 @@ "@webassemblyjs/wasm-gen@1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz" integrity sha1-mR5/DAkMsLtiu6yIIHbj0hnalXA= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1069,7 +1141,7 @@ "@webassemblyjs/wasm-opt@1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz" integrity sha1-5vce18yuRngcIGAX08FMUO+oEGs= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1079,7 +1151,7 @@ "@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha1-s+E/GJNgXKeLUsaOVM9qhl+Qufs= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1091,7 +1163,7 @@ "@webassemblyjs/wast-printer@1.14.1": version "1.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz" integrity sha1-O7PpY4qK5f2vlhDnoGtNn5qm/gc= dependencies: "@webassemblyjs/ast" "1.14.1" @@ -1099,42 +1171,45 @@ "@webpack-cli/configtest@^3.0.1": version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/configtest/-/configtest-3.0.1.tgz#76ac285b9658fa642ce238c276264589aa2b6b57" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/configtest/-/configtest-3.0.1.tgz" integrity sha1-dqwoW5ZY+mQs4jjCdiZFiaora1c= "@webpack-cli/info@^3.0.1": version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/info/-/info-3.0.1.tgz#3cff37fabb7d4ecaab6a8a4757d3826cf5888c63" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/info/-/info-3.0.1.tgz" integrity sha1-PP83+rt9TsqraopHV9OCbPWIjGM= "@webpack-cli/serve@^3.0.1": version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/serve/-/serve-3.0.1.tgz#bd8b1f824d57e30faa19eb78e4c0951056f72f00" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/serve/-/serve-3.0.1.tgz" integrity sha1-vYsfgk1X4w+qGet45MCVEFb3LwA= "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@xtuc/ieee754/-/ieee754-1.2.0.tgz" integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@xtuc/long/-/long-4.2.2.tgz" integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= -acorn-import-phases@^1.0.3: - version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7" - integrity sha1-FuuFC6maBWy3y/6HL/uJcuGMi9c= +accepts@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895" + integrity sha1-u89LpQdUZ/PyEx6rPP/HPC9deJU= + dependencies: + mime-types "^3.0.0" + negotiator "^1.0.0" acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc= acorn-walk@^8.1.1: version "8.3.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-walk/-/acorn-walk-8.3.4.tgz" integrity sha1-eU3RacOXft9LpOpHWDWHxYZiNrc= dependencies: acorn "^8.11.0" @@ -1144,33 +1219,41 @@ acorn@^6.4.1: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= -acorn@^8.11.0, acorn@^8.14.0, acorn@^8.15.0, acorn@^8.4.1: - version "8.15.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha1-o2CJi8QV7arEbIJB9jg5dbkwuBY= +acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: + version "8.14.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-8.14.1.tgz" + integrity sha1-ch1dwQ99W1YJqJF3PUdzF5aTXfs= agent-base@^7.1.0, agent-base@^7.1.2: - version "7.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" - integrity sha1-48121MVI7oldPD/Y3B9sW5Ay56g= + version "7.1.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/agent-base/-/agent-base-7.1.3.tgz" + integrity sha1-KUNeuCG8QZRjOluJ5bxHA7r8JaE= + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" ajv-formats@^2.1.1: version "2.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha1-bmaUAGWet0lzu/LjMycYCgmWtSA= dependencies: ajv "^8.0.0" ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv-keywords/-/ajv-keywords-5.1.0.tgz" integrity sha1-adTThaRzPNvqtElkoRcKiPh/DhY= dependencies: fast-deep-equal "^3.1.3" ajv@^6.12.4: version "6.12.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv/-/ajv-6.12.6.tgz" integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= dependencies: fast-deep-equal "^3.1.1" @@ -1180,7 +1263,7 @@ ajv@^6.12.4: ajv@^8.0.0, ajv@^8.0.1, ajv@^8.17.1, ajv@^8.9.0: version "8.17.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv/-/ajv-8.17.1.tgz" integrity sha1-N9mlx3ava8ktf0+VEOukwKYNEaY= dependencies: fast-deep-equal "^3.1.3" @@ -1190,73 +1273,67 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.17.1, ajv@^8.9.0: ansi-colors@^1.0.1: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-colors/-/ansi-colors-1.1.0.tgz" integrity sha1-Y3S03V1HGP884npnGjscrQdxMqk= dependencies: ansi-wrap "^0.1.0" ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs= -ansi-escapes@^7.0.0: - version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" - integrity sha1-APwZ9JG7sY4dSBuXhoIE+SEJv+c= +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= dependencies: - environment "^1.0.0" + type-fest "^0.21.3" ansi-gray@^0.1.1: version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-gray/-/ansi-gray-0.1.1.tgz" integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= dependencies: ansi-wrap "0.1.0" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - ansi-regex@^5.0.1: version "5.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ= ansi-regex@^6.0.1: version "6.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-6.1.0.tgz" integrity sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ= +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: version "6.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha1-DmIyDPmcIa//OzASGSVGqsv7BcU= ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-wrap/-/ansi-wrap-0.1.0.tgz" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= -anymatch@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.2: +anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/anymatch/-/anymatch-3.1.3.tgz" integrity sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4= dependencies: normalize-path "^3.0.0" @@ -1264,60 +1341,36 @@ anymatch@~3.1.2: append-buffer@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/append-buffer/-/append-buffer-1.0.2.tgz" integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= dependencies: buffer-equal "^1.0.0" -archy@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - arg@^4.1.0: version "4.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arg/-/arg-4.1.3.tgz" integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= argparse@^1.0.7: version "1.0.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-1.0.10.tgz" integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz" integrity sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg= arr-diff@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-diff/-/arr-diff-4.0.0.tgz" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-filter@^1.1.1: - version "1.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" - integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= - dependencies: - make-iterator "^1.0.0" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= - -arr-map@^2.0.0, arr-map@^2.0.2: - version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= - dependencies: - make-iterator "^1.0.0" - arr-union@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arr-union/-/arr-union-3.1.0.tgz" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-differ@^3.0.0: @@ -1325,50 +1378,21 @@ array-differ@^3.0.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" integrity sha1-PLs9DzFoEOr8xHYkc0I31q7krms= -array-each@^1.0.0, array-each@^1.0.1: +array-each@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-each/-/array-each-1.0.1.tgz" integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= -array-initial@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" - integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= - dependencies: - array-slice "^1.0.0" - is-number "^4.0.0" - -array-last@^1.1.1: - version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha1-eqdwc/7FZd2rJJP1+IGF9ASp0zY= - dependencies: - is-number "^4.0.0" - array-slice@^1.0.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-slice/-/array-slice-1.1.0.tgz" integrity sha1-42jqFfibxwaff/uJrsOmx9SsItQ= -array-sort@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha1-5MBTVkU/VvU1EqfR1hI/LFTAqIo= - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - array-union@^2.1.0: version "2.1.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= -array-unique@^0.3.2: - version "0.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - arrify@^2.0.1: version "2.0.1" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" @@ -1376,39 +1400,33 @@ arrify@^2.0.1: assign-symbols@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/assign-symbols/-/assign-symbols-1.0.0.tgz" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= astral-regex@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= -async-done@^1.2.0, async-done@^1.2.2: - version "1.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" - integrity sha1-XhWqcplipLB0FPUoqIzfGOCykKI= +async-done@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-done/-/async-done-2.0.0.tgz#f1ec5df738c6383a52b0a30d0902fd897329c15a" + integrity sha1-8exd9zjGODpSsKMNCQL9iXMpwVo= dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^2.0.0" - stream-exhaust "^1.0.1" - -async-each@^1.0.1: - version "1.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha1-UvHZQDgYwXm3Vh4RpdG3frIWDnc= + end-of-stream "^1.4.4" + once "^1.4.0" + stream-exhaust "^1.0.2" -async-settle@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" - integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= +async-settle@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-settle/-/async-settle-2.0.0.tgz#c695ad14e070f6a755d019d32d6eb38029020287" + integrity sha1-xpWtFOBw9qdV0BnTLW6zgCkCAoc= dependencies: - async-done "^1.2.2" + async-done "^2.0.0" asynckit@^0.4.0: version "0.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/asynckit/-/asynckit-0.4.0.tgz" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= atob@^2.1.2: @@ -1418,168 +1436,182 @@ atob@^2.1.2: azure-devops-node-api@^12.5.0: version "12.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz#38b9efd7c5ac74354fe4e8dbe42697db0b8e85a5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz" integrity sha1-OLnv18WsdDVP5Ojb5CaX2wuOhaU= dependencies: tunnel "0.0.6" typed-rest-client "^1.8.4" -bach@^1.0.0: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" - integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= - dependencies: - arr-filter "^1.1.1" - arr-flatten "^1.0.1" - arr-map "^2.0.0" - array-each "^1.0.0" - array-initial "^1.0.0" - array-last "^1.1.1" - async-done "^1.2.2" - async-settle "^1.0.0" - now-and-later "^2.0.0" +b4a@^1.6.4: + version "1.6.7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4" + integrity sha1-qZWH1Ou/vVpuOyG9tdX6OFdnq+Q= + +bach@^2.0.1: + version "2.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bach/-/bach-2.0.1.tgz#45a3a3cbf7dbba3132087185c60357482b988972" + integrity sha1-RaOjy/fbujEyCHGFxgNXSCuYiXI= + dependencies: + async-done "^2.0.0" + async-settle "^2.0.0" + now-and-later "^3.0.0" balanced-match@^1.0.0: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= +bare-events@^2.2.0: + version "2.6.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bare-events/-/bare-events-2.6.1.tgz#f793b28bdc3dcf147d7cf01f882a6f0b12ccc4a2" + integrity sha1-95Oyi9w9zxR9fPAfiCpvCxLMxKI= + base64-js@^1.3.1: version "1.5.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/base64-js/-/base64-js-1.5.1.tgz" integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= -base@^0.11.1: - version "0.11.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= - binary-extensions@^2.0.0: version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binary-extensions/-/binary-extensions-2.3.0.tgz" integrity sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI= -binaryextensions@^6.11.0: - version "6.11.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binaryextensions/-/binaryextensions-6.11.0.tgz#c36b3e6b5c59e621605709b099cda8dda824cc72" - integrity sha1-w2s+a1xZ5iFgVwmwmc2o3agkzHI= - dependencies: - editions "^6.21.0" - -bindings@^1.5.0: - version "1.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= - dependencies: - file-uri-to-path "1.0.0" +binaryextensions@^4.18.0: + version "4.19.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binaryextensions/-/binaryextensions-4.19.0.tgz" + integrity sha1-eUS0HOa7vNPlROBfZXlKxIyqoTI= bl@^4.0.3: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-4.1.0.tgz" integrity sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo= dependencies: buffer "^5.5.0" inherits "^2.0.4" readable-stream "^3.4.0" +bl@^5.0.0: + version "5.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" + integrity sha1-GDcV9njHGI7O+f5HXZAglABiQnM= + dependencies: + buffer "^6.0.3" + inherits "^2.0.4" + readable-stream "^3.4.0" + +body-parser@^2.2.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" + integrity sha1-96llbeMFJJpxW1Sbe4/Rq5393Po= + dependencies: + bytes "^3.1.2" + content-type "^1.0.5" + debug "^4.4.0" + http-errors "^2.0.0" + iconv-lite "^0.6.3" + on-finished "^2.4.1" + qs "^6.14.0" + raw-body "^3.0.0" + type-is "^2.0.0" + boolbase@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/boolbase/-/boolbase-1.0.0.tgz" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= boundary@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/boundary/-/boundary-2.0.0.tgz#169c8b1f0d44cf2c25938967a328f37e0a4e5efc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/boundary/-/boundary-2.0.0.tgz" integrity sha1-FpyLHw1Ezywlk4lnoyjzfgpOXvw= brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM= + version "1.1.11" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/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" brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha1-VPxTI3phPYVMe9N0Y6rRffhyFOc= + version "2.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha1-HtxFng8MVISG7Pn8mfIiE2S5oK4= dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2, braces@^3.0.3, braces@~3.0.2: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/braces/-/braces-3.0.3.tgz" integrity sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k= dependencies: fill-range "^7.1.1" browser-stdout@^1.3.1: version "1.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz" integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= browserslist@^4.24.0: - version "4.25.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" - integrity sha1-up6ObymKHYb4Kcm5deB5SJZ7sRE= + version "4.25.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/browserslist/-/browserslist-4.25.0.tgz" + integrity sha1-mGqpxth5FohdorUNjrV3rI0TOyw= dependencies: - caniuse-lite "^1.0.30001726" - electron-to-chromium "^1.5.173" + caniuse-lite "^1.0.30001718" + electron-to-chromium "^1.5.160" node-releases "^2.0.19" update-browserslist-db "^1.1.3" buffer-crc32@~0.2.3: version "0.2.13" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-crc32/-/buffer-crc32-0.2.13.tgz" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= buffer-equal-constant-time@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= buffer-equal@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-equal/-/buffer-equal-1.0.1.tgz" integrity sha1-L3ZRvlsbPwV/zW5+4WzzR2cHfZA= buffer-from@^1.0.0: version "1.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U= buffer@^5.5.0: version "5.7.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-5.7.1.tgz" integrity sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA= dependencies: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY= + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + bundle-name@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bundle-name/-/bundle-name-4.1.0.tgz" integrity sha1-87lrNBYNZDGhnXaIE1r3z7h5eIk= dependencies: run-applescript "^7.0.0" +bytes@3.1.2, bytes@^3.1.2: + version "3.1.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha1-iwvuuYYFrfGxKPpDhkA8AJ4CIaU= + c8@^9.1.0: version "9.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/c8/-/c8-9.1.0.tgz#0e57ba3ab9e5960ab1d650b4a86f71e53cb68112" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/c8/-/c8-9.1.0.tgz" integrity sha1-Dle6Ornllgqx1lC0qG9x5Ty2gRI= dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -1594,24 +1626,9 @@ c8@^9.1.0: yargs "^17.7.2" yargs-parser "^21.1.1" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" integrity sha1-S1QowiK+mF15w9gmV0edvgtZstY= dependencies: es-errors "^1.3.0" @@ -1619,7 +1636,7 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply- call-bind@^1.0.8: version "1.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bind/-/call-bind-1.0.8.tgz" integrity sha1-BzapZg9TfjOIgm9EDV7EX3ROqkw= dependencies: call-bind-apply-helpers "^1.0.0" @@ -1629,7 +1646,7 @@ call-bind@^1.0.8: call-bound@^1.0.2, call-bound@^1.0.3: version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bound/-/call-bound-1.0.4.tgz" integrity sha1-I43pNdKippKSjFOMfM+pEGf9Bio= dependencies: call-bind-apply-helpers "^1.0.2" @@ -1637,40 +1654,44 @@ call-bound@^1.0.2, call-bound@^1.0.3: callsites@^3.0.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/callsites/-/callsites-3.1.0.tgz" integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= -camelcase@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - camelcase@^6.0.0: version "6.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camelcase/-/camelcase-6.3.0.tgz" integrity sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo= -caniuse-lite@^1.0.30001726: - version "1.0.30001731" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz#277c07416ea4613ec564e5b0ffb47e7b60f32e2f" - integrity sha1-J3wHQW6kYT7FZOWw/7R+e2DzLi8= +caniuse-lite@^1.0.30001718: + version "1.0.30001720" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz" + integrity sha1-wTjLYCbTYr6djXsOS80Bg6hQ7f0= + +chalk@^2.4.2: + version "2.4.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-2.4.2.tgz" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz" integrity sha1-qsTit3NKdAhnrrFr8CqtVWoeegE= dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.3.0, chalk@^5.4.1: - version "5.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-5.5.0.tgz#67ada1df5ca809dc84c9b819d76418ddcf128428" - integrity sha1-Z62h31yoCdyEybgZ12QY3c8ShCg= +chalk@^5.3.0: + version "5.4.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-5.4.1.tgz" + integrity sha1-G0i/CWPsFY3OKqz2nAk64t0gktg= cheerio-select@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio-select/-/cheerio-select-2.1.0.tgz" integrity sha1-TYZzKGuBJsoqjkJ0DV48SISuIbQ= dependencies: boolbase "^1.0.0" @@ -1681,44 +1702,25 @@ cheerio-select@^2.1.0: domutils "^3.0.1" cheerio@^1.0.0-rc.9: - version "1.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio/-/cheerio-1.1.2.tgz#26af77e89336c81c63ea83197f868b4cbd351369" - integrity sha1-Jq936JM2yBxj6oMZf4aLTL01E2k= + version "1.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio/-/cheerio-1.0.0.tgz" + integrity sha1-Ht5IlagvJuivcQCflhqbjLYNaoE= dependencies: cheerio-select "^2.1.0" dom-serializer "^2.0.0" domhandler "^5.0.3" - domutils "^3.2.2" - encoding-sniffer "^0.2.1" - htmlparser2 "^10.0.0" - parse5 "^7.3.0" - parse5-htmlparser2-tree-adapter "^7.1.0" + domutils "^3.1.0" + encoding-sniffer "^0.2.0" + htmlparser2 "^9.1.0" + parse5 "^7.1.2" + parse5-htmlparser2-tree-adapter "^7.0.0" parse5-parser-stream "^7.1.2" - undici "^7.12.0" + undici "^6.19.5" whatwg-mimetype "^4.0.0" -chokidar@^2.0.0: - version "2.1.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chokidar@^3.5.3: version "3.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chokidar/-/chokidar-3.6.0.tgz" integrity sha1-GXxsxmnvKo3F57TZfuTgksPrDVs= dependencies: anymatch "~3.1.2" @@ -1733,48 +1735,34 @@ chokidar@^3.5.3: chownr@^1.1.1: version "1.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chownr/-/chownr-1.1.4.tgz" integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= chrome-trace-event@^1.0.2: version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz" integrity sha1-Bb/9f/koRlCTMUcIyTvfqb0fD1s= -class-utils@^0.3.5: - version "0.3.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= cli-cursor@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cli-cursor/-/cli-cursor-5.0.0.tgz" integrity sha1-JKSDHs9aawHd6zL7caSyCIsNzjg= dependencies: restore-cursor "^5.0.0" cli-spinners@^2.9.2: version "2.9.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cli-spinners/-/cli-spinners-2.9.2.tgz" integrity sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE= -cliui@^3.2.0: - version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - cliui@^7.0.2: version "7.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-7.0.4.tgz" integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= dependencies: string-width "^4.2.0" @@ -1783,7 +1771,7 @@ cliui@^7.0.2: cliui@^8.0.1: version "8.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-8.0.1.tgz" integrity sha1-DASwddsCy/5g3I5s8vVIaxo2CKo= dependencies: string-width "^4.2.0" @@ -1792,12 +1780,12 @@ cliui@^8.0.1: clone-buffer@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-buffer/-/clone-buffer-1.0.0.tgz" integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= clone-deep@^4.0.1: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-deep/-/clone-deep-4.0.1.tgz" integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= dependencies: is-plain-object "^2.0.4" @@ -1806,17 +1794,17 @@ clone-deep@^4.0.1: clone-stats@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone-stats/-/clone-stats-1.0.0.tgz" integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= clone@^2.1.1, clone@^2.1.2: version "2.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clone/-/clone-2.1.2.tgz" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= cloneable-readable@^1.0.0: version "1.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cloneable-readable/-/cloneable-readable-1.1.3.tgz" integrity sha1-EgoAywU7+2OiIucJ+Wg+ouEdjOw= dependencies: inherits "^2.0.1" @@ -1825,97 +1813,84 @@ cloneable-readable@^1.0.0: cockatiel@^3.1.2: version "3.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cockatiel/-/cockatiel-3.2.1.tgz#575f937bc4040a20ae27352a6d07c9c5a741981f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cockatiel/-/cockatiel-3.2.1.tgz" integrity sha1-V1+Te8QECiCuJzUqbQfJxadBmB8= -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-map@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" - integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= - dependencies: - arr-map "^2.0.2" - for-own "^1.0.0" - make-iterator "^1.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= +color-convert@^1.9.0: + version "1.9.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-convert/-/color-convert-1.9.3.tgz" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" + color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-convert/-/color-convert-2.0.1.tgz" integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + color-name@~1.1.4: version "1.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-name/-/color-name-1.1.4.tgz" integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= color-support@^1.1.3: version "1.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-support/-/color-support-1.1.3.tgz" integrity sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI= colorette@^2.0.14: version "2.0.20" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/colorette/-/colorette-2.0.20.tgz" integrity sha1-nreT5oMwZ/cjWQL807CZF6AAqVo= combined-stream@^1.0.8: version "1.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= dependencies: delayed-stream "~1.0.0" commander@^12.1.0: version "12.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-12.1.0.tgz" integrity sha1-AUI7NvUBJZ/arE0OTWDJbJkVhdM= commander@^2.20.0: version "2.20.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-2.20.3.tgz" integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= -component-emitter@^1.2.1: - version "1.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha1-7x1XlvfZPxNe5vtoQ0CyZAPJfRc= - concat-map@0.0.1: version "0.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.6.0: - version "1.6.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - concat-with-sourcemaps@^1.0.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz" integrity sha1-1OqT8FriV5CVG5nns7CeOQikCC4= dependencies: source-map "^0.6.1" +content-disposition@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2" + integrity sha1-hEQmyzmPk0yu/LsXIgASa8fOrOI= + dependencies: + safe-buffer "5.2.1" + +content-type@^1.0.5: + version "1.0.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha1-i3cxYmVtHRCGeEyPI6VM5tc9eRg= + convert-source-map@^1.0.0, convert-source-map@^1.5.0: version "1.9.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" @@ -1923,25 +1898,30 @@ convert-source-map@^1.0.0, convert-source-map@^1.5.0: convert-source-map@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha1-S1YPZJ/E6RjdCrdc9JYei8iC2Co= -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +cookie-signature@^1.2.1: + version "1.2.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793" + integrity sha1-V8f8PMKTrKuf7FTXPhVpDr5KF5M= -copy-props@^2.0.1: - version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" - integrity sha1-A8+a4yjU67Nvjx2AREimr57j8tI= +cookie@^0.7.1: + version "0.7.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha1-VWNpxHKiupEPKXmJG1JrNDYjftc= + +copy-props@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/copy-props/-/copy-props-4.0.0.tgz#01d249198b8c2e4d8a5e87b90c9630f52c99a9c9" + integrity sha1-AdJJGYuMLk2KXoe5DJYw9SyZqck= dependencies: - each-props "^1.3.2" + each-props "^3.0.0" is-plain-object "^5.0.0" copyfiles@^2.4.1: version "2.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/copyfiles/-/copyfiles-2.4.1.tgz" integrity sha1-0tz/YKqtEBXwnQtm5/Dxxc08XaU= dependencies: glob "^7.0.5" @@ -1954,17 +1934,17 @@ copyfiles@^2.4.1: core-util-is@~1.0.0: version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U= create-require@^1.1.0: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/create-require/-/create-require-1.1.1.tgz" integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz" integrity sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8= dependencies: path-key "^3.1.0" @@ -1972,9 +1952,9 @@ cross-spawn@^7.0.3, cross-spawn@^7.0.6: which "^2.0.1" css-select@^5.1.0: - version "5.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e" - integrity sha1-Abbo0WNje7LdbJgspO1lhjaCeG4= + version "5.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-select/-/css-select-5.1.0.tgz" + integrity sha1-uOvWVUw2N8zHZoiAStP2pv2uqKY= dependencies: boolbase "^1.0.0" css-what "^6.1.0" @@ -1983,9 +1963,9 @@ css-select@^5.1.0: nth-check "^2.0.1" css-what@^6.1.0: - version "6.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" - integrity sha1-zcyPm2l3cZ/fvR3nrsJKv3Vrneo= + version "6.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-what/-/css-what-6.1.0.tgz" + integrity sha1-+17/z3bx3eosgb36pN5E55uscPQ= css@^3.0.0: version "3.0.0" @@ -2020,28 +2000,16 @@ debug@3.X: dependencies: ms "^2.1.1" -debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.1: +debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0, debug@^4.4.1: version "4.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-4.4.1.tgz" integrity sha1-5ai8bLxMbNPmQwiwaTo9T6VQGJs= dependencies: ms "^2.1.3" -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= - dependencies: - ms "2.0.0" - -decamelize@^1.1.1: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - decamelize@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/decamelize/-/decamelize-4.0.0.tgz" integrity sha1-qkcte/Zg6xXzSU79UxyrfypwmDc= decode-uri-component@^0.2.0: @@ -2051,49 +2019,37 @@ decode-uri-component@^0.2.0: decompress-response@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/decompress-response/-/decompress-response-6.0.0.tgz" integrity sha1-yjh2Et234QS9FthaqwDV7PCcZvw= dependencies: mimic-response "^3.1.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= deep-is@^0.1.3: version "0.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deep-is/-/deep-is-0.1.4.tgz" integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE= default-browser-id@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-browser-id/-/default-browser-id-5.0.0.tgz" integrity sha1-odmL+WDBUILYo/pp6DFQzMzDryY= default-browser@^5.2.1: version "5.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-browser/-/default-browser-5.2.1.tgz" integrity sha1-e3umEgT/PkJbVWhprm0+nZ8XEs8= dependencies: bundle-name "^4.1.0" default-browser-id "^5.0.0" -default-compare@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha1-y2ETGESthNhHiPto/QFoHKd4Gi8= - dependencies: - kind-of "^5.0.2" - -default-resolution@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" - integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= - define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz" integrity sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4= dependencies: es-define-property "^1.0.0" @@ -2102,53 +2058,36 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: define-lazy-prop@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz" integrity sha1-27Ga37dG1/xtc0oGty9KANAhJV8= define-properties@^1.2.1: version "1.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-properties/-/define-properties-1.2.1.tgz" integrity sha1-EHgcxhbrlRqAoDS6/Kpzd/avK2w= dependencies: define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - delayed-stream@~1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +depd@2.0.0, depd@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8= + detect-file@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-file/-/detect-file-1.0.0.tgz" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= detect-libc@^2.0.0: version "2.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-libc/-/detect-libc-2.0.4.tgz" integrity sha1-8EcVuLqBXlO02BCWVbZQimhlp+g= detect-newline@^2.0.0: @@ -2158,22 +2097,22 @@ detect-newline@^2.0.0: diff@^4.0.1: version "4.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-4.0.2.tgz" integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= diff@^5.2.0: version "5.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-5.2.0.tgz" integrity sha1-Jt7QR80RebeLlTfV73JVA84a5TE= diff@^7.0.0: version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-7.0.0.tgz#3fb34d387cd76d803f6eebea67b921dab0182a9a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-7.0.0.tgz" integrity sha1-P7NNOHzXbYA/buvqZ7kh2rAYKpo= dom-serializer@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dom-serializer/-/dom-serializer-2.0.0.tgz" integrity sha1-5BuALh7t+fbK4YPOXmIteJ19jlM= dependencies: domelementtype "^2.3.0" @@ -2182,19 +2121,19 @@ dom-serializer@^2.0.0: domelementtype@^2.3.0: version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha1-XEXo6GmVJiYzHXqrMm0B2vZdWJ0= domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domhandler/-/domhandler-5.0.3.tgz" integrity sha1-zDhff3UfHR/GUMITdIBCVFOMfTE= dependencies: domelementtype "^2.3.0" -domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2: +domutils@^3.0.1, domutils@^3.1.0: version "3.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domutils/-/domutils-3.2.2.tgz" integrity sha1-7b/itmiwwdl8JLrw8QYrEyIhvHg= dependencies: dom-serializer "^2.0.0" @@ -2203,7 +2142,7 @@ domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2: dunder-proto@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz" integrity sha1-165mfh3INIL4tw/Q9u78UNow9Yo= dependencies: call-bind-apply-helpers "^1.0.1" @@ -2212,12 +2151,12 @@ dunder-proto@^1.0.1: duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/duplexer/-/duplexer-0.1.2.tgz" integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= duplexify@^3.6.0: version "3.7.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/duplexify/-/duplexify-3.7.1.tgz" integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= dependencies: end-of-stream "^1.0.0" @@ -2225,128 +2164,133 @@ duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.2: - version "1.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" - integrity sha1-6kWkFNFt1c+kGbGoFyDVygaJIzM= +each-props@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/each-props/-/each-props-3.0.0.tgz#a88fb17634a4828307610ec68269fba2f7280cd8" + integrity sha1-qI+xdjSkgoMHYQ7Ggmn7ovcoDNg= dependencies: - is-plain-object "^2.0.1" + is-plain-object "^5.0.0" object.defaults "^1.1.0" eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eastasianwidth/-/eastasianwidth-0.2.0.tgz" integrity sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s= ecdsa-sig-formatter@1.0.11: version "1.0.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" integrity sha1-rg8PothQRe8UqBfao86azQSJ5b8= dependencies: safe-buffer "^5.0.1" -editions@^6.21.0: - version "6.21.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/editions/-/editions-6.21.0.tgz#8da2d85611106e0891a72619b7bee8e0c830089b" - integrity sha1-jaLYVhEQbgiRpyYZt77o4MgwCJs= - dependencies: - version-range "^4.13.0" +ee-first@1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.5.173: - version "1.5.197" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.197.tgz#117f9d1afd82ae84bbfedd168ddcf52e4afb6216" - integrity sha1-EX+dGv2CroS7/t0Wjdz1Lkr7YhY= +electron-to-chromium@^1.5.160: + version "1.5.161" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz" + integrity sha1-ZQN2vTvn/45YEDFAn8LU8VBiCxI= emoji-regex@^10.3.0: version "10.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-10.4.0.tgz#03553afea80b3975749cfcb36f776ca268e413d4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-10.4.0.tgz" integrity sha1-A1U6/qgLOXV0nPyzb3dsomjkE9Q= emoji-regex@^8.0.0: version "8.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= emoji-regex@^9.2.2: version "9.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI= -encoding-sniffer@^0.2.1: - version "0.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz#396ec97ac22ce5a037ba44af1992ac9d46a7b819" - integrity sha1-OW7JesIs5aA3ukSvGZKsnUanuBk= +encodeurl@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha1-e46omAd9fkCdOsRUdOo46vCFelg= + +encoding-sniffer@^0.2.0: + version "0.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz" + integrity sha1-eZVp1m1EO6voKvGMn0A0mDZe8dU= dependencies: iconv-lite "^0.6.3" whatwg-encoding "^3.1.1" end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +end-of-stream@^1.4.4: version "1.4.5" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" integrity sha1-c0TXEd6kDgt0q8LtSXeHQ8ztsIw= dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.2: - version "5.18.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" - integrity sha1-m19MXAdrh4fHj+VAOSznaoiFW0Q= +enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz" + integrity sha1-coqwgvi3toNt5R8WN6q107lWj68= dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -entities@^4.2.0, entities@^4.4.0: +entities@^4.2.0, entities@^4.4.0, entities@^4.5.0: version "4.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-4.5.0.tgz" integrity sha1-XSaOpecRPsdMTQM7eepaNaSI+0g= entities@^6.0.0: - version "6.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" - integrity sha1-wow0pDN5yn9h0HQTCy9fcCCjBpQ= + version "6.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-6.0.0.tgz" + integrity sha1-CcninLebCmRZqbnbnvtBisW7jlE= envinfo@^7.14.0: version "7.14.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/envinfo/-/envinfo-7.14.0.tgz" integrity sha1-JtrF21RBjypMEVkVOgsq6YCDiq4= -environment@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" - integrity sha1-jobGaxgPNjx6sxF4fgJZZl9FqfE= - -error-ex@^1.2.0: +error-ex@^1.3.2: version "1.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/error-ex/-/error-ex-1.3.2.tgz" integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= dependencies: is-arrayish "^0.2.1" es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz" integrity sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo= es-errors@^1.3.0: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-errors/-/es-errors-1.3.0.tgz" integrity sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8= es-module-lexer@^1.2.1: version "1.7.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-module-lexer/-/es-module-lexer-1.7.0.tgz" integrity sha1-kVlgFWGICoXyc0VgqQmbLDHlNyo= es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz" integrity sha1-HE8sSDcydZfOadLKGQp/3RcjOME= dependencies: es-errors "^1.3.0" es-set-tostringtag@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" integrity sha1-8x274MGDsAptJutjJcgQwP0YvU0= dependencies: es-errors "^1.3.0" @@ -2364,7 +2308,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@ esniff "^2.0.1" next-tick "^1.1.0" -es6-iterator@^2.0.1, es6-iterator@^2.0.3: +es6-iterator@^2.0.3: version "2.0.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -2381,7 +2325,7 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: d "^1.0.2" ext "^1.7.0" -es6-weak-map@^2.0.1, es6-weak-map@^2.0.3: +es6-weak-map@^2.0.3: version "2.0.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" integrity sha1-ttofFswswNm+Q+a9v8Xn383zHVM= @@ -2393,53 +2337,63 @@ es6-weak-map@^2.0.1, es6-weak-map@^2.0.3: escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escalade/-/escalade-3.2.0.tgz" integrity sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U= +escape-html@^1.0.3: + version "1.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= eslint-scope@5.1.1: version "5.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^8.4.0: - version "8.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" - integrity sha1-iOZGogf61hQ2/6OetQUUcgBlXII= +eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-scope/-/eslint-scope-8.3.0.tgz" + integrity sha1-EM06kY/91yL18/e1uD25sjyHNA0= dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha1-DNcv6FUOPC6uFWqWpN3c0cisWAA= -eslint-visitor-keys@^4.2.1: - version "4.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" - integrity sha1-TP6mD+fdCtjoFuHtAmwdUlG1EsE= +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" + integrity sha1-aHussq+IT83aim59ZcYG9GoUzUU= eslint@^9.27.0: - version "9.32.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint/-/eslint-9.32.0.tgz#4ea28df4a8dbc454e1251e0f3aed4bcf4ce50a47" - integrity sha1-TqKN9KjbxFThJR4POu1Lz0zlCkc= + version "9.27.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint/-/eslint-9.27.0.tgz" + integrity sha1-pYfTzVuES2jfeJiUQyOnAq/jiXk= dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.21.0" - "@eslint/config-helpers" "^0.3.0" - "@eslint/core" "^0.15.0" + "@eslint/config-array" "^0.20.0" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.14.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.32.0" - "@eslint/plugin-kit" "^0.3.4" + "@eslint/js" "9.27.0" + "@eslint/plugin-kit" "^0.3.1" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -2450,9 +2404,9 @@ eslint@^9.27.0: cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.4.0" - eslint-visitor-keys "^4.2.1" - espree "^10.4.0" + eslint-scope "^8.3.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -2478,49 +2432,54 @@ esniff@^2.0.1: event-emitter "^0.3.5" type "^2.7.2" -espree@^10.0.1, espree@^10.4.0: - version "10.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" - integrity sha1-1U9JSdRikAWh+haNk3w/8ffiqDc= +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/espree/-/espree-10.3.0.tgz" + integrity sha1-KSZ89bDLmHNbZeZLoH4O1J0e7Yo= dependencies: - acorn "^8.15.0" + acorn "^8.14.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.1" + eslint-visitor-keys "^4.2.0" esprima@^4.0.0: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esprima/-/esprima-4.0.1.tgz" integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= esquery@^1.5.0: version "1.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esquery/-/esquery-1.6.0.tgz" integrity sha1-kUGSNPgE2FKoLc7sPhbNwiz52uc= dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-4.3.0.tgz" integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-5.3.0.tgz" integrity sha1-LupSkHAvJquP5TcDcP+GyWXSESM= esutils@^2.0.2: version "2.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esutils/-/esutils-2.0.3.tgz" integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= +etag@^1.8.1: + version "1.8.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + event-emitter@^0.3.5: version "0.3.5" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" @@ -2531,7 +2490,7 @@ event-emitter@^0.3.5: event-stream@^3.3.4: version "3.3.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/event-stream/-/event-stream-3.3.5.tgz#e5dd8989543630d94c6cf4d657120341fa31636b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/event-stream/-/event-stream-3.3.5.tgz" integrity sha1-5d2JiVQ2MNlMbPTWVxIDQfoxY2s= dependencies: duplexer "^0.1.1" @@ -2544,34 +2503,54 @@ event-stream@^3.3.4: events@^3.2.0: version "3.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/events/-/events-3.3.0.tgz" integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-template@^2.0.3: version "2.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expand-template/-/expand-template-2.0.3.tgz" integrity sha1-bhSz/O4POmNA7LV9LokYaSBSpHw= expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expand-tilde/-/expand-tilde-2.0.2.tgz" integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" +express@^5.1.0: + version "5.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" + integrity sha1-0xvq9xWgAW8NU/R9O016zyjHXMk= + dependencies: + accepts "^2.0.0" + body-parser "^2.2.0" + content-disposition "^1.0.0" + content-type "^1.0.5" + cookie "^0.7.1" + cookie-signature "^1.2.1" + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + finalhandler "^2.1.0" + fresh "^2.0.0" + http-errors "^2.0.0" + merge-descriptors "^2.0.0" + mime-types "^3.0.0" + on-finished "^2.4.1" + once "^1.4.0" + parseurl "^1.3.3" + proxy-addr "^2.0.7" + qs "^6.14.0" + range-parser "^1.2.1" + router "^2.2.0" + send "^1.1.0" + serve-static "^2.2.0" + statuses "^2.0.1" + type-is "^2.0.1" + vary "^1.1.2" + ext@^1.7.0: version "1.7.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -2579,41 +2558,20 @@ ext@^1.7.0: dependencies: type "^2.7.2" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: +extend-shallow@^3.0.2: version "3.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/extend-shallow/-/extend-shallow-3.0.2.tgz" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0: +extend@^3.0.0, extend@^3.0.2: version "3.0.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= -extglob@^2.0.4: - version "2.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fancy-log@^1.3.2, fancy-log@^1.3.3: +fancy-log@^1.3.3: version "1.3.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" integrity sha1-28GRVPVYaQFQojlToK29A1vkX8c= @@ -2625,12 +2583,17 @@ fancy-log@^1.3.2, fancy-log@^1.3.3: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= +fast-fifo@^1.3.2: + version "1.3.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha1-KG4x3pbrltOKl4mYFXQLoqTzZAw= + fast-glob@^3.3.2, fast-glob@^3.3.3: version "3.3.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-glob/-/fast-glob-3.3.3.tgz" integrity sha1-0G1YXOjbqQoWsFBcVDw8z7OuuBg= dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -2641,73 +2604,74 @@ fast-glob@^3.3.2, fast-glob@^3.3.3: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= -fast-levenshtein@^1.0.0: - version "1.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" - integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= - fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-levenshtein@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz#37b899ae47e1090e40e3fd2318e4d5f0142ca912" + integrity sha1-N7iZrkfhCQ5A4/0jGOTV8BQsqRI= + dependencies: + fastest-levenshtein "^1.0.7" + fast-uri@^3.0.1: version "3.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-uri/-/fast-uri-3.0.6.tgz" integrity sha1-iPEwt3z66iN41Wv5cN6iElemh0g= -fastest-levenshtein@^1.0.12: +fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: version "1.0.16" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha1-IQ5htv8YHekeqbPRuE/e3UfgNOU= -fastq@^1.6.0: +fastq@^1.13.0, fastq@^1.6.0: version "1.19.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fastq/-/fastq-1.19.1.tgz" integrity sha1-1Q6rqAPIhGqIPBZJKCHrzSzaVfU= dependencies: reusify "^1.0.4" fd-slicer@~1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz" integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" file-entry-cache@^8.0.0: version "8.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/file-entry-cache/-/file-entry-cache-8.0.0.tgz" integrity sha1-d4e93PETG/+5JjbGlFe7wO3W2B8= dependencies: flat-cache "^4.0.0" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= - fill-range@^7.1.1: version "7.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fill-range/-/fill-range-7.1.1.tgz" integrity sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI= dependencies: to-regex-range "^5.0.1" -find-up@^1.0.0: - version "1.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= +finalhandler@^2.1.0: + version "2.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f" + integrity sha1-cjBjc6qJ0FqCQu1WnthqG/98Vh8= dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + on-finished "^2.4.1" + parseurl "^1.3.3" + statuses "^2.0.1" find-up@^4.0.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-up/-/find-up-4.1.0.tgz" integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= dependencies: locate-path "^5.0.0" @@ -2715,51 +2679,41 @@ find-up@^4.0.0: find-up@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/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" -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha1-F7EI+e5RLft6XH88iyfqnhqcCNE= +findup-sync@^5.0.0: + version "5.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/findup-sync/-/findup-sync-5.0.0.tgz#54380ad965a7edca00cc8f63113559aadc541bd2" + integrity sha1-VDgK2WWn7coAzI9jETVZqtxUG9I= dependencies: detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" + is-glob "^4.0.3" + micromatch "^4.0.4" resolve-dir "^1.0.1" -fined@^1.0.1: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" - integrity sha1-0AvszxqitHXRbUI7Aji3E6LEo3s= +fined@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fined/-/fined-2.0.0.tgz#6846563ed96879ce6de6c85c715c42250f8d8089" + integrity sha1-aEZWPtloec5t5shccVxCJQ+NgIk= dependencies: expand-tilde "^2.0.2" - is-plain-object "^2.0.3" + is-plain-object "^5.0.0" object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" + object.pick "^1.3.0" + parse-filepath "^1.0.2" -flagged-respawn@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" - integrity sha1-595vEnnd2cqarIpZcdYYYGs6q0E= +flagged-respawn@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flagged-respawn/-/flagged-respawn-2.0.0.tgz#abf39719dcfe1ac06c86c9466081c541c682987b" + integrity sha1-q/OXGdz+GsBshslGYIHFQcaCmHs= flat-cache@^4.0.0: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat-cache/-/flat-cache-4.0.1.tgz" integrity sha1-Ds45/LFO4BL0sEEL0z3ZwfAREnw= dependencies: flatted "^3.2.9" @@ -2767,74 +2721,76 @@ flat-cache@^4.0.0: flat@^5.0.2: version "5.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat/-/flat-5.0.2.tgz" integrity sha1-jKb+MyBp/6nTJMMnGYxZglnOskE= flatted@^3.2.9: version "3.3.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flatted/-/flatted-3.3.3.tgz" integrity sha1-Z8j62VRUp8er6/dLt47nSkQCM1g= flush-write-stream@^1.0.2: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flush-write-stream/-/flush-write-stream-1.1.1.tgz" integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= dependencies: inherits "^2.0.3" readable-stream "^2.3.6" -for-in@^1.0.1, for-in@^1.0.2: +for-in@^1.0.1: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/for-in/-/for-in-1.0.2.tgz" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= for-own@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/for-own/-/for-own-1.0.0.tgz" integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= dependencies: for-in "^1.0.1" -foreground-child@^3.1.0, foreground-child@^3.1.1, foreground-child@^3.3.1: +foreground-child@^3.1.0, foreground-child@^3.1.1: version "3.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/foreground-child/-/foreground-child-3.3.1.tgz" integrity sha1-Mujp7Rtoo0l777msK2rfkqY4V28= dependencies: cross-spawn "^7.0.6" signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" - integrity sha1-eEzczgZpqdaOlNEaxO6pgIjt0sQ= + version "4.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/form-data/-/form-data-4.0.2.tgz" + integrity sha1-Ncq73TDDznPessQtPI0+2cpReUw= dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" es-set-tostringtag "^2.1.0" - hasown "^2.0.2" mime-types "^2.1.12" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" +forwarded@0.2.0: + version "0.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE= + +fresh@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4" + integrity sha1-jdffahs6Gzpc8YbAWl3SZ2ImNaQ= from@^0.1.7: version "0.1.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/from/-/from-0.1.7.tgz" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= fs-constants@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha1-a+Dem+mYzhavivwkSXue6bfM2a0= -fs-extra@^11.1.1: - version "11.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-extra/-/fs-extra-11.3.1.tgz#ba7a1f97a85f94c6db2e52ff69570db3671d5a74" - integrity sha1-unofl6hflMbbLlL/aVcNs2cdWnQ= +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha1-Aoc8+8QITd4SfqpfmQXu8jJdGr8= dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -2842,53 +2798,48 @@ fs-extra@^11.1.1: fs-mkdirp-stream@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= dependencies: graceful-fs "^4.1.11" through2 "^2.0.3" +fs-mkdirp-stream@^2.0.1: + version "2.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz#1e82575c4023929ad35cf69269f84f1a8c973aa7" + integrity sha1-HoJXXEAjkprTXPaSafhPGoyXOqc= + dependencies: + graceful-fs "^4.2.8" + streamx "^2.12.0" + fs.realpath@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@~2.3.2: version "2.3.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fsevents/-/fsevents-2.3.3.tgz" integrity sha1-ysZAd4XQNnWipeGlMFxpezR9kNY= function-bind@^1.1.2: version "1.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/function-bind/-/function-bind-1.1.2.tgz" integrity sha1-LALYZNl/PqbIgwxGTL0Rq26rehw= -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= - get-caller-file@^2.0.5: version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= get-east-asian-width@^1.0.0: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#21b4071ee58ed04ee0db653371b55b4299875389" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz" integrity sha1-IbQHHuWO0E7g22UzcbVbQpmHU4k= get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.3.0.tgz" integrity sha1-dD8OO2lkqTpUke0b/6rgVNf5jQE= dependencies: call-bind-apply-helpers "^1.0.2" @@ -2904,25 +2855,20 @@ get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@ get-proto@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-proto/-/get-proto-1.0.1.tgz" integrity sha1-FQs/J0OGnvPoUewMSdFbHRTQDuE= dependencies: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - github-from-package@0.0.0: version "0.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/github-from-package/-/github-from-package-0.0.0.tgz" integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= glob-parent@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-3.1.0.tgz" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" @@ -2930,21 +2876,21 @@ glob-parent@^3.1.0: glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM= dependencies: is-glob "^4.0.3" glob-stream@^6.1.0: version "6.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-stream/-/glob-stream-6.1.0.tgz" integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= dependencies: extend "^3.0.0" @@ -2958,27 +2904,36 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" +glob-stream@^8.0.3: + version "8.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-stream/-/glob-stream-8.0.3.tgz#87e63153aadf05bd0207cde1a253ee39d91458b9" + integrity sha1-h+YxU6rfBb0CB83holPuOdkUWLk= + dependencies: + "@gulpjs/to-absolute-glob" "^4.0.0" + anymatch "^3.1.3" + fastq "^1.13.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + is-negated-glob "^1.0.0" + normalize-path "^3.0.0" + streamx "^2.12.5" + glob-to-regexp@^0.4.1: version "0.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4= -glob-watcher@^5.0.3: - version "5.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" - integrity sha1-qmvOZIMykk2ahIm+QePlxS1Bhtw= +glob-watcher@^6.0.0: + version "6.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-watcher/-/glob-watcher-6.0.0.tgz#8565341978a92233fb3881b8857b4d1e9c6bf080" + integrity sha1-hWU0GXipIjP7OIG4hXtNHpxr8IA= dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - normalize-path "^3.0.0" - object.defaults "^1.1.0" + async-done "^2.0.0" + chokidar "^3.5.3" glob@^10.3.10: version "10.4.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-10.4.5.tgz" integrity sha1-9NnwuQ/9urCcnXf18ptCYlF7CVY= dependencies: foreground-child "^3.1.0" @@ -2989,20 +2944,20 @@ glob@^10.3.10: path-scurry "^1.11.1" glob@^11.0.0: - version "11.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-11.0.3.tgz#9d8087e6d72ddb3c4707b1d2778f80ea3eaefcd6" - integrity sha1-nYCH5tct2zxHB7HSd4+A6j6u/NY= + version "11.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-11.0.2.tgz" + integrity sha1-MmHjiXu8YDAwsEH9d7pjYCLVHOA= dependencies: - foreground-child "^3.3.1" - jackspeak "^4.1.1" - minimatch "^10.0.3" + foreground-child "^3.1.0" + jackspeak "^4.0.1" + minimatch "^10.0.0" minipass "^7.1.2" package-json-from-dist "^1.0.0" path-scurry "^2.0.0" glob@^7.0.5, glob@^7.1.1, glob@^7.1.4, glob@^7.2.0: version "7.2.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-7.2.3.tgz" integrity sha1-uN8PuAK7+o6JvR2Ti04WV47UTys= dependencies: fs.realpath "^1.0.0" @@ -3014,7 +2969,7 @@ glob@^7.0.5, glob@^7.1.1, glob@^7.1.4, glob@^7.2.0: glob@^8.1.0: version "8.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-8.1.0.tgz" integrity sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4= dependencies: fs.realpath "^1.0.0" @@ -3025,7 +2980,7 @@ glob@^8.1.0: global-modules@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/global-modules/-/global-modules-1.0.0.tgz" integrity sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o= dependencies: global-prefix "^1.0.1" @@ -3034,7 +2989,7 @@ global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/global-prefix/-/global-prefix-1.0.2.tgz" integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= dependencies: expand-tilde "^2.0.2" @@ -3045,12 +3000,12 @@ global-prefix@^1.0.1: globals@^14.0.0: version "14.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-14.0.0.tgz" integrity sha1-iY10E8Kbq89rr+Vvyt3thYrack4= globby@^14.1.0: version "14.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globby/-/globby-14.1.0.tgz#138b78e77cf5a8d794e327b15dce80bf1fb0a73e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globby/-/globby-14.1.0.tgz" integrity sha1-E4t453z1qNeU4yexXc6Avx+wpz4= dependencies: "@sindresorhus/merge-streams" "^2.1.0" @@ -3060,55 +3015,49 @@ globby@^14.1.0: slash "^5.1.0" unicorn-magic "^0.3.0" -glogg@^1.0.0: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" - integrity sha1-LX3XAr7aIus7/634gGltpthGMT8= +glogg@^2.2.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glogg/-/glogg-2.2.0.tgz#956ceb855a05a2aa1fa668d748f2be8e7361c11c" + integrity sha1-lWzrhVoFoqofpmjXSPK+jnNhwRw= dependencies: - sparkles "^1.0.0" + sparkles "^2.1.0" gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gopd/-/gopd-1.2.0.tgz" integrity sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE= -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.8: version "4.2.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM= graphemer@^1.4.0: version "1.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/graphemer/-/graphemer-1.4.0.tgz" integrity sha1-+y8dVeDjoYSa7/yQxPoN1ToOZsY= -gulp-cli@^2.2.0: - version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" - integrity sha1-7A04DinlKqReR5d/DTLhj9FhEi8= +gulp-cli@^3.1.0: + version "3.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-cli/-/gulp-cli-3.1.0.tgz#92590e9b209142b176c95ad5c7066d2592017268" + integrity sha1-klkOmyCRQrF2yVrVxwZtJZIBcmg= dependencies: - ansi-colors "^1.0.1" - archy "^1.0.0" - array-sort "^1.0.0" - color-support "^1.1.3" - concat-stream "^1.6.0" - copy-props "^2.0.1" - fancy-log "^1.3.2" - gulplog "^1.0.0" - interpret "^1.4.0" - isobject "^3.0.1" - liftoff "^3.1.0" - matchdep "^2.0.0" - mute-stdout "^1.0.0" - pretty-hrtime "^1.0.0" - replace-homedir "^1.0.0" - semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.2.0" - yargs "^7.1.0" + "@gulpjs/messages" "^1.1.0" + chalk "^4.1.2" + copy-props "^4.0.0" + gulplog "^2.2.0" + interpret "^3.1.1" + liftoff "^5.0.1" + mute-stdout "^2.0.0" + replace-homedir "^2.0.0" + semver-greatest-satisfied-range "^2.0.0" + string-width "^4.2.3" + v8flags "^4.0.0" + yargs "^16.2.0" gulp-concat@^2.6.1: version "2.6.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-concat/-/gulp-concat-2.6.1.tgz" integrity sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M= dependencies: concat-with-sourcemaps "^1.0.0" @@ -3144,7 +3093,7 @@ gulp-sourcemaps@^3.0.0: gulp-typescript@^6.0.0-alpha.1: version "6.0.0-alpha.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-typescript/-/gulp-typescript-6.0.0-alpha.1.tgz#fcb0dbbc79c34201f0945c6323c194a8f5455a04" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp-typescript/-/gulp-typescript-6.0.0-alpha.1.tgz" integrity sha1-/LDbvHnDQgHwlFxjI8GUqPVFWgQ= dependencies: ansi-colors "^4.1.1" @@ -3154,134 +3103,114 @@ gulp-typescript@^6.0.0-alpha.1: vinyl "^2.2.0" vinyl-fs "^3.0.3" -gulp@^4.0.2: - version "4.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" - integrity sha1-VDZRBw/Q9qsKBlDGo+b/WnywnKo= +gulp@^5.0.1: + version "5.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulp/-/gulp-5.0.1.tgz#c43f37aa34569e101fb6da4e0b464677305acd36" + integrity sha1-xD83qjRWnhAfttpOC0ZGdzBazTY= dependencies: - glob-watcher "^5.0.3" - gulp-cli "^2.2.0" - undertaker "^1.2.1" - vinyl-fs "^3.0.0" + glob-watcher "^6.0.0" + gulp-cli "^3.1.0" + undertaker "^2.0.0" + vinyl-fs "^4.0.2" -gulplog@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= +gulplog@^2.2.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gulplog/-/gulplog-2.2.0.tgz#71adf43ea5cd07c23ded0fb8af4a844b67c63be8" + integrity sha1-ca30PqXNB8I97Q+4r0qES2fGO+g= dependencies: - glogg "^1.0.0" + glogg "^2.2.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-flag/-/has-flag-4.0.0.tgz" integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" integrity sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ= dependencies: es-define-property "^1.0.0" has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz" integrity sha1-/JxqeDoISVHQuXH+EBjegTcHozg= has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha1-LNxC1AvvLltO6rfAGnPFTOerWrw= dependencies: has-symbols "^1.0.3" -has-value@^0.3.1: - version "0.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -hasown@^2.0.0, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hasown/-/hasown-2.0.2.tgz" integrity sha1-AD6vkb563DcuhOxZ3DclLO24AAM= dependencies: function-bind "^1.1.2" he@^1.2.0: version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/he/-/he-1.2.0.tgz" integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" integrity sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg= dependencies: parse-passwd "^1.0.0" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= - hosted-git-info@^4.0.2: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hosted-git-info/-/hosted-git-info-4.1.0.tgz" integrity sha1-gnuChn6f8cjQxNnVOIA5fSyG0iQ= dependencies: lru-cache "^6.0.0" hosted-git-info@^7.0.0: version "7.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hosted-git-info/-/hosted-git-info-7.0.2.tgz" integrity sha1-m3UaysCXdXZn8wEUYH73tmH/Txc= dependencies: lru-cache "^10.0.1" html-escaper@^2.0.0: version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= -htmlparser2@^10.0.0: - version "10.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d" - integrity sha1-d60kkDe2a/jMmcbihu9zuDrrYh0= +htmlparser2@^9.1.0: + version "9.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/htmlparser2/-/htmlparser2-9.1.0.tgz" + integrity sha1-zbSY2KdaUfc5th0/cYE2w2m8jCM= dependencies: domelementtype "^2.3.0" domhandler "^5.0.3" - domutils "^3.2.1" - entities "^6.0.0" + domutils "^3.1.0" + entities "^4.5.0" + +http-errors@2.0.0, http-errors@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha1-t3dKFIbvc892Z6ya4IWMASxXudM= + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.2: version "7.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" integrity sha1-mosfJGhmwChQlIZYX2K48sGMJw4= dependencies: agent-base "^7.1.0" @@ -3289,7 +3218,7 @@ http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.2: https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.5: version "7.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" integrity sha1-2o3+rH2hMLBcK6S1nJts1mYRprk= dependencies: agent-base "^7.1.2" @@ -3297,34 +3226,34 @@ https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.5: iconv-lite@0.6.3, iconv-lite@^0.6.3: version "0.6.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE= dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ieee754/-/ieee754-1.2.1.tgz" integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= ignore@^5.2.0: version "5.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ignore/-/ignore-5.3.2.tgz" integrity sha1-PNQOcp82Q/2HywTlC/DrcivFlvU= ignore@^7.0.0, ignore@^7.0.3: - version "7.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha1-TLX2zX1MerA2VzjHrqiIuqbX79k= + version "7.0.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ignore/-/ignore-7.0.4.tgz" + integrity sha1-oSxw0PJgfFv1CPtlpAx18DfXoHg= immediate@~3.0.5: version "3.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/immediate/-/immediate-3.0.6.tgz" integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= import-fresh@^3.2.1: version "3.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-fresh/-/import-fresh-3.3.1.tgz" integrity sha1-nOy1ZQPAraHydB271lRuSxO1fM8= dependencies: parent-module "^1.0.0" @@ -3332,7 +3261,7 @@ import-fresh@^3.2.1: import-local@^3.0.2: version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-local/-/import-local-3.2.0.tgz" integrity sha1-w9XHRXmMAqb4uJdyarpRABhu4mA= dependencies: pkg-dir "^4.2.0" @@ -3340,218 +3269,152 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -index-to-position@^1.1.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/index-to-position/-/index-to-position-1.1.0.tgz#2e50bd54c8040bdd6d9b3d95ec2a8fedf86b4d44" - integrity sha1-LlC9VMgEC91tmz2V7CqP7fhrTUQ= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/indent-string/-/indent-string-4.0.0.tgz" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= inflight@^1.0.4: version "1.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inflight/-/inflight-1.0.6.tgz" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz" integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= ini@^1.3.4, ini@~1.3.0: version "1.3.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ini/-/ini-1.3.8.tgz" integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= -interpret@^1.4.0: - version "1.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4= - interpret@^3.1.1: version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/interpret/-/interpret-3.1.1.tgz" integrity sha1-W+DO7WfKecbEvFzw1+6EPc6hEMQ= -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= is-absolute@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-absolute/-/is-absolute-1.0.0.tgz" integrity sha1-OV4a6EsR8mrReV5zwXN45IowFXY= dependencies: is-relative "^1.0.0" is-windows "^1.0.1" -is-accessor-descriptor@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" - integrity sha1-MiOxBig1RkS4YmDbKbPmk/XO7dQ= - dependencies: - hasown "^2.0.0" - is-arrayish@^0.2.1: version "0.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= dependencies: binary-extensions "^2.0.0" is-buffer@^1.1.5: version "1.1.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha1-76ouqdqg16suoTqXsritUf776L4= is-core-module@^2.16.0: version "2.16.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz" integrity sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ= dependencies: hasown "^2.0.2" -is-data-descriptor@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" - integrity sha1-IQkWRCYWbTLqOMQFweCUXZ5qTus= - dependencies: - hasown "^2.0.0" - -is-descriptor@^0.1.0: - version "0.1.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" - integrity sha1-JyfrYf14nc1b3w7UVp9VHS/jvjM= - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" - integrity sha1-ktJ8s80xHEl3pNtH30VyNKE8swY= - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - is-docker@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-docker/-/is-docker-3.0.0.tgz" integrity sha1-kAk6oxBid9inelkQ265xdH4VogA= -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - is-extendable@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extendable/-/is-extendable-1.0.1.tgz" integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= dependencies: is-plain-object "^2.0.4" is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= is-glob@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-glob/-/is-glob-3.1.0.tgz" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-glob/-/is-glob-4.0.3.tgz" integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ= dependencies: is-extglob "^2.1.1" is-inside-container@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-inside-container/-/is-inside-container-1.0.0.tgz" integrity sha1-6B+6aZZi6zHb2vJnZqYdSBRxfqQ= dependencies: is-docker "^3.0.0" is-interactive@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz" integrity sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA= is-negated-glob@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-negated-glob/-/is-negated-glob-1.0.0.tgz" integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= -is-network-error@^1.0.0: +is-network-error@^1.1.0: version "1.1.0" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-network-error/-/is-network-error-1.1.0.tgz#d26a760e3770226d11c169052f266a4803d9c997" integrity sha1-0mp2DjdwIm0RwWkFLyZqSAPZyZc= -is-number@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8= - is-number@^7.0.0: version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-number/-/is-number-7.0.0.tgz" integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-object/-/is-plain-object-2.0.4.tgz" integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= dependencies: isobject "^3.0.1" is-plain-object@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha1-RCf1CrNCnpAl6n1S6QQ6nvQVk0Q= is-promise@^2.2.2: @@ -3559,97 +3422,95 @@ is-promise@^2.2.2: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha1-OauVnMv5p3TPB597QMeib3YxNfE= +is-promise@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" + integrity sha1-Qv+fhCBsGZHSbev1IN1cAQQt0vM= + is-relative@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-relative/-/is-relative-1.0.0.tgz" integrity sha1-obtpNc6MXboei5dUubLcwCDiJg0= dependencies: is-unc-path "^1.0.0" is-unc-path@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unc-path/-/is-unc-path-1.0.0.tgz" integrity sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0= dependencies: unc-path-regex "^0.1.2" is-unicode-supported@^0.1.0: version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" integrity sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc= is-unicode-supported@^1.3.0: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz" integrity sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ= is-unicode-supported@^2.0.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#09f0ab0de6d3744d48d265ebb98f65d11f2a9b3a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz" integrity sha1-CfCrDebTdE1I0mXruY9l0R8qmzo= -is-utf8@^0.2.0, is-utf8@^0.2.1: +is-utf8@^0.2.1: version "0.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-utf8/-/is-utf8-0.2.1.tgz" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= is-valid-glob@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-valid-glob/-/is-valid-glob-1.0.0.tgz" integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.1: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-windows/-/is-windows-1.0.2.tgz" integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= is-wsl@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-wsl/-/is-wsl-3.1.0.tgz" integrity sha1-4cZX45wQCQr8vt7GFyD2uSTDy9I= dependencies: is-inside-container "^1.0.0" is@^3.3.0: - version "3.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is/-/is-3.3.2.tgz#dfc285f4937f08564675f2f17cc6ac6cd2113ace" - integrity sha1-38KF9JN/CFZGdfLxfMasbNIROs4= + version "3.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is/-/is-3.3.0.tgz" + integrity sha1-Yc/23TxBk9uUo9YlggcrROVkXXk= isarray@0.0.1: version "0.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isarray/-/isarray-0.0.1.tgz" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -isarray@1.0.0, isarray@~1.0.0: +isarray@~1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isobject/-/isobject-3.0.1.tgz" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" integrity sha1-LRZsSwZE1Do58Ev2wu3R5YXzF1Y= istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" integrity sha1-kIMFusmlvRdaxqdEier9D8JEWn0= dependencies: istanbul-lib-coverage "^3.0.0" @@ -3658,40 +3519,39 @@ istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: istanbul-reports@^3.1.6: version "3.1.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-reports/-/istanbul-reports-3.1.7.tgz" integrity sha1-2u0SueHcpRjhXAVuHlN+dBKA+gs= dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -istextorbinary@^9.5.0: - version "9.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istextorbinary/-/istextorbinary-9.5.0.tgz#e6e13febf1c1685100ae264809a4f8f46e01dfd3" - integrity sha1-5uE/6/HBaFEAriZICaT49G4B39M= +istextorbinary@^6.0.0: + version "6.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istextorbinary/-/istextorbinary-6.0.0.tgz" + integrity sha1-vG51QQBrwgP+/+FmKNCnKJOyrVQ= dependencies: - binaryextensions "^6.11.0" - editions "^6.21.0" - textextensions "^6.11.0" + binaryextensions "^4.18.0" + textextensions "^5.14.0" jackspeak@^3.1.2: version "3.4.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-3.4.3.tgz" integrity sha1-iDOp2Jq0rN5hiJQr0cU7Y5DtWoo= dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jackspeak@^4.1.1: +jackspeak@^4.0.1: version "4.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-4.1.1.tgz#96876030f450502047fc7e8c7fcf8ce8124e43ae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-4.1.1.tgz" integrity sha1-lodgMPRQUCBH/H6Mf8+M6BJOQ64= dependencies: "@isaacs/cliui" "^8.0.2" jest-worker@^27.4.5: version "27.5.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-27.5.1.tgz" integrity sha1-jRRvCQDolzsQa29zzB6ajLhvjbA= dependencies: "@types/node" "*" @@ -3700,12 +3560,12 @@ jest-worker@^27.4.5: js-tokens@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= js-yaml@^3.14.1: version "3.14.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= dependencies: argparse "^1.0.7" @@ -3713,49 +3573,54 @@ js-yaml@^3.14.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha1-wftl+PUBeQHN0slRhkuhhFihBgI= dependencies: argparse "^2.0.1" json-buffer@3.0.1: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-buffer/-/json-buffer-3.0.1.tgz" integrity sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM= json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= +json-parse-even-better-errors@^3.0.0: + version "3.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz" + integrity sha1-tD016JwPO+a1+76dxsgkZ7MMKNo= + json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json5@^2.2.2: version "2.2.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json5/-/json5-2.2.3.tgz" integrity sha1-eM1vGhm9wStz21rQxh79ZsHikoM= jsonc-parser@^3.2.0: version "3.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.3.1.tgz" integrity sha1-8qUktPf9EePXkeVZl3rWC5i3mLQ= jsonfile@^6.0.1: version "6.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= dependencies: universalify "^2.0.0" @@ -3764,7 +3629,7 @@ jsonfile@^6.0.1: jsonwebtoken@^9.0.0: version "9.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" integrity sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM= dependencies: jws "^3.2.2" @@ -3780,7 +3645,7 @@ jsonwebtoken@^9.0.0: jszip@^3.10.1: version "3.10.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jszip/-/jszip-3.10.1.tgz" integrity sha1-NK7nDrGOofrsL1iSCKFX0f6wkcI= dependencies: lie "~3.3.0" @@ -3788,14 +3653,9 @@ jszip@^3.10.1: readable-stream "~2.3.6" setimmediate "^1.0.5" -just-debounce@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" - integrity sha1-L4GjrUEhp2vHy0Xb9wTA12qOXd8= - jwa@^1.4.1: version "1.4.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jwa/-/jwa-1.4.2.tgz#16011ac6db48de7b102777e57897901520eec7b9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jwa/-/jwa-1.4.2.tgz" integrity sha1-FgEaxttI3nsQJ3fleJeQFSDux7k= dependencies: buffer-equal-constant-time "^1.0.1" @@ -3804,7 +3664,7 @@ jwa@^1.4.1: jws@^3.2.2: version "3.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jws/-/jws-3.2.2.tgz" integrity sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ= dependencies: jwa "^1.4.1" @@ -3812,7 +3672,7 @@ jws@^3.2.2: keytar@^7.7.0: version "7.9.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/keytar/-/keytar-7.9.0.tgz" integrity sha1-TGIlcI9RtQy/d8Wq6BchlkwpGMs= dependencies: node-addon-api "^4.3.0" @@ -3820,72 +3680,48 @@ keytar@^7.7.0: keyv@^4.5.4: version "4.5.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/keyv/-/keyv-4.5.4.tgz" integrity sha1-qHmpnilFL5QkOfKkBeOvizHU3pM= dependencies: json-buffer "3.0.1" -kind-of@^3.0.2, kind-of@^3.0.3: - version "3.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.2: - version "5.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= - kind-of@^6.0.2: version "6.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kind-of/-/kind-of-6.0.3.tgz" integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= -last-run@^1.1.0: - version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" - integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= - dependencies: - default-resolution "^2.0.0" - es6-weak-map "^2.0.1" +last-run@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/last-run/-/last-run-2.0.0.tgz#f82dcfbfce6e63d041bd83d64c82e34cdba6572e" + integrity sha1-+C3Pv85uY9BBvYPWTILjTNumVy4= lazystream@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lazystream/-/lazystream-1.0.1.tgz" integrity sha1-SUyDEGLx+UCCUexE2xy6KSQqJjg= dependencies: readable-stream "^2.0.5" -lcid@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - lead@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lead/-/lead-1.0.0.tgz" integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= dependencies: flush-write-stream "^1.0.2" +lead@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lead/-/lead-4.0.0.tgz#5317a49effb0e7ec3a0c8fb9c1b24fb716aab939" + integrity sha1-Uxeknv+w5+w6DI+5wbJPtxaquTk= + leven@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/leven/-/leven-3.1.0.tgz" integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= levn@^0.4.1: version "0.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/levn/-/levn-0.4.1.tgz" integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= dependencies: prelude-ls "^1.2.1" @@ -3893,115 +3729,113 @@ levn@^0.4.1: lie@~3.3.0: version "3.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lie/-/lie-3.3.0.tgz" integrity sha1-3Pgt7lRfRgdNryAMfBxaCOD0D2o= dependencies: immediate "~3.0.5" -liftoff@^3.1.0: - version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" - integrity sha1-ybpggfkIZwYH7nkGLXAN8GLFLtM= +liftoff@^5.0.1: + version "5.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/liftoff/-/liftoff-5.0.1.tgz#e2329e7f1e19e98c8dba71185f2078e6dbbc5c1f" + integrity sha1-4jKefx4Z6YyNunEYXyB45tu8XB8= dependencies: - extend "^3.0.0" - findup-sync "^3.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" + extend "^3.0.2" + findup-sync "^5.0.0" + fined "^2.0.0" + flagged-respawn "^2.0.0" + is-plain-object "^5.0.0" + rechoir "^0.8.0" + resolve "^1.20.0" + +lines-and-columns@^2.0.3: + version "2.0.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lines-and-columns/-/lines-and-columns-2.0.4.tgz" + integrity sha1-0AMYhVkF0mYNjAgi4/WkcVhV/EI= linkify-it@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/linkify-it/-/linkify-it-5.0.0.tgz" integrity sha1-nvI4v6bccL2Of5VytS02mvVptCE= dependencies: uc.micro "^2.0.0" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - loader-runner@^4.2.0: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/loader-runner/-/loader-runner-4.3.0.tgz" integrity sha1-wbShY7mfYUgwNTsWdV5xSawjFOE= locate-path@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/locate-path/-/locate-path-5.0.0.tgz" integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/locate-path/-/locate-path-6.0.0.tgz" integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= dependencies: p-locate "^5.0.0" +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.get/-/lodash.get-4.4.2.tgz" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + lodash.includes@^4.3.0: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.includes/-/lodash.includes-4.3.0.tgz" integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= lodash.isboolean@^3.0.3: version "3.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= lodash.isinteger@^4.0.4: version "4.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= lodash.isnumber@^3.0.3: version "3.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= lodash.isstring@^4.0.1: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.isstring/-/lodash.isstring-4.0.1.tgz" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= lodash.merge@^4.6.2: version "4.6.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= lodash.once@^4.0.0: version "4.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.once/-/lodash.once-4.1.1.tgz" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.truncate/-/lodash.truncate-4.4.2.tgz" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= lodash@^4.17.21: version "4.17.21" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash/-/lodash-4.17.21.tgz" integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= log-symbols@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/log-symbols/-/log-symbols-4.1.0.tgz" integrity sha1-P727lbRoOsn8eFER55LlWNSr1QM= dependencies: chalk "^4.1.0" @@ -4009,7 +3843,7 @@ log-symbols@^4.1.0: log-symbols@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/log-symbols/-/log-symbols-6.0.0.tgz#bb95e5f05322651cac30c0feb6404f9f2a8a9439" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/log-symbols/-/log-symbols-6.0.0.tgz" integrity sha1-u5Xl8FMiZRysMMD+tkBPnyqKlDk= dependencies: chalk "^5.3.0" @@ -4017,17 +3851,17 @@ log-symbols@^6.0.0: lru-cache@^10.0.1, lru-cache@^10.2.0: version "10.4.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-10.4.3.tgz" integrity sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk= lru-cache@^11.0.0: version "11.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-11.1.0.tgz#afafb060607108132dbc1cf8ae661afb69486117" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-11.1.0.tgz" integrity sha1-r6+wYGBxCBMtvBz4rmYa+2lIYRc= lru-cache@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= dependencies: yallist "^4.0.0" @@ -4041,43 +3875,29 @@ lru-queue@^0.1.0: make-dir@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/make-dir/-/make-dir-4.0.0.tgz" integrity sha1-w8IwencSd82WODBfkVwprnQbYU4= dependencies: semver "^7.5.3" make-error@^1.1.1: version "1.3.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/make-error/-/make-error-1.3.6.tgz" integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha1-KbM/MSqo9UfEpeSQ9Wr87JkTOtY= - dependencies: - kind-of "^6.0.2" - -map-cache@^0.2.0, map-cache@^0.2.2: +map-cache@^0.2.0: version "0.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/map-cache/-/map-cache-0.2.2.tgz" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-stream@0.0.7: version "0.0.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/map-stream/-/map-stream-0.0.7.tgz" integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= -map-visit@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - markdown-it@^14.1.0: version "14.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/markdown-it/-/markdown-it-14.1.0.tgz" integrity sha1-PDxZkog8Yz20cUzLTXtZNdmLfUU= dependencies: argparse "^2.0.1" @@ -4087,26 +3907,21 @@ markdown-it@^14.1.0: punycode.js "^2.3.1" uc.micro "^2.1.0" -matchdep@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz" integrity sha1-oN10voHiqlwvJ+Zc4oNgXuTit/k= mdurl@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mdurl/-/mdurl-2.0.0.tgz" integrity sha1-gGduwEMwJd0+F+6YPQ/o3loiN+A= +media-typer@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" + integrity sha1-ardLjy0zIPIGSyqHo455Mf86VWE= + memoizee@0.4.X: version "0.4.17" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/memoizee/-/memoizee-0.4.17.tgz#942a5f8acee281fa6fb9c620bddc57e3b7382949" @@ -4121,38 +3936,24 @@ memoizee@0.4.X: next-tick "^1.1.0" timers-ext "^0.1.7" +merge-descriptors@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808" + integrity sha1-6pIvZgY1oiSe5WXgRJ+VHmtgOAg= + merge-stream@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= merge2@^1.3.0: version "1.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge2/-/merge2-1.4.1.tgz" integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.0, micromatch@^4.0.8: +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/micromatch/-/micromatch-4.0.8.tgz" integrity sha1-1m+hjzpHB2eJMgubGvMr2G2fogI= dependencies: braces "^3.0.3" @@ -4160,90 +3961,94 @@ micromatch@^4.0.0, micromatch@^4.0.8: mime-db@1.52.0: version "1.52.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-db/-/mime-db-1.52.0.tgz" integrity sha1-u6vNwChZ9JhzAchW4zh85exDv3A= +mime-db@^1.54.0: + version "1.54.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha1-zds+5PnGRTDf9kAjZmHULLajFPU= + mime-types@^2.1.12, mime-types@^2.1.27: version "2.1.35" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-types/-/mime-types-2.1.35.tgz" integrity sha1-OBqHG2KnNEUGYK497uRIE/cNlZo= dependencies: mime-db "1.52.0" +mime-types@^3.0.0, mime-types@^3.0.1: + version "3.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" + integrity sha1-sdlNaZepsy/WnrrtDbc96Ky1Gc4= + dependencies: + mime-db "^1.54.0" + mime@^1.3.4: version "1.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime/-/mime-1.6.0.tgz" integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= mimic-function@^5.0.0: version "5.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mimic-function/-/mimic-function-5.0.1.tgz" integrity sha1-rL4rM0n5m53qyn+3Dki4PpTmcHY= mimic-response@^3.1.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mimic-response/-/mimic-response-3.1.0.tgz" integrity sha1-LR1Zr5wbEpgVrMwsRqAipc4fo8k= -minimatch@^10.0.3: - version "10.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-10.0.3.tgz#cf7a0314a16c4d9ab73a7730a0e8e3c3502d47aa" - integrity sha1-z3oDFKFsTZq3OncwoOjjw1AtR6o= +minimatch@^10.0.0: + version "10.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-10.0.1.tgz" + integrity sha1-zgUhhWtFPIbiXyxMDQPm/33cRAs= dependencies: - "@isaacs/brace-expansion" "^5.0.0" + brace-expansion "^2.0.1" minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz" integrity sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s= dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1, minimatch@^5.1.6: version "5.1.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-5.1.6.tgz" integrity sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY= dependencies: brace-expansion "^2.0.1" minimatch@^9.0.3, minimatch@^9.0.4: version "9.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-9.0.5.tgz" integrity sha1-10+d1rV9g9jpjPuCEzsDl4vJKeU= dependencies: brace-expansion "^2.0.1" minimist@^1.2.0, minimist@^1.2.3: version "1.2.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimist/-/minimist-1.2.8.tgz" integrity sha1-waRk52kzAuCCoHXO4MBXdBrEdyw= "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minipass/-/minipass-7.1.2.tgz" integrity sha1-k6libOXl5mvU24aEnnUV6SNApwc= -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha1-+hDJEVzG2IZb4iG6R+6b7XhgERM= mkdirp@^1.0.4: version "1.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= mocha@^10.2.0: version "10.8.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mocha/-/mocha-10.8.2.tgz" integrity sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y= dependencies: ansi-colors "^4.1.3" @@ -4267,14 +4072,9 @@ mocha@^10.2.0: yargs-parser "^20.2.9" yargs-unparser "^2.0.0" -ms@2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - ms@^2.1.1, ms@^2.1.3: version "2.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz" integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= multimatch@^5.0.0: @@ -4288,51 +4088,39 @@ multimatch@^5.0.0: arrify "^2.0.1" minimatch "^3.0.4" -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha1-rLAwDrTeI6fd7sAU4+lgRLNHIzE= +mute-stdout@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mute-stdout/-/mute-stdout-2.0.0.tgz#c6a9b4b6185d3b7f70d3ffcb734cbfc8b0f38761" + integrity sha1-xqm0thhdO39w0//Lc0y/yLDzh2E= mute-stream@~0.0.4: version "0.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= -nan@^2.12.1: - version "2.23.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nan/-/nan-2.23.0.tgz#24aa4ddffcc37613a2d2935b97683c1ec96093c6" - integrity sha1-JKpN3/zDdhOi0pNbl2g8Hslgk8Y= - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +nanoid@^3.3.11: + version "3.3.11" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha1-T08RLO++MDIC8hmYOBKJNiZtGFs= napi-build-utils@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/napi-build-utils/-/napi-build-utils-2.0.0.tgz" integrity sha1-E8IsAYf8/MzhRhhEE2NypH3cAn4= natural-compare@^1.4.0: version "1.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +negotiator@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" + integrity sha1-tskbtHFy1p+Tz9fDV7u1KQGbX2o= + neo-async@^2.6.2: version "2.6.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/neo-async/-/neo-async-2.6.2.tgz" integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= next-tick@^1.1.0: @@ -4342,61 +4130,56 @@ next-tick@^1.1.0: node-abi@^3.3.0: version "3.75.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-abi/-/node-abi-3.75.0.tgz#2f929a91a90a0d02b325c43731314802357ed764" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-abi/-/node-abi-3.75.0.tgz" integrity sha1-L5KakakKDQKzJcQ3MTFIAjV+12Q= dependencies: semver "^7.3.5" node-addon-api@^4.3.0: version "4.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-addon-api/-/node-addon-api-4.3.0.tgz" integrity sha1-UqGgtHUZPgko6Y4EJqDRJUeCt38= node-forge@^1.3.1: version "1.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-forge/-/node-forge-1.3.1.tgz" integrity sha1-vo2iryQ7JBfV9kancGY6krfp3tM= node-releases@^2.0.19: version "2.0.19" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-releases/-/node-releases-2.0.19.tgz" integrity sha1-nkRaUpUJUexNF32EOvNwtBHK8xQ= -node-sarif-builder@^3.2.0: - version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz#ba008995d8b165570c3f38300e56299a93531db1" - integrity sha1-ugCJldixZVcMPzgwDlYpmpNTHbE= +node-sarif-builder@^2.0.3: + version "2.0.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-sarif-builder/-/node-sarif-builder-2.0.3.tgz" + integrity sha1-F5rlkM4CD5f55FA33BzehapDmOw= dependencies: - "@types/sarif" "^2.1.7" - fs-extra "^11.1.1" + "@types/sarif" "^2.1.4" + fs-extra "^10.0.0" noms@0.0.0: version "0.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/noms/-/noms-0.0.0.tgz" integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= dependencies: inherits "^2.0.1" readable-stream "~1.0.31" -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-package-data@^6.0.0: version "6.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-package-data/-/normalize-package-data-6.0.2.tgz" integrity sha1-p7wiFn/iQCVBK8/wqWUet2iwNQY= dependencies: hosted-git-info "^7.0.0" semver "^7.3.5" validate-npm-package-license "^3.0.4" +normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -4404,64 +4187,45 @@ normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= - now-and-later@^2.0.0: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/now-and-later/-/now-and-later-2.0.1.tgz" integrity sha1-jlechoV2SnzALLaAOA6U9DzLH3w= dependencies: once "^1.3.2" +now-and-later@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/now-and-later/-/now-and-later-3.0.0.tgz#cdc045dc5b894b35793cf276cc3206077bb7302d" + integrity sha1-zcBF3FuJSzV5PPJ2zDIGB3u3MC0= + dependencies: + once "^1.4.0" + nth-check@^2.0.1: version "2.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nth-check/-/nth-check-2.1.1.tgz" integrity sha1-yeq0KO/842zWuSySS9sADvHx7R0= dependencies: boolbase "^1.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - object-assign@4.X: version "4.1.1" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-copy@^0.1.0: - version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.13.3: version "1.13.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz" integrity sha1-g3UmXiG8IND6WCwi4bE0hdbgAhM= object-keys@^1.1.1: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-keys/-/object-keys-1.1.1.tgz" integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= -object-visit@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@^4.0.4: version "4.1.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.assign/-/object.assign-4.1.7.tgz" integrity sha1-jBTKGkJMalYbC7KiL2b1BJqUXT0= dependencies: call-bind "^1.0.8" @@ -4471,9 +4235,9 @@ object.assign@^4.0.4, object.assign@^4.1.0: has-symbols "^1.1.0" object-keys "^1.1.1" -object.defaults@^1.0.0, object.defaults@^1.1.0: +object.defaults@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.defaults/-/object.defaults-1.1.0.tgz" integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= dependencies: array-each "^1.0.1" @@ -4481,56 +4245,47 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" -object.map@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: +object.pick@^1.3.0: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.pick/-/object.pick-1.3.0.tgz" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= +on-finished@^2.4.1: + version "2.4.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha1-WMjEQRblSEWtV/FKsQsDUzGErD8= dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" + ee-first "1.1.1" once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^7.0.0: version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/onetime/-/onetime-7.0.0.tgz" integrity sha1-nxbJLYye9RIOOs2d2ZV8zuzBq2A= dependencies: mimic-function "^5.0.0" open@^10.1.0: - version "10.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/open/-/open-10.2.0.tgz#b9d855be007620e80b6fb05fac98141fe62db73c" - integrity sha1-udhVvgB2IOgLb7BfrJgUH+Yttzw= + version "10.1.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/open/-/open-10.1.2.tgz" + integrity sha1-1d9AmEdVyanDyT34FWoSRn6IKSU= dependencies: default-browser "^5.2.1" define-lazy-prop "^3.0.0" is-inside-container "^1.0.0" - wsl-utils "^0.1.0" + is-wsl "^3.1.0" optionator@^0.9.3: version "0.9.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/optionator/-/optionator-0.9.4.tgz" integrity sha1-fqHBpdkddk+yghOciP4R4YKjpzQ= dependencies: deep-is "^0.1.3" @@ -4542,7 +4297,7 @@ optionator@^0.9.3: ora@^8.1.0: version "8.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ora/-/ora-8.2.0.tgz#8fbbb7151afe33b540dd153f171ffa8bd38e9861" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ora/-/ora-8.2.0.tgz" integrity sha1-j7u3FRr+M7VA3RU/Fx/6i9OOmGE= dependencies: chalk "^5.3.0" @@ -4557,83 +4312,76 @@ ora@^8.1.0: ordered-read-streams@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= dependencies: readable-stream "^2.0.1" -os-locale@^1.4.0: - version "1.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - p-limit@^2.2.0: version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-limit/-/p-limit-2.3.0.tgz" integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-limit/-/p-limit-3.1.0.tgz" integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= dependencies: yocto-queue "^0.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-locate/-/p-locate-4.1.0.tgz" integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-locate/-/p-locate-5.0.0.tgz" integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= dependencies: p-limit "^3.0.2" -p-map@^7.0.3: - version "7.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-map/-/p-map-7.0.3.tgz#7ac210a2d36f81ec28b736134810f7ba4418cdb6" - integrity sha1-esIQotNvgewotzYTSBD3ukQYzbY= +p-map@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-map/-/p-map-4.0.0.tgz" + integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= + dependencies: + aggregate-error "^3.0.0" -p-retry@^6.2.1: - version "6.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-retry/-/p-retry-6.2.1.tgz#81828f8dc61c6ef5a800585491572cc9892703af" - integrity sha1-gYKPjcYcbvWoAFhUkVcsyYknA68= +p-retry@^7.0.0: + version "7.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-retry/-/p-retry-7.0.0.tgz#38dbee20149d94680fe0a022405839d995f95e7b" + integrity sha1-ONvuIBSdlGgP4KAiQFg52ZX5Xns= dependencies: - "@types/retry" "0.12.2" - is-network-error "^1.0.0" - retry "^0.13.1" + is-network-error "^1.1.0" p-try@^2.0.0: version "2.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-try/-/p-try-2.2.0.tgz" integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= package-json-from-dist@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" integrity sha1-TxRxoBCCeob5TP2bByfjbSZ95QU= pako@~1.0.2: version "1.0.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pako/-/pako-1.0.11.tgz" integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= parent-module@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parent-module/-/parent-module-1.0.1.tgz" integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= dependencies: callsites "^3.0.0" -parse-filepath@^1.0.1: +parse-filepath@^1.0.2: version "1.0.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= @@ -4642,42 +4390,37 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^8.0.0: - version "8.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-json/-/parse-json-8.3.0.tgz#88a195a2157025139a2317a4f2f9252b61304ed5" - integrity sha1-iKGVohVwJROaIxek8vklK2EwTtU= +parse-json@^7.0.0: + version "7.1.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-json/-/parse-json-7.1.1.tgz" + integrity sha1-aPfm8O34jFSrFMAOtwC3U7FOISA= dependencies: - "@babel/code-frame" "^7.26.2" - index-to-position "^1.1.0" - type-fest "^4.39.1" + "@babel/code-frame" "^7.21.4" + error-ex "^1.3.2" + json-parse-even-better-errors "^3.0.0" + lines-and-columns "^2.0.3" + type-fest "^3.8.0" parse-node-version@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-node-version/-/parse-node-version-1.0.1.tgz" integrity sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs= parse-passwd@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-passwd/-/parse-passwd-1.0.0.tgz" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-semver@^1.1.1: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-semver/-/parse-semver-1.1.1.tgz" integrity sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg= dependencies: semver "^5.1.0" -parse5-htmlparser2-tree-adapter@^7.1.0: +parse5-htmlparser2-tree-adapter@^7.0.0: version "7.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz" integrity sha1-tagGVI7Yk6Q+JMy0L7t4BpMR6Bs= dependencies: domhandler "^5.0.3" @@ -4685,70 +4428,63 @@ parse5-htmlparser2-tree-adapter@^7.1.0: parse5-parser-stream@^7.1.2: version "7.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz#d7c20eadc37968d272e2c02660fff92dd27e60e1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz" integrity sha1-18IOrcN5aNJy4sAmYP/5LdJ+YOE= dependencies: parse5 "^7.0.0" -parse5@^7.0.0, parse5@^7.3.0: +parse5@^7.0.0, parse5@^7.1.2: version "7.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5/-/parse5-7.3.0.tgz" integrity sha1-1+Ik+nI5nHoXUJn0X8KtAksF7AU= dependencies: entities "^6.0.0" -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +parseurl@^1.3.3: + version "1.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= path-dirname@^1.0.0: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-dirname/-/path-dirname-1.0.2.tgz" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^2.0.0: - version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-exists/-/path-exists-4.0.0.tgz" integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^3.1.0: version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-key/-/path-key-3.1.1.tgz" integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= path-parse@^1.0.7: version "1.0.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-parse/-/path-parse-1.0.7.tgz" integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= path-root-regex@^0.1.0: version "0.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-root-regex/-/path-root-regex-0.1.2.tgz" integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= path-root@^0.1.1: version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-root/-/path-root-0.1.1.tgz" integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= dependencies: path-root-regex "^0.1.0" path-scurry@^1.11.1: version "1.11.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-scurry/-/path-scurry-1.11.1.tgz" integrity sha1-eWCmaIiFlKByCxKpEdGnQqufEdI= dependencies: lru-cache "^10.2.0" @@ -4756,36 +4492,32 @@ path-scurry@^1.11.1: path-scurry@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-scurry/-/path-scurry-2.0.0.tgz#9f052289f23ad8bf9397a2a0425e7b8615c58580" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-scurry/-/path-scurry-2.0.0.tgz" integrity sha1-nwUiifI62L+Tl6KgQl57hhXFhYA= dependencies: lru-cache "^11.0.0" minipass "^7.1.2" -path-type@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" +path-to-regexp@^8.0.0: + version "8.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" + integrity sha1-c5kMwp5Xo/8qDZFAlRVt9dt56LQ= path-type@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-type/-/path-type-6.0.0.tgz#2f1bb6791a91ce99194caede5d6c5920ed81eb51" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-type/-/path-type-6.0.0.tgz" integrity sha1-Lxu2eRqRzpkZTK7eXWxZIO2B61E= pause-stream@^0.0.11: version "0.0.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pause-stream/-/pause-stream-0.0.11.tgz" integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= dependencies: through "~2.3" pend@~1.2.0: version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pend/-/pend-1.2.0.tgz" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= picocolors@^0.2.1: @@ -4795,41 +4527,24 @@ picocolors@^0.2.1: picocolors@^1.1.1: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picocolors/-/picocolors-1.1.1.tgz" integrity sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s= picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz" integrity sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI= -pify@^2.0.0: - version "2.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pkg-dir@^4.2.0: version "4.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= dependencies: find-up "^4.0.0" plugin-error@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/plugin-error/-/plugin-error-1.0.1.tgz" integrity sha1-dwFr2JGdCsN3/c3QMiMolTyleBw= dependencies: ansi-colors "^1.0.1" @@ -4839,19 +4554,14 @@ plugin-error@^1.0.1: pluralize@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pluralize/-/pluralize-2.0.0.tgz" integrity sha1-crcmqm+sHt7uQiVsfY3CVrM1Z38= pluralize@^8.0.0: version "8.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pluralize/-/pluralize-8.0.0.tgz" integrity sha1-Gm+hajjRKhkB4DIPoBcFHFOc47E= -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - postcss@^7.0.16: version "7.0.39" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" @@ -4860,9 +4570,18 @@ postcss@^7.0.16: picocolors "^0.2.1" source-map "^0.6.1" +postcss@^8.5.6: + version "8.5.6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha1-KCUAZhWmGbT2Kp50JswSCzSajzw= + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + prebuild-install@^7.0.1: version "7.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prebuild-install/-/prebuild-install-7.1.3.tgz#d630abad2b147443f20a212917beae68b8092eec" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prebuild-install/-/prebuild-install-7.1.3.tgz" integrity sha1-1jCrrSsUdEPyCiEpF76uaLgJLuw= dependencies: detect-libc "^2.0.0" @@ -4880,38 +4599,41 @@ prebuild-install@^7.0.1: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= +proxy-addr@^2.0.7: + version "2.0.7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU= + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + pump@^2.0.0: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pump/-/pump-2.0.1.tgz" integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pump@^3.0.0: - version "3.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" - integrity sha1-FR2XnxopZo3AAl7FiaRVtTKCJo0= + version "3.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pump/-/pump-3.0.2.tgz" + integrity sha1-g28+3WvC7lmSVskk/+DYhXPdy/g= dependencies: end-of-stream "^1.1.0" once "^1.3.1" pumpify@^1.3.5: version "1.5.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pumpify/-/pumpify-1.5.1.tgz" integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= dependencies: duplexify "^3.6.0" @@ -4920,36 +4642,51 @@ pumpify@^1.3.5: punycode.js@^2.3.1: version "2.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/punycode.js/-/punycode.js-2.3.1.tgz" integrity sha1-a1PlatdViCNOefSv+pCXLH3Yzbc= punycode@^2.1.0: version "2.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/punycode/-/punycode-2.3.1.tgz" integrity sha1-AnQi4vrsCyXhVJw+G9gwm5EztuU= -qs@^6.9.1: +qs@^6.14.0, qs@^6.9.1: version "6.14.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/qs/-/qs-6.14.0.tgz" integrity sha1-xj+kBoDSxclBQSoOiZyJr2DAqTA= dependencies: side-channel "^1.1.0" queue-microtask@^1.2.2: version "1.2.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= randombytes@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/randombytes/-/randombytes-2.1.0.tgz" integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= dependencies: safe-buffer "^5.1.0" +range-parser@^1.2.1: + version "1.2.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" + integrity sha1-JbNHbwelFgBhna4/6C3cKKNuXg8= + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.6.3" + unpipe "1.0.0" + rc-config-loader@^4.1.3: version "4.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rc-config-loader/-/rc-config-loader-4.1.3.tgz#1352986b8a2d8d96d6fd054a5bb19a60c576876a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rc-config-loader/-/rc-config-loader-4.1.3.tgz" integrity sha1-E1KYa4otjZbW/QVKW7GaYMV2h2o= dependencies: debug "^4.3.4" @@ -4959,7 +4696,7 @@ rc-config-loader@^4.1.3: rc@^1.2.7: version "1.2.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rc/-/rc-1.2.8.tgz" integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= dependencies: deep-extend "^0.6.0" @@ -4967,53 +4704,35 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^9.0.1: - version "9.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg/-/read-pkg-9.0.1.tgz#b1b81fb15104f5dbb121b6bbdee9bbc9739f569b" - integrity sha1-sbgfsVEE9duxIba73um7yXOfVps= +read-pkg@^8.1.0: + version "8.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg/-/read-pkg-8.1.0.tgz" + integrity sha1-bPVguR2Q32i85lhSfn4+7nX3xMc= dependencies: - "@types/normalize-package-data" "^2.4.3" + "@types/normalize-package-data" "^2.4.1" normalize-package-data "^6.0.0" - parse-json "^8.0.0" - type-fest "^4.6.0" - unicorn-magic "^0.1.0" + parse-json "^7.0.0" + type-fest "^4.2.0" read@^1.0.7: version "1.0.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read/-/read-1.0.7.tgz" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= dependencies: mute-stream "~0.0.4" "readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha1-VqmzbqllwAxak+8x6xEaDxEFaWc= dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha1-kRJegEK7obmIf0k0X2J3Anzovps= dependencies: core-util-is "~1.0.0" @@ -5026,7 +4745,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable readable-stream@~1.0.31: version "1.0.34" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-1.0.34.tgz" integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= dependencies: core-util-is "~1.0.0" @@ -5034,47 +4753,23 @@ readable-stream@~1.0.31: isarray "0.0.1" string_decoder "~0.10.x" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.6.0: version "3.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readdirp/-/readdirp-3.6.0.tgz" integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc= dependencies: picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - rechoir@^0.8.0: version "0.8.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rechoir/-/rechoir-0.8.0.tgz" integrity sha1-Sfhm4NMhRhQto62PDv81KzIV/yI= dependencies: resolve "^1.20.0" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - remove-bom-buffer@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz" integrity sha1-wr8eN3Ug0yT2I4kuM8EMrCwlK1M= dependencies: is-buffer "^1.1.5" @@ -5082,7 +4777,7 @@ remove-bom-buffer@^3.0.0: remove-bom-stream@^1.2.0: version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= dependencies: remove-bom-buffer "^3.0.0" @@ -5091,48 +4786,44 @@ remove-bom-stream@^1.2.0: remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= replace-ext@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/replace-ext/-/replace-ext-1.0.1.tgz" integrity sha1-LW2ZbQShWFXZZ0Q2Md1fd4JbAWo= -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" +replace-ext@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/replace-ext/-/replace-ext-2.0.0.tgz#9471c213d22e1bcc26717cd6e50881d88f812b06" + integrity sha1-lHHCE9IuG8wmcXzW5QiB2I+BKwY= + +replace-homedir@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/replace-homedir/-/replace-homedir-2.0.0.tgz#245bd9c909275e0beee75eae85bb40780cd61903" + integrity sha1-JFvZyQknXgvu516uhbtAeAzWGQM= require-directory@^2.1.1: version "2.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/require-directory/-/require-directory-2.1.1.tgz" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-from-string@^2.0.2: version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha1-DwB18bslRHZs9zumpuKt/ryxPy0= dependencies: resolve-from "^5.0.0" resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-dir/-/resolve-dir-1.0.1.tgz" integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= dependencies: expand-tilde "^2.0.0" @@ -5140,27 +4831,29 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: resolve-from@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= resolve-from@^5.0.0: version "5.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= resolve-options@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-options/-/resolve-options-1.1.0.tgz" integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= dependencies: value-or-function "^3.0.0" -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve-options@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve-options/-/resolve-options-2.0.0.tgz#a1a57a9949db549dd075de3f5550675f02f1e4c5" + integrity sha1-oaV6mUnbVJ3Qdd4/VVBnXwLx5MU= + dependencies: + value-or-function "^4.0.0" -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.4.0: +resolve@^1.20.0: version "1.22.10" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha1-tmPoP/sJu/I4aURza6roAwKbizk= @@ -5171,69 +4864,63 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.4.0 restore-cursor@^5.0.0: version "5.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/restore-cursor/-/restore-cursor-5.1.0.tgz" integrity sha1-B2bZVpnvrLFBUJk/VbrwlT6h6+c= dependencies: onetime "^7.0.0" signal-exit "^4.1.0" -ret@~0.1.10: - version "0.1.15" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= - -retry@^0.13.1: - version "0.13.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha1-GFsVh6z2eRnWOzVzSeA1N7JIRlg= - reusify@^1.0.4: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/reusify/-/reusify-1.1.0.tgz" integrity sha1-D+E7lSLhRz9RtVjueW4I8R+bSJ8= +router@^2.2.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" + integrity sha1-AZvmILcRyHZBFnzHm5kJDwCxRu8= + dependencies: + debug "^4.4.0" + depd "^2.0.0" + is-promise "^4.0.0" + parseurl "^1.3.3" + path-to-regexp "^8.0.0" + run-applescript@^7.0.0: version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/run-applescript/-/run-applescript-7.0.0.tgz" integrity sha1-5aVTwr/9Yg4WnSdsHNjxtkd4++s= run-parallel@^1.1.9: version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= sax@>=0.6.0: version "1.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sax/-/sax-1.4.1.tgz" integrity sha1-RMyJiDd/EmME07P8EBDHM7kp7w8= schema-utils@^4.3.0, schema-utils@^4.3.2: version "4.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/schema-utils/-/schema-utils-4.3.2.tgz" integrity sha1-DBCHi/SnP9Kx39FLlGKyZ4jIBq4= dependencies: "@types/json-schema" "^7.0.9" @@ -5241,51 +4928,78 @@ schema-utils@^4.3.0, schema-utils@^4.3.2: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -secretlint@^10.1.1: - version "10.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/secretlint/-/secretlint-10.2.2.tgz#c0cf997153a2bef0b653874dc87030daa6a35140" - integrity sha1-wM+ZcVOivvC2U4dNyHAw2qajUUA= +secretlint@^9.3.2: + version "9.3.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/secretlint/-/secretlint-9.3.3.tgz" + integrity sha1-vSlqrkRckihrggrXmdaNIsGSYsw= dependencies: - "@secretlint/config-creator" "^10.2.2" - "@secretlint/formatter" "^10.2.2" - "@secretlint/node" "^10.2.2" - "@secretlint/profiler" "^10.2.2" + "@secretlint/config-creator" "^9.3.3" + "@secretlint/formatter" "^9.3.3" + "@secretlint/node" "^9.3.3" + "@secretlint/profiler" "^9.3.3" debug "^4.4.1" globby "^14.1.0" - read-pkg "^9.0.1" + read-pkg "^8.1.0" -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= +semver-greatest-satisfied-range@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-2.0.0.tgz#4b62942a7a1ccbdb252e5329677c003bac546fe7" + integrity sha1-S2KUKnocy9slLlMpZ3wAO6xUb+c= dependencies: - sver-compat "^1.5.0" + sver "^1.8.3" -"semver@2 || 3 || 4 || 5", semver@^5.1.0: +semver@^5.1.0: version "5.7.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-5.7.2.tgz" integrity sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg= +semver@^6.3.0: + version "6.3.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ= + semver@^7.3.4, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2: version "7.7.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.7.2.tgz" integrity sha1-Z9mf3NNc7CHm+Lh6f9UVoz+YK1g= +send@^1.1.0, send@^1.2.0: + version "1.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212" + integrity sha1-MqdVT7d3uDHfqCg3D3c6OAjTchI= + dependencies: + debug "^4.3.5" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + fresh "^2.0.0" + http-errors "^2.0.0" + mime-types "^3.0.1" + ms "^2.1.3" + on-finished "^2.4.1" + range-parser "^1.2.1" + statuses "^2.0.1" + serialize-javascript@^6.0.2: version "6.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz" integrity sha1-3voeBVyDv21Z6oBdjahiJU62psI= dependencies: randombytes "^2.1.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +serve-static@^2.2.0: + version "2.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9" + integrity sha1-nAJWTuJZvdIlG4LWWaLn4ZONZvk= + dependencies: + encodeurl "^2.0.0" + escape-html "^1.0.3" + parseurl "^1.3.3" + send "^1.2.0" set-function-length@^1.2.2: version "1.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz" integrity sha1-qscjFBmOrtl1z3eyw7a4gGleVEk= dependencies: define-data-property "^1.1.4" @@ -5295,43 +5009,38 @@ set-function-length@^1.2.2: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - setimmediate@^1.0.5: version "1.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ= + shallow-clone@^3.0.0: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shallow-clone/-/shallow-clone-3.0.1.tgz" integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= dependencies: kind-of "^6.0.2" shebang-command@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= side-channel-list@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz" integrity sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0= dependencies: es-errors "^1.3.0" @@ -5339,7 +5048,7 @@ side-channel-list@^1.0.0: side-channel-map@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz" integrity sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I= dependencies: call-bound "^1.0.2" @@ -5349,7 +5058,7 @@ side-channel-map@^1.0.1: side-channel-weakmap@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" integrity sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo= dependencies: call-bound "^1.0.2" @@ -5360,7 +5069,7 @@ side-channel-weakmap@^1.0.2: side-channel@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel/-/side-channel-1.1.0.tgz" integrity sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k= dependencies: es-errors "^1.3.0" @@ -5371,27 +5080,27 @@ side-channel@^1.1.0: signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha1-lSGIwcvVRgcOLdIND0HArgUwywQ= simple-concat@^1.0.0: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/simple-concat/-/simple-concat-1.0.1.tgz" integrity sha1-9Gl2CCujXCJj8cirXt/ibEHJVS8= simple-get@^4.0.0: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/simple-get/-/simple-get-4.0.1.tgz" integrity sha1-SjnbVJKHyXnTUhEvoD/Zn9a8NUM= dependencies: decompress-response "^6.0.0" once "^1.3.1" simple-concat "^1.0.0" -sinon@^20.0.0: - version "20.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sinon/-/sinon-20.0.0.tgz#4b653468735f7152ba694d05498c2b5d024ab006" - integrity sha1-S2U0aHNfcVK6aU0FSYwrXQJKsAY= +sinon@^21.0.0: + version "21.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sinon/-/sinon-21.0.0.tgz#dbda73abc7e6cb803fef3368cfbecbb5936e8a9e" + integrity sha1-29pzq8fmy4A/7zNoz77LtZNuip4= dependencies: "@sinonjs/commons" "^3.0.1" "@sinonjs/fake-timers" "^13.0.5" @@ -5401,42 +5110,22 @@ sinon@^20.0.0: slash@^5.1.0: version "5.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/slash/-/slash-5.1.0.tgz" integrity sha1-vjrd3N8JrDjuvo3Nx7GlenWwlc4= slice-ansi@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/slice-ansi/-/slice-ansi-4.0.0.tgz" integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha1-HOVlD93YerwJnto33P8CTCZnrkY= source-map-resolve@^0.6.0: version "0.6.0" @@ -5448,40 +5137,30 @@ source-map-resolve@^0.6.0: source-map-support@~0.5.20: version "0.5.21" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-support/-/source-map-support-0.5.21.tgz" integrity sha1-BP58f54e0tZiIzwoyys1ufY/bk8= dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= - -source-map@^0.5.6: - version "0.5.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.6.1.tgz" integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= source-map@^0.7.3, source-map@^0.7.4: - version "0.7.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" - integrity sha1-o2WKuH5bZCnIofO6AIPUxhyj7wI= + version "0.7.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map/-/source-map-0.7.4.tgz" + integrity sha1-qbvnBcnYhG9OCP9nZazw8bCJhlY= -sparkles@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha1-AI22XtzmxQ7sDF4ijhlFBh3QQ3w= +sparkles@^2.1.0: + version "2.1.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sparkles/-/sparkles-2.1.0.tgz#8ad4e8cecba7e568bba660c39b6db46625ecf1ad" + integrity sha1-itTozsun5Wi7pmDDm220ZiXs8a0= spdx-correct@^3.0.0: version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-correct/-/spdx-correct-3.2.0.tgz" integrity sha1-T1qwZo8AWeNPnADc4zF4ShLeTpw= dependencies: spdx-expression-parse "^3.0.0" @@ -5489,12 +5168,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" integrity sha1-XWB9J/yAb2bXtkp2ZlD6iQ8E7WY= spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= dependencies: spdx-exceptions "^2.1.0" @@ -5502,92 +5181,90 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.21" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz" integrity sha1-bW6YDJ3ytvyQU0OjstcCpiOVNsM= -split-string@^3.0.1: - version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= - dependencies: - extend-shallow "^3.0.0" - split@^1.0.1: version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/split/-/split-1.0.1.tgz" integrity sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k= dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stack-trace@0.0.10: - version "0.0.10" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= +statuses@2.0.1: + version "2.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha1-VcsADM8dSHKL0jxoWgY5mM8aG2M= -static-extend@^0.1.1: - version "0.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" +statuses@^2.0.1: + version "2.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" + integrity sha1-j3XuzvdlteHPzcCA2llAntQk44I= stdin-discarder@^0.2.2: version "0.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stdin-discarder/-/stdin-discarder-0.2.2.tgz" integrity sha1-OQA39ExK4aGuU1xf443Dq6jZl74= stream-combiner@^0.2.2: version "0.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-combiner/-/stream-combiner-0.2.2.tgz" integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= dependencies: duplexer "~0.1.1" through "~2.3.4" -stream-exhaust@^1.0.1: +stream-composer@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-composer/-/stream-composer-1.0.2.tgz#7ee61ca1587bf5f31b2e29aa2093cbf11442d152" + integrity sha1-fuYcoVh79fMbLimqIJPL8RRC0VI= + dependencies: + streamx "^2.13.2" + +stream-exhaust@^1.0.2: version "1.0.2" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" integrity sha1-rNrI2lnvK8HheiwMz2wyDRIOVV0= stream-shift@^1.0.0: version "1.0.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream-shift/-/stream-shift-1.0.3.tgz" integrity sha1-hbj6tNcQEPw7qHcugEbMSbijhks= streamfilter@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/streamfilter/-/streamfilter-3.0.0.tgz#8c61b08179a6c336c6efccc5df30861b7a9675e7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/streamfilter/-/streamfilter-3.0.0.tgz" integrity sha1-jGGwgXmmwzbG78zF3zCGG3qWdec= dependencies: readable-stream "^3.0.6" +streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: + version "2.22.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/streamx/-/streamx-2.22.1.tgz#c97cbb0ce18da4f4db5a971dc9ab68ff5dc7f5a5" + integrity sha1-yXy7DOGNpPTbWpcdyato/13H9aU= + dependencies: + fast-fifo "^1.3.2" + text-decoder "^1.1.0" + optionalDependencies: + bare-events "^2.2.0" + "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/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" -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-5.1.2.tgz" integrity sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q= dependencies: eastasianwidth "^0.2.0" @@ -5596,7 +5273,7 @@ string-width@^5.0.1, string-width@^5.1.2: string-width@^7.2.0: version "7.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-width/-/string-width-7.2.0.tgz" integrity sha1-tbuOIWXOJ11NQ0dt0nAK2Qkdttw= dependencies: emoji-regex "^10.3.0" @@ -5605,40 +5282,33 @@ string-width@^7.2.0: string_decoder@^1.1.1: version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= dependencies: safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-0.10.31.tgz" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= string_decoder@~1.1.1: version "1.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= dependencies: safe-buffer "~5.1.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk= dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-ansi/-/strip-ansi-7.1.0.tgz" integrity sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U= dependencies: ansi-regex "^6.0.1" @@ -5648,73 +5318,72 @@ strip-bom-string@^1.0.0: resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= structured-source@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/structured-source/-/structured-source-4.0.0.tgz#0c9e59ee43dedd8fc60a63731f60e358102a4948" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/structured-source/-/structured-source-4.0.0.tgz" integrity sha1-DJ5Z7kPe3Y/GCmNzH2DjWBAqSUg= dependencies: boundary "^2.0.0" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-5.5.0.tgz" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-7.2.0.tgz" integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= dependencies: has-flag "^4.0.0" supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-8.1.1.tgz" integrity sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw= dependencies: has-flag "^4.0.0" supports-color@^9.4.0: version "9.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-9.4.0.tgz" integrity sha1-F7/PaGKI9THbPeoyFVEGIcy1WVQ= -supports-hyperlinks@^3.2.0: - version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz#b8e485b179681dea496a1e7abdf8985bd3145461" - integrity sha1-uOSFsXloHepJah56vfiYW9MUVGE= +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + integrity sha1-OUNUQ0fB/5CxXv+wP8FK5F7BBiQ= dependencies: has-flag "^4.0.0" supports-color "^7.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha1-btpL00SjyUrqN21MwxvHcxEDngk= -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= - dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" +sver@^1.8.3: + version "1.8.4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sver/-/sver-1.8.4.tgz#9bd6f6265263f01aab152df935dc7a554c15673f" + integrity sha1-m9b2JlJj8BqrFS35Ndx6VUwVZz8= + optionalDependencies: + semver "^6.3.0" table@^6.9.0: version "6.9.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/table/-/table-6.9.0.tgz" integrity sha1-UAQK+mJkFBx1ZrO4HU2CxHqGaPU= dependencies: ajv "^8.0.1" @@ -5725,12 +5394,12 @@ table@^6.9.0: tapable@^2.1.1, tapable@^2.2.0: version "2.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tapable/-/tapable-2.2.2.tgz" integrity sha1-q0mENA0wy5mJpJADLwhtu4tW2HI= tar-fs@^2.0.0: version "2.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-fs/-/tar-fs-2.1.3.tgz#fb3b8843a26b6f13a08e606f7922875eb1fbbf92" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-fs/-/tar-fs-2.1.3.tgz" integrity sha1-+zuIQ6JrbxOgjmBveSKHXrH7v5I= dependencies: chownr "^1.1.1" @@ -5740,7 +5409,7 @@ tar-fs@^2.0.0: tar-stream@^2.1.4: version "2.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-stream/-/tar-stream-2.2.0.tgz" integrity sha1-rK2EwoQTawYNw/qmRHSqmuvXcoc= dependencies: bl "^4.0.3" @@ -5749,17 +5418,24 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -terminal-link@^4.0.0: - version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terminal-link/-/terminal-link-4.0.0.tgz#5f3e50329420fad97d07d624f7df1851d82963f1" - integrity sha1-Xz5QMpQg+tl9B9Yk998YUdgpY/E= +teex@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/teex/-/teex-1.0.1.tgz#b8fa7245ef8e8effa8078281946c85ab780a0b12" + integrity sha1-uPpyRe+Ojv+oB4KBlGyFq3gKCxI= + dependencies: + streamx "^2.12.5" + +terminal-link@^2.1.1: + version "2.1.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terminal-link/-/terminal-link-2.1.1.tgz" + integrity sha1-FKZKJ6s8Dfkz6lRvulXy0HjtyZQ= dependencies: - ansi-escapes "^7.0.0" - supports-hyperlinks "^3.2.0" + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" terser-webpack-plugin@^5.3.11: version "5.3.14" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz" integrity sha1-kDHUjlerJ1Z/AqzoXH1pDbZsPgY= dependencies: "@jridgewell/trace-mapping" "^0.3.25" @@ -5769,9 +5445,9 @@ terser-webpack-plugin@^5.3.11: terser "^5.31.1" terser@^5.31.1: - version "5.43.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser/-/terser-5.43.1.tgz#88387f4f9794ff1a29e7ad61fb2932e25b4fdb6d" - integrity sha1-iDh/T5eU/xop561h+yky4ltP220= + version "5.40.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser/-/terser-5.40.0.tgz" + integrity sha1-g5qA20K/7oNACF9E6pm1y6NsVcg= dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.14.0" @@ -5780,35 +5456,40 @@ terser@^5.31.1: test-exclude@^6.0.0: version "6.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha1-BKhphmHYBepvopO2y55jrARO8V4= dependencies: "@istanbuljs/schema" "^0.1.2" glob "^7.1.4" minimatch "^3.0.4" +text-decoder@^1.1.0: + version "1.2.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/text-decoder/-/text-decoder-1.2.3.tgz#b19da364d981b2326d5f43099c310cc80d770c65" + integrity sha1-sZ2jZNmBsjJtX0MJnDEMyA13DGU= + dependencies: + b4a "^1.6.4" + text-table@^0.2.0: version "0.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@^6.11.0: - version "6.11.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/textextensions/-/textextensions-6.11.0.tgz#864535d09f49026150c96f0b0d79f1fa0869db15" - integrity sha1-hkU10J9JAmFQyW8LDXnx+ghp2xU= - dependencies: - editions "^6.21.0" +textextensions@^5.14.0: + version "5.16.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/textextensions/-/textextensions-5.16.0.tgz" + integrity sha1-V91gwwUBm7oyHoSLH98Pmb+lnsE= through2-filter@^3.0.0: version "3.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2-filter/-/through2-filter-3.1.0.tgz#4a1b45d2b76b3ac93ec137951e372c268efc1a4e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2-filter/-/through2-filter-3.1.0.tgz" integrity sha1-ShtF0rdrOsk+wTeVHjcsJo78Gk4= dependencies: through2 "^4.0.2" through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: version "2.0.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-2.0.5.tgz" integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= dependencies: readable-stream "~2.3.6" @@ -5816,7 +5497,7 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: through2@^3.0.1: version "3.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-3.0.2.tgz" integrity sha1-mfiJMc/HYex2eLQdXXM2tbage/Q= dependencies: inherits "^2.0.4" @@ -5824,19 +5505,19 @@ through2@^3.0.1: through2@^4.0.2: version "4.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through2/-/through2-4.0.2.tgz" integrity sha1-p846wqeosLlmyA58SfBITDsjl2Q= dependencies: readable-stream "3" through@2, through@^2.3.8, through@~2.3, through@~2.3.4: version "2.3.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/through/-/through-2.3.8.tgz" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= time-stamp@^1.0.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/time-stamp/-/time-stamp-1.1.0.tgz" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= timers-ext@^0.1.7: @@ -5848,9 +5529,9 @@ timers-ext@^0.1.7: next-tick "^1.1.0" tmp@^0.2.3: - version "0.2.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tmp/-/tmp-0.2.4.tgz#c6db987a2ccc97f812f17137b36af2b6521b0d13" - integrity sha1-xtuYeizMl/gS8XE3s2rytlIbDRM= + version "0.2.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tmp/-/tmp-0.2.3.tgz" + integrity sha1-63g8wivB6L69BnFHbUbqTrMqea4= to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: version "2.0.2" @@ -5860,45 +5541,40 @@ to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: is-absolute "^1.0.0" is-negated-glob "^1.0.0" -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - to-regex-range@^5.0.1: version "5.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - to-through@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-through/-/to-through-2.0.0.tgz" integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= dependencies: through2 "^2.0.3" +to-through@^3.0.0: + version "3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-through/-/to-through-3.0.0.tgz#bf4956eaca5a0476474850a53672bed6906ace54" + integrity sha1-v0lW6spaBHZHSFClNnK+1pBqzlQ= + dependencies: + streamx "^2.12.5" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha1-O+NDIaiKgg7RvYDfqjPkefu43TU= + ts-api-utils@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-api-utils/-/ts-api-utils-2.1.0.tgz" integrity sha1-WV9wlORu7TZME/0j51+VE9Kbr5E= ts-loader@^9.5.2: version "9.5.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-loader/-/ts-loader-9.5.2.tgz#1f3d7f4bb709b487aaa260e8f19b301635d08020" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-loader/-/ts-loader-9.5.2.tgz" integrity sha1-Hz1/S7cJtIeqomDo8ZswFjXQgCA= dependencies: chalk "^4.1.0" @@ -5909,7 +5585,7 @@ ts-loader@^9.5.2: ts-node@^10.9.2: version "10.9.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-node/-/ts-node-10.9.2.tgz" integrity sha1-cPAhyeGFvM3Kgg4m3EE4BcEBxx8= dependencies: "@cspotcode/source-map-support" "^0.8.0" @@ -5928,43 +5604,62 @@ ts-node@^10.9.2: tslib@^2.2.0, tslib@^2.6.2: version "2.8.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.8.1.tgz" integrity sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8= tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tunnel-agent/-/tunnel-agent-0.6.0.tgz" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tunnel@0.0.6: version "0.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tunnel/-/tunnel-0.0.6.tgz" integrity sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw= type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-check/-/type-check-0.4.0.tgz" integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= dependencies: prelude-ls "^1.2.1" type-detect@4.0.8: version "4.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-detect/-/type-detect-4.0.8.tgz" integrity sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw= type-detect@^4.1.0: version "4.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-detect/-/type-detect-4.1.0.tgz" integrity sha1-3rJFPo8I3K566YxiaxPd2wFVkGw= -type-fest@^4.39.1, type-fest@^4.6.0: +type-fest@^0.21.3: + version "0.21.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-0.21.3.tgz" + integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= + +type-fest@^3.8.0: + version "3.13.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-3.13.1.tgz" + integrity sha1-u3RMHwZ4vqdUOi0ewk6D5o6MhwY= + +type-fest@^4.2.0: version "4.41.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-4.41.0.tgz" integrity sha1-auHI5XMSc8K/H1itOcuuLJGkbFg= +type-is@^2.0.0, type-is@^2.0.1: + version "2.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" + integrity sha1-ZPbPA/kvzkAVwrIkeT9r3UsGjJc= + dependencies: + content-type "^1.0.5" + media-typer "^1.1.0" + mime-types "^3.0.0" + type@^2.7.2: version "2.7.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" @@ -5972,112 +5667,80 @@ type@^2.7.2: typed-rest-client@^1.8.4: version "1.8.11" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz#6906f02e3c91e8d851579f255abf0fd60800a04d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/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" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - typescript-eslint@^8.32.1: - version "8.39.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript-eslint/-/typescript-eslint-8.39.0.tgz#b19c1a925cf8566831ae3875d2881ee2349808a5" - integrity sha1-sZwaklz4Vmgxrjh10oge4jSYCKU= + version "8.33.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript-eslint/-/typescript-eslint-8.33.0.tgz" + integrity sha1-ifczqQ7car4JlLYTC5ZOeBobqC8= dependencies: - "@typescript-eslint/eslint-plugin" "8.39.0" - "@typescript-eslint/parser" "8.39.0" - "@typescript-eslint/typescript-estree" "8.39.0" - "@typescript-eslint/utils" "8.39.0" + "@typescript-eslint/eslint-plugin" "8.33.0" + "@typescript-eslint/parser" "8.33.0" + "@typescript-eslint/utils" "8.33.0" typescript@^4.5.4: version "4.9.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-4.9.5.tgz" integrity sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo= typescript@^5.8.3: - version "5.9.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" - integrity sha1-2TRQzd7FFUotXKvjuBArgzFvsqY= + version "5.8.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-5.8.3.tgz" + integrity sha1-kvij5ePPSXNW9BeMNM1lp/XoRA4= uc.micro@^2.0.0, uc.micro@^2.1.0: version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uc.micro/-/uc.micro-2.1.0.tgz" integrity sha1-+NP30OxMPeo1p+PI76TLi0XJ5+4= unc-path-regex@^0.1.2: version "0.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unc-path-regex/-/unc-path-regex-0.1.2.tgz" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= underscore@^1.12.1: version "1.13.7" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/underscore/-/underscore-1.13.7.tgz#970e33963af9a7dda228f17ebe8399e5fbe63a10" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/underscore/-/underscore-1.13.7.tgz" integrity sha1-lw4zljr5p92iKPF+voOZ5fvmOhA= -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= +undertaker-registry@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undertaker-registry/-/undertaker-registry-2.0.0.tgz#d434246e398444740dd7fe4c9543e402ad99e4ca" + integrity sha1-1DQkbjmERHQN1/5MlUPkAq2Z5Mo= -undertaker@^1.2.1: - version "1.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" - integrity sha1-NjpuVB8nlU1Xkdb6PB0yFmb4bRg= - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - fast-levenshtein "^1.0.0" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha1-aR0ArzkJvpOn+qE75hs6W1DvEss= - -undici-types@~7.10.0: - version "7.10.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350" - integrity sha1-SsLgWM5WtGKwVuYpzGoCOT0/81A= - -undici@^7.12.0: - version "7.13.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici/-/undici-7.13.0.tgz#9331f99fc42970dcbdf54199e6604755ba54433a" - integrity sha1-kzH5n8QpcNy99UGZ5mBHVbpUQzo= - -unicorn-magic@^0.1.0: - version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" - integrity sha1-G7mlHII6r51zqL/NPRoj3elLDOQ= +undertaker@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undertaker/-/undertaker-2.0.0.tgz#fe4d40dc71823ce5a80f1ecc63ec8b88ad40b54a" + integrity sha1-/k1A3HGCPOWoDx7MY+yLiK1AtUo= + dependencies: + bach "^2.0.1" + fast-levenshtein "^3.0.0" + last-run "^2.0.0" + undertaker-registry "^2.0.0" + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.19.8.tgz" + integrity sha1-NREcnRQ3q4OnzcCrri8m2I7aCgI= + +undici@^6.19.5: + version "6.21.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici/-/undici-6.21.3.tgz" + integrity sha1-GFdSrZLD0O/np9H2hUpQ+DtVLXo= unicorn-magic@^0.3.0: version "0.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unicorn-magic/-/unicorn-magic-0.3.0.tgz" integrity sha1-Tv1FyFpp4N1XbSVTL7+iKqXIoQQ= -union-value@^1.0.0: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - unique-stream@^2.0.2: version "2.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unique-stream/-/unique-stream-2.3.1.tgz" integrity sha1-xl0RDppK35psWUiygFPZqNBMvqw= dependencies: json-stable-stringify-without-jsonify "^1.0.1" @@ -6085,30 +5748,22 @@ unique-stream@^2.0.2: universalify@^2.0.0: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universalify/-/universalify-2.0.1.tgz" integrity sha1-Fo78IYCWTmOG0GHglN9hr+I5sY0= -unset-value@^1.0.0: +unpipe@1.0.0: version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= untildify@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/untildify/-/untildify-4.0.0.tgz" integrity sha1-K8lHuVNlJIfkYAlJ+wkeOujNkZs= -upath@^1.1.1: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= - update-browserslist-db@^1.1.3: version "1.1.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" integrity sha1-NIN33SRSFvnnBg/1CxWht0C3VCA= dependencies: escalade "^3.2.0" @@ -6116,60 +5771,48 @@ update-browserslist-db@^1.1.3: uri-js@^4.2.2: version "4.4.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uri-js/-/uri-js-4.4.1.tgz" integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - url-join@^4.0.1: version "4.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/url-join/-/url-join-4.0.1.tgz" integrity sha1-tkLiGiZGgI/6F4xMX9o5hE4Szec= -use@^3.1.0: - version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= - util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= uuid@^8.3.0: version "8.3.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uuid/-/uuid-8.3.2.tgz" integrity sha1-gNW1ztJxu5r2xEXyGhoExgbO++I= v8-compile-cache-lib@^3.0.1: version "3.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha1-Yzbo1xllyz01obu3hoRFp8BSZL8= v8-to-istanbul@^9.0.0: version "9.3.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz" integrity sha1-uVcqv6Yr1VbBbXX968GkEdX/MXU= dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" -v8flags@^3.2.0: - version "3.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" - integrity sha1-skPjtN/XMfp3TnSSEoEJoP5m1lY= - dependencies: - homedir-polyfill "^1.0.1" +v8flags@^4.0.0: + version "4.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8flags/-/v8flags-4.0.1.tgz#98fe6c4308317c5f394d85a435eb192490f7e132" + integrity sha1-mP5sQwgxfF85TYWkNesZJJD34TI= -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: +validate-npm-package-license@^3.0.4: version "3.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= dependencies: spdx-correct "^3.0.0" @@ -6177,15 +5820,28 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: value-or-function@^3.0.0: version "3.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/value-or-function/-/value-or-function-3.0.0.tgz" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= -version-range@^4.13.0: - version "4.14.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/version-range/-/version-range-4.14.0.tgz#91c12e4665756a9101d1af43faeda399abe0edec" - integrity sha1-kcEuRmV1apEB0a9D+u2jmavg7ew= +value-or-function@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/value-or-function/-/value-or-function-4.0.0.tgz#70836b6a876a010dc3a2b884e7902e9db064378d" + integrity sha1-cINraodqAQ3DoriE55AunbBkN40= + +vary@^1.1.2: + version "1.1.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vinyl-fs@^3.0.0, vinyl-fs@^3.0.3: +vinyl-contents@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-contents/-/vinyl-contents-2.0.0.tgz#cc2ba4db3a36658d069249e9e36d9e2b41935d89" + integrity sha1-zCuk2zo2ZY0Gkknp422eK0GTXYk= + dependencies: + bl "^5.0.0" + vinyl "^3.0.0" + +vinyl-fs@^3.0.3: version "3.0.3" resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" integrity sha1-yFhJQF9nQo/qu71cXb3WT0fTG8c= @@ -6208,9 +5864,29 @@ vinyl-fs@^3.0.0, vinyl-fs@^3.0.3: vinyl "^2.0.0" vinyl-sourcemap "^1.1.0" +vinyl-fs@^4.0.2: + version "4.0.2" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-fs/-/vinyl-fs-4.0.2.tgz#d46557653e4a7109f29d626a9cf478680c7f8c70" + integrity sha1-1GVXZT5KcQnynWJqnPR4aAx/jHA= + dependencies: + fs-mkdirp-stream "^2.0.1" + glob-stream "^8.0.3" + graceful-fs "^4.2.11" + iconv-lite "^0.6.3" + is-valid-glob "^1.0.0" + lead "^4.0.0" + normalize-path "3.0.0" + resolve-options "^2.0.0" + stream-composer "^1.0.2" + streamx "^2.14.0" + to-through "^3.0.0" + value-or-function "^4.0.0" + vinyl "^3.0.1" + vinyl-sourcemap "^2.0.0" + vinyl-sourcemap@^1.1.0: version "1.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= dependencies: append-buffer "^1.0.2" @@ -6221,9 +5897,21 @@ vinyl-sourcemap@^1.1.0: remove-bom-buffer "^3.0.0" vinyl "^2.0.0" +vinyl-sourcemap@^2.0.0: + version "2.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz#422f410a0ea97cb54cebd698d56a06d7a22e0277" + integrity sha1-Qi9BCg6pfLVM69aY1WoG16IuAnc= + dependencies: + convert-source-map "^2.0.0" + graceful-fs "^4.2.10" + now-and-later "^3.0.0" + streamx "^2.12.5" + vinyl "^3.0.0" + vinyl-contents "^2.0.0" + vinyl@^2.0.0, vinyl@^2.2.0, vinyl@^2.2.1: version "2.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl/-/vinyl-2.2.1.tgz" integrity sha1-I8+4u6tezjgDqiwKHrKK98u6GXQ= dependencies: clone "^2.1.1" @@ -6233,14 +5921,24 @@ vinyl@^2.0.0, vinyl@^2.2.0, vinyl@^2.2.1: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" +vinyl@^3.0.0, vinyl@^3.0.1: + version "3.0.1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vinyl/-/vinyl-3.0.1.tgz#5f5ff85255bda2b5da25e4b3bd80b3fc077fb5a9" + integrity sha1-X1/4UlW9orXaJeSzvYCz/Ad/tak= + dependencies: + clone "^2.1.2" + remove-trailing-separator "^1.1.0" + replace-ext "^2.0.0" + teex "^1.0.1" + vscode-jsonrpc@^8.2.1: version "8.2.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1.tgz#a322cc0f1d97f794ffd9c4cd2a898a0bde097f34" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1.tgz" integrity sha1-oyLMDx2X95T/2cTNKomKC94JfzQ= vscode-nls-dev@^4.0.1: version "4.0.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-nls-dev/-/vscode-nls-dev-4.0.4.tgz#1d842a809525990aca5346f8031a0a0bf63e01ef" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-nls-dev/-/vscode-nls-dev-4.0.4.tgz" integrity sha1-HYQqgJUlmQrKU0b4AxoKC/Y+Ae8= dependencies: ansi-colors "^4.1.1" @@ -6258,17 +5956,17 @@ vscode-nls-dev@^4.0.1: vscode-nls@5.2.0: version "5.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-nls/-/vscode-nls-5.2.0.tgz" integrity sha1-PLaJPdm9aVJE2KAkvfdG7qZlzD8= -wait-for-expect@^3.0.2: - version "3.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" - integrity sha1-0vFLL3t3jJuCFEEJyPqJzqrapGM= +wait-for-expect@^4.0.0: + version "4.0.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wait-for-expect/-/wait-for-expect-4.0.0.tgz#c8204e1ee6a678381cd7651abe18309a6efa0a19" + integrity sha1-yCBOHuameDgc12Uavhgwmm76Chk= watchpack@^2.4.1: version "2.4.4" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/watchpack/-/watchpack-2.4.4.tgz" integrity sha1-RzvacvCFBFPaZCUIHqRvwNdgKUc= dependencies: glob-to-regexp "^0.4.1" @@ -6276,7 +5974,7 @@ watchpack@^2.4.1: webpack-cli@^6.0.1: version "6.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-cli/-/webpack-cli-6.0.1.tgz#a1ce25da5ba077151afd73adfa12e208e5089207" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-cli/-/webpack-cli-6.0.1.tgz" integrity sha1-oc4l2lugdxUa/XOt+hLiCOUIkgc= dependencies: "@discoveryjs/json-ext" "^0.6.1" @@ -6295,34 +5993,33 @@ webpack-cli@^6.0.1: webpack-merge@^6.0.1: version "6.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-merge/-/webpack-merge-6.0.1.tgz#50c776868e080574725abc5869bd6e4ef0a16c6a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-merge/-/webpack-merge-6.0.1.tgz" integrity sha1-UMd2ho4IBXRyWrxYab1uTvChbGo= dependencies: clone-deep "^4.0.1" flat "^5.0.2" wildcard "^2.0.1" -webpack-sources@^3.3.3: - version "3.3.3" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" - integrity sha1-1L9/mQlnXXoHD/FNDvKk88mCxyM= +webpack-sources@^3.2.3: + version "3.3.0" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-sources/-/webpack-sources-3.3.0.tgz" + integrity sha1-jTRJ8e0/JU5yKlKaCjRKN9LRcEg= webpack@^5.98.0: - version "5.101.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack/-/webpack-5.101.0.tgz#4b81407ffad9857f81ff03f872e3369b9198cc9d" - integrity sha1-S4FAf/rZhX+B/wP4cuM2m5GYzJ0= + version "5.99.9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack/-/webpack-5.99.9.tgz" + integrity sha1-1955nsF9DM48g7cHRLSu21N9gkc= dependencies: "@types/eslint-scope" "^3.7.7" - "@types/estree" "^1.0.8" + "@types/estree" "^1.0.6" "@types/json-schema" "^7.0.15" "@webassemblyjs/ast" "^1.14.1" "@webassemblyjs/wasm-edit" "^1.14.1" "@webassemblyjs/wasm-parser" "^1.14.1" - acorn "^8.15.0" - acorn-import-phases "^1.0.3" + acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.2" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -6336,74 +6033,62 @@ webpack@^5.98.0: tapable "^2.1.1" terser-webpack-plugin "^5.3.11" watchpack "^2.4.1" - webpack-sources "^3.3.3" + webpack-sources "^3.2.3" whatwg-encoding@^3.1.1: version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz" integrity sha1-0PTvdpkF1CbhaI8+NDgambYLduU= dependencies: iconv-lite "0.6.3" whatwg-mimetype@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz" integrity sha1-vBv5SphdxQOI1UqSWKxAXDyi/Ao= -which-module@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - which@^1.2.14: version "1.3.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-1.3.1.tgz" integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz" integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= dependencies: isexe "^2.0.0" wildcard@^2.0.1: version "2.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wildcard/-/wildcard-2.0.1.tgz" integrity sha1-WrENAkhxmJVINrY0n3T/+WHhD2c= word-wrap@^1.2.5: version "1.2.5" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/word-wrap/-/word-wrap-1.2.5.tgz" integrity sha1-0sRcbdT7zmIaZvE2y+Mor9BBCzQ= workerpool@^6.5.1: version "6.5.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/workerpool/-/workerpool-6.5.1.tgz" integrity sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ= "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/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" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrap-ansi/-/wrap-ansi-8.1.0.tgz" integrity sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ= dependencies: ansi-styles "^6.1.0" @@ -6412,19 +6097,17 @@ wrap-ansi@^8.1.0: wrappy@1: version "1.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -wsl-utils@^0.1.0: - version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wsl-utils/-/wsl-utils-0.1.0.tgz#8783d4df671d4d50365be2ee4c71917a0557baab" - integrity sha1-h4PU32cdTVA2W+LuTHGRegVXuqs= - dependencies: - is-wsl "^3.1.0" +ws@^8.18.3: + version "8.18.3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" + integrity sha1-tWuIq//eYnkcY5FwQAyT3LDJVHI= xml2js@^0.5.0: version "0.5.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xml2js/-/xml2js-0.5.0.tgz" integrity sha1-2UQGMfuy7YACA/rRBvJyT2LEk7c= dependencies: sax ">=0.6.0" @@ -6432,50 +6115,37 @@ xml2js@^0.5.0: xmlbuilder@~11.0.0: version "11.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz" integrity sha1-vpuuHIoEbnazESdyY0fQrXACvrM= xtend@~4.0.1: version "4.0.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xtend/-/xtend-4.0.2.tgz" integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= -y18n@^3.2.1: - version "3.2.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha1-hckBvWRwznH8S7cjrSCbcPfyhpY= - y18n@^5.0.5: version "5.0.8" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/y18n/-/y18n-5.0.8.tgz" integrity sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU= yallist@^4.0.0: version "4.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yallist/-/yallist-4.0.0.tgz" integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "20.2.9" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha1-LrfcOwKJcY/ClfNidThFxBoMlO4= yargs-parser@^21.1.1: version "21.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha1-kJa87r+ZDSG7MfqVFuDt4pSnfTU= -yargs-parser@^5.0.1: - version "5.0.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" - integrity sha1-ft4ynB2M274gm9Jc25kOmx67s5Q= - dependencies: - camelcase "^3.0.0" - object.assign "^4.1.0" - yargs-unparser@^2.0.0: version "2.0.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs-unparser/-/yargs-unparser-2.0.0.tgz" integrity sha1-8TH5ImkRrl2a04xDL+gJNmwjJes= dependencies: camelcase "^6.0.0" @@ -6485,7 +6155,7 @@ yargs-unparser@^2.0.0: yargs@^16.1.0, yargs@^16.2.0: version "16.2.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-16.2.0.tgz" integrity sha1-HIK/D2tqZur85+8w43b0mhJHf2Y= dependencies: cliui "^7.0.2" @@ -6498,7 +6168,7 @@ yargs@^16.1.0, yargs@^16.2.0: yargs@^17.3.0, yargs@^17.7.2: version "17.7.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-17.7.2.tgz" integrity sha1-mR3zmspnWhkrgW4eA2P5110qomk= dependencies: cliui "^8.0.1" @@ -6509,28 +6179,9 @@ yargs@^17.3.0, yargs@^17.7.2: y18n "^5.0.5" yargs-parser "^21.1.1" -yargs@^7.1.0: - version "7.1.2" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" - integrity sha1-Y6Cl1CFDh5/bswNwdBN04GQdVds= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.1" - yauzl@^2.3.1: version "2.10.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yauzl/-/yauzl-2.10.0.tgz" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: buffer-crc32 "~0.2.3" @@ -6538,17 +6189,17 @@ yauzl@^2.3.1: yazl@^2.2.2: version "2.5.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yazl/-/yazl-2.5.1.tgz" integrity sha1-o9ZdPdZZpbCTeFDoYJ8i//orXDU= dependencies: buffer-crc32 "~0.2.3" yn@3.1.1: version "3.1.1" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yn/-/yn-3.1.1.tgz" integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= yocto-queue@^0.1.0: version "0.1.0" - resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= diff --git a/src/Aspire.Cli/Backchannel/BackchannelJsonSerializerContext.cs b/src/Aspire.Cli/Backchannel/BackchannelJsonSerializerContext.cs index 499c7b7c6bf..7b60c0acb56 100644 --- a/src/Aspire.Cli/Backchannel/BackchannelJsonSerializerContext.cs +++ b/src/Aspire.Cli/Backchannel/BackchannelJsonSerializerContext.cs @@ -29,6 +29,7 @@ namespace Aspire.Cli.Backchannel; [JsonSerializable(typeof(MessageFormatterEnumerableTracker.EnumeratorResults))] [JsonSerializable(typeof(EnvVar))] [JsonSerializable(typeof(List))] +[JsonSerializable(typeof(List))] internal partial class BackchannelJsonSerializerContext : JsonSerializerContext { [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Using the Json source generator.")] diff --git a/src/Aspire.Cli/Backchannel/ExtensionBackchannel.cs b/src/Aspire.Cli/Backchannel/ExtensionBackchannel.cs index 8d7cba7cabd..7b807bcee47 100644 --- a/src/Aspire.Cli/Backchannel/ExtensionBackchannel.cs +++ b/src/Aspire.Cli/Backchannel/ExtensionBackchannel.cs @@ -29,15 +29,17 @@ internal interface IExtensionBackchannel Task DisplayIncompatibleVersionErrorAsync(string requiredCapability, string appHostHostingSdkVersion, CancellationToken cancellationToken); Task DisplayCancellationMessageAsync(CancellationToken cancellationToken); Task DisplayLinesAsync(IEnumerable lines, CancellationToken cancellationToken); - Task DisplayDashboardUrlsAsync((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls, CancellationToken cancellationToken); + Task DisplayDashboardUrlsAsync(DashboardUrlsState dashboardUrls, CancellationToken cancellationToken); Task ShowStatusAsync(string? status, CancellationToken cancellationToken); Task PromptForSelectionAsync(string promptText, IEnumerable choices, Func choiceFormatter, CancellationToken cancellationToken) where T : notnull; Task ConfirmAsync(string promptText, bool defaultValue, CancellationToken cancellationToken); Task PromptForStringAsync(string promptText, string? defaultValue, Func? validator, bool required, CancellationToken cancellationToken); Task OpenProjectAsync(string projectPath, CancellationToken cancellationToken); Task LogMessageAsync(LogLevel logLevel, string message, CancellationToken cancellationToken); + Task GetCapabilitiesAsync(CancellationToken cancellationToken); Task HasCapabilityAsync(string capability, CancellationToken cancellationToken); - Task LaunchAppHostAsync(string projectFile, string workingDirectory, List arguments, List environment, bool debug, CancellationToken cancellationToken); + Task LaunchAppHostAsync(string projectFile, List arguments, List environment, bool debug, CancellationToken cancellationToken); + Task NotifyAppHostStartupCompletedAsync(CancellationToken cancellationToken); } internal sealed class ExtensionBackchannel : IExtensionBackchannel @@ -360,7 +362,7 @@ await rpc.InvokeWithCancellationAsync( cancellationToken); } - public async Task DisplayDashboardUrlsAsync((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls, CancellationToken cancellationToken) + public async Task DisplayDashboardUrlsAsync(DashboardUrlsState dashboardUrls, CancellationToken cancellationToken) { await ConnectAsync(cancellationToken); @@ -370,15 +372,9 @@ public async Task DisplayDashboardUrlsAsync((string BaseUrlWithLoginToken, strin _logger.LogDebug("Sent dashboard URLs for display"); - var dashboardUrlsState = new DashboardUrlsState() - { - BaseUrlWithLoginToken = dashboardUrls.BaseUrlWithLoginToken, - CodespacesUrlWithLoginToken = dashboardUrls.CodespacesUrlWithLoginToken - }; - await rpc.InvokeWithCancellationAsync( "displayDashboardUrls", - [_token, dashboardUrlsState], + [_token, dashboardUrls], cancellationToken); } @@ -505,7 +501,7 @@ public async Task HasCapabilityAsync(string capability, CancellationToken return capabilities.Contains(capability); } - private async Task GetCapabilitiesAsync(CancellationToken cancellationToken) + public async Task GetCapabilitiesAsync(CancellationToken cancellationToken) { await ConnectAsync(cancellationToken); @@ -523,7 +519,7 @@ private async Task GetCapabilitiesAsync(CancellationToken cancellation return capabilities; } - public async Task LaunchAppHostAsync(string projectFile, string workingDirectory, List arguments, List environment, bool debug, CancellationToken cancellationToken) + public async Task LaunchAppHostAsync(string projectFile, List arguments, List environment, bool debug, CancellationToken cancellationToken) { await ConnectAsync(cancellationToken); @@ -535,7 +531,23 @@ public async Task LaunchAppHostAsync(string projectFile, string workingDirectory await rpc.InvokeWithCancellationAsync( "launchAppHost", - [_token, projectFile, workingDirectory, arguments, environment, debug], + [_token, projectFile, arguments, environment, debug], + cancellationToken); + } + + public async Task NotifyAppHostStartupCompletedAsync(CancellationToken cancellationToken) + { + await ConnectAsync(cancellationToken); + + using var activity = _activitySource.StartActivity(); + + var rpc = await _rpcTaskCompletionSource.Task; + + _logger.LogDebug("Notifying that app host startup is completed"); + + await rpc.InvokeWithCancellationAsync( + "notifyAppHostStartupCompleted", + [_token], cancellationToken); } diff --git a/src/Aspire.Cli/Commands/ExtensionInternalCommand.cs b/src/Aspire.Cli/Commands/ExtensionInternalCommand.cs new file mode 100644 index 00000000000..a5f99add095 --- /dev/null +++ b/src/Aspire.Cli/Commands/ExtensionInternalCommand.cs @@ -0,0 +1,52 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.CommandLine; +using System.Text.Json; +using Aspire.Cli.Backchannel; +using Aspire.Cli.Configuration; +using Aspire.Cli.Projects; +using Aspire.Cli.Utils; + +namespace Aspire.Cli.Commands; + +internal sealed class ExtensionInternalCommand : BaseCommand +{ + public ExtensionInternalCommand(IFeatures features, ICliUpdateNotifier updateNotifier, IProjectLocator projectLocator, CliExecutionContext executionContext) : base("extension", "Hidden command for extension integration", features, updateNotifier, executionContext) + { + ArgumentNullException.ThrowIfNull(features); + ArgumentNullException.ThrowIfNull(updateNotifier); + + this.Hidden = true; + this.Subcommands.Add(new GetAppHostCandidatesCommand(features, updateNotifier, projectLocator, executionContext)); + } + + protected override Task ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken) + { + return Task.FromResult(ExitCodeConstants.Success); + } + + private sealed class GetAppHostCandidatesCommand : BaseCommand + { + private readonly IProjectLocator _projectLocator; + + public GetAppHostCandidatesCommand(IFeatures features, ICliUpdateNotifier updateNotifier, IProjectLocator projectLocator, CliExecutionContext executionContext) : base("get-apphosts", "Get AppHosts in the specified directory", features, updateNotifier, executionContext) + { + _projectLocator = projectLocator; + + var directoryOption = new Option("--directory"); + directoryOption.Description = "The directory to search for AppHost projects. Defaults to the current directory."; + Options.Add(directoryOption); + } + + protected override bool UpdateNotificationsEnabled => false; + + protected override async Task ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken) + { + var files = await _projectLocator.FindAppHostProjectFilesAsync(parseResult.GetValue("--directory") ?? Environment.CurrentDirectory, cancellationToken); + var jsonContent = JsonSerializer.Serialize(files.Select(f => f.FullName).ToList(), BackchannelJsonSerializerContext.Default.ListString); + Console.WriteLine(jsonContent); + return ExitCodeConstants.Success; + } + } +} diff --git a/src/Aspire.Cli/Commands/RootCommand.cs b/src/Aspire.Cli/Commands/RootCommand.cs index f69155e6288..7763ea60938 100644 --- a/src/Aspire.Cli/Commands/RootCommand.cs +++ b/src/Aspire.Cli/Commands/RootCommand.cs @@ -28,6 +28,7 @@ public RootCommand( ConfigCommand configCommand, ExecCommand execCommand, UpdateCommand updateCommand, + ExtensionInternalCommand extensionInternalCommand, IFeatures featureFlags, IInteractionService interactionService) : base(RootCommandStrings.Description) @@ -40,6 +41,7 @@ public RootCommand( ArgumentNullException.ThrowIfNull(deployCommand); ArgumentNullException.ThrowIfNull(updateCommand); ArgumentNullException.ThrowIfNull(execCommand); + ArgumentNullException.ThrowIfNull(extensionInternalCommand); ArgumentNullException.ThrowIfNull(featureFlags); ArgumentNullException.ThrowIfNull(interactionService); @@ -92,6 +94,7 @@ public RootCommand( Subcommands.Add(configCommand); Subcommands.Add(deployCommand); Subcommands.Add(updateCommand); + Subcommands.Add(extensionInternalCommand); if (featureFlags.IsFeatureEnabled(KnownFeatures.ExecCommandEnabled, false)) { diff --git a/src/Aspire.Cli/Commands/RunCommand.cs b/src/Aspire.Cli/Commands/RunCommand.cs index b3c96b6fb15..e03a62a5620 100644 --- a/src/Aspire.Cli/Commands/RunCommand.cs +++ b/src/Aspire.Cli/Commands/RunCommand.cs @@ -73,6 +73,13 @@ public RunCommand( watchOption.Description = RunCommandStrings.WatchArgumentDescription; Options.Add(watchOption); + if (ExtensionHelper.IsExtensionHost(_interactionService, out _, out _)) + { + var startDebugOption = new Option("--start-debug-session"); + startDebugOption.Description = RunCommandStrings.StartDebugSessionArgumentDescription; + Options.Add(startDebugOption); + } + TreatUnmatchedTokensAsErrors = false; } @@ -113,13 +120,10 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell await _certificateService.EnsureCertificatesTrustedAsync(_runner, cancellationToken); - var startDebugSession = ExtensionHelper.IsExtensionHost(_interactionService, out _, out var extensionBackchannel) && string.Equals(await _interactionService.PromptForSelectionAsync( - RunCommandStrings.PromptForDebugging, - [TemplatingStrings.Yes, TemplatingStrings.No], - c => c, - cancellationToken), TemplatingStrings.Yes, StringComparisons.CliInputOrOutput); + var isExtensionHost = ExtensionHelper.IsExtensionHost(_interactionService, out _, out _); + var startDebugSession = isExtensionHost && parseResult.GetValue("--start-debug-session"); - var watch = parseResult.GetValue("--watch") || (ExtensionHelper.IsExtensionHost(_interactionService, out _, out _) && !startDebugSession); + var watch = parseResult.GetValue("--watch") || (isExtensionHost && !startDebugSession); if (!watch) { @@ -130,8 +134,8 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell }; // The extension host will build the app host project itself, so we don't need to do it here if host exists. - if (!ExtensionHelper.IsExtensionHost(_interactionService, out _, out extensionBackchannel) - || !await extensionBackchannel.HasCapabilityAsync(ExtensionHelper.DevKitCapability, cancellationToken)) + if (!ExtensionHelper.IsExtensionHost(_interactionService, out _, out var extensionBackchannel) + || !await extensionBackchannel.HasCapabilityAsync(KnownCapabilities.DevKit, cancellationToken)) { var buildExitCode = await AppHostHelper.BuildAppHostAsync(_runner, _interactionService, effectiveAppHostProjectFile, buildOptions, ExecutionContext.WorkingDirectory, cancellationToken); @@ -173,19 +177,13 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell cancellationToken); // Wait for the backchannel to be established. - var backchannel = await _interactionService.ShowStatusAsync(RunCommandStrings.ConnectingToAppHost, async () => - { - return await backchannelCompletitionSource.Task.WaitAsync(cancellationToken); - }); + var backchannel = await _interactionService.ShowStatusAsync(RunCommandStrings.ConnectingToAppHost, async () => { return await backchannelCompletitionSource.Task.WaitAsync(cancellationToken); }); var logFile = GetAppHostLogFile(); var pendingLogCapture = CaptureAppHostLogsAsync(logFile, backchannel, cancellationToken); - var dashboardUrls = await _interactionService.ShowStatusAsync(RunCommandStrings.StartingDashboard, async () => - { - return await backchannel.GetDashboardUrlsAsync(cancellationToken); - }); + var dashboardUrls = await _interactionService.ShowStatusAsync(RunCommandStrings.StartingDashboard, async () => { return await backchannel.GetDashboardUrlsAsync(cancellationToken); }); if (dashboardUrls.DashboardHealthy is false) { @@ -195,7 +193,6 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell } _ansiConsole.WriteLine(); - var topGrid = new Grid(); topGrid.AddColumn(); topGrid.AddColumn(); @@ -220,6 +217,7 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell { topGrid.AddRow(Text.Empty, new Markup($"[link]{codespacesUrlWithLoginToken}[/]")); } + topGrid.AddRow(Text.Empty, Text.Empty); topGrid.AddRow(new Align(new Markup($"[bold green]{logsLocalizedString}[/]:"), HorizontalAlignment.Right), new Text(logFile.FullName)); @@ -230,7 +228,7 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell var isCodespaces = dashboardUrls.CodespacesUrlWithLoginToken is not null; var isRemoteContainers = _configuration.GetValue("REMOTE_CONTAINERS", false); var isSshRemote = _configuration.GetValue("VSCODE_IPC_HOOK_CLI") is not null - && _configuration.GetValue("SSH_CONNECTION") is not null; + && _configuration.GetValue("SSH_CONNECTION") is not null; AppendCtrlCMessage(longestLocalizedLength); @@ -255,7 +253,7 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell var endpointsGrid = new Grid(); endpointsGrid.AddColumn(); endpointsGrid.AddColumn(); - endpointsGrid.Columns[0].Width = longestLocalizedLength + 1; + endpointsGrid.Columns[0].Width = longestLocalizedLength; if (firstEndpoint) { @@ -265,7 +263,7 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell endpointsGrid.AddRow( firstEndpoint ? new Align(new Markup($"[bold green]{endpointsLocalizedString}[/]:"), HorizontalAlignment.Right) : Text.Empty, new Markup($"[bold]{resource}[/] [grey]has endpoint[/] [link={endpoint}]{endpoint}[/]") - ); + ); var endpointsPadder = new Padder(endpointsGrid, new Padding(3, 0)); _ansiConsole.Write(endpointsPadder); @@ -281,6 +279,13 @@ protected override async Task ExecuteAsync(ParseResult parseResult, Cancell } } + if (ExtensionHelper.IsExtensionHost(_interactionService, out var extensionInteractionService, out _)) + { + _ansiConsole.WriteLine(RunCommandStrings.ExtensionSwitchingToAppHostConsole); + extensionInteractionService.DisplayDashboardUrls(dashboardUrls); + extensionInteractionService.NotifyAppHostStartupCompleted(); + } + await pendingLogCapture; return await pendingRun; } @@ -339,9 +344,9 @@ private void AppendCtrlCMessage(int longestLocalizedLength) var ctrlCGrid = new Grid(); ctrlCGrid.AddColumn(); ctrlCGrid.AddColumn(); - ctrlCGrid.Columns[0].Width = longestLocalizedLength + 1; + ctrlCGrid.Columns[0].Width = longestLocalizedLength; ctrlCGrid.AddRow(Text.Empty, Text.Empty); - ctrlCGrid.AddRow(new Text(string.Empty), new Markup(RunCommandStrings.PressCtrlCToStopAppHost)); + ctrlCGrid.AddRow(new Text(string.Empty), new Markup(RunCommandStrings.PressCtrlCToStopAppHost) { Overflow = Overflow.Ellipsis }); var ctrlCPadder = new Padder(ctrlCGrid, new Padding(3, 0)); _ansiConsole.Write(ctrlCPadder); diff --git a/src/Aspire.Cli/DotNet/DotNetCliRunner.cs b/src/Aspire.Cli/DotNet/DotNetCliRunner.cs index 13e3f9d7493..7543f330612 100644 --- a/src/Aspire.Cli/DotNet/DotNetCliRunner.cs +++ b/src/Aspire.Cli/DotNet/DotNetCliRunner.cs @@ -473,20 +473,26 @@ public virtual async Task ExecuteAsync(string[] args, IDictionary new EnvVar { Name = kvp.Key, Value = kvp.Value }).ToList(), - options.StartDebugSession); + // Even if AppHost is launched through the CLI, we still need to set the extension capabilities so that supported resource types may be started through VS Code. + startInfo.EnvironmentVariables[KnownConfigNames.ExtensionCapabilities] = string.Join(',', await backchannel.GetCapabilitiesAsync(cancellationToken)); + startInfo.EnvironmentVariables[KnownConfigNames.ExtensionDebugRunMode] = options.StartDebugSession ? "Debug" : "NoDebug"; - _ = StartBackchannelAsync(null, socketPath, backchannelCompletionSource, cancellationToken); + if (backchannelCompletionSource is not null + && projectFile is not null + && await backchannel.HasCapabilityAsync(KnownCapabilities.Project, cancellationToken)) + { + await extensionInteractionService.LaunchAppHostAsync( + projectFile.FullName, + startInfo.ArgumentList.ToList(), + startInfo.Environment.Select(kvp => new EnvVar { Name = kvp.Key, Value = kvp.Value }).ToList(), + options.StartDebugSession); + + _ = StartBackchannelAsync(null, socketPath, backchannelCompletionSource, cancellationToken); - return ExitCodeConstants.Success; + return ExitCodeConstants.Success; + } } var process = new Process { StartInfo = startInfo }; diff --git a/src/Aspire.Cli/Interaction/ConsoleInteractionService.cs b/src/Aspire.Cli/Interaction/ConsoleInteractionService.cs index 7da9d48ef4f..eac6d4e1acd 100644 --- a/src/Aspire.Cli/Interaction/ConsoleInteractionService.cs +++ b/src/Aspire.Cli/Interaction/ConsoleInteractionService.cs @@ -158,24 +158,6 @@ public void DisplaySuccess(string message) DisplayMessage("check_mark", message); } - public void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls) - { - _ansiConsole.WriteLine(); - _ansiConsole.MarkupLine($"[green bold]{InteractionServiceStrings.Dashboard}[/]:"); - if (dashboardUrls.CodespacesUrlWithLoginToken is not null) - { - _ansiConsole.MarkupLine( - $":chart_increasing: {InteractionServiceStrings.DirectLink}: [link={dashboardUrls.BaseUrlWithLoginToken}]{dashboardUrls.BaseUrlWithLoginToken}[/]"); - _ansiConsole.MarkupLine( - $":chart_increasing: {InteractionServiceStrings.CodespacesLink}: [link={dashboardUrls.CodespacesUrlWithLoginToken}]{dashboardUrls.CodespacesUrlWithLoginToken}[/]"); - } - else - { - _ansiConsole.MarkupLine($":chart_increasing: [link={dashboardUrls.BaseUrlWithLoginToken}]{dashboardUrls.BaseUrlWithLoginToken}[/]"); - } - _ansiConsole.WriteLine(); - } - public void DisplayLines(IEnumerable<(string Stream, string Line)> lines) { foreach (var (stream, line) in lines) diff --git a/src/Aspire.Cli/Interaction/ExtensionInteractionService.cs b/src/Aspire.Cli/Interaction/ExtensionInteractionService.cs index 07ad01761a4..6fdfc2402c6 100644 --- a/src/Aspire.Cli/Interaction/ExtensionInteractionService.cs +++ b/src/Aspire.Cli/Interaction/ExtensionInteractionService.cs @@ -15,7 +15,9 @@ internal interface IExtensionInteractionService : IInteractionService IExtensionBackchannel Backchannel { get; } void OpenNewProject(string projectPath); void LogMessage(LogLevel logLevel, string message); - Task LaunchAppHostAsync(string projectFile, string workingDirectory, List arguments, List environment, bool debug); + Task LaunchAppHostAsync(string projectFile, List arguments, List environment, bool debug); + void DisplayDashboardUrls(DashboardUrlsState dashboardUrls); + void NotifyAppHostStartupCompleted(); } internal class ExtensionInteractionService : IExtensionInteractionService @@ -43,8 +45,16 @@ public ExtensionInteractionService(ConsoleInteractionService consoleInteractionS { while (await _extensionTaskChannel.Reader.WaitToReadAsync().ConfigureAwait(false)) { - var taskFunction = await _extensionTaskChannel.Reader.ReadAsync().ConfigureAwait(false); - await taskFunction.Invoke(); + try + { + var taskFunction = await _extensionTaskChannel.Reader.ReadAsync().ConfigureAwait(false); + await taskFunction.Invoke(); + } + catch (Exception ex) + { + await Backchannel.DisplayErrorAsync(ex.Message.RemoveSpectreFormatting(), _cancellationToken); + _consoleInteractionService.DisplayError(ex.Message); + } } }); } @@ -189,11 +199,10 @@ public void DisplaySubtleMessage(string message) _consoleInteractionService.DisplaySubtleMessage(message); } - public void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls) + public void DisplayDashboardUrls(DashboardUrlsState dashboardUrls) { var result = _extensionTaskChannel.Writer.TryWrite(() => Backchannel.DisplayDashboardUrlsAsync(dashboardUrls, _cancellationToken)); Debug.Assert(result); - _consoleInteractionService.DisplayDashboardUrls(dashboardUrls); } public void DisplayLines(IEnumerable<(string Stream, string Line)> lines) @@ -243,16 +252,23 @@ public void DisplayVersionUpdateNotification(string newerVersion) public void LogMessage(LogLevel logLevel, string message) { - Debug.Assert(_extensionTaskChannel.Writer.TryWrite(() => Backchannel.LogMessageAsync(logLevel, message.RemoveSpectreFormatting(), _cancellationToken))); + var result = _extensionTaskChannel.Writer.TryWrite(() => Backchannel.LogMessageAsync(logLevel, message.RemoveSpectreFormatting(), _cancellationToken)); + Debug.Assert(result); } - public Task LaunchAppHostAsync(string projectFile, string workingDirectory, List arguments, List environment, bool debug) + public Task LaunchAppHostAsync(string projectFile, List arguments, List environment, bool debug) { - return Backchannel.LaunchAppHostAsync(projectFile, workingDirectory, arguments, environment, debug, _cancellationToken); + return Backchannel.LaunchAppHostAsync(projectFile, arguments, environment, debug, _cancellationToken); } public void WriteConsoleLog(string message, int? lineNumber = null, string? type = null, bool isErrorMessage = false) { _consoleInteractionService.WriteConsoleLog(message, lineNumber, type, isErrorMessage); } + + public void NotifyAppHostStartupCompleted() + { + var result = _extensionTaskChannel.Writer.TryWrite(() => Backchannel.NotifyAppHostStartupCompletedAsync(_cancellationToken)); + Debug.Assert(result); + } } diff --git a/src/Aspire.Cli/Interaction/IInteractionService.cs b/src/Aspire.Cli/Interaction/IInteractionService.cs index efd4799fe85..e2ecd0ac40e 100644 --- a/src/Aspire.Cli/Interaction/IInteractionService.cs +++ b/src/Aspire.Cli/Interaction/IInteractionService.cs @@ -20,7 +20,6 @@ internal interface IInteractionService void DisplayMarkdown(string markdown); void DisplaySuccess(string message); void DisplaySubtleMessage(string message); - void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls); void DisplayLines(IEnumerable<(string Stream, string Line)> lines); void DisplayCancellationMessage(); void DisplayEmptyLine(); diff --git a/src/Aspire.Cli/Program.cs b/src/Aspire.Cli/Program.cs index 53024abce22..89e329743b9 100644 --- a/src/Aspire.Cli/Program.cs +++ b/src/Aspire.Cli/Program.cs @@ -142,6 +142,7 @@ private static async Task BuildApplicationAsync(string[] args) builder.Services.AddTransient(); builder.Services.AddTransient(); builder.Services.AddTransient(); + builder.Services.AddTransient(); var app = builder.Build(); return app; @@ -196,12 +197,13 @@ private static IConfigurationService BuildConfigurationService(IServiceProvider private static IAnsiConsole BuildAnsiConsole(IServiceProvider serviceProvider) { - AnsiConsoleSettings settings = new AnsiConsoleSettings() + var settings = new AnsiConsoleSettings() { Ansi = AnsiSupport.Detect, Interactive = InteractionSupport.Detect, ColorSystem = ColorSystemSupport.Detect }; + var ansiConsole = AnsiConsole.Create(settings); return ansiConsole; } @@ -240,6 +242,7 @@ private static void AddInteractionServices(HostApplicationBuilder builder) builder.Services.AddSingleton(provider => { var ansiConsole = provider.GetRequiredService(); + ansiConsole.Profile.Width = 256; // VS code terminal will handle wrapping so set a large width here. var executionContext = provider.GetRequiredService(); var consoleInteractionService = new ConsoleInteractionService(ansiConsole, executionContext); return new ExtensionInteractionService(consoleInteractionService, diff --git a/src/Aspire.Cli/Projects/ProjectLocator.cs b/src/Aspire.Cli/Projects/ProjectLocator.cs index d1928e1cf4e..f65d51e56db 100644 --- a/src/Aspire.Cli/Projects/ProjectLocator.cs +++ b/src/Aspire.Cli/Projects/ProjectLocator.cs @@ -16,10 +16,16 @@ namespace Aspire.Cli.Projects; internal interface IProjectLocator { Task UseOrFindAppHostProjectFileAsync(FileInfo? projectFile, CancellationToken cancellationToken = default); + Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken); } internal sealed class ProjectLocator(ILogger logger, IDotNetCliRunner runner, CliExecutionContext executionContext, IInteractionService interactionService, IConfigurationService configurationService, AspireCliTelemetry telemetry) : IProjectLocator { + public async Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + var allCandidates = await FindAppHostProjectFilesAsync(new DirectoryInfo(searchDirectory), cancellationToken); + return [..allCandidates.BuildableAppHost, ..allCandidates.UnbuildableSuspectedAppHostProjects]; + } private async Task<(List BuildableAppHost, List UnbuildableSuspectedAppHostProjects)> FindAppHostProjectFilesAsync(DirectoryInfo searchDirectory, CancellationToken cancellationToken) { diff --git a/src/Aspire.Cli/Resources/RunCommandStrings.Designer.cs b/src/Aspire.Cli/Resources/RunCommandStrings.Designer.cs index af073df0b8c..993469f84b1 100644 --- a/src/Aspire.Cli/Resources/RunCommandStrings.Designer.cs +++ b/src/Aspire.Cli/Resources/RunCommandStrings.Designer.cs @@ -9,34 +9,48 @@ namespace Aspire.Cli.Resources { using System; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class RunCommandStrings { - - private static System.Resources.ResourceManager resourceMan; - - private static System.Globalization.CultureInfo resourceCulture; - - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal RunCommandStrings() { } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - public static System.Resources.ResourceManager ResourceManager { + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { get { - if (object.Equals(null, resourceMan)) { - System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Aspire.Cli.Resources.RunCommandStrings", typeof(RunCommandStrings).Assembly); + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Aspire.Cli.Resources.RunCommandStrings", typeof(RunCommandStrings).Assembly); resourceMan = temp; } return resourceMan; } } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - public static System.Globalization.CultureInfo Culture { + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -44,118 +58,184 @@ public static System.Globalization.CultureInfo Culture { resourceCulture = value; } } - - public static string Description { + + /// + /// Looks up a localized string similar to AppHost. + /// + public static string AppHost { get { - return ResourceManager.GetString("Description", resourceCulture); + return ResourceManager.GetString("AppHost", resourceCulture); } } - - public static string ProjectArgumentDescription { + + /// + /// Looks up a localized string similar to Connecting to app host.... + /// + public static string ConnectingToAppHost { get { - return ResourceManager.GetString("ProjectArgumentDescription", resourceCulture); + return ResourceManager.GetString("ConnectingToAppHost", resourceCulture); } } - - public static string WatchArgumentDescription { + + /// + /// Looks up a localized string similar to Dashboard. + /// + public static string Dashboard { get { - return ResourceManager.GetString("WatchArgumentDescription", resourceCulture); + return ResourceManager.GetString("Dashboard", resourceCulture); } } - - public static string IsCompatibleAppHostIsNull { + + /// + /// Looks up a localized string similar to Aspire Dashboard failed to start.. + /// + public static string DashboardFailedToStart { get { - return ResourceManager.GetString("IsCompatibleAppHostIsNull", resourceCulture); + return ResourceManager.GetString("DashboardFailedToStart", resourceCulture); } } - - public static string StartingAppHost { + + /// + /// Looks up a localized string similar to Run an Aspire app host in development mode.. + /// + public static string Description { get { - return ResourceManager.GetString("StartingAppHost", resourceCulture); + return ResourceManager.GetString("Description", resourceCulture); } } - - public static string StartingDashboard { + + /// + /// Looks up a localized string similar to Endpoints. + /// + public static string Endpoints { get { - return ResourceManager.GetString("StartingDashboard", resourceCulture); + return ResourceManager.GetString("Endpoints", resourceCulture); } } - - public static string Resource { + + /// + /// Looks up a localized string similar to To view AppHost logs in real-time, switch to the AppHost Debug Console.. + /// + public static string ExtensionSwitchingToAppHostConsole { get { - return ResourceManager.GetString("Resource", resourceCulture); + return ResourceManager.GetString("ExtensionSwitchingToAppHostConsole", resourceCulture); } } - - public static string Type { + + /// + /// Looks up a localized string similar to The health of the resource, eg Healthy. + /// + public static string Health { get { - return ResourceManager.GetString("Type", resourceCulture); + return ResourceManager.GetString("Health", resourceCulture); } } - - public static string State { + + /// + /// Looks up a localized string similar to IsCompatibleAppHost is null. + /// + public static string IsCompatibleAppHostIsNull { get { - return ResourceManager.GetString("State", resourceCulture); + return ResourceManager.GetString("IsCompatibleAppHostIsNull", resourceCulture); } } - - public static string Health { + + /// + /// Looks up a localized string similar to Logs. + /// + public static string Logs { get { - return ResourceManager.GetString("Health", resourceCulture); + return ResourceManager.GetString("Logs", resourceCulture); } } - - public static string Endpoints { + + /// + /// Looks up a localized string similar to Press [bold]CTRL+C[/] to stop the apphost and exit.. + /// + public static string PressCtrlCToStopAppHost { get { - return ResourceManager.GetString("Endpoints", resourceCulture); + return ResourceManager.GetString("PressCtrlCToStopAppHost", resourceCulture); } } - - public static string PressCtrlCToStopAppHost { + + /// + /// Looks up a localized string similar to The path to the Aspire app host project file.. + /// + public static string ProjectArgumentDescription { get { - return ResourceManager.GetString("PressCtrlCToStopAppHost", resourceCulture); + return ResourceManager.GetString("ProjectArgumentDescription", resourceCulture); } } - + + /// + /// Looks up a localized string similar to The project could not be run. For more information run with --debug switch.. + /// public static string ProjectCouldNotBeRun { get { return ResourceManager.GetString("ProjectCouldNotBeRun", resourceCulture); } } - - public static string Dashboard { + + /// + /// Looks up a localized string similar to Resource. + /// + public static string Resource { get { - return ResourceManager.GetString("Dashboard", resourceCulture); + return ResourceManager.GetString("Resource", resourceCulture); } } - - public static string Logs { + + /// + /// Looks up a localized string similar to Whether to start a debug session during the run.. + /// + public static string StartDebugSessionArgumentDescription { get { - return ResourceManager.GetString("Logs", resourceCulture); + return ResourceManager.GetString("StartDebugSessionArgumentDescription", resourceCulture); } } - - public static string ConnectingToAppHost { + + /// + /// Looks up a localized string similar to Starting Aspire app host.... + /// + public static string StartingAppHost { get { - return ResourceManager.GetString("ConnectingToAppHost", resourceCulture); + return ResourceManager.GetString("StartingAppHost", resourceCulture); } } - - public static string DashboardFailedToStart { + + /// + /// Looks up a localized string similar to Starting dashboard.... + /// + public static string StartingDashboard { get { - return ResourceManager.GetString("DashboardFailedToStart", resourceCulture); + return ResourceManager.GetString("StartingDashboard", resourceCulture); } } - - public static string PromptForDebugging { + + /// + /// Looks up a localized string similar to State. + /// + public static string State { get { - return ResourceManager.GetString("PromptForDebugging", resourceCulture); + return ResourceManager.GetString("State", resourceCulture); } } - - public static string AppHost { + + /// + /// Looks up a localized string similar to Type. + /// + public static string Type { get { - return ResourceManager.GetString("AppHost", resourceCulture); + return ResourceManager.GetString("Type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start project resources in watch mode.. + /// + public static string WatchArgumentDescription { + get { + return ResourceManager.GetString("WatchArgumentDescription", resourceCulture); } } } diff --git a/src/Aspire.Cli/Resources/RunCommandStrings.resx b/src/Aspire.Cli/Resources/RunCommandStrings.resx index 598e4baddac..67d1fefaaa9 100644 --- a/src/Aspire.Cli/Resources/RunCommandStrings.resx +++ b/src/Aspire.Cli/Resources/RunCommandStrings.resx @@ -115,6 +115,9 @@ Start project resources in watch mode. + + Whether to start a debug session during the run. + IsCompatibleAppHost is null @@ -155,15 +158,15 @@ Logs + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + Connecting to app host... Aspire Dashboard failed to start. - - Do you want to start a debugging session? - AppHost diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.cs.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.cs.xlf index 86c3a8afa48..8005382a092 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.cs.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.cs.xlf @@ -32,6 +32,11 @@ Koncové body + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Stav prostředku, např. V pořádku @@ -62,16 +67,16 @@ Projekt nelze spustit. Další informace získáte spuštěním s přepínačem --debug. - - Do you want to start a debugging session? - Chcete zahájit relaci ladění? - - Resource Prostředek A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Spouští se hostitel aplikací Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.de.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.de.xlf index f8c1e3b0922..54cb581974d 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.de.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.de.xlf @@ -32,6 +32,11 @@ Endpunkte + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Die Integrität der Ressource, z. B. fehlerfrei @@ -62,16 +67,16 @@ Das Projekt konnte nicht ausgeführt werden. Weitere Informationen erhalten Sie, wenn Sie mit dem Schalter „--debug“ ausführen. - - Do you want to start a debugging session? - Möchten Sie eine Debugging-Sitzung starten? - - Resource Ressource A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Aspire-App-Host wird gestartet... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.es.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.es.xlf index f376a54a2d7..bd3373eee08 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.es.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.es.xlf @@ -32,6 +32,11 @@ Puntos de conexión + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy El estado del recurso, por ejemplo, Correcto @@ -62,16 +67,16 @@ No se pudo ejecutar el proyecto. Para obtener más información, ejecute con el conmutador --debug. - - Do you want to start a debugging session? - ¿Desea iniciar una sesión de depuración? - - Resource Recurso A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Iniciando el host de aplicaciones Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.fr.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.fr.xlf index ffd44c892c8..385d4af4d7b 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.fr.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.fr.xlf @@ -32,6 +32,11 @@ Points de terminaison + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy L’état de la ressource, par exemple, Sain @@ -62,16 +67,16 @@ Le projet n’a pas pu être exécuté. Pour plus d’informations, exécutez avec le commutateur --debug. - - Do you want to start a debugging session? - Souhaitez-vous commencer une session de débogage ? - - Resource Ressource A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Démarrage de l’hôte d’application Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.it.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.it.xlf index 3ab8621a723..9f2db8b18db 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.it.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.it.xlf @@ -32,6 +32,11 @@ Endpoint + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Integrità della risorsa, ad esempio Integro @@ -62,16 +67,16 @@ Non è possibile eseguire il progetto. Per altre informazioni, eseguire con l'opzione --debug. - - Do you want to start a debugging session? - Avviare una sessione di debug? - - Resource Risorsa A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Avvio dell'host dell'app Aspire in corso... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ja.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ja.xlf index 73236a216ad..6bbe5a1f0ea 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ja.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ja.xlf @@ -32,6 +32,11 @@ エンドポイント + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy リソースの正常性 (正常など) @@ -62,16 +67,16 @@ プロジェクトを実行できませんでした。詳細情報については、--debug スイッチを使用し実行してください。 - - Do you want to start a debugging session? - デバッグ セッションを開始しますか? - - Resource リソース A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Aspire アプリ ホスティング プロセスを開始しています... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ko.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ko.xlf index 0e56a176eca..91cc42a2495 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ko.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ko.xlf @@ -32,6 +32,11 @@ 엔드포인트 + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy 리소스의 상태, 예: 정상 @@ -62,16 +67,16 @@ 프로젝트를 실행할 수 없습니다. 자세한 내용을 보려면 --debug 스위치를 이용하여 실행하세요. - - Do you want to start a debugging session? - 디버깅 세션을 시작하시겠어요? - - Resource 리소스 A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Aspire 앱 호스트 시작 중... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pl.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pl.xlf index 13d9a359772..361f41df894 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pl.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pl.xlf @@ -32,6 +32,11 @@ Punkty końcowe + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Kondycja zasobu, np. w dobrej kondycji @@ -62,16 +67,16 @@ Nie można uruchomić projektu. Aby uzyskać więcej informacji, uruchom polecenie przełącznika --debug. - - Do you want to start a debugging session? - Czy chcesz rozpocząć sesję debugowania? - - Resource Zasób A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Trwa uruchamianie hosta aplikacji platformy Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pt-BR.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pt-BR.xlf index 4cabc9e7cba..37e9f362b44 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pt-BR.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.pt-BR.xlf @@ -32,6 +32,11 @@ Pontos de Extremidade + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy A integridade do recurso, por exemplo, Íntegro @@ -62,16 +67,16 @@ Não foi possível executar o projeto. Para obter mais informações, execute com a opção --debug. - - Do you want to start a debugging session? - Deseja iniciar uma sessão de depuração? - - Resource Recurso A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Iniciando o host de aplicativo Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ru.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ru.xlf index 30fd037a3be..d4dc49e3dec 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ru.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.ru.xlf @@ -32,6 +32,11 @@ Конечные точки + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Работоспособность ресурса, например "Работоспособен" @@ -62,16 +67,16 @@ Не удалось запустить проект. Для получения дополнительных сведений запустите команду с параметром --debug. - - Do you want to start a debugging session? - Вы хотите начать сеанс отладки? - - Resource Ресурс A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Запускается хост приложений Aspire... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.tr.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.tr.xlf index fa0503cd0c2..97d350dffd1 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.tr.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.tr.xlf @@ -32,6 +32,11 @@ Uç Noktalar + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy Kaynağın durumu, örneğin İyi Durumda @@ -62,16 +67,16 @@ Proje çalıştırılamadı. Daha fazla bilgi için --debug anahtarıyla çalıştırın. - - Do you want to start a debugging session? - Hata ayıklama oturumu başlatmak istiyor musunuz? - - Resource Kaynak A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... Aspire uygulama ana işlemi başlatılıyor... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hans.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hans.xlf index 722d2109da6..57c925be4d0 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hans.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hans.xlf @@ -32,6 +32,11 @@ 终结点 + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy 资源的运行状况,例如“正常” @@ -62,16 +67,16 @@ 无法运行该项目。有关详细信息,请使用 --debug 开关运行。 - - Do you want to start a debugging session? - 是否要启动调试会话? - - Resource 资源 A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... 正在启动 Aspire 应用主机... diff --git a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hant.xlf b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hant.xlf index 30f672e97e5..84540c72b8d 100644 --- a/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hant.xlf +++ b/src/Aspire.Cli/Resources/xlf/RunCommandStrings.zh-Hant.xlf @@ -32,6 +32,11 @@ 端點 + + To view AppHost logs in real-time, switch to the AppHost Debug Console. + To view AppHost logs in real-time, switch to the AppHost Debug Console. + + The health of the resource, eg Healthy 資源的健康狀況,例如:健康 @@ -62,16 +67,16 @@ 無法執行專案。如需詳細資訊,請使用 --debug 切換執行。 - - Do you want to start a debugging session? - 您想要啟動偵錯工作階段嗎? - - Resource 資源 A column header (noun) + + Whether to start a debug session during the run. + Whether to start a debug session during the run. + + Starting Aspire app host... 正在啟動 Aspire 應用程式主機... diff --git a/src/Aspire.Cli/Utils/ExtensionHelper.cs b/src/Aspire.Cli/Utils/ExtensionHelper.cs index 00168ca7bce..826a90849f4 100644 --- a/src/Aspire.Cli/Utils/ExtensionHelper.cs +++ b/src/Aspire.Cli/Utils/ExtensionHelper.cs @@ -9,9 +9,6 @@ namespace Aspire.Cli.Utils; internal class ExtensionHelper { - public const string DevKitCapability = "devkit"; - public const string CSharpCapability = "csharp"; - public static bool IsExtensionHost( IInteractionService interactionService, [NotNullWhen(true)] out IExtensionInteractionService? extensionInteractionService, @@ -29,3 +26,9 @@ public static bool IsExtensionHost( return false; } } + +internal static class KnownCapabilities +{ + public const string DevKit = "devkit"; + public const string Project = "project"; +} diff --git a/src/Aspire.Hosting.Python/PythonAppResourceBuilderExtensions.cs b/src/Aspire.Hosting.Python/PythonAppResourceBuilderExtensions.cs index d93f5912606..ca230535dca 100644 --- a/src/Aspire.Hosting.Python/PythonAppResourceBuilderExtensions.cs +++ b/src/Aspire.Hosting.Python/PythonAppResourceBuilderExtensions.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +#pragma warning disable ASPIREEXTENSION001 using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Python; using Aspire.Hosting.Utils; @@ -147,6 +148,11 @@ public static IResourceBuilder AddPythonApp( resourceBuilder.WithEnvironment("OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED", "true"); } + resourceBuilder.WithVSCodeDebugSupport(Path.Join(appDirectory, scriptPath), "python", "ms-python.python", ctx => + { + ctx.Args.RemoveAt(0); // The first argument when running from command line is the entrypoint file. + }); + resourceBuilder.PublishAsDockerFile(); return resourceBuilder; diff --git a/src/Aspire.Hosting/Dcp/DcpExecutor.cs b/src/Aspire.Hosting/Dcp/DcpExecutor.cs index 78345035fc0..bf929b2544b 100644 --- a/src/Aspire.Hosting/Dcp/DcpExecutor.cs +++ b/src/Aspire.Hosting/Dcp/DcpExecutor.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +#pragma warning disable ASPIREEXTENSION001 using System.Collections.Concurrent; using System.Collections.Immutable; using System.Data; @@ -961,6 +962,28 @@ private void PreparePlainExecutables() exe.Annotate(CustomResource.OtelServiceNameAnnotation, executable.Name); exe.Annotate(CustomResource.OtelServiceInstanceIdAnnotation, exeInstance.Suffix); exe.Annotate(CustomResource.ResourceNameAnnotation, executable.Name); + + if (executable.TryGetLastAnnotation(out var supportsDebuggingAnnotation) + && !string.IsNullOrEmpty(_configuration[DebugSessionPortVar]) + && (supportsDebuggingAnnotation.RequiredExtensionId is null || GetDebugSupportedResourceTypes()?.Contains(supportsDebuggingAnnotation.RequiredExtensionId) is true)) + { + exe.Spec.ExecutionType = ExecutionType.IDE; + var projectLaunchConfiguration = new ProjectLaunchConfiguration(); + projectLaunchConfiguration.Type = supportsDebuggingAnnotation.DebugAdapterId; + projectLaunchConfiguration.ProjectPath = supportsDebuggingAnnotation.ProjectPath; + + if (_configuration[KnownConfigNames.ExtensionDebugRunMode] is ProjectLaunchMode.Debug) + { + projectLaunchConfiguration.Mode = ProjectLaunchMode.Debug; + } + + exe.AnnotateAsObjectList(Executable.LaunchConfigurationsAnnotation, projectLaunchConfiguration); + } + else + { + exe.Spec.ExecutionType = ExecutionType.Process; + } + SetInitialResourceState(executable, exe); var exeAppResource = new AppResource(executable, exe); @@ -1003,10 +1026,16 @@ private void PrepareProjectExecutables() var projectArgs = new List(); - if (!string.IsNullOrEmpty(_configuration[DebugSessionPortVar])) + // We cannot use the IDE execution type if the Aspire extension does not support c# projects + if (!string.IsNullOrEmpty(_configuration[DebugSessionPortVar]) && GetDebugSupportedResourceTypes()?.Contains("project") is not false) { exeSpec.Spec.ExecutionType = ExecutionType.IDE; + if (_configuration[KnownConfigNames.ExtensionDebugRunMode] is ProjectLaunchMode.Debug) + { + projectLaunchConfiguration.Mode = ProjectLaunchMode.Debug; + } + projectLaunchConfiguration.DisableLaunchProfile = project.TryGetLastAnnotation(out _); if (!projectLaunchConfiguration.DisableLaunchProfile && project.TryGetLastAnnotation(out var lpa)) { @@ -1988,6 +2017,16 @@ await modelResource.ProcessContainerRuntimeArgValues( return (runArgs, failedToApplyArgs); } + /// + /// Returns a list of resource types that are supported for IDE launch. Always contains project + /// + private List? GetDebugSupportedResourceTypes() + { + return _configuration[KnownConfigNames.ExtensionCapabilities] is not { } capabilities + ? null + : capabilities.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).ToList(); + } + private static List BuildContainerPorts(AppResource cr) { var ports = new List(); diff --git a/src/Aspire.Hosting/Dcp/Model/Executable.cs b/src/Aspire.Hosting/Dcp/Model/Executable.cs index 6ecdba0d0c7..780331ab57c 100644 --- a/src/Aspire.Hosting/Dcp/Model/Executable.cs +++ b/src/Aspire.Hosting/Dcp/Model/Executable.cs @@ -276,9 +276,7 @@ internal static class ProjectLaunchMode internal sealed class ProjectLaunchConfiguration { [JsonPropertyName("type")] -#pragma warning disable CA1822 // We want this member to be non-static, as it is used in serialization. - public string Type => "project"; -#pragma warning restore CA1822 + public string Type { get; set; } = "project"; [JsonPropertyName("mode")] public string Mode { get; set; } = System.Diagnostics.Debugger.IsAttached ? ProjectLaunchMode.Debug : ProjectLaunchMode.NoDebug; diff --git a/src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs b/src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs index 73218fe0c3e..4c63275b1e1 100644 --- a/src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs +++ b/src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +#pragma warning disable ASPIREEXTENSION001 using System.Diagnostics; using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Dashboard; @@ -281,6 +282,7 @@ public static IResourceBuilder AddProject(this IDistributedAppl return builder.AddResource(project) .WithAnnotation(new ProjectMetadata(projectPath)) + .WithVSCodeDebugSupport(projectPath, "coreclr", "ms-dotnettools.csharp") .WithProjectDefaults(options); } diff --git a/src/Aspire.Hosting/ResourceBuilderExtensions.cs b/src/Aspire.Hosting/ResourceBuilderExtensions.cs index e64b2158427..0b02c130d02 100644 --- a/src/Aspire.Hosting/ResourceBuilderExtensions.cs +++ b/src/Aspire.Hosting/ResourceBuilderExtensions.cs @@ -8,6 +8,7 @@ using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Publishing; using Aspire.Hosting.Utils; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Diagnostics.HealthChecks; using Microsoft.Extensions.Logging; @@ -2259,4 +2260,39 @@ public static IResourceBuilder WithComputeEnvironment(this IResourceBuilde builder.WithAnnotation(new ComputeEnvironmentAnnotation(computeEnvironmentResource.Resource)); return builder; } + + /// + /// Adds support for debugging the resource in VS Code when running in an extension host. + /// + /// The resource builder. + /// The path to the project file. + /// The debug adapter ID to use. Ie, coreclr + /// The ID of the required VS Code extension. If specified, the extension must be installed for debugging to be enabled. + /// Optional callback to add or modify command line arguments when running in an extension host. Useful if the entrypoint is usually provided as an argument to the resource executable. + [Experimental("ASPIREEXTENSION001")] + public static IResourceBuilder WithVSCodeDebugSupport(this IResourceBuilder builder, string projectPath, string debugAdapterId, string? requiredExtensionId, Action? argsCallback = null) where T : IResource + { + ArgumentNullException.ThrowIfNull(builder); + ArgumentException.ThrowIfNullOrWhiteSpace(projectPath); + ArgumentException.ThrowIfNullOrWhiteSpace(debugAdapterId); + + if (builder is IResourceBuilder resourceWithArgs) + { + resourceWithArgs.WithArgs(ctx => + { + if (!ctx.ExecutionContext.IsRunMode) + { + return; + } + + var config = ctx.ExecutionContext.ServiceProvider.GetRequiredService(); + if (ExtensionUtils.IsExtensionHost(config) && argsCallback is not null) + { + argsCallback(ctx); + } + }); + } + + return builder.WithAnnotation(new SupportsDebuggingAnnotation(projectPath, debugAdapterId, requiredExtensionId)); + } } diff --git a/src/Aspire.Hosting/SupportsDebuggingAnnotation.cs b/src/Aspire.Hosting/SupportsDebuggingAnnotation.cs new file mode 100644 index 00000000000..0ea70e965cf --- /dev/null +++ b/src/Aspire.Hosting/SupportsDebuggingAnnotation.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; + +namespace Aspire.Hosting.ApplicationModel; + +/// +/// Represents an annotation that specifies that the resource can be debugged by the Aspire Extension. +/// +/// The entrypoint of the resource. +/// The debug adapter ID to use for debugging. +/// The ID of the required extension that provides the debug adapter. +/// +[DebuggerDisplay("Type = {GetType().Name,nq}, ProjectPath = {ProjectPath}, Type = {Type}")] +[Experimental("ASPIREEXTENSION001")] +public sealed class SupportsDebuggingAnnotation(string projectPath, string debugAdapterId, string? requiredExtensionId) : IResourceAnnotation +{ + private readonly string _projectPath = projectPath ?? throw new ArgumentNullException(nameof(projectPath)); + private readonly string _debugAdapterId = debugAdapterId ?? throw new ArgumentNullException(nameof(debugAdapterId)); + private readonly string _requiredExtensionId = requiredExtensionId ?? string.Empty; + + /// + /// Gets the project path. + /// + public string ProjectPath => _projectPath; + + /// + /// Gets the debug adapter ID. + /// + public string DebugAdapterId => _debugAdapterId; + + /// + /// Gets the required extension ID. + /// + public string? RequiredExtensionId => _requiredExtensionId; +} diff --git a/src/Aspire.Hosting/Utils/ExtensionUtils.cs b/src/Aspire.Hosting/Utils/ExtensionUtils.cs new file mode 100644 index 00000000000..6a2c72d6bc8 --- /dev/null +++ b/src/Aspire.Hosting/Utils/ExtensionUtils.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.Extensions.Configuration; + +namespace Aspire.Hosting.Utils; + +internal static class ExtensionUtils +{ + public static bool IsExtensionHost(IConfiguration configuration) + { + return configuration[KnownConfigNames.ExtensionCapabilities] is not null; + } +} diff --git a/src/Shared/KnownConfigNames.cs b/src/Shared/KnownConfigNames.cs index fb47ee8975f..11261583d4c 100644 --- a/src/Shared/KnownConfigNames.cs +++ b/src/Shared/KnownConfigNames.cs @@ -40,6 +40,8 @@ internal static class KnownConfigNames public const string ExtensionPromptEnabled = "ASPIRE_EXTENSION_PROMPT_ENABLED"; public const string ExtensionToken = "ASPIRE_EXTENSION_TOKEN"; public const string ExtensionCert = "ASPIRE_EXTENSION_CERT"; + public const string ExtensionCapabilities = "ASPIRE_EXTENSION_CAPABILITIES"; + public const string ExtensionDebugRunMode = "ASPIRE_EXTENSION_DEBUG_RUN_MODE"; public static class Legacy { diff --git a/src/Shared/StringUtils.cs b/src/Shared/StringUtils.cs index 609523a537c..eedf6eb679f 100644 --- a/src/Shared/StringUtils.cs +++ b/src/Shared/StringUtils.cs @@ -32,4 +32,14 @@ public static string Unescape(string value) { return HttpUtility.UrlDecode(value); } + + public static string RemoveSuffix(this string value, string suffix) + { + ArgumentNullException.ThrowIfNull(value); + ArgumentNullException.ThrowIfNull(suffix); + + return value.EndsWith(suffix, StringComparison.Ordinal) + ? value[..^suffix.Length] + : value; + } } diff --git a/tests/Aspire.Cli.Tests/Commands/ExecCommandTests.cs b/tests/Aspire.Cli.Tests/Commands/ExecCommandTests.cs index 3c9ca164898..1ebfe036d77 100644 --- a/tests/Aspire.Cli.Tests/Commands/ExecCommandTests.cs +++ b/tests/Aspire.Cli.Tests/Commands/ExecCommandTests.cs @@ -107,7 +107,7 @@ public async Task ExecCommand_WhenFeatureFlagEnabled_CommandAvailable() var result = command.Parse("exec --help", commandLineConfiguration); var exitCode = await result.InvokeAsync().WaitAsync(CliTestConstants.DefaultTimeout); - + // Should succeed because exec command is registered when feature flag is enabled Assert.Equal(ExitCodeConstants.Success, exitCode); } @@ -170,6 +170,11 @@ private sealed class NoProjectFileProjectLocator : Aspire.Cli.Projects.IProjectL { throw new Aspire.Cli.Projects.ProjectLocatorException("No project file found."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + throw new Aspire.Cli.Projects.ProjectLocatorException("No project file found."); + } } private sealed class MultipleProjectFilesProjectLocator : Aspire.Cli.Projects.IProjectLocator @@ -178,6 +183,15 @@ private sealed class MultipleProjectFilesProjectLocator : Aspire.Cli.Projects.IP { throw new Aspire.Cli.Projects.ProjectLocatorException("Multiple project files found."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + return Task.FromResult(new List + { + new FileInfo(Path.Combine(searchDirectory, "AppHost1.csproj")), + new FileInfo(Path.Combine(searchDirectory, "AppHost2.csproj")) + }); + } } private sealed class ProjectFileDoesNotExistLocator : Aspire.Cli.Projects.IProjectLocator @@ -186,5 +200,10 @@ private sealed class ProjectFileDoesNotExistLocator : Aspire.Cli.Projects.IProje { throw new Aspire.Cli.Projects.ProjectLocatorException("Project file does not exist."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + throw new Aspire.Cli.Projects.ProjectLocatorException("Project file does not exist."); + } } } diff --git a/tests/Aspire.Cli.Tests/Commands/PublishCommandPromptingIntegrationTests.cs b/tests/Aspire.Cli.Tests/Commands/PublishCommandPromptingIntegrationTests.cs index 70efb8fc171..771d5914d0c 100644 --- a/tests/Aspire.Cli.Tests/Commands/PublishCommandPromptingIntegrationTests.cs +++ b/tests/Aspire.Cli.Tests/Commands/PublishCommandPromptingIntegrationTests.cs @@ -561,8 +561,8 @@ public async Task PublishCommand_MarkdownPromptText_ConvertsToSpectreMarkup() var promptCalls = consoleService.StringPromptCalls; Assert.Single(promptCalls); var promptCall = promptCalls[0]; - - // The markdown "**Enter** the `config` value for [Azure Portal](https://portal.azure.com):" + + // The markdown "**Enter** the `config` value for [Azure Portal](https://portal.azure.com):" // should be converted to Spectre markup with URL instead of text var expectedSpectreMarkup = "[bold][bold]Enter[/] the [grey][bold]config[/][/] value for [blue underline]https://portal.azure.com[/]:[/]"; Assert.Equal(expectedSpectreMarkup, promptCall.PromptText); @@ -794,7 +794,6 @@ public Task ConfirmAsync(string promptText, bool defaultValue = true, Canc public void DisplayMessage(string emoji, string message) { } public void DisplaySuccess(string message) { } public void DisplaySubtleMessage(string message) { } - public void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls) { } public void DisplayLines(IEnumerable<(string Stream, string Line)> lines) { } public void DisplayCancellationMessage() { } public void DisplayEmptyLine() { } diff --git a/tests/Aspire.Cli.Tests/Commands/RunCommandTests.cs b/tests/Aspire.Cli.Tests/Commands/RunCommandTests.cs index 4c82d019866..91b0f69ac7f 100644 --- a/tests/Aspire.Cli.Tests/Commands/RunCommandTests.cs +++ b/tests/Aspire.Cli.Tests/Commands/RunCommandTests.cs @@ -88,6 +88,11 @@ private sealed class ProjectFileDoesNotExistLocator : Aspire.Cli.Projects.IProje { throw new Aspire.Cli.Projects.ProjectLocatorException("Project file does not exist."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + throw new Aspire.Cli.Projects.ProjectLocatorException("Project file does not exist."); + } } [Fact] @@ -136,6 +141,11 @@ private sealed class NoProjectFileProjectLocator : IProjectLocator { throw new Aspire.Cli.Projects.ProjectLocatorException("No project file found."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + throw new Aspire.Cli.Projects.ProjectLocatorException("No project file found."); + } } private sealed class MultipleProjectFilesProjectLocator : IProjectLocator @@ -144,6 +154,15 @@ private sealed class MultipleProjectFilesProjectLocator : IProjectLocator { throw new Aspire.Cli.Projects.ProjectLocatorException("Multiple project files found."); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + return Task.FromResult(new List + { + new FileInfo(Path.Combine(searchDirectory, "AppHost1.csproj")), + new FileInfo(Path.Combine(searchDirectory, "AppHost2.csproj")) + }); + } } private async IAsyncEnumerable ReturnLogEntriesUntilCancelledAsync([EnumeratorCancellation] CancellationToken cancellationToken) { @@ -195,7 +214,7 @@ public async Task RunCommand_CompletesSuccessfully() // public Task RunAsync(FileInfo projectFile, bool watch, bool noBuild, string[] args, IDictionary? env, TaskCompletionSource? backchannelCompletionSource, CancellationToken cancellationToken) runner.RunAsyncCallback = async (projectFile, watch, noBuild, args, env, backchannelCompletionSource, options, ct) => { - // Make a backchannel and return it, but don't return from the run call until the backchannel + // Make a backchannel and return it, but don't return from the run call until the backchannel var backchannel = sp.GetRequiredService(); backchannelCompletionSource!.SetResult(backchannel); @@ -388,4 +407,67 @@ public async Task AppHostHelper_BuildAppHostAsync_IncludesRelativePathInStatusMe var options = new DotNetCliRunnerInvocationOptions(); await AppHostHelper.BuildAppHostAsync(testRunner, testInteractionService, appHostProjectFile, options, workspace.WorkspaceRoot, CancellationToken.None); } + + [Fact] + public async Task RunCommand_SkipsBuild_WhenExtensionDevKitCapabilityIsAvailable() + { + var buildCalled = false; + + var extensionBackchannel = new TestExtensionBackchannel(); + extensionBackchannel.GetCapabilitiesAsyncCallback = ct => Task.FromResult(new[] { "devkit" }); + + var appHostBackchannel = new TestAppHostBackchannel(); + appHostBackchannel.GetDashboardUrlsAsyncCallback = (ct) => Task.FromResult(new DashboardUrlsState + { + DashboardHealthy = true, + BaseUrlWithLoginToken = "http://localhost/dashboard", + CodespacesUrlWithLoginToken = null + }); + appHostBackchannel.GetAppHostLogEntriesAsyncCallback = ReturnLogEntriesUntilCancelledAsync; + + var backchannelFactory = (IServiceProvider sp) => appHostBackchannel; + + var extensionInteractionServiceFactory = (IServiceProvider sp) => new TestExtensionInteractionService(sp); + + var runnerFactory = (IServiceProvider sp) => { + var runner = new TestDotNetCliRunner(); + runner.CheckHttpCertificateAsyncCallback = (options, ct) => 0; + runner.BuildAsyncCallback = (projectFile, options, ct) => { + buildCalled = true; + return 0; + }; + runner.GetAppHostInformationAsyncCallback = (projectFile, options, ct) => (0, true, VersionHelper.GetDefaultTemplateVersion()); + runner.RunAsyncCallback = async (projectFile, watch, noBuild, args, env, backchannelCompletionSource, options, ct) => { + var backchannel = sp.GetRequiredService(); + backchannelCompletionSource!.SetResult(backchannel); + await Task.Delay(Timeout.InfiniteTimeSpan, ct); + return 0; + }; + return runner; + }; + + var projectLocatorFactory = (IServiceProvider sp) => new TestProjectLocator(); + + using var workspace = TemporaryWorkspace.Create(outputHelper); + var services = CliTestHelper.CreateServiceCollection(workspace, outputHelper, options => + { + options.ProjectLocatorFactory = projectLocatorFactory; + options.AppHostBackchannelFactory = backchannelFactory; + options.DotNetCliRunnerFactory = runnerFactory; + options.ExtensionBackchannelFactory = _ => extensionBackchannel; + options.InteractionServiceFactory = extensionInteractionServiceFactory; + }); + + var provider = services.BuildServiceProvider(); + var command = provider.GetRequiredService(); + var result = command.Parse("run"); + + using var cts = new CancellationTokenSource(); + var pendingRun = result.InvokeAsync(cts.Token); + cts.Cancel(); + var exitCode = await pendingRun.WaitAsync(CliTestConstants.DefaultTimeout); + + Assert.Equal(ExitCodeConstants.Success, exitCode); + Assert.False(buildCalled, "Build should be skipped when extension DevKit capability is available."); + } } diff --git a/tests/Aspire.Cli.Tests/Commands/UpdateCommandTests.cs b/tests/Aspire.Cli.Tests/Commands/UpdateCommandTests.cs index 23391ffe8be..6106c95e747 100644 --- a/tests/Aspire.Cli.Tests/Commands/UpdateCommandTests.cs +++ b/tests/Aspire.Cli.Tests/Commands/UpdateCommandTests.cs @@ -38,6 +38,11 @@ public Task CreateSettingsFileIfNotExistsAsync(FileInfo projectFile, Cancellatio _ = _projectFile; return Task.CompletedTask; } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + return Task.FromResult>([_projectFile]); + } } [Fact] @@ -70,4 +75,4 @@ public async Task UpdateCommand_FailsBeforePromptingForChannel_WhenCentralPackag Assert.Equal(ExitCodeConstants.CentralPackageManagementNotSupported, exitCode); Assert.False(recordingPackagingService.GetChannelsCalled); // Ensure we failed before prompting for channels. } -} \ No newline at end of file +} diff --git a/tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs b/tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs index bdef5ef2bd4..6d410ce3a6c 100644 --- a/tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs +++ b/tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs @@ -366,7 +366,7 @@ public async Task ExecuteAsyncLaunchesAppHostInExtensionHostIfConnected() }; options.ExtensionBackchannelFactory = _ => new TestExtensionBackchannel { - HasCapabilityAsyncCallback = (c, _) => Task.FromResult(c is "devkit" or "csharp"), + HasCapabilityAsyncCallback = (c, _) => Task.FromResult(c is "devkit" or "project"), }; options.AppHostBackchannelFactory = _ => new TestAppHostBackchannel(); }); diff --git a/tests/Aspire.Cli.Tests/TestServices/NoProjectFileProjectLocator.cs b/tests/Aspire.Cli.Tests/TestServices/NoProjectFileProjectLocator.cs index 58a4b6df9e8..90bf3a05dcd 100644 --- a/tests/Aspire.Cli.Tests/TestServices/NoProjectFileProjectLocator.cs +++ b/tests/Aspire.Cli.Tests/TestServices/NoProjectFileProjectLocator.cs @@ -11,4 +11,9 @@ internal sealed class NoProjectFileProjectLocator : IProjectLocator { throw new ProjectLocatorException("No project file found."); } -} \ No newline at end of file + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + throw new ProjectLocatorException("No project file found."); + } +} diff --git a/tests/Aspire.Cli.Tests/TestServices/TestConsoleInteractionService.cs b/tests/Aspire.Cli.Tests/TestServices/TestConsoleInteractionService.cs index f558cd170a4..edcc5149484 100644 --- a/tests/Aspire.Cli.Tests/TestServices/TestConsoleInteractionService.cs +++ b/tests/Aspire.Cli.Tests/TestServices/TestConsoleInteractionService.cs @@ -59,10 +59,6 @@ public void DisplaySuccess(string message) { } - public void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls) - { - } - public void DisplayLines(IEnumerable<(string Stream, string Line)> lines) { } diff --git a/tests/Aspire.Cli.Tests/TestServices/TestExtensionBackchannel.cs b/tests/Aspire.Cli.Tests/TestServices/TestExtensionBackchannel.cs index c08b3210b5c..83b1709a50a 100644 --- a/tests/Aspire.Cli.Tests/TestServices/TestExtensionBackchannel.cs +++ b/tests/Aspire.Cli.Tests/TestServices/TestExtensionBackchannel.cs @@ -37,7 +37,7 @@ internal sealed class TestExtensionBackchannel : IExtensionBackchannel public Func, Task>? DisplayLinesAsyncCallback { get; set; } public TaskCompletionSource? DisplayDashboardUrlsAsyncCalled { get; set; } - public Func<(string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken), Task>? DisplayDashboardUrlsAsyncCallback { get; set; } + public Func? DisplayDashboardUrlsAsyncCallback { get; set; } public TaskCompletionSource? ShowStatusAsyncCalled { get; set; } public Func? ShowStatusAsyncCallback { get; set; } @@ -56,11 +56,16 @@ internal sealed class TestExtensionBackchannel : IExtensionBackchannel public TaskCompletionSource? LogMessageAsyncCalled { get; set; } public Func? LogMessageAsyncCallback { get; set; } + public TaskCompletionSource? GetCapabilitiesAsyncCalled { get; set; } + public Func>? GetCapabilitiesAsyncCallback { get; set; } + public TaskCompletionSource? HasCapabilityAsyncCalled { get; set; } public Func>? HasCapabilityAsyncCallback { get; set; } public TaskCompletionSource? LaunchAppHostAsyncCalled { get; set; } - public Func, List, bool, Task>? LaunchAppHostAsyncCallback { get; set; } + public Func, List, bool, Task>? LaunchAppHostAsyncCallback { get; set; } + + public TaskCompletionSource? NotifyAppHostStartupCompletedAsyncCalled { get; set; } public Task ConnectAsync(CancellationToken cancellationToken) { @@ -117,7 +122,7 @@ public Task DisplayLinesAsync(IEnumerable lines, CancellationT return DisplayLinesAsyncCallback?.Invoke(lines) ?? Task.CompletedTask; } - public Task DisplayDashboardUrlsAsync((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls, CancellationToken cancellationToken) + public Task DisplayDashboardUrlsAsync(DashboardUrlsState dashboardUrls, CancellationToken cancellationToken) { DisplayDashboardUrlsAsyncCalled?.SetResult(); return DisplayDashboardUrlsAsyncCallback?.Invoke(dashboardUrls) ?? Task.CompletedTask; @@ -173,6 +178,14 @@ public Task LogMessageAsync(LogLevel logLevel, string message, CancellationToken : Task.CompletedTask; } + public Task GetCapabilitiesAsync(CancellationToken cancellationToken) + { + GetCapabilitiesAsyncCalled?.SetResult(); + return GetCapabilitiesAsyncCallback != null + ? GetCapabilitiesAsyncCallback.Invoke(cancellationToken) + : Task.FromResult(Array.Empty()); + } + public Task HasCapabilityAsync(string capability, CancellationToken cancellationToken) { HasCapabilityAsyncCalled?.SetResult(); @@ -181,11 +194,17 @@ public Task HasCapabilityAsync(string capability, CancellationToken cancel : Task.FromResult(false); } - public Task LaunchAppHostAsync(string projectPath, string targetFramework, List arguments, List envVars, bool debug, CancellationToken cancellationToken) + public Task LaunchAppHostAsync(string projectPath, List arguments, List envVars, bool debug, CancellationToken cancellationToken) { LaunchAppHostAsyncCalled?.SetResult(); return LaunchAppHostAsyncCallback != null - ? LaunchAppHostAsyncCallback.Invoke(projectPath, targetFramework, arguments, envVars, debug) + ? LaunchAppHostAsyncCallback.Invoke(projectPath, arguments, envVars, debug) : Task.CompletedTask; } + + public Task NotifyAppHostStartupCompletedAsync(CancellationToken cancellationToken) + { + NotifyAppHostStartupCompletedAsyncCalled?.SetResult(); + return Task.CompletedTask; + } } diff --git a/tests/Aspire.Cli.Tests/TestServices/TestExtensionInteractionService.cs b/tests/Aspire.Cli.Tests/TestServices/TestExtensionInteractionService.cs index 18cc9b91a3c..922330d25a9 100644 --- a/tests/Aspire.Cli.Tests/TestServices/TestExtensionInteractionService.cs +++ b/tests/Aspire.Cli.Tests/TestServices/TestExtensionInteractionService.cs @@ -15,6 +15,8 @@ internal sealed class TestExtensionInteractionService(IServiceProvider servicePr public Action? DisplaySubtleMessageCallback { get; set; } public Action? DisplayConsoleWriteLineMessage { get; set; } public Action? LaunchAppHostCallback { get; set; } + public Action? NotifyAppHostStartupCompletedCallback { get; set; } + public Action? DisplayDashboardUrlsCallback { get; set; } public IExtensionBackchannel Backchannel { get; } = serviceProvider.GetRequiredService(); @@ -61,8 +63,14 @@ public void DisplaySuccess(string message) { } - public void DisplayDashboardUrls((string BaseUrlWithLoginToken, string? CodespacesUrlWithLoginToken) dashboardUrls) + public void DisplayDashboardUrls(DashboardUrlsState dashboardUrls) { + DisplayDashboardUrlsCallback?.Invoke(dashboardUrls); + } + + public void NotifyAppHostStartupCompleted() + { + NotifyAppHostStartupCompletedCallback?.Invoke(); } public void DisplayLines(IEnumerable<(string Stream, string Line)> lines) @@ -130,7 +138,7 @@ public void LogMessage(LogLevel logLevel, string message) LogMessageCallback?.Invoke(logLevel, message); } - public Task LaunchAppHostAsync(string projectFile, string workingDirectory, List arguments, List environment, bool debug) + public Task LaunchAppHostAsync(string projectFile, List arguments, List environment, bool debug) { LaunchAppHostCallback?.Invoke(); return Task.CompletedTask; diff --git a/tests/Aspire.Cli.Tests/TestServices/TestProjectLocator.cs b/tests/Aspire.Cli.Tests/TestServices/TestProjectLocator.cs index 014914d212d..ff631e9f185 100644 --- a/tests/Aspire.Cli.Tests/TestServices/TestProjectLocator.cs +++ b/tests/Aspire.Cli.Tests/TestServices/TestProjectLocator.cs @@ -9,6 +9,8 @@ internal sealed class TestProjectLocator : IProjectLocator { public Func>? UseOrFindAppHostProjectFileAsyncCallback { get; set; } + public Func>>? FindAppHostProjectFilesAsyncCallback { get; set; } + public async Task UseOrFindAppHostProjectFileAsync(FileInfo? projectFile, CancellationToken cancellationToken) { if (UseOrFindAppHostProjectFileAsyncCallback != null) @@ -25,5 +27,17 @@ internal sealed class TestProjectLocator : IProjectLocator var fakeProjectFilePath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString(), "AppHost.csproj"); return new FileInfo(fakeProjectFilePath); } + + public Task> FindAppHostProjectFilesAsync(string searchDirectory, CancellationToken cancellationToken) + { + if (FindAppHostProjectFilesAsyncCallback != null) + { + return FindAppHostProjectFilesAsyncCallback(searchDirectory, cancellationToken); + } + + // Fallback behavior if not overridden. + var fakeProjectFilePath = Path.Combine(searchDirectory, "AppHost.csproj"); + return Task.FromResult(new List { new FileInfo(fakeProjectFilePath) }); + } } diff --git a/tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs b/tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs index fae4b543377..807b18aedd3 100644 --- a/tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs +++ b/tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs @@ -97,6 +97,7 @@ public static IServiceCollection CreateServiceCollection(TemporaryWorkspace work services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(options.AppHostBackchannelFactory); return services; diff --git a/tests/Aspire.Hosting.Python.Tests/AddPythonAppTests.cs b/tests/Aspire.Hosting.Python.Tests/AddPythonAppTests.cs index 5adc160d84e..701f8522d11 100644 --- a/tests/Aspire.Hosting.Python.Tests/AddPythonAppTests.cs +++ b/tests/Aspire.Hosting.Python.Tests/AddPythonAppTests.cs @@ -158,7 +158,7 @@ public async Task AddPythonApp_SetsResourcePropertiesCorrectly() Assert.Equal(Path.Join(projectDirectory, ".venv", "bin", "python"), pythonProjectResource.Command); } - var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource); + var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource, TestServiceProvider.Instance); Assert.Equal(scriptName, commandArguments[0]); @@ -181,7 +181,7 @@ public async Task AddPythonAppWithInstrumentation_SwitchesExecutableToInstrument var executableResources = appModel.GetExecutableResources(); var pythonProjectResource = Assert.Single(executableResources); - var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource); + var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource, TestServiceProvider.Instance); if (OperatingSystem.IsWindows()) { @@ -233,7 +233,7 @@ public async Task AddPythonAppWithScriptArgs_IncludesTheArguments() Assert.Equal(Path.Join(projectDirectory, ".venv", "bin", "python"), pythonProjectResource.Command); } - var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource); + var commandArguments = await ArgumentEvaluator.GetArgumentListAsync(pythonProjectResource, TestServiceProvider.Instance); Assert.Equal(scriptName, commandArguments[0]); Assert.Equal("test", commandArguments[1]); diff --git a/tests/Aspire.Hosting.Tests/Dcp/DcpExecutorTests.cs b/tests/Aspire.Hosting.Tests/Dcp/DcpExecutorTests.cs index 9d7218c7e32..14fdb51e927 100644 --- a/tests/Aspire.Hosting.Tests/Dcp/DcpExecutorTests.cs +++ b/tests/Aspire.Hosting.Tests/Dcp/DcpExecutorTests.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +#pragma warning disable ASPIREEXTENSION001 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. using System.Globalization; using System.IO.Pipelines; using System.Text; @@ -1271,6 +1272,140 @@ public async Task ServiceProducerHasCorrectAddress(string bindingAddress, string Assert.Equal(serviceAddress, serviceProducer.Address); } + [Fact] + public async Task PlainExecutable_ExtensionMode_SupportedDebugMode_RunsInIde() + { + // Arrange + var builder = DistributedApplication.CreateBuilder(); + + // Create executable resources with SupportsDebuggingAnnotation + var debuggableExecutable = new TestExecutableResource("test-working-directory"); + builder.AddResource(debuggableExecutable).WithVSCodeDebugSupport("project-file", "test_executable", "test_executable"); + + var nonDebuggableExecutable = new TestOtherExecutableResource("test-working-directory-2"); + // No SupportsDebuggingAnnotation for this one + builder.AddResource(nonDebuggableExecutable); + + // Simulate debug session port and extension endpoint (extension mode) + var configDict = new Dictionary + { + [DcpExecutor.DebugSessionPortVar] = "12345", + [KnownConfigNames.ExtensionCapabilities] = "test_executable", + [KnownConfigNames.ExtensionEndpoint] = "http://localhost:1234", + [KnownConfigNames.ExtensionDebugRunMode] = "Debug" + }; + + var configuration = new ConfigurationBuilder().AddInMemoryCollection(configDict).Build(); + + var kubernetesService = new TestKubernetesService(); + using var app = builder.Build(); + var distributedAppModel = app.Services.GetRequiredService(); + var appExecutor = CreateAppExecutor(distributedAppModel, kubernetesService: kubernetesService, configuration: configuration); + + // Act + await appExecutor.RunApplicationAsync(); + + await Task.Delay(2000); + // Assert + var dcpExes = kubernetesService.CreatedResources.OfType().ToList(); + Assert.Equal(2, dcpExes.Count); + + var debuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); + Assert.Equal(ExecutionType.IDE, debuggableExe.Spec.ExecutionType); + Assert.True(debuggableExe.TryGetAnnotationAsObjectList(Executable.LaunchConfigurationsAnnotation, out var launchConfigs1)); + var config1 = Assert.Single(launchConfigs1); + Assert.Equal(ProjectLaunchMode.Debug, config1.Mode); + Assert.Equal("test_executable", config1.Type); + Assert.Equal("project-file", config1.ProjectPath); + + var nonDebuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestOtherExecutable"); + Assert.Equal(ExecutionType.Process, nonDebuggableExe.Spec.ExecutionType); + Assert.False(nonDebuggableExe.TryGetAnnotationAsObjectList(Executable.LaunchConfigurationsAnnotation, out _)); + } + + [Fact] + public async Task PlainExecutable_ExtensionMode_UnsupportedDebugMode_RunsInProcess() + { + // Arrange + var builder = DistributedApplication.CreateBuilder(); + + // Create executable resources with SupportsDebuggingAnnotation + var executable = new TestExecutableResource("test-working-directory"); + builder.AddResource(executable).WithVSCodeDebugSupport("project-file", "test_executable", "test_executable"); + + // Simulate debug session port and extension endpoint (extension mode) + var configDict = new Dictionary + { + [DcpExecutor.DebugSessionPortVar] = "12345", + [KnownConfigNames.ExtensionCapabilities] = "other_executable", + [KnownConfigNames.ExtensionEndpoint] = "http://localhost:1234", + [KnownConfigNames.ExtensionDebugRunMode] = "Debug" + }; + + var configuration = new ConfigurationBuilder().AddInMemoryCollection(configDict).Build(); + + var kubernetesService = new TestKubernetesService(); + using var app = builder.Build(); + var distributedAppModel = app.Services.GetRequiredService(); + var appExecutor = CreateAppExecutor(distributedAppModel, kubernetesService: kubernetesService, configuration: configuration); + + // Act + await appExecutor.RunApplicationAsync(); + + // Assert + var dcpExes = kubernetesService.CreatedResources.OfType().ToList(); + Assert.Single(dcpExes); + + var exe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); + Assert.Equal(ExecutionType.Process, exe.Spec.ExecutionType); + } + + [Fact] + public async Task PlainExecutable_NoExtensionMode_RunInProcess() + { + // Arrange + var builder = DistributedApplication.CreateBuilder(); + + // Create executable resources with SupportsDebuggingAnnotation + var debuggableExecutable = new TestExecutableResource("test-working-directory"); + builder.AddResource(debuggableExecutable).WithVSCodeDebugSupport("test", "test_executable", "test_executable"); + + var nonDebuggableExecutable = new TestOtherExecutableResource("test-working-directory-2"); + builder.AddResource(nonDebuggableExecutable); + + // Simulate no extension endpoint (no extension mode) - this means no debug session port + var configDict = new Dictionary + { + [KnownConfigNames.ExtensionEndpoint] = null + // No DEBUG_SESSION_PORT set + }; + var configuration = new ConfigurationBuilder().AddInMemoryCollection(configDict).Build(); + + var kubernetesService = new TestKubernetesService(); + using var app = builder.Build(); + var distributedAppModel = app.Services.GetRequiredService(); + var appExecutor = CreateAppExecutor(distributedAppModel, kubernetesService: kubernetesService, configuration: configuration); + + // Act + await appExecutor.RunApplicationAsync(); + + // Assert + var dcpExes = kubernetesService.CreatedResources.OfType().ToList(); + Assert.Equal(2, dcpExes.Count); + + // Both should run as Process since there's no debug session port + var debuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); + Assert.Equal(ExecutionType.Process, debuggableExe.Spec.ExecutionType); + Assert.False(debuggableExe.TryGetAnnotationAsObjectList(Executable.LaunchConfigurationsAnnotation, out _)); + + var nonDebuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestOtherExecutable"); + Assert.Equal(ExecutionType.Process, nonDebuggableExe.Spec.ExecutionType); + Assert.False(nonDebuggableExe.TryGetAnnotationAsObjectList(Executable.LaunchConfigurationsAnnotation, out _)); + } + + private sealed class TestExecutableResource(string directory) : ExecutableResource("TestExecutable", "test", directory); + private sealed class TestOtherExecutableResource(string directory) : ExecutableResource("TestOtherExecutable", "test-other", directory); + private static void HasKnownCommandAnnotations(IResource resource) { var commandAnnotations = resource.Annotations.OfType().ToList(); @@ -1317,7 +1452,7 @@ private static DcpExecutor CreateAppExecutor( Options.Create(dcpOptions), new DistributedApplicationExecutionContext(new DistributedApplicationExecutionContextOptions(DistributedApplicationOperation.Run) { - ServiceProvider = TestServiceProvider.Instance + ServiceProvider = new TestServiceProvider(configuration) }), resourceLoggerService, new TestDcpDependencyCheckService(), diff --git a/tests/Aspire.Hosting.Tests/Utils/ArgumentEvaluator.cs b/tests/Aspire.Hosting.Tests/Utils/ArgumentEvaluator.cs index c787612ab34..c61c3fa15a1 100644 --- a/tests/Aspire.Hosting.Tests/Utils/ArgumentEvaluator.cs +++ b/tests/Aspire.Hosting.Tests/Utils/ArgumentEvaluator.cs @@ -8,12 +8,15 @@ namespace Aspire.Hosting.Tests.Utils; public sealed class ArgumentEvaluator { - public static async ValueTask> GetArgumentListAsync(IResource resource) + public static async ValueTask> GetArgumentListAsync(IResource resource, IServiceProvider? serviceProvider = null) { var args = new List(); await resource.ProcessArgumentValuesAsync( - new(DistributedApplicationOperation.Run), + new(new DistributedApplicationExecutionContextOptions(DistributedApplicationOperation.Run) + { + ServiceProvider = serviceProvider + }), (_, processed, ex, _) => { if (ex is not null) diff --git a/tests/Aspire.Hosting.Tests/Utils/TestServiceProvider.cs b/tests/Aspire.Hosting.Tests/Utils/TestServiceProvider.cs index b4619e78f09..4cae1972e76 100644 --- a/tests/Aspire.Hosting.Tests/Utils/TestServiceProvider.cs +++ b/tests/Aspire.Hosting.Tests/Utils/TestServiceProvider.cs @@ -4,6 +4,7 @@ using System.ComponentModel.Design; using Aspire.Hosting.Dcp; using Aspire.Hosting.Tests.Dcp; +using Microsoft.Extensions.Configuration; namespace Aspire.Hosting.Tests.Utils; @@ -11,9 +12,10 @@ public sealed class TestServiceProvider : IServiceProvider { private readonly ServiceContainer _serviceContainer = new ServiceContainer(); - private TestServiceProvider() + public TestServiceProvider(IConfiguration? configuration = null) { _serviceContainer.AddService(typeof(IDcpDependencyCheckService), new TestDcpDependencyCheckService()); + _serviceContainer.AddService(typeof(IConfiguration), configuration ?? new ConfigurationManager()); } public object? GetService(Type serviceType)