diff --git a/.config/1espt/PipelineAutobaseliningConfig.yml b/.config/1espt/PipelineAutobaseliningConfig.yml index eec0d93737..3b670042d9 100644 --- a/.config/1espt/PipelineAutobaseliningConfig.yml +++ b/.config/1espt/PipelineAutobaseliningConfig.yml @@ -50,3 +50,21 @@ pipelines: lastModifiedDate: 2024-03-27 armory: lastModifiedDate: 2024-03-27 + 1424: + retail: + source: + credscan: + lastModifiedDate: 2025-02-05 + eslint: + lastModifiedDate: 2025-02-05 + psscriptanalyzer: + lastModifiedDate: 2025-02-05 + armory: + lastModifiedDate: 2025-02-05 + binary: + credscan: + lastModifiedDate: 2025-02-05 + binskim: + lastModifiedDate: 2025-02-05 + spotbugs: + lastModifiedDate: 2025-02-05 diff --git a/.config/guardian/.gdnbaselines b/.config/guardian/.gdnbaselines index 631aaa846f..9d323d1019 100644 --- a/.config/guardian/.gdnbaselines +++ b/.config/guardian/.gdnbaselines @@ -14,10 +14,16 @@ "26445e3e484940d2d58c2ffc32ab3895fca4b1589d66e2f2dee2fa01f2c479fb": { "signature": "26445e3e484940d2d58c2ffc32ab3895fca4b1589d66e2f2dee2fa01f2c479fb", "alternativeSignatures": [], + "target": "test/omnisharp/omnisharpUnitTests/testAssets/private.pem", + "line": 1, "memberOf": [ "default" ], - "createdDate": "2024-09-09 19:35:36Z" + "tool": "credscan", + "ruleId": "CSCAN-GENERAL0020", + "createdDate": "2025-02-05 00:31:10Z", + "expirationDate": "2025-07-25 00:50:30Z", + "justification": "This error is baselined with an expiration date of 180 days from 2025-02-05 00:50:30Z" } } -} +} \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 1dce8c4e8f..8a1dc1a59e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -52,8 +52,8 @@ module.exports = { "out/", "dist/", "wallaby.js", - "webpack.config.js", ".eslintrc.js", + "esbuild.js", "**/*.d.ts" ], }; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 8383e91e9d..2c6177ea2d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,8 +18,10 @@ If the `CSharp: Report an issue` command doesn't appear, make sure that you have VS Code version: C# Extension version: -## OmniSharp log +## C# logs +C# output window contents: +See [this page](https://github.com/dotnet/vscode-csharp/blob/main/SUPPORT.md#collecting-general-logs) for collecting more detailed logs ## Steps to reproduce diff --git a/.github/policies/resourceManagement.yml b/.github/policies/resourceManagement.yml index 4009668659..cca9a91ea9 100644 --- a/.github/policies/resourceManagement.yml +++ b/.github/policies/resourceManagement.yml @@ -10,6 +10,48 @@ configuration: eventResponderTasks: + - description: Auto-approve/merge automated merge PRs + triggerOnOwnActions: false + if: + - payloadType: Pull_Request + - isPullRequest + - isActivitySender: + user: github-actions[bot] + issueAuthor: False + - or: + - titleContains: + pattern: "[automated] Merge branch" + isRegex: False + - titleContains: + pattern: "[automated] Update main version" + isRegex: False + - isAction: + action: Opened + then: + - approvePullRequest: + comment: Auto-approve + - enableAutoMerge: + mergeMethod: merge + + - description: Auto-approve/merge automated localization PRs + triggerOnOwnActions: false + if: + - payloadType: Pull_Request + - isPullRequest + - isActivitySender: + user: dotnet-bot + issueAuthor: False + - titleContains: + pattern: "Localization result based on" + isRegex: False + - isAction: + action: Opened + then: + - approvePullRequest: + comment: Auto-approve + - enableAutoMerge: + mergeMethod: merge + - description: Add "untriaged" label to issues when opened triggerOnOwnActions: false if: diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 0000000000..ee4eceb1f7 --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,40 @@ +name: Backport PR to branch +on: + issue_comment: + types: [created] + schedule: + # once a day at 13:00 UTC to cleanup old runs + - cron: '0 13 * * *' + +permissions: + contents: write + issues: write + pull-requests: write + actions: write + +jobs: + backport: + if: ${{ contains(github.event.comment.body, '/backport to') || github.event_name == 'schedule' }} + uses: dotnet/arcade/.github/workflows/backport-base.yml@main + with: + pr_description_template: | + Backport of #%source_pr_number% to %target_branch% + + /cc %cc_users% + + ## Customer Impact + + ## Regression + + - [ ] Yes + - [ ] No + + [If yes, specify when the regression was introduced. Provide the PR or commit if known.] + + ## Testing + + [How was the fix verified? How was the issue missed previously? What tests were added?] + + ## Risk + + [High/Medium/Low. Justify the indication by mentioning how risks were measured and addressed.] \ No newline at end of file diff --git a/.github/workflows/branch-snap.yml b/.github/workflows/branch-snap.yml index a14845a405..0ff08cbe13 100644 --- a/.github/workflows/branch-snap.yml +++ b/.github/workflows/branch-snap.yml @@ -31,5 +31,5 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: Update main version - title: 'Update main version' + title: '[automated] Update main version' branch: merge/update-main-version diff --git a/.gitignore b/.gitignore index a0b5317fc2..ebd2fc124e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ out .razoromnisharp/ .razortelemetry/ .razorDevKit/ +.razorExtension/ .vscode-test/ msbuild/signing/signJs/*.log msbuild/signing/signVsix/*.log diff --git a/.vscode/launch.json b/.vscode/launch.json index bc19cb0ddd..0ff34475ef 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,7 +9,7 @@ "args": ["--extensionDevelopmentPath=${workspaceRoot}"], "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js"], - "preLaunchTask": "buildDev" + "preLaunchTask": "packageDev" }, { "name": "[Roslyn] Run Current File Integration Tests", @@ -35,7 +35,7 @@ "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"], "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"], - "preLaunchTask": "buildDev", + "preLaunchTask": "packageDev", "internalConsoleOptions": "openOnSessionStart" }, { @@ -62,7 +62,7 @@ "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"], "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"], - "preLaunchTask": "buildDev", + "preLaunchTask": "packageDev", "internalConsoleOptions": "openOnSessionStart" }, { @@ -89,7 +89,7 @@ "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"], "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"], - "preLaunchTask": "buildTest", + "preLaunchTask": "packageDev", "internalConsoleOptions": "openOnSessionStart" }, { @@ -115,7 +115,7 @@ "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"], "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"], - "preLaunchTask": "buildTest" + "preLaunchTask": "packageDev" }, { "name": "[O# LSP] Run Current File Integration Tests", @@ -140,7 +140,7 @@ "sourceMaps": true, "outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"], "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"], - "preLaunchTask": "buildTest" + "preLaunchTask": "packageDev" }, { "type": "node", @@ -195,7 +195,7 @@ "name": "Razor integration tests", "preLaunchTask": "build", "program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js", - "args": ["test:razorintegration"], + "args": ["test:integration:razor"], "cwd": "${workspaceFolder}" } ], diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 4f5d773473..6934c47c45 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -28,10 +28,20 @@ } }, { - "label": "buildTest", + "label": "package", "command": "npm", "type": "shell", - "args": ["run", "compileTest"], + "args": ["run", "package"], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "packageDev", + "command": "npm", + "type": "shell", + "args": ["run", "packageDev"], "group": { "kind": "build", "isDefault": true diff --git a/.vscodeignore b/.vscodeignore index 987329b208..314993133d 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -7,8 +7,10 @@ !.razor/** !.razorDevKit/** !.razoromnisharp/** +!.razorExtension/** .rpt2_cache/** .config/** +.devcontainer/** .github/** .vscode/** .vscode-test/** @@ -51,8 +53,7 @@ package.json tsconfig.json version.json wallaby.js -webpack.config.js - +esbuild.js !src/razor/language-configuration.json !src/razor/syntaxes/* diff --git a/CHANGELOG.md b/CHANGELOG.md index d6590c7e72..6d430c5a01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,151 @@ - Diagnostics related feature requests and improvements [#5951](https://github.com/dotnet/vscode-csharp/issues/5951) - Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876) -# 2.63.x +# 2.72.x +* Revert xamlTools to 17.14.35913.250 (PR: [#8121](https://github.com/dotnet/vscode-csharp/pull/8121)) +* Update Roslyn to 4.14.0-3.25178.1 (PR: [#8103](https://github.com/dotnet/vscode-csharp/pull/8103)) + * Merge `null conditional assignment` to main (PR: [#77867](https://github.com/dotnet/roslyn/pull/77867)) + * Merge `features/extensions` into `main` (PR: [#77851](https://github.com/dotnet/roslyn/pull/77851)) + * Set the default namespace for the project and proper folders for documents (PR: [#77787](https://github.com/dotnet/roslyn/pull/77787)) + * Fix move to namespace offering for primary constructor (PR: [#77751](https://github.com/dotnet/roslyn/pull/77751)) + * Rework analyzer assembly loading (PR: [#77004](https://github.com/dotnet/roslyn/pull/77004)) + * Improve raw string completion (PR: [#77742](https://github.com/dotnet/roslyn/pull/77742)) + * Avoid adding duplicate suppressors to the host analyzer arrays (PR: [#77062](https://github.com/dotnet/roslyn/pull/77062)) + * Cleanup and make semantic token processing and testing code more consistent (PR: [#77684](https://github.com/dotnet/roslyn/pull/77684)) + * Fix generation of attribute with array constant (PR: [#77661](https://github.com/dotnet/roslyn/pull/77661)) +* Bump Razor to (PR: [#8096](https://github.com/dotnet/vscode-csharp/pull/8096)) + * Some code actions ordering and cleanup (#11659) (PR: [#11659](https://github.com/dotnet/razor/pull/11659)) + * Emit pragmas for empty @ expressions in MVC (#11653) (PR: [#11653](https://github.com/dotnet/razor/pull/11653)) + * Couple of small code actions tweaks (#11630) (PR: [#11630](https://github.com/dotnet/razor/pull/11630)) + * Fix text area formatting in the new formatting engine (#11624) (PR: [#11624](https://github.com/dotnet/razor/pull/11624)) + +# 2.71.x +* Bump xamlTools to 17.14.35920.284 (PR: [#8083](https://github.com/dotnet/vscode-csharp/pull/8083)) +* Localization (PR: [#8084](https://github.com/dotnet/vscode-csharp/pull/8084)) +* Update wording on Razor Report Issue(PR: [#8081](https://github.com/dotnet/vscode-csharp/pull/8081)) +* Use the new SDK install experience when available.(PR: [#8080](https://github.com/dotnet/vscode-csharp/pull/8080)) +* Only enable Generate Assets command when the extension is activated.(PR: [#8079](https://github.com/dotnet/vscode-csharp/pull/8079)) +* Expose `sendRequestWithProgress` as experimental API(PR: [#8074](https://github.com/dotnet/vscode-csharp/pull/8074)) + +# 2.70.x +* Bump razor to 9.0.0-preview.25161.2 (PR: [#8058](https://github.com/dotnet/vscode-csharp/pull/8058)) + * Move VS Code To Pull Diagnostics (PR: [#11602](https://github.com/dotnet/razor/pull/11602)) + * Upgrade to net9 (PR: [#11535](https://github.com/dotnet/razor/pull/11535)) + * Cleanup CompletionTriggerAndCommitCharacters (PR: [#11600](https://github.com/dotnet/razor/pull/11600)) + * Add constraints to CaptureParameters method (PR: [#11530](https://github.com/dotnet/razor/pull/11530)) + * [FUSE] Layout mapping (PR: [#11567](https://github.com/dotnet/razor/pull/11567)) +* Bump xamlTools to 17.14.35913.250 (PR: [#8062](https://github.com/dotnet/vscode-csharp/pull/8062)) +* Bump Roslyn to 4.14.0-3.25164.3 (PR: [#8070](https://github.com/dotnet/vscode-csharp/pull/8070)) + * Filter down the list of files we need to examing when looking for a `:base(...)` call in find refs (PR: [#77610](https://github.com/dotnet/roslyn/pull/77610)) + * Fix run code analysis on solution not reporting results (PR: [#77501](https://github.com/dotnet/roslyn/pull/77501)) + * Fix NFW due to invoking Workspace.RaiseEventForHandlers in the CA process (PR: [#77546](https://github.com/dotnet/roslyn/pull/77546)) + +# 2.69.x +* Bump razor to 9.0.0-preview.25156.2 (PR: [#8047](https://github.com/dotnet/vscode-csharp/pull/8047)) + * Enable FUSE by default + * Improve solution load performance (PR: [#11591](https://github.com/dotnet/razor/pull/11591)) + * Make logging fall into the pit of success (PR: [#11581](https://github.com/dotnet/razor/pull/11581)) +* Bump xamlTools to 17.14.35904.287 (PR: [#8042](https://github.com/dotnet/vscode-csharp/pull/8042)) +* Update Roslyn to 4.14.0-3.25156.1 (PR: [#8049](https://github.com/dotnet/vscode-csharp/pull/8049)) + * Don't use an implicit-object if the lang version doesn't support it (PR: [#77437](https://github.com/dotnet/roslyn/pull/77437)) + * Fix issue where we were changing semantics when converting to a collection expr. (PR: [#77417](https://github.com/dotnet/roslyn/pull/77417)) + * Detect and emit more idiomatic null check patterns (PR: [#77412](https://github.com/dotnet/roslyn/pull/77412)) + * Partial events and constructors: IDE (PR: [#77337](https://github.com/dotnet/roslyn/pull/77337)) + * Simplify keyword recommenders. (PR: [#77396](https://github.com/dotnet/roslyn/pull/77396)) + * Remove async/await (PR: [#77397](https://github.com/dotnet/roslyn/pull/77397)) + * Preserve encoding during DocumentState updates (PR: [#77354](https://github.com/dotnet/roslyn/pull/77354)) + * Don't realize the SourceText in SyntaxTree.OverlapsHiddenPosition if not needed (PR: [#77334](https://github.com/dotnet/roslyn/pull/77334)) + * Handle ModuleCancellationTokenExpression in AbstractFlow visitor (PR: [#77310](https://github.com/dotnet/roslyn/pull/77310)) + * PERF: Reduce the number of nodes walked during import completion commit. (PR: [#77305](https://github.com/dotnet/roslyn/pull/77305)) + * Allow expression body refactorings on non empty selections (PR: [#76969](https://github.com/dotnet/roslyn/pull/76969)) + * Partial events and constructors: public API (PR: [#77202](https://github.com/dotnet/roslyn/pull/77202)) + * Refresh diagnostics when fading options change (PR: [#77322](https://github.com/dotnet/roslyn/pull/77322)) + * Reduce allocations during completion in FilterToVisibleAndBrowsableSymbols (PR: [#77315](https://github.com/dotnet/roslyn/pull/77315)) + * Change override completion to select text after updating the buffer. (PR: [#76983](https://github.com/dotnet/roslyn/pull/76983)) + * Fix false positive 'Unnecessary assignment of a value' (PR: [#77297](https://github.com/dotnet/roslyn/pull/77297)) + +# 2.68.46 +* Update Razor to 9.0.0-preview.25125.9 (PR: [#8027](https://github.com/dotnet/vscode-csharp/pull/8027)) + * Don't send invalid ranges for diagnostics if they do not map (PR: [#11555](https://github.com/dotnet/razor/pull/11555)) + * Fix file path service, and integration tests (PR: [#11556](https://github.com/dotnet/razor/pull/11556)) + * Add ParserOptions and CodeGenerationOptions properties to RazorCodeDocument and rationalize options configuration (PR: [#11526](https://github.com/dotnet/razor/pull/11526)) + * Fix parsing of quotes in attribute names (PR: [#11543](https://github.com/dotnet/razor/pull/11543)) +* Bump xamlTools to 17.14.35828.13 (PR: [#8032](https://github.com/dotnet/vscode-csharp/pull/8032)) +* Ignore preview versions when locating the .NET runtime (PR: [#8043](https://github.com/dotnet/vscode-csharp/pull/8043)) + +# 2.67.20 +* Update Razor to 9.0.0-preview.25125.9 (PR: [#8027](https://github.com/dotnet/vscode-csharp/pull/8027)) + * Don't send invalid ranges for diagnostics if they do not map (PR: [#11555](https://github.com/dotnet/razor/pull/11555)) + * Fix file path service, and integration tests (PR: [#11556](https://github.com/dotnet/razor/pull/11556)) + * Add ParserOptions and CodeGenerationOptions properties to RazorCodeDocument and rationalize options configuration (PR: [#11526](https://github.com/dotnet/razor/pull/11526)) + * Fix parsing of quotes in attribute names (PR: [#11543](https://github.com/dotnet/razor/pull/11543)) +* Bump xamlTools to 17.14.35821.62 (PR: [#8001](https://github.com/dotnet/vscode-csharp/pull/8001)) +* Update Roslyn to 4.14.0-2.25120.5 (PR: [#7984](https://github.com/dotnet/vscode-csharp/pull/7984)) + * Switch TextDocumentState.GetTextVersionAsync to ValueTask to reduce allocations. (PR: [#77213](https://github.com/dotnet/roslyn/pull/77213)) + * Add an option to ignore aliases when moving using directives outside a namespace (PR: [#77291](https://github.com/dotnet/roslyn/pull/77291)) + * Fill some gaps in the LSP (PR: [#77289](https://github.com/dotnet/roslyn/pull/77289)) + * Ensure diagnostics refresh when source generators run in balanced mode (PR: [#77271](https://github.com/dotnet/roslyn/pull/77271)) + * Fix override completion when attribute below (PR: [#77242](https://github.com/dotnet/roslyn/pull/77242)) + * Fix crash in 'introduce variable' when converting an object creation expression to an implicit object creation expression (PR: [#77279](https://github.com/dotnet/roslyn/pull/77279)) + * Fix Quick Info nullability display for backing fields (PR: [#77240](https://github.com/dotnet/roslyn/pull/77240)) + * Properly pass progress object along in fix all provider (PR: [#77243](https://github.com/dotnet/roslyn/pull/77243)) + * Remove need to use semantics in the 'move type' code refactoring provider. (PR: [#77244](https://github.com/dotnet/roslyn/pull/77244)) + * Do not offer primary constructor parameters when offering to generate Equals/GetHashCode (PR: [#77235](https://github.com/dotnet/roslyn/pull/77235)) + * Rename feature to 'Add or remove accessibility modifiers' (PR: [#77234](https://github.com/dotnet/roslyn/pull/77234)) + * Have distinct messages for adding vs. removing accessibility modifiers (PR: [#77188](https://github.com/dotnet/roslyn/pull/77188)) + * Update 'use interpolated string' refactoring to support fix all (PR: [#77209](https://github.com/dotnet/roslyn/pull/77209)) + * Reduce allocations in SymbolCompletionItem.GetSupportedPlatforms (PR: [#77168](https://github.com/dotnet/roslyn/pull/77168)) + * Classify string fields with embedded languages if we can see their values passed to a StringSyntax api (PR: [#77199](https://github.com/dotnet/roslyn/pull/77199)) + * Add analyzer redirecting API (PR: [#74820](https://github.com/dotnet/roslyn/pull/74820)) + * Fix race during shutdown of the BuildHost server (PR: [#77151](https://github.com/dotnet/roslyn/pull/77151)) + * Fix workspace command execution (PR: [#77152](https://github.com/dotnet/roslyn/pull/77152)) + * Add Microsoft.CodeAnalysis.Contracts source package (PR: [#76997](https://github.com/dotnet/roslyn/pull/76997)) + * Detect data section string literal hash collisions (PR: [#77061](https://github.com/dotnet/roslyn/pull/77061)) + * Return LSP diagnostics with their reported severity. (PR: [#77145](https://github.com/dotnet/roslyn/pull/77145)) + * Fix syntax generation of explict checked operator from symbol (PR: [#77102](https://github.com/dotnet/roslyn/pull/77102)) + * Add new workspace event that gives handlers the opportunity to be processed immediately (PR: [#76932](https://github.com/dotnet/roslyn/pull/76932)) + * Optimize DiagnosticService on NetCore (PR: [#77126](https://github.com/dotnet/roslyn/pull/77126)) + * Simplify caching api between CodeAnalysisService and DiagnosticAnalysisService (PR: [#77094](https://github.com/dotnet/roslyn/pull/77094)) +* Manage information diagnostic severity on the client-side (PR: [#7984](https://github.com/dotnet/vscode-csharp/pull/7984)) +* Update Razor to 9.0.0-preview.25121.2 (PR: [#8010](https://github.com/dotnet/vscode-csharp/pull/8010)) + * Fix formatting of multi-line expressions in Html attributes (PR: [#11528](https://github.com/dotnet/razor/pull/11528)) + * Stop attribute name parsing at transition (PR: [#11520](https://github.com/dotnet/razor/pull/11520)) + * Use different completion trigger character set for VSCode (PR: [#11446](https://github.com/dotnet/razor/pull/11446)) + * Update Telemetry package (PR: [#11468](https://github.com/dotnet/razor/pull/11468)) + * Don't hold onto Roslyn projects longer than necessary (PR: [#11458](https://github.com/dotnet/razor/pull/11458)) + * Fix formatting of escaped at signs (PR: [#11462](https://github.com/dotnet/razor/pull/11462)) + * Code action to offer to wrap Html attributes (PR: [#11422](https://github.com/dotnet/razor/pull/11422)) + * Make sure we go through GetAbsolutePosition to handle LSP edge cases (PR: [#11441](https://github.com/dotnet/razor/pull/11441)) + * Make log levels match LogLevel.cs (PR: [#11436](https://github.com/dotnet/razor/pull/11436)) + * Fix on type formatting line delta calculations (PR: [#11435](https://github.com/dotnet/razor/pull/11435)) + * Clean up and rationalize imports in the compiler (PR: [#11409](https://github.com/dotnet/razor/pull/11409)) + * Fix typo in setting description (PR: [#11423](https://github.com/dotnet/razor/pull/11423)) +* Bump xamlTools to 17.14.35813.246 (PR: [#7993](https://github.com/dotnet/vscode-csharp/pull/7993)) +* Update the debugger to 2.66.0 (PR: [#7988](https://github.com/dotnet/vscode-csharp/pull/7988)) +* Fix the regular expression to read RID value. (PR: [#7994](https://github.com/dotnet/vscode-csharp/pull/7994)) + +# 2.65.29 +* Update Roslyn LSP to run on .NET 9 (PR: [#7946](https://github.com/dotnet/vscode-csharp/pull/7946)) +* Update Roslyn to 4.14.0-2.25106.12 (PR: [#7969](https://github.com/dotnet/vscode-csharp/pull/7969)) + * Maintain whitespace when converting to switch expression (PR: [#77083](https://github.com/dotnet/roslyn/pull/77083)) + * Fix extra whitespace insertion for completion text edits (PR: [#77071](https://github.com/dotnet/roslyn/pull/77071)) + * Realize less of the syntax tree during AbstractSemanticModelReuseLanguageService.GetPreviousBodyNode (PR: [#77032](https://github.com/dotnet/roslyn/pull/77032)) + * Fix issue loading project with relative path globs (PR: [#76961](https://github.com/dotnet/roslyn/pull/76961)) + * Fix: Ensure DOTNET_ROOT is reset user defined value during test execution (PR: [#76819](https://github.com/dotnet/roslyn/pull/76819)) + * Update Roslyn LSP server to target .NET 9 (PR: [#76938](https://github.com/dotnet/roslyn/pull/76938)) + * Update ICSharpCode.Decompiler to 8.2.0.7535 (PR: [#71837](https://github.com/dotnet/roslyn/pull/71837)) + * Reduce CPU costs under AnalyzerExecutor.ExecuteSyntaxNodeActions (PR: [#76894](https://github.com/dotnet/roslyn/pull/76894)) +* Add code snippets for C# expression-bodied properties (PR: [#5683](https://github.com/dotnet/vscode-csharp/pull/5683)) +* Sync whitespace options even when detectIndentation is on (PR: [#7965](https://github.com/dotnet/vscode-csharp/pull/7965)) +* Bump Razor (PR: [#7940](https://github.com/dotnet/vscode-csharp/pull/7940)) +* Bump xamltools to 17.14.35807.11(PR: [#7976]( https://github.com/dotnet/vscode-csharp/pull/7976)) + +# 2.64.7 +* Bump xamlTools to 17.14.35730.156 (PR: [#7932](https://github.com/dotnet/vscode-csharp/pull/7941)) + +# 2.63.32 * Bump xamlTools to 17.14.35723.260 (PR: [#7932](https://github.com/dotnet/vscode-csharp/pull/7941)) + * CSS Hot Reload for MAUI Blazor Hybrid is now in preview. It's enabled when C# Hot Reload is enabled. * Update Roslyn to 4.14.0-1.25074.7 (PR: [#7942](https://github.com/dotnet/vscode-csharp/pull/7942)) * Enable extract refactorings in LSP (PR: [#76718](https://github.com/dotnet/roslyn/pull/76718)) * Speed up 'fix all' for 'use auto prop' by running in parallel (PR: [#76905](https://github.com/dotnet/roslyn/pull/76905)) @@ -17,19 +160,19 @@ * Update formatOnType handler to support formatting on NewLine (PR: [#76876](https://github.com/dotnet/roslyn/pull/76876)) * Fix new document formatting (PR: [#76736](https://github.com/dotnet/roslyn/pull/76736)) * Initial work to collapse comments at the end of a block (PR: [#76865](https://github.com/dotnet/roslyn/pull/76865)) - * Remove explicit recursion in the json detection analyzer (#76764) (PR: [#76764](https://github.com/dotnet/roslyn/pull/76764)) - * Consider silly cyclic assignment in scoped variance (#76261) (PR: [#76261](https://github.com/dotnet/roslyn/pull/76261)) - * Fix ordering of 'params' vs 'scoped' in metadata as source (#76745) (PR: [#76745](https://github.com/dotnet/roslyn/pull/76745)) - * Change partial keyword recommender to better handle partial member syntax (#76744) (PR: [#76744](https://github.com/dotnet/roslyn/pull/76744)) - * Ensure unconverted elements are converted when on LHS (#76675) (PR: [#76675](https://github.com/dotnet/roslyn/pull/76675)) - * Proffer CssVisualDiagnosticsService brokered service from C# DevKit to C# Extension (#76737) (PR: [#76737](https://github.com/dotnet/roslyn/pull/76737)) - * Disable extract class/interface to a new file when unsupported by the workspace. (#76717) (PR: [#76717](https://github.com/dotnet/roslyn/pull/76717)) - * Fix issue parsing regex category (#76735) (PR: [#76735](https://github.com/dotnet/roslyn/pull/76735)) - * Properly simplify pattern when converting to pattern matching (#76734) (PR: [#76734](https://github.com/dotnet/roslyn/pull/76734)) - * Do not lift type parameters in extract method declared within the selected region (#76724) (PR: [#76724](https://github.com/dotnet/roslyn/pull/76724)) - * Always use .OriginalDefinition uniformly in the unread-members analyzer (#76698) (PR: [#76698](https://github.com/dotnet/roslyn/pull/76698)) - * Adding checks for mutable structs. (#76711) (PR: [#76711](https://github.com/dotnet/roslyn/pull/76711)) - * Add option for choosing stdio as the LSP communication channel (#76437) (PR: [#76437](https://github.com/dotnet/roslyn/pull/76437)) + * Remove explicit recursion in the json detection analyzer (PR: [#76764](https://github.com/dotnet/roslyn/pull/76764)) + * Consider silly cyclic assignment in scoped variance (PR: [#76261](https://github.com/dotnet/roslyn/pull/76261)) + * Fix ordering of 'params' vs 'scoped' in metadata as source (PR: [#76745](https://github.com/dotnet/roslyn/pull/76745)) + * Change partial keyword recommender to better handle partial member syntax (PR: [#76744](https://github.com/dotnet/roslyn/pull/76744)) + * Ensure unconverted elements are converted when on LHS (PR: [#76675](https://github.com/dotnet/roslyn/pull/76675)) + * Proffer CssVisualDiagnosticsService brokered service from C# DevKit to C# Extension (PR: [#76737](https://github.com/dotnet/roslyn/pull/76737)) + * Disable extract class/interface to a new file when unsupported by the workspace. (PR: [#76717](https://github.com/dotnet/roslyn/pull/76717)) + * Fix issue parsing regex category (PR: [#76735](https://github.com/dotnet/roslyn/pull/76735)) + * Properly simplify pattern when converting to pattern matching (PR: [#76734](https://github.com/dotnet/roslyn/pull/76734)) + * Do not lift type parameters in extract method declared within the selected region (PR: [#76724](https://github.com/dotnet/roslyn/pull/76724)) + * Always use .OriginalDefinition uniformly in the unread-members analyzer (PR: [#76698](https://github.com/dotnet/roslyn/pull/76698)) + * Adding checks for mutable structs. (PR: [#76711](https://github.com/dotnet/roslyn/pull/76711)) + * Add option for choosing stdio as the LSP communication channel (PR: [#76437](https://github.com/dotnet/roslyn/pull/76437)) * Support organizing imports as part of LSP document formatting (PR: [#76806](https://github.com/dotnet/roslyn/pull/76806)) * Improve collapsing of members followed by pp directives (PR: [#76837](https://github.com/dotnet/roslyn/pull/76837)) * Load razor assembly directly: (PR: [#76808](https://github.com/dotnet/roslyn/pull/76808)) @@ -56,14 +199,21 @@ * Update 'use nameof instead of typeof' to support generic types (PR: [#76780](https://github.com/dotnet/roslyn/pull/76780)) * Add feature to convert from an explicitly typed lambda to an implicitly typed one. (PR: [#76770](https://github.com/dotnet/roslyn/pull/76770)) * Support modifiers with simple lambda parameters. (PR: [#75400](https://github.com/dotnet/roslyn/pull/75400)) -* Update Razor to 9.0.0-preview.25064.4 (PR: [#7927](https://github.com/dotnet/vscode-csharp/pull/7927)) - * Wire up the UseRoslynTokenizer feature properly (#11386) (PR: [#11386](https://github.com/dotnet/razor/pull/11386)) - * New Razor document formatting engine (#11364) (PR: [#11364](https://github.com/dotnet/razor/pull/11364)) - * Fix a couple of exceptions encountered when formatting documents with preprocessor directives (#11373) (PR: [#11373](https://github.com/dotnet/razor/pull/11373)) - * Allow RazorProjectEngine.Process to be cancelled (#11334) (PR: [#11334](https://github.com/dotnet/razor/pull/11334)) - * Further refactoring of Razor tooling project system (#11320) (PR: [#11320](https://github.com/dotnet/razor/pull/11320)) - -# 2.62.x +* Update Razor to 9.0.0-preview.25073.1 (PR: [#7940](https://github.com/dotnet/vscode-csharp/pull/7940)) + * Wire up the UseRoslynTokenizer feature properly (PR: [#11386](https://github.com/dotnet/razor/pull/11386)) + * New Razor document formatting engine (PR: [#11364](https://github.com/dotnet/razor/pull/11364)) + * Fix a couple of exceptions encountered when formatting documents with preprocessor directives (PR: [#11373](https://github.com/dotnet/razor/pull/11373)) + * Allow RazorProjectEngine.Process to be cancelled (PR: [#11334](https://github.com/dotnet/razor/pull/11334)) + * Further refactoring of Razor tooling project system (PR: [#11320](https://github.com/dotnet/razor/pull/11320)) + * Don't create overlapping changes when doing additional formatting (PR: [#11413](https://github.com/dotnet/razor/pull/11413)) + * Synchronize razor compiler assembly loading (PR: [#11394](https://github.com/dotnet/razor/pull/11394)) + * Allow generate method to handle delegates (PR: [#11402](https://github.com/dotnet/razor/pull/11402)) + * Fix bad completion commit in vs code (PR: [#11398](https://github.com/dotnet/razor/pull/11398)) + * SourceTexts for Everyone! (PR: [#11404](https://github.com/dotnet/razor/pull/11404)) + * Handful of performance fixes (PR: [#11399](https://github.com/dotnet/razor/pull/11399)) + * Use the overload that takes an immutable array in serailization (PR: [#11393](https://github.com/dotnet/razor/pull/11393)) + +# 2.62.18 * Update Roslyn to 4.14.0-1.25060.2 (PR: [#7916](https://github.com/dotnet/vscode-csharp/pull/7916)) * Support Extracting method with complex flow control cosntructs in them. (PR: [#76686](https://github.com/dotnet/roslyn/pull/76686)) * Classify the langword attribute value in DocComments (PR: [#76678](https://github.com/dotnet/roslyn/pull/76678)) @@ -73,17 +223,17 @@ * Bump xamlTools to 17.13.35709.178 (PR: [#7914](https://github.com/dotnet/vscode-csharp/pull/7914)) -# 2.61.x +# 2.61.28 * Update Razor to 9.0.0-preview.25052.3 (PR: [#7904](https://github.com/dotnet/vscode-csharp/pull/7904)) - * Offer generate handler for `@bind-XX:after` and `:set` (#11350) (PR: [#11350](https://github.com/dotnet/razor/pull/11350)) - * Support "Generate Event Handler" on event callbacks (ie `ValueChanged` and friends) (#11347) (PR: [#11347](https://github.com/dotnet/razor/pull/11347)) - * Fix completion at end of document (#11343) (PR: [#11343](https://github.com/dotnet/razor/pull/11343)) - * Fix completion in an empty document (#11344) (PR: [#11344](https://github.com/dotnet/razor/pull/11344)) - * Only show element hover information when hovering over an element in a `.razor` file (#11336) (PR: [#11336](https://github.com/dotnet/razor/pull/11336)) - * Don't format collection expressions, because Roslyn doesn't either (#11326) (PR: [#11326](https://github.com/dotnet/razor/pull/11326)) - * Update telemetry to 17.13.28 (#11315) (PR: [#11315](https://github.com/dotnet/razor/pull/11315)) - * Filter out CSS002 when it appears in an "@@" (#11313) (PR: [#11313](https://github.com/dotnet/razor/pull/11313)) - * Improve Find All Refs results (#11279) (PR: [#11279](https://github.com/dotnet/razor/pull/11279)) + * Offer generate handler for `@bind-XX:after` and `:set` (PR: [#11350](https://github.com/dotnet/razor/pull/11350)) + * Support "Generate Event Handler" on event callbacks (ie `ValueChanged` and friends) (PR: [#11347](https://github.com/dotnet/razor/pull/11347)) + * Fix completion at end of document (PR: [#11343](https://github.com/dotnet/razor/pull/11343)) + * Fix completion in an empty document (PR: [#11344](https://github.com/dotnet/razor/pull/11344)) + * Only show element hover information when hovering over an element in a `.razor` file (PR: [#11336](https://github.com/dotnet/razor/pull/11336)) + * Don't format collection expressions, because Roslyn doesn't either (PR: [#11326](https://github.com/dotnet/razor/pull/11326)) + * Update telemetry to 17.13.28 (PR: [#11315](https://github.com/dotnet/razor/pull/11315)) + * Filter out CSS002 when it appears in an "@@" (PR: [#11313](https://github.com/dotnet/razor/pull/11313)) + * Improve Find All Refs results (PR: [#11279](https://github.com/dotnet/razor/pull/11279)) * Update Roslyn to 4.13.0-3.25051.1 (PR: [#7895](https://github.com/dotnet/vscode-csharp/pull/7895)) * Prefix 'unmerged changes' with 'TODO' (PR: [#62319](https://github.com/dotnet/roslyn/pull/62319)) * Fix crash when classifying embedded test classifications (PR: [#76576](https://github.com/dotnet/roslyn/pull/76576)) @@ -121,14 +271,14 @@ * Bump xamltools to 17.13.35703.12 (PR: [#7893](https://github.com/dotnet/vscode-csharp/pull/7893)) * Don't try to send dynamicInfoChanged if the server isn't running (PR: [#7875](https://github.com/dotnet/vscode-csharp/pull/7875)) -# 2.60.x +# 2.60.26 * Improve performance of razor/blazor component discovery (PR: [#7826](https://github.com/dotnet/vscode-csharp/pull/7826)) * Update Razor to 9.0.0-preview.24605.1 (PR: [#7826](https://github.com/dotnet/vscode-csharp/pull/7826)) - * New Code Action! Add a code action to promote a using directive (#11241) (PR: [#11241](https://github.com/dotnet/razor/pull/11241)) - * Add more information to dynamic file publish (#11267) (PR: [#11267](https://github.com/dotnet/razor/pull/11267)) - * Remove C#s using snippet from completion (#11272) (PR: [#11272](https://github.com/dotnet/razor/pull/11272)) - * Fix extract component whitespace handling (#11262) (PR: [#11262](https://github.com/dotnet/razor/pull/11262)) - * Handle aliased usings in RazorEditHelper (#11208) (PR: [#11208](https://github.com/dotnet/razor/pull/11208)) + * New Code Action! Add a code action to promote a using directive (PR: [#11241](https://github.com/dotnet/razor/pull/11241)) + * Add more information to dynamic file publish (PR: [#11267](https://github.com/dotnet/razor/pull/11267)) + * Remove C#s using snippet from completion (PR: [#11272](https://github.com/dotnet/razor/pull/11272)) + * Fix extract component whitespace handling (PR: [#11262](https://github.com/dotnet/razor/pull/11262)) + * Handle aliased usings in RazorEditHelper (PR: [#11208](https://github.com/dotnet/razor/pull/11208)) * Update Debugger Packages and move macOS requirement to macOS 13 (PR: [#7854](https://github.com/dotnet/vscode-csharp/pull/7854)) * Fix spelling of successfully (PR: [#7853](https://github.com/dotnet/vscode-csharp/pull/7853)) * Update Roslyn to 4.13.0-3.24605.12 (PR: [#7826](https://github.com/dotnet/vscode-csharp/pull/7826)) @@ -174,9 +324,9 @@ # 2.58.20 * Update Razor to 9.0.0-preview.24569.4 (PR: [#7805](https://github.com/dotnet/vscode-csharp/pull/7805)) - * Allow logging level to be changed in rzls (#11228) (PR: [#11228](https://github.com/dotnet/razor/pull/11228)) - * [Fuse] bind-Value:attribute support (#11214) (PR: [#11214](https://github.com/dotnet/razor/pull/11214)) - * Handle skipped trivia in the C# tokenizer (#11207) (PR: [#11207](https://github.com/dotnet/razor/pull/11207)) + * Allow logging level to be changed in rzls (PR: [#11228](https://github.com/dotnet/razor/pull/11228)) + * [Fuse] bind-Value:attribute support (PR: [#11214](https://github.com/dotnet/razor/pull/11214)) + * Handle skipped trivia in the C# tokenizer (PR: [#11207](https://github.com/dotnet/razor/pull/11207)) * Add support for refreshing opened source generated files (PR: [#7791](https://github.com/dotnet/vscode-csharp/pull/7791)) * Update Roslyn to 4.13.0-2.24569.1 (PR: [#7791](https://github.com/dotnet/vscode-csharp/pull/7791)) * Support unbound generic types in 'nameof' operator. (PR: [#75368](https://github.com/dotnet/roslyn/pull/75368)) @@ -185,9 +335,9 @@ # 2.57.28 * Update Razor to 9.0.0-preview.24565.1 (PR: [#7793])(https://github.com/dotnet/vscode-csharp/pull/7793) - * Fine tuning of what types of project update affect what state (#11213) (PR: [#11213](https://github.com/dotnet/razor/pull/11213)) - * Fix request duration logging (#11198) (PR: [#11198](https://github.com/dotnet/razor/pull/11198)) - * Update ProjectWorkspaceState and HostProject at the same time (#11191) (PR: [#11191](https://github.com/dotnet/razor/pull/11191)) + * Fine tuning of what types of project update affect what state (PR: [#11213](https://github.com/dotnet/razor/pull/11213)) + * Fix request duration logging (PR: [#11198](https://github.com/dotnet/razor/pull/11198)) + * Update ProjectWorkspaceState and HostProject at the same time (PR: [#11191](https://github.com/dotnet/razor/pull/11191)) * Update Roslyn to 4.13.0-2.24565.3 (PR: [#7792](https://github.com/dotnet/vscode-csharp/pull/7792)) * Add support for go to type definition (PR: [#75819](https://github.com/dotnet/roslyn/pull/75819)) * Reduce formatting allocations when scrolling (PR: [#75912](https://github.com/dotnet/roslyn/pull/75912)) @@ -209,13 +359,13 @@ * Update Roslyn to 4.13.0-2.24561.3 (PR: [#7765](https://github.com/dotnet/vscode-csharp/pull/7765)) * Update Razor to fix serialization issue loading projects (PR: [#75794](https://github.com/dotnet/roslyn/pull/75794)) * Update Razor to 9.0.0-preview.24557.11 (PR: [#7756](https://github.com/dotnet/vscode-csharp/pull/7756)) - * Fix FUSE hook up in VS Code (#11175) (PR: [#11175](https://github.com/dotnet/razor/pull/11175)) - * Update VSTelemetryAPI version (#11181) (PR: [#11181](https://github.com/dotnet/razor/pull/11181)) - * Improvements for Assumed.Unreachable(...) (#11155) (PR: [#11155](https://github.com/dotnet/razor/pull/11155)) - * Better logging for named pipe (#11144) (PR: [#11144](https://github.com/dotnet/razor/pull/11144)) - * Fix code actions (and code actions integration tests) (#11141) (PR: [#11141](https://github.com/dotnet/razor/pull/11141)) - * Fix some things for extract component (#11137) (PR: [#11137](https://github.com/dotnet/razor/pull/11137)) - * More CodeAction moves in preparation for cohosting (#11135) (PR: [#11135](https://github.com/dotnet/razor/pull/11135)) + * Fix FUSE hook up in VS Code (PR: [#11175](https://github.com/dotnet/razor/pull/11175)) + * Update VSTelemetryAPI version (PR: [#11181](https://github.com/dotnet/razor/pull/11181)) + * Improvements for Assumed.Unreachable(...) (PR: [#11155](https://github.com/dotnet/razor/pull/11155)) + * Better logging for named pipe (PR: [#11144](https://github.com/dotnet/razor/pull/11144)) + * Fix code actions (and code actions integration tests) (PR: [#11141](https://github.com/dotnet/razor/pull/11141)) + * Fix some things for extract component (PR: [#11137](https://github.com/dotnet/razor/pull/11137)) + * More CodeAction moves in preparation for cohosting (PR: [#11135](https://github.com/dotnet/razor/pull/11135)) * Update Roslyn to 4.13.0-2.24557.5 (PR: [#7752](https://github.com/dotnet/vscode-csharp/pull/7752)) * Fix telemetry property value (PR: [#75813](https://github.com/dotnet/roslyn/pull/75813)) * Classify 'await' as a control keyword (PR: [#75782](https://github.com/dotnet/roslyn/pull/75782)) @@ -232,7 +382,7 @@ # 2.55.29 * Update Razor to 9.0.0-preview.24557.10 (PR: [#7757](https://github.com/dotnet/vscode-csharp/pull/7757)) - * Update VSTelemetryAPI version (#11181) (PR: [#11181](https://github.com/dotnet/razor/pull/11181)) + * Update VSTelemetryAPI version (PR: [#11181](https://github.com/dotnet/razor/pull/11181)) * Update Roslyn to 4.13.0-2.24557.6 (PR: [#7751](https://github.com/dotnet/vscode-csharp/pull/7751)) * Fix issue telemetry reporting incorrect property value (PR: [#75817](https://github.com/dotnet/roslyn/pull/75817)) * Update Roslyn to 4.13.0-2.24531.3 (PR: [#7722](https://github.com/dotnet/vscode-csharp/pull/7722)) @@ -245,9 +395,9 @@ * [FUSE] Fix OnAutoInsert and override completion and possible others (PR: [#11122](https://github.com/dotnet/razor/pull/11122)) * Update Roslyn to 4.13.0-2.24529.3 (PR: [#7705](https://github.com/dotnet/vscode-csharp/pull/7705)) * Update Razor to 9.0.0-preview.24528.3 (PR: [#7705](https://github.com/dotnet/vscode-csharp/pull/7705)) - * Update project configuration from Roslyn info (#11092) (PR: [#11092](https://github.com/dotnet/razor/pull/11092)) - * Reduce the amount of telemetry emitted (#11094) (PR: [#11094](https://github.com/dotnet/razor/pull/11094)) - * Remove tooling MvcShims (#11088) (PR: [#11088](https://github.com/dotnet/razor/pull/11088)) + * Update project configuration from Roslyn info (PR: [#11092](https://github.com/dotnet/razor/pull/11092)) + * Reduce the amount of telemetry emitted (PR: [#11094](https://github.com/dotnet/razor/pull/11094)) + * Remove tooling MvcShims (PR: [#11088](https://github.com/dotnet/razor/pull/11088)) * Switch to new log output window API and remove `dotnet.server.trace` (PR: [#7688](https://github.com/dotnet/vscode-csharp/pull/7688)) * Update Roslyn to 4.13.0-1.24528.3 (PR: [#7688](https://github.com/dotnet/vscode-csharp/pull/7688)) * Fix crash when 'add await' analyzers binding expressions (PR: [#75644](https://github.com/dotnet/roslyn/pull/75644)) @@ -271,17 +421,17 @@ * Improve performance in checksum computation (PR: [#75479](https://github.com/dotnet/roslyn/pull/75479)) * Bumped xamlTools to 17.13.35422.31 (PR: [#7685](https://github.com/dotnet/vscode-csharp/pull/7685)) * Update Razor to 9.0.0-preview.24524.4 (PR: [#7692](https://github.com/dotnet/vscode-csharp/pull/7692)) - * Roslyn Tokenizer (#11086) (PR: [#11086](https://github.com/dotnet/razor/pull/11086)) + * Roslyn Tokenizer (PR: [#11086](https://github.com/dotnet/razor/pull/11086)) * **Experimental feature** - * Add flush method and make it implementation detail on how that happens (#11087) (PR: [#11087](https://github.com/dotnet/razor/pull/11087)) - * Do not extract component into code block (#11069) (PR: [#11069](https://github.com/dotnet/razor/pull/11069)) + * Add flush method and make it implementation detail on how that happens (PR: [#11087](https://github.com/dotnet/razor/pull/11087)) + * Do not extract component into code block (PR: [#11069](https://github.com/dotnet/razor/pull/11069)) * **New code action to handle extracting razor code into a new razor component** - * Handle EditorRequired *Changed/*Expression parameters (#11043) (PR: [#11043](https://github.com/dotnet/razor/pull/11043)) - * Avoid ambiguous `object` reference in generic component recovery (#11053) (PR: [#11053](https://github.com/dotnet/razor/pull/11053)) - * Move culture info check (#11057) (PR: [#11057](https://github.com/dotnet/razor/pull/11057)) - * Report a better error for void components (#11041) (PR: [#11041](https://github.com/dotnet/razor/pull/11041)) - * Ensure model directives are mapped at runtime (#11007) (PR: [#11007](https://github.com/dotnet/razor/pull/11007)) - * Including @using for Out-of-Scope Razor Component References (#10651) (PR: [#10651](https://github.com/dotnet/razor/pull/10651)) + * Handle EditorRequired *Changed/*Expression parameters (PR: [#11043](https://github.com/dotnet/razor/pull/11043)) + * Avoid ambiguous `object` reference in generic component recovery (PR: [#11053](https://github.com/dotnet/razor/pull/11053)) + * Move culture info check (PR: [#11057](https://github.com/dotnet/razor/pull/11057)) + * Report a better error for void components (PR: [#11041](https://github.com/dotnet/razor/pull/11041)) + * Ensure model directives are mapped at runtime (PR: [#11007](https://github.com/dotnet/razor/pull/11007)) + * Including @using for Out-of-Scope Razor Component References (PR: [#10651](https://github.com/dotnet/razor/pull/10651)) * Make checkDevCert a modal dialogue (PR: [#7704](https://github.com/dotnet/vscode-csharp/pull/7704)) # 2.53.17 @@ -337,7 +487,7 @@ * Fix `FormattingContext` disposal (PR: [#10887](https://github.com/dotnet/razor/pull/10887)) * Fix #10891 - Formatting does not respect indentation within Razor comment blocks (PR: [#10893](https://github.com/dotnet/razor/pull/10893)) -# 2.50.25 +# 2.50.27 * Update Roslyn to 4.13.0-1.24477.2 (PR: [#<>](https://github.com/dotnet/vscode-csharp/pull/<>)) * Use MSBuild globs to determine which file changes are relevant (PR: [#75139](https://github.com/dotnet/roslyn/pull/75139)) * Allow `` in DocComments to render as a block in Hover response (PR: [#75215](https://github.com/dotnet/roslyn/pull/75215)) @@ -385,14 +535,14 @@ # 2.46.32 * Update Roslyn to 4.12.0-3.24430.2 (PR: [#7496](https://github.com/dotnet/vscode-csharp/pull/7496)) * Bump Razor to 9.0.0-preview.24427.2 (PR: [#7471](https://github.com/dotnet/vscode-csharp/pull/7471)) - * Suppress unique ids (#10791) (PR: [#10791](https://github.com/dotnet/razor/pull/10791)) - * Self-versioned documents (#10747) (PR: [#10747](https://github.com/dotnet/razor/pull/10747)) - * Remove ItemCollection from CodeRenderingContext (#10764) (PR: [#10764](https://github.com/dotnet/razor/pull/10764)) - * Moving formatting service to common layer (#10761) (PR: [#10761](https://github.com/dotnet/razor/pull/10761)) - * Allow LSP and cohosting to provide specialized methods to get a syntax tree (#10765) (PR: [#10765](https://github.com/dotnet/razor/pull/10765)) - * Update NOTICE.txt (#10768) (PR: [#10768](https://github.com/dotnet/razor/pull/10768)) - * Allow @@ as a fallback (#10752) (PR: [#10752](https://github.com/dotnet/razor/pull/10752)) - * Support component rename from an end tag (#10762) (PR: [#10762](https://github.com/dotnet/razor/pull/10762)) + * Suppress unique ids (PR: [#10791](https://github.com/dotnet/razor/pull/10791)) + * Self-versioned documents (PR: [#10747](https://github.com/dotnet/razor/pull/10747)) + * Remove ItemCollection from CodeRenderingContext (PR: [#10764](https://github.com/dotnet/razor/pull/10764)) + * Moving formatting service to common layer (PR: [#10761](https://github.com/dotnet/razor/pull/10761)) + * Allow LSP and cohosting to provide specialized methods to get a syntax tree (PR: [#10765](https://github.com/dotnet/razor/pull/10765)) + * Update NOTICE.txt (PR: [#10768](https://github.com/dotnet/razor/pull/10768)) + * Allow @@ as a fallback (PR: [#10752](https://github.com/dotnet/razor/pull/10752)) + * Support component rename from an end tag (PR: [#10762](https://github.com/dotnet/razor/pull/10762)) * Bump xamltools to 17.12.35230.10 (PR: [#7493](https://github.com/dotnet/vscode-csharp/pull/7493)) # 2.45.25 @@ -405,12 +555,12 @@ # 2.45.17 * Fix check for rzls being present (PR: [#7462](https://github.com/dotnet/vscode-csharp/pull/7462)) * Bump Razor to 9.0.0-preview.24418.1 (PR: [#7456](https://github.com/dotnet/vscode-csharp/pull/7456)) - * Don't add already known documents to the misc files project (#10753) (PR: [#10753](https://github.com/dotnet/razor/pull/10753)) - * Remove ItemCollection from TagHelperDescriptorProviderContext (#10720) (PR: [#10720](https://github.com/dotnet/razor/pull/10720)) - * Fix excerpt service to allow for multi line verbatim strings (#10675) (PR: [#10675](https://github.com/dotnet/razor/pull/10675)) - * Fix attribute parsing recovery (#10620) (PR: [#10620](https://github.com/dotnet/razor/pull/10620)) - * Turn off trailing whitespace triming in strings (#10646) (PR: [#10646](https://github.com/dotnet/razor/pull/10646)) - * Handle `:get`/`:set` in `EditorRequired` checking (#10628) (PR: [#10628](https://github.com/dotnet/razor/pull/10628)) + * Don't add already known documents to the misc files project (PR: [#10753](https://github.com/dotnet/razor/pull/10753)) + * Remove ItemCollection from TagHelperDescriptorProviderContext (PR: [#10720](https://github.com/dotnet/razor/pull/10720)) + * Fix excerpt service to allow for multi line verbatim strings (PR: [#10675](https://github.com/dotnet/razor/pull/10675)) + * Fix attribute parsing recovery (PR: [#10620](https://github.com/dotnet/razor/pull/10620)) + * Turn off trailing whitespace triming in strings (PR: [#10646](https://github.com/dotnet/razor/pull/10646)) + * Handle `:get`/`:set` in `EditorRequired` checking (PR: [#10628](https://github.com/dotnet/razor/pull/10628)) * Include tooltip to Razor provisional completion (PR: [#7440](https://github.com/dotnet/vscode-csharp/pull/7440)) * Add option `dotnet.completion.triggerCompletionInArgumentLists` to disable completion in argument lists (PR: [#7446](https://github.com/dotnet/vscode-csharp/pull/7446)) * Bump Roslyn to 4.12.0-2.24422.6 (PR: [#7463](https://github.com/dotnet/vscode-csharp/pull/7463)) @@ -460,10 +610,10 @@ * Fix crash in sighelp (PR: [#74510](https://github.com/dotnet/roslyn/pull/74510)) * Update Debugger Packages to v2.40.0 (PR: [#7390](https://github.com/dotnet/vscode-csharp/pull/7390)) * Update Razor to 9.0.0-preview.24366.2 (PR: [#7384](https://github.com/dotnet/vscode-csharp/pull/7384)) - * [FUSE] Component attribute nameof() (#10581) (PR: [#10581](https://github.com/dotnet/razor/pull/10581)) - * Pool CodeWriter ReadOnlyMemory pages (#10585) (PR: [#10585](https://github.com/dotnet/razor/pull/10585)) - * Improve performance of `DefaultRazorTagHelperContextDiscoveryPhase` (#10602) (PR: [#10602](https://github.com/dotnet/razor/pull/10602)) - * Flesh out `PooledArrayBuilder` a bit (#10606) (PR: [#10606](https://github.com/dotnet/razor/pull/10606)) + * [FUSE] Component attribute nameof() (PR: [#10581](https://github.com/dotnet/razor/pull/10581)) + * Pool CodeWriter ReadOnlyMemory pages (PR: [#10585](https://github.com/dotnet/razor/pull/10585)) + * Improve performance of `DefaultRazorTagHelperContextDiscoveryPhase` (PR: [#10602](https://github.com/dotnet/razor/pull/10602)) + * Flesh out `PooledArrayBuilder` a bit (PR: [#10606](https://github.com/dotnet/razor/pull/10606)) * Bump xamltools to 17.12.35126.17 (PR: [#7392](https://github.com/dotnet/vscode-csharp/pull/7392)) * Add option to disable server gc (PR: [#7155](https://github.com/dotnet/vscode-csharp/pull/7155)) * Update the workspace status bar when the server is stopped. (PR: [#7352](https://github.com/dotnet/vscode-csharp/pull/7352)) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b4d1092f17..b30f6e4979 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,6 +36,7 @@ Follow these steps to build, run, and test the repository: #### Building 1. Run `npm install -g vsts-npm-auth`, then run `vsts-npm-auth -config .npmrc` - This command will configure your credentials for the next command. + a. If you have already authenticated before, but the token expired, you may need to run `vsts-npm-auth -config .npmrc -f` instead. 2. Run `npm i` - This command installs the project dependencies. 3. Run `npm i -g gulp` - This command installs Gulp globally. 4. Run `gulp installDependencies` - This command downloads the various dependencies as specified by the version in the [package.json](package.json) file. @@ -51,7 +52,8 @@ After completing the build steps: #### Testing -To run all tests, execute `npm run test`. +To run all unit tests, execute `npm run test:unit`. +To run all integration tests execute `npm run test:integration` To debug unit tests locally, press F5 in VS Code with the "Launch Tests" debug configuration selected. @@ -73,14 +75,14 @@ This section shows how to set up local Razor or Roslyn language servers for debu 1. Clone the [Roslyn repository](https://github.com/dotnet/roslyn). This repository contains the Roslyn server implementation. 2. Follow the build instructions provided in the repository. -The server DLL is typically at `$roslynRepoRoot/artifacts/bin/Microsoft.CodeAnalysis.LanguageServer/Debug/net8.0/Microsoft.CodeAnalysis.LanguageServer.dll`, but this may vary based on the built configuration. +The server DLL is typically at `$roslynRepoRoot/artifacts/bin/Microsoft.CodeAnalysis.LanguageServer/Debug/net9.0/Microsoft.CodeAnalysis.LanguageServer.dll`, but this may vary based on the built configuration. #### Razor 1. Clone the [Razor repository](https://github.com/dotnet/razor). This repository contains the Razor server implementation. 2. Follow the build instructions provided in the repository. -The server DLL is typically at `$razorRepoRoot/artifacts/bin/rzls/Debug/net8.0`. +The server DLL is typically at `$razorRepoRoot/artifacts/bin/rzls/Debug/net9.0`. ### Debugging Local Language Servers @@ -116,7 +118,7 @@ In your workspace `settings.json` file, add the following lines: ```json "dotnet.server.waitForDebugger": true, -"dotnet.server.path": "/artifacts/bin/Microsoft.CodeAnalysis.LanguageServer/Debug/net8.0/Microsoft.CodeAnalysis.LanguageServer.dll" +"dotnet.server.path": "/artifacts/bin/Microsoft.CodeAnalysis.LanguageServer/Debug/net9.0/Microsoft.CodeAnalysis.LanguageServer.dll" ``` Replace with the actual path to your Roslyn repository. @@ -133,7 +135,7 @@ In your workspace settings.json file, add the following lines: ```json "razor.languageServer.debug": true, -"razor.languageServer.directory": "/artifacts/bin/rzls/Debug/net8.0", +"razor.languageServer.directory": "/artifacts/bin/rzls/Debug/net9.0", "razor.server.trace": "Debug" ``` diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index d4ed8f2456..bea03e0afe 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -28,7 +28,7 @@ parameters: default: auto variables: - defaultDotnetVersion: '8.0.403' +- template: /azure-pipelines/dotnet-variables.yml@self resources: repositories: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bcc5658609..fd25d04c1d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -16,8 +16,10 @@ pr: - main paths: exclude: - - ./*.md + - '*.md' - .github/* + - azure-pipelines/release.yml + - CHANGELOG. # Run a scheduled build every night on main to run tests against insiders VSCode. # The variable testVSCodeVersion is set to insiders based on the build reason. @@ -29,8 +31,7 @@ schedules: - main variables: -- name: defaultDotnetVersion - value: '8.0.403' +- template: /azure-pipelines/dotnet-variables.yml@self - name: testVSCodeVersion ${{ if eq( variables['Build.Reason'], 'Schedule' ) }}: value: insiders @@ -45,7 +46,7 @@ stages: dotnetVersion: $(defaultDotnetVersion) - stage: - displayName: Test Linux (.NET 6) + displayName: Test Linux (.NET 8) dependsOn: [] jobs: - template: azure-pipelines/test-matrix.yml @@ -57,10 +58,10 @@ stages: pool: name: NetCore-Public demands: ImageOverride -equals 1es-ubuntu-2004-open - containerName: mcr.microsoft.com/dotnet/sdk:6.0 + containerName: mcr.microsoft.com/dotnet/sdk:8.0 - stage: - displayName: Test Linux (.NET 8) + displayName: Test Linux (.NET 9) dependsOn: [] jobs: - template: azure-pipelines/test-matrix.yml @@ -72,7 +73,7 @@ stages: pool: name: NetCore-Public demands: ImageOverride -equals 1es-ubuntu-2004-open - containerName: mcr.microsoft.com/dotnet/sdk:8.0 + containerName: mcr.microsoft.com/dotnet/sdk:9.0 - stage: Test_Windows_Stage displayName: Test Windows diff --git a/azure-pipelines/dotnet-variables.yml b/azure-pipelines/dotnet-variables.yml new file mode 100644 index 0000000000..9381ea25dc --- /dev/null +++ b/azure-pipelines/dotnet-variables.yml @@ -0,0 +1,3 @@ +variables: +- name: defaultDotnetVersion + value: '8.0.403' \ No newline at end of file diff --git a/azure-pipelines/green-insertion.yml b/azure-pipelines/green-insertion.yml index 22c3752d3c..e07723e7e5 100644 --- a/azure-pipelines/green-insertion.yml +++ b/azure-pipelines/green-insertion.yml @@ -1,12 +1,12 @@ trigger: none # We only want to trigger manually or based on resources pr: none -schedules: -- cron: "0 6 * * *" # Daily @ 10 PM PST - displayName: Daily vs-green insertion - branches: - include: - - feature/lsp_tools_host +#schedules: +#- cron: "0 6 * * *" # Daily @ 10 PM PST +# displayName: Daily vs-green insertion +# branches: +# include: +# - feature/lsp_tools_host parameters: - name: InsertTargetBranch diff --git a/azure-pipelines/prereqs.yml b/azure-pipelines/prereqs.yml index 167de5da6e..3932f029d8 100644 --- a/azure-pipelines/prereqs.yml +++ b/azure-pipelines/prereqs.yml @@ -40,6 +40,3 @@ steps: npm ci npm i -g gulp displayName: 'Install dependencies' - -- script: npm run compile - displayName: 'Compile' diff --git a/azure-pipelines/profiling.yml b/azure-pipelines/profiling.yml new file mode 100644 index 0000000000..f3edf29fdc --- /dev/null +++ b/azure-pipelines/profiling.yml @@ -0,0 +1,60 @@ +trigger: none +pr: none +schedules: +- cron: '18 1 * * *' # every day at 1:18 AM + displayName: Periodic profiling run + branches: + include: + - main + +variables: +- name: TRACE_DROP_LOCATION + value: $(Build.SourcesDirectory)/out/profiling/ +- name: MERGED_TRACE_LOCATION + value: $(Build.SourcesDirectory)/out/profiling/merged/ +- name: LOGS_DIRECTORY + value: $(Build.SourcesDirectory)/out/logs/ +- template: /azure-pipelines/dotnet-variables.yml@self + + +resources: + repositories: + - repository: 1ESPipelineTemplates + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates + parameters: + sdl: + sourceAnalysisPool: + name: netcore1espool-internal + image: 1es-windows-2022 + os: windows + stages: + - stage: Run_Profiling + displayName: Run Profiling + jobs: + - job: Profile + pool: + name: netcore1espool-internal + image: 1es-ubuntu-2204 + os: linux + templateContext: + outputs: + - output: pipelineArtifact + targetPath: $(TRACE_DROP_LOCATION) + artifactName: traces + displayName: 📢 Publish intermediate trace files + condition: failed() + - output: pipelineArtifact + targetPath: $(MERGED_TRACE_LOCATION) + artifactName: merged mibc + displayName: 📢 Publish merged MIBC + steps: + - template: /azure-pipelines/test.yml@self + parameters: + dotnetVersion: $(defaultDotnetVersion) + npmCommand: profiling + testVSCodeVersion: stable + isIntegration: true \ No newline at end of file diff --git a/azure-pipelines/release.yml b/azure-pipelines/release.yml index b468d6722e..e915c5e8a9 100644 --- a/azure-pipelines/release.yml +++ b/azure-pipelines/release.yml @@ -51,6 +51,27 @@ extends: runOnce: deploy: steps: + - pwsh: | + $artifactVersion = '$(resources.pipeline.officialBuildCI.runName)' + $artifactBranchName = '$(resources.pipeline.officialBuildCI.sourceBranch)' -replace 'refs/heads/','' + + # Set the BuildNumber in the form `# Publish prerelease v2.69.22 #` to improve readability in AzDO + $buildNumberName = "Publish $artifactBranchName $artifactVersion" + if ('${{ parameters.test }}' -eq 'true') { + $buildNumberName = 'Test ' + $buildNumberName + } + + # Replace invalid characters + $buildNumberName = $buildNumberName -replace '["/:<>\|?@*]','_' + # Maximum buildnumber length is 255 chars and we are going to add a prefix and suffix so ensure we have space. + if ($buildNumberName.Length -GT 252) { + $buildNumberName = $buildNumberName.Substring(0, 252) + } + # Avoid ever ending the BuildNumber with a `.` by always appending to it. + $buildNumberName = ' ' + $buildNumberName + ' #' + + Write-Host "##vso[build.updatebuildnumber]$buildNumberName" + displayName: Set BuildNumber - template: /azure-pipelines/install-node.yml@self - pwsh: | npm install --global @vscode/vsce @@ -113,6 +134,7 @@ extends: Write-Host "##[command]vsce $publishArgs" vsce @publishArgs } + - stage: 'TagRelease' displayName: 'Tag release of vscode-csharp' dependsOn: 'PublishStage' diff --git a/azure-pipelines/test-matrix.yml b/azure-pipelines/test-matrix.yml index 9175e127fc..c37f9ac859 100644 --- a/azure-pipelines/test-matrix.yml +++ b/azure-pipelines/test-matrix.yml @@ -16,10 +16,18 @@ jobs: - job: strategy: matrix: - CSharpTests: - npmCommand: test:withoutDevKit + UnitTests: + npmCommand: test:unit + isIntegration: false + CSharpIntegrationTests: + npmCommand: test:integration:csharp + isIntegration: true DevKitTests: npmCommand: test:integration:devkit + isIntegration: true + RazorTests: + npmCommand: test:integration:razor + isIntegration: true pool: ${{ parameters.pool }} ${{ if parameters.containerName }}: container: ${{ parameters.containerName }} @@ -27,6 +35,7 @@ jobs: - template: /azure-pipelines/test.yml@self parameters: dotnetVersion: ${{ parameters.dotnetVersion }} - installAdditionalLinuxDependencies: true + installAdditionalLinuxDependencies: ${{ parameters.installAdditionalLinuxDependencies }} npmCommand: $(npmCommand) - testVSCodeVersion: ${{ parameters.testVSCodeVersion }} \ No newline at end of file + testVSCodeVersion: ${{ parameters.testVSCodeVersion }} + isIntegration: $(isIntegration) \ No newline at end of file diff --git a/azure-pipelines/test-prereqs.yml b/azure-pipelines/test-prereqs.yml index c86649a347..ee918b2128 100644 --- a/azure-pipelines/test-prereqs.yml +++ b/azure-pipelines/test-prereqs.yml @@ -1,8 +1,5 @@ steps: -- script: npm run vscode:prepublish - displayName: 'Prepublish VSIXs' - # We need to download the roslyn language server for the current platform to run integration tests against it. - script: gulp installDependencies displayName: 'Install Roslyn Language Server' diff --git a/azure-pipelines/test.yml b/azure-pipelines/test.yml index 5f8cb471ac..8a5ced7660 100644 --- a/azure-pipelines/test.yml +++ b/azure-pipelines/test.yml @@ -8,6 +8,8 @@ parameters: type: string - name: testVSCodeVersion type: string + - name: isIntegration + type: string steps: - checkout: self @@ -44,9 +46,29 @@ steps: mergeTestResults: true testRunTitle: $(System.StageDisplayName) $(Agent.JobName) (Attempt $(System.JobAttempt)) -- task: PublishPipelineArtifact@1 - condition: failed() - displayName: 'Upload integration test logs' - inputs: - targetPath: '$(Build.SourcesDirectory)/out/logs' - artifactName: 'Test Logs ($(System.StageDisplayName)-$(Agent.JobName)-$(System.JobAttempt))' +- powershell: | + Write-Host "##vso[task.setvariable variable=isIntegrationVar;]${{ parameters.isIntegration }}" + displayName: 'Set IsIntegration Variable' + condition: succeededOrFailed() + +- powershell: | + $tempPath = [System.IO.Path]::GetTempPath() + echo "Temp Path: $tempPath" + Get-ChildItem -Path $tempPath -Filter *.cpuprofile | Copy-Item -Destination "$(Build.SourcesDirectory)/out/logs" + displayName: 'Copy .cpuprofile files to out/logs' + condition: eq(variables.isIntegrationVar, true) + +- ${{ if eq(variables['System.TeamProject'], 'internal') }}: + - task: 1ES.PublishPipelineArtifact@1 + condition: eq(variables.isIntegrationVar, true) + displayName: 'Upload integration test logs' + inputs: + path: '$(Build.SourcesDirectory)/out/logs' + artifact: 'Test Logs ($(System.StageDisplayName)-$(Agent.JobName)-$(System.JobAttempt))' +- ${{ else }}: + - task: PublishPipelineArtifact@1 + condition: eq(variables.isIntegrationVar, true) + displayName: 'Upload integration test logs' + inputs: + targetPath: '$(Build.SourcesDirectory)/out/logs' + artifactName: 'Test Logs ($(System.StageDisplayName)-$(Agent.JobName)-$(System.JobAttempt))' diff --git a/esbuild.js b/esbuild.js new file mode 100644 index 0000000000..54ff1c1803 --- /dev/null +++ b/esbuild.js @@ -0,0 +1,76 @@ +const esbuild = require("esbuild"); +const fs = require('fs/promises'); + +const production = process.argv.includes('--production'); +const watch = process.argv.includes('--watch'); + +/** + * @type {import('esbuild').Plugin} + */ +const esbuildProblemMatcherPlugin = { + name: 'esbuild-problem-matcher', + + setup(build) { + build.onStart(() => { + console.log('[watch] build started'); + }); + build.onEnd((result) => { + result.errors.forEach(({ text, location }) => { + console.error(`✘ [ERROR] ${text}`); + console.error(` ${location.file}:${location.line}:${location.column}:`); + }); + console.log('[watch] build finished'); + }); + }, +}; + +/** + * Some VSCode libraries include UMD versions that are not esbuild compatible, and also have broken ESM packages. + * This plugin replaces the UMD imports with the ESM imports. + * See https://github.com/microsoft/vscode/issues/192144 + */ +const umdEsmLoaderPlugin = { + name: 'umdEsmLoaderPlugin', + + setup(build) { + build.onLoad({ filter: /(vscode-html-languageservice|jsonc-parser).*lib[\/\\]umd/ }, async (moduleArgs) => { + // replace the umd path with the esm path from the package. + const newPath = moduleArgs.path.replace(/(.*)lib([\/\\])umd(.*)/, '$1lib$2esm$3'); + const contents = await fs.readFile(newPath, 'utf8'); + return { contents: contents }; + }); + }, +}; + +async function main() { + const ctx = await esbuild.context({ + entryPoints: [ + 'src/main.ts' + ], + bundle: true, + format: 'cjs', + minify: production, + sourcemap: !production, + sourcesContent: false, + platform: 'node', + outfile: 'dist/extension.js', + external: ['vscode', 'applicationinsights-native-metrics', '@opentelemetry/tracing'], + logLevel: 'info', + plugins: [ + umdEsmLoaderPlugin, + /* add to the end of plugins array */ + esbuildProblemMatcherPlugin, + ], + }); + if (watch) { + await ctx.watch(); + } else { + await ctx.rebuild(); + await ctx.dispose(); + } +} + +main().catch(e => { + console.error(e); + process.exit(1); +}); \ No newline at end of file diff --git a/gulpfile.ts b/gulpfile.ts index c75eb2a778..ef52553ced 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -11,3 +11,4 @@ require('./tasks/createTagsTasks'); require('./tasks/debuggerTasks'); require('./tasks/snapTasks'); require('./tasks/signingTasks'); +require('./tasks/profilingTasks'); diff --git a/l10n/bundle.l10n.cs.json b/l10n/bundle.l10n.cs.json index b90cc7ae72..9e113a8f05 100644 --- a/l10n/bundle.l10n.cs.json +++ b/l10n/bundle.l10n.cs.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Nelze vytvořit konfigurace ladění .NET. Server se stále inicializuje nebo se neočekávaně ukončil.", "Cannot load Razor language server because the directory was not found: '{0}'": "Nepovedlo se načíst jazykový server Razor, protože se nenašel adresář: {0}", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Nelze přeložit konfigurace ladění .NET. Server se stále inicializuje nebo se neočekávaně ukončil.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Když je {0} nastavené na {1}, nejde zahájit shromažďování protokolů Razor. Nastavte prosím {0} na {2}, znovu načtěte prostředí VSCode a opakujte příkaz pro nahlášení problémů s Razorem.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Nelze spustit shromažďování protokolů Razor, když je {0} nastaveno na {1}. Otevřete prosím okno výstupu, zvolte Protokol Razor a pomocí ikony ozubeného kola ověřte, že úroveň protokolu je nastavená na Ladit nebo Trasovat.", "Cannot stop Razor Language Server as it is already stopped.": "Jazykový server Razor se nedá zastavit, protože už je zastavený.", "Choose": "Zvolit", "Choose and set default": "Zvolit a nastavit výchozí", diff --git a/l10n/bundle.l10n.de.json b/l10n/bundle.l10n.de.json index ca33200334..197d129862 100644 --- a/l10n/bundle.l10n.de.json +++ b/l10n/bundle.l10n.de.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET-Debugkonfigurationen können nicht erstellt werden. Der Server wird noch initialisiert oder wurde unerwartet beendet.", "Cannot load Razor language server because the directory was not found: '{0}'": "Der Razor-Sprachserver kann nicht geladen werden, weil das Verzeichnis nicht gefunden wurde: \"{0}\"", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET-Debugkonfigurationen können nicht aufgelöst werden. Der Server wird noch initialisiert oder wurde unerwartet beendet.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Das Sammeln von Razor-Protokollen kann nicht gestartet werden, wenn {0} auf {1} festgelegt ist. Legen Sie {0} auf {2} fest, laden Sie dann Ihre VSCode-Umgebung neu, und führen Sie den Befehl \"Razor-Problem melden\" erneut aus.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Die Erfassung von Razor-Protokollen kann nicht gestartet werden, wenn {0} auf {1} festgelegt ist. Öffnen Sie das Ausgabefenster, wählen Sie das „Razor-Protokoll“ aus und stellen Sie über das Zahnradsymbol sicher, dass die Protokollstufe auf „Debuggen“ oder „Nachverfolgung“ eingestellt ist.", "Cannot stop Razor Language Server as it is already stopped.": "Der Razor-Sprachserver kann nicht beendet werden, da er bereits beendet wurde.", "Choose": "Auswählen", "Choose and set default": "Standard auswählen und festlegen", diff --git a/l10n/bundle.l10n.es.json b/l10n/bundle.l10n.es.json index 4ea625a6fa..aa98565f24 100644 --- a/l10n/bundle.l10n.es.json +++ b/l10n/bundle.l10n.es.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "No se pueden crear configuraciones de depuración de .NET. El servidor aún se está inicializando o se cerró inesperadamente.", "Cannot load Razor language server because the directory was not found: '{0}'": "No se puede cargar el servidor de lenguaje Razor porque no se encontró el directorio: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "No se pueden resolver configuraciones de depuración de .NET. El servidor aún se está inicializando o se cerró inesperadamente.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "No se puede iniciar la recopilación de registros de Razor cuando {0} se establece en {1}. {0} Establezca y vuelva a cargar el entorno de VSCode y vuelva a {2} ejecutar el comando de problema de Razor del informe.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "No se puede iniciar la recopilación de registros de Razor cuando {0} está establecido en {1}. Abra la ventana de salida, elija \"Registro de Razor\" y utilice el icono de engranaje para asegurarse de que el nivel de registro esté configurado en \"Depurar\" o \"Seguimiento\".", "Cannot stop Razor Language Server as it is already stopped.": "No se puede detener el servidor de lenguaje Razor porque ya está detenido.", "Choose": "Elegir", "Choose and set default": "Elegir y establecer el valor predeterminado", diff --git a/l10n/bundle.l10n.fr.json b/l10n/bundle.l10n.fr.json index 98db467679..0fa1667053 100644 --- a/l10n/bundle.l10n.fr.json +++ b/l10n/bundle.l10n.fr.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Impossible de créer des configurations de débogage .NET. Le serveur est toujours en cours d’initialisation ou s’est arrêté de manière inattendue.", "Cannot load Razor language server because the directory was not found: '{0}'": "Impossible de charger le serveur de langage Razor, car le répertoire est introuvable : «{0}»", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Impossible de résoudre les configurations de débogage .NET. Le serveur est toujours en cours d’initialisation ou s’est arrêté de manière inattendue.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Impossible de démarrer la collecte des journaux Razor lorsque {0} est défini sur {1}. Définissez {0} sur {2}, puis rechargez votre environnement VSCode et réexécutez la commande de signalement de problème Razor.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Impossible de démarrer la collecte des journaux Razor lorsque {0} est défini sur {1}. Veuillez ouvrir la fenêtre de sortie, choisir « Journal Razor », et utiliser l’icône d’engrenage pour vous assurer que le niveau de journal est réglé sur « Débogage » ou « Trace ».", "Cannot stop Razor Language Server as it is already stopped.": "Impossible d’arrêter le serveur de langage Razor, car il est déjà arrêté.", "Choose": "Choisir", "Choose and set default": "Choisir et définir la valeur par défaut", diff --git a/l10n/bundle.l10n.it.json b/l10n/bundle.l10n.it.json index 67765d5f09..ed6cf7b44b 100644 --- a/l10n/bundle.l10n.it.json +++ b/l10n/bundle.l10n.it.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Impossibile creare configurazioni di debug .NET. Inizializzazione del server ancora in corso o chiusura imprevista.", "Cannot load Razor language server because the directory was not found: '{0}'": "Non è possibile caricare il server di linguaggio Razor perché la directory non è stata trovata: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Impossibile risolvere le configurazioni di debug .NET. Inizializzazione del server ancora in corso o chiusura imprevista.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Non è possibile avviare la raccolta dei log Razor quando {0} è impostato su {1}. Impostare {0} su {2} ricaricare l'ambiente VSCode ed eseguire di nuovo il comando Segnala problema Razor.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Non è possibile avviare la raccolta dei log Razor quando {0} è impostato su {1}. Aprire la finestra di output, scegliere \"Log Razor\" e utilizzare l'icona a forma di ingranaggi per assicurarsi che il livello di registrazione sia impostato su \"Debug\" o \"Traccia\".", "Cannot stop Razor Language Server as it is already stopped.": "Non è possibile arrestare il server di linguaggio Razor perché è già stato arrestato.", "Choose": "Scegli", "Choose and set default": "Scegliere e impostare il valore predefinito", diff --git a/l10n/bundle.l10n.ja.json b/l10n/bundle.l10n.ja.json index 5aa7cd267f..895204f8bf 100644 --- a/l10n/bundle.l10n.ja.json +++ b/l10n/bundle.l10n.ja.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET デバッグ構成を作成できません。サーバーはまだ初期化中か、予期せず終了しました。", "Cannot load Razor language server because the directory was not found: '{0}'": "ディレクトリが見つからないため、Razor 言語サーバーを読み込めません: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET デバッグ構成を解決できません。サーバーはまだ初期化中か、予期せず終了しました。", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "{0} が {1} に設定されている場合、Razor ログの収集を開始できません。{0} を {2} に設定してから、VSCode 環境を再度読み込み、Razor の問題を報告するコマンドを再実行してください。", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "{0} が {1} に設定されている場合、Razor ログの収集を開始できません。出力ウィンドウを開き、[Razor ログ] を選択し、歯車アイコンを使用してログ レベルが [デバッグ] または [トレース] に設定されていることを確認してください。", "Cannot stop Razor Language Server as it is already stopped.": "Razor 言語サーバーは既に停止しているため、停止できません。", "Choose": "選択", "Choose and set default": "既定の選択と設定", diff --git a/l10n/bundle.l10n.json b/l10n/bundle.l10n.json index 6ad19dccdc..9eb91fa082 100644 --- a/l10n/bundle.l10n.json +++ b/l10n/bundle.l10n.json @@ -1,12 +1,12 @@ { + "How to setup Remote Debugging": "How to setup Remote Debugging", + "The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.": "The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.", + "The C# extension for Visual Studio Code is incompatible on {0} {1}.": "The C# extension for Visual Studio Code is incompatible on {0} {1}.", "Update and reload": "Update and reload", "The {0} extension requires at least {1} of the .NET Install Tool ({2}) extension. Please update to continue": "The {0} extension requires at least {1} of the .NET Install Tool ({2}) extension. Please update to continue", "Version {0} of the .NET Install Tool ({1}) was not found, {2} will not activate.": "Version {0} of the .NET Install Tool ({1}) was not found, {2} will not activate.", ".NET Test Log": ".NET Test Log", ".NET NuGet Restore": ".NET NuGet Restore", - "How to setup Remote Debugging": "How to setup Remote Debugging", - "The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.": "The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.", - "The C# extension for Visual Studio Code is incompatible on {0} {1}.": "The C# extension for Visual Studio Code is incompatible on {0} {1}.", "Cannot create .NET debug configurations. No workspace folder was selected.": "Cannot create .NET debug configurations. No workspace folder was selected.", "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.", "Cannot create .NET debug configurations. The active C# project is not within folder '{0}'.": "Cannot create .NET debug configurations. The active C# project is not within folder '{0}'.", @@ -99,7 +99,7 @@ "{0}, paste your issue contents as the body of the issue. Don't forget to fill out any details left unfilled.": "{0}, paste your issue contents as the body of the issue. Don't forget to fill out any details left unfilled.", "Privacy Alert! The contents copied to your clipboard may contain personal data. Prior to posting to GitHub, please remove any personal data which should not be publicly viewable.": "Privacy Alert! The contents copied to your clipboard may contain personal data. Prior to posting to GitHub, please remove any personal data which should not be publicly viewable.", "Copy issue content again": "Copy issue content again", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".", "Non Razor file as active document": "Non Razor file as active document", "Could not determine CSharp content": "Could not determine CSharp content", "Could not determine Html content": "Could not determine Html content", @@ -162,8 +162,14 @@ "Text editor must be focused to fix all issues": "Text editor must be focused to fix all issues", "Fix all issues": "Fix all issues", "Select fix all action": "Select fix all action", + "C# LSP Trace Logs": "C# LSP Trace Logs", + "Open solution": "Open solution", + "Restart server": "Restart server", + "C# Workspace Status": "C# Workspace Status", + "The active document is not part of the open workspace. Not all language features will be available.": "The active document is not part of the open workspace. Not all language features will be available.", + "Dismiss": "Dismiss", + "Do not show for this workspace": "Do not show for this workspace", "Test run already in progress": "Test run already in progress", - "Generated document not found": "Generated document not found", "Server stopped": "Server stopped", "Workspace projects": "Workspace projects", "Your workspace has multiple Visual Studio Solution files; please select one to get full IntelliSense.": "Your workspace has multiple Visual Studio Solution files; please select one to get full IntelliSense.", @@ -174,21 +180,15 @@ "IntelliCode features will not be available, {0} failed to activate.": "IntelliCode features will not be available, {0} failed to activate.", "Go to output": "Go to output", "Suppress notification": "Suppress notification", - "C# LSP Trace Logs": "C# LSP Trace Logs", "Restore {0}": "Restore {0}", "Restore already in progress": "Restore already in progress", "Sending request": "Sending request", + "C# Project Context Status": "C# Project Context Status", + "Active File Context": "Active File Context", "C# configuration has changed. Would you like to reload the window to apply your changes?": "C# configuration has changed. Would you like to reload the window to apply your changes?", + "Generated document not found": "Generated document not found", "Nested Code Action": "Nested Code Action", "Fix All: ": "Fix All: ", - "The active document is not part of the open workspace. Not all language features will be available.": "The active document is not part of the open workspace. Not all language features will be available.", - "Dismiss": "Dismiss", - "Do not show for this workspace": "Do not show for this workspace", - "Open solution": "Open solution", - "Restart server": "Restart server", - "C# Workspace Status": "C# Workspace Status", - "C# Project Context Status": "C# Project Context Status", - "Active File Context": "Active File Context", "Pick a fix all scope": "Pick a fix all scope", "Fix All Code Action": "Fix All Code Action", "Failed to set extension directory": "Failed to set extension directory", diff --git a/l10n/bundle.l10n.ko.json b/l10n/bundle.l10n.ko.json index 12a89e7215..d76ae4223a 100644 --- a/l10n/bundle.l10n.ko.json +++ b/l10n/bundle.l10n.ko.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET 디버그 구성을 생성할 수 없습니다. 서버가 아직 초기화 중이거나 예기치 않게 종료되었습니다.", "Cannot load Razor language server because the directory was not found: '{0}'": "디렉터리를 찾을 수 없어 Razor 언어 서버를 로드할 수 없습니다: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET 디버그 구성을 확인할 수 없습니다. 서버가 아직 초기화 중이거나 예기치 않게 종료되었습니다.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "{0}이(가) {1}(으)로 설정되면 Razor 로그 수집을 시작할 수 없습니다. {0}을(를) {2}(으)로 설정한 다음 VSCode 환경을 다시 로드하고 Razor 문제 보고서 명령을 다시 실행하세요.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "{0}이(가) {1}(으)로 설정되면 Razor 로그 수집을 시작할 수 없습니다. 출력 창을 열고 \"Razor 로그\"를 선택한 다음 기어 아이콘을 사용하여 로그 수준이 \"디버그\" 또는 \"추적\"으로 설정되어 있는지 확인하세요.", "Cannot stop Razor Language Server as it is already stopped.": "이미 중지되어 있으므로 Razor 언어 서버를 중지할 수 없습니다.", "Choose": "선택", "Choose and set default": "기본값 선택 및 설정", diff --git a/l10n/bundle.l10n.pl.json b/l10n/bundle.l10n.pl.json index bc6273b02e..a2ac93c427 100644 --- a/l10n/bundle.l10n.pl.json +++ b/l10n/bundle.l10n.pl.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Nie można utworzyć konfiguracji debugowania platformy .NET. Serwer nadal inicjuje się lub nieoczekiwanie zakończył działanie.", "Cannot load Razor language server because the directory was not found: '{0}'": "Nie można załadować serwera języka Razor, ponieważ nie znaleziono katalogu: „{0}”", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Nie można rozpoznać konfiguracji debugowania platformy .NET. Serwer nadal inicjuje się lub nieoczekiwanie zakończył działanie.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Nie można rozpocząć zbierania dzienników Razor, gdy element {0} jest ustawiony na wartość {1}. Ustaw element {0} na {2}, a następnie ponownie załaduj środowisko VSCode i uruchom ponownie polecenie raportowania problemu aparatu Razor.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Nie można rozpocząć zbierania dzienników Razor, gdy wartość {0} jest ustawiona na {1}. Otwórz okno danych wyjściowych, wybierz pozycję „Dziennik Razor” i użyj ikony koła zębatego, aby upewnić się, że poziom dziennika ma wartość „Debugowanie” lub „Śledzenie”.", "Cannot stop Razor Language Server as it is already stopped.": "Nie można zatrzymać serwera języka Razor, ponieważ jest on już zatrzymany.", "Choose": "Wybierz", "Choose and set default": "Wybierz i ustaw wartość domyślną", diff --git a/l10n/bundle.l10n.pt-br.json b/l10n/bundle.l10n.pt-br.json index 5d62f94486..d756298d2e 100644 --- a/l10n/bundle.l10n.pt-br.json +++ b/l10n/bundle.l10n.pt-br.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Não foi possível criar configurações de depuração do .NET. O servidor ainda está sendo inicializado ou foi encerrado inesperadamente.", "Cannot load Razor language server because the directory was not found: '{0}'": "Não é possível carregar o servidor de idioma do Razor porque o diretório não foi encontrado: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Não foi possível resolver as configurações de depuração do .NET. O servidor ainda está sendo inicializado ou foi encerrado inesperadamente.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Não é possível iniciar a coleta de logs do Razor quando {0} está definido como {1}. Defina {0} como {2} e, em seguida, recarregue seu ambiente VSCode e execute novamente o comando Razor relatar problema.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Não é possível começar a coletar logs do Razor quando {0} está definido como {1}. Abra a janela de saída, escolha o \"Log do Razor\" e use o ícone de engrenagem para garantir que o nível de log esteja definido como \"Depurar\" ou \"Rastrear\".", "Cannot stop Razor Language Server as it is already stopped.": "Não é possível parar o Razor Language Server porque ele já está parado.", "Choose": "Escolher", "Choose and set default": "Escolher e definir o padrão", diff --git a/l10n/bundle.l10n.ru.json b/l10n/bundle.l10n.ru.json index 090f3f7538..bd976ae399 100644 --- a/l10n/bundle.l10n.ru.json +++ b/l10n/bundle.l10n.ru.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Не удается создать конфигурации отладки .NET. Сервер все еще инициализируется или неожиданно завершил работу.", "Cannot load Razor language server because the directory was not found: '{0}'": "Не удалось загрузить языковой сервер Razor, поскольку не найден каталог \"{0}\"", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Не удается разрешить конфигурации отладки .NET. Сервер все еще инициализируется или неожиданно завершил работу.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Не удалось запустить сбор журналов Razor, поскольку параметру {0} задано значение {1}. Задайте параметру {0} значение {2}, после чего перезапустите среду VSCode и повторно сообщите о проблеме Razor.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "Невозможно начать сбор журналов Razor, когда для {0} присвоено значение {1}. Откройте окно вывода, выберите \"Журнал Razor\" и используйте значок шестеренки, чтобы убедиться, что уровню ведения журнала присвоено значение \"Отладка\" или \"Трассировка\".", "Cannot stop Razor Language Server as it is already stopped.": "Не удалось остановить языковой сервер Razor, поскольку он уже остановлен.", "Choose": "Выбрать", "Choose and set default": "Выберите и задайте значение по умолчанию", diff --git a/l10n/bundle.l10n.tr.json b/l10n/bundle.l10n.tr.json index 0b402965db..f5a1ece058 100644 --- a/l10n/bundle.l10n.tr.json +++ b/l10n/bundle.l10n.tr.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET hata ayıklama yapılandırmaları oluşturulamıyor. Sunucu hala başlatılıyor veya beklenmedik şekilde çıkıldı.", "Cannot load Razor language server because the directory was not found: '{0}'": "'{0}' dizini bulunamadığından Razor dil sunucusu yüklenemiyor.", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": ".NET hata ayıklama yapılandırmaları çözümlenemiyor. Sunucu hala başlatılıyor veya beklenmedik şekilde çıkıldı.", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Razor günlükleri toplama işlemi {0}, {1} olarak ayarlandığında başlatılamıyor. Lütfen {0} ayarını {2} olarak ayarlayın ve VSCode ortamınızı yeniden yükleyin ve Razor sorunu bildir komutunu yeniden çalıştırın.", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "{0} seçeneği {1} olarak ayarlıyken Razor günlüklerinin toplanmasına başlanamaz. Lütfen çıkış penceresini açın, “Razor Günlüğü” seçeneğini belirleyin ve günlük düzeyinin “Hata Ayıklama” veya “İzleme” olarak ayarlandığından emin olmak için dişli simgesini kullanın.", "Cannot stop Razor Language Server as it is already stopped.": "Razor Dil Sunucusu zaten durdurulmuş olduğundan durdurulamıyor.", "Choose": "Seç", "Choose and set default": "Varsayılanı seç ve ayarla", diff --git a/l10n/bundle.l10n.zh-cn.json b/l10n/bundle.l10n.zh-cn.json index b32e974f35..6099cb8d51 100644 --- a/l10n/bundle.l10n.zh-cn.json +++ b/l10n/bundle.l10n.zh-cn.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "无法创建 .NET 调试配置。服务器仍在初始化或意外退出。", "Cannot load Razor language server because the directory was not found: '{0}'": "无法加载 Razor 语言服务器,因为找不到该目录:“{0}”", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "无法解析 .NET 调试配置。服务器仍在初始化或意外退出。", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "{0} 设置为 {1} 时,无法开始收集 Razor 日志。请将 {0} 设置为 {2},然后重新加载 VSCode 环境,然后重新运行报告 Razor 问题命令。", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "将 {0} 设置为 {1} 时,无法开始收集 Razor 日志。请打开输出窗口,选择“Razor 日志”,然后使用齿轮图标来确保将日志级别设置为“调试”或“跟踪”。", "Cannot stop Razor Language Server as it is already stopped.": "无法停止 Razor 语言服务器,因为它已经停止。", "Choose": "选择", "Choose and set default": "选择并设置默认值", diff --git a/l10n/bundle.l10n.zh-tw.json b/l10n/bundle.l10n.zh-tw.json index 9506f18d85..320f1fc82d 100644 --- a/l10n/bundle.l10n.zh-tw.json +++ b/l10n/bundle.l10n.zh-tw.json @@ -25,7 +25,7 @@ "Cannot create .NET debug configurations. The server is still initializing or has exited unexpectedly.": "無法建立 .NET 偵錯設定。伺服器仍在初始化或已意外結束。", "Cannot load Razor language server because the directory was not found: '{0}'": "無法載入 Razor 語言伺服器,因為找不到目錄: '{0}'", "Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "無法解析 .NET 偵錯設定。伺服器仍在初始化或已意外結束。", - "Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "{0} 設為 {1} 時,無法開始收集 Razor 記錄。請將 {0} 設為 {2},然後重新載入您的 VSCode 環境,並重新執行報告 Razor 問題命令。", + "Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the \"Razor Log\", and use the gear icon to ensure the log level is set to \"Debug\" or \"Trace\".": "當 {0} 設定為 {1} 時,無法開始收集 Razor 記錄。請開啟輸出視窗,選擇「Razor 記錄」,並使用齒輪圖示確保記錄層級設定為「偵錯」或「追蹤」。", "Cannot stop Razor Language Server as it is already stopped.": "無法停止 Razor 語言伺服器,因為它已停止。", "Choose": "選擇", "Choose and set default": "選擇並設定預設值", diff --git a/package-lock.json b/package-lock.json index fcbc799dd0..9b5c7a838a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "2.63.32", "license": "SEE LICENSE IN RuntimeLicenses/license.txt", "dependencies": { + "@github/copilot-language-server": "1.290.0", "@microsoft/servicehub-framework": "4.2.99-beta", "@octokit/rest": "^20.0.1", "@types/cross-spawn": "6.0.2", @@ -35,11 +36,12 @@ "tar": "^6.1.15", "tmp": "0.0.33", "uuid": "^9.0.0", - "vscode-html-languageservice": "^5.0.1", - "vscode-jsonrpc": "8.2.0-next.0", - "vscode-languageclient": "8.2.0-next.1", - "vscode-languageserver-protocol": "3.17.4-next.1", - "vscode-languageserver-textdocument": "^1.0.5", + "vscode-html-languageservice": "^5.3.1", + "vscode-jsonrpc": "9.0.0-next.7", + "vscode-languageclient": "10.0.0-next.14", + "vscode-languageserver-protocol": "3.17.6-next.12", + "vscode-languageserver-textdocument": "1.0.12", + "vscode-languageserver-types": "3.17.6-next.6", "vscode-nls": "5.0.1", "yauzl": "2.10.0" }, @@ -65,6 +67,7 @@ "@vscode/vsce": "3.0.0", "archiver": "5.3.0", "del": "3.0.0", + "esbuild": "^0.25.0", "eslint": "^8.43.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-header": "^3.1.1", @@ -91,12 +94,11 @@ "ts-loader": "9.0.0", "ts-node": "9.1.1", "typescript": "5.6.2", + "umd-compat-loader": "2.1.2", "unzipper": "0.10.11", "vscode-oniguruma": "^1.6.1", "vscode-textmate": "^6.0.0", - "vscode-uri": "^3.0.7", - "webpack": "5.94.0", - "webpack-cli": "4.6.0" + "vscode-uri": "^3.0.7" }, "engines": { "vscode": "^1.93.0" @@ -104,9 +106,8 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -117,8 +118,6 @@ }, "node_modules/@azure-rest/ai-translation-text": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure-rest/ai-translation-text/-/ai-translation-text-1.0.0.tgz", - "integrity": "sha1-ZmT3YJ2e96FELKS9iyc0h0/qd4w=", "dev": true, "license": "MIT", "dependencies": { @@ -134,15 +133,11 @@ }, "node_modules/@azure-rest/ai-translation-text/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure-rest/core-client": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure-rest/core-client/-/core-client-1.4.0.tgz", - "integrity": "sha1-O+KMAsbCDknepzp/AS2u7aTqy44=", "dev": true, "license": "MIT", "dependencies": { @@ -159,8 +154,6 @@ }, "node_modules/@azure-rest/core-client/node_modules/@azure/abort-controller": { "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", - "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", "dev": true, "license": "MIT", "dependencies": { @@ -172,15 +165,11 @@ }, "node_modules/@azure-rest/core-client/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/abort-controller": { "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha1-eI7nhFelWvihrTQqyxgjg9IRkkk=", "dev": true, "license": "MIT", "dependencies": { @@ -192,15 +181,11 @@ }, "node_modules/@azure/abort-controller/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/core-auth": { "version": "1.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-auth/-/core-auth-1.7.2.tgz", - "integrity": "sha1-VYt8t90SsAvuwHrl31kH103x69k=", "dev": true, "license": "MIT", "dependencies": { @@ -214,8 +199,6 @@ }, "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { "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", - "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", "dev": true, "license": "MIT", "dependencies": { @@ -227,15 +210,11 @@ }, "node_modules/@azure/core-auth/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/core-client": { "version": "1.9.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-client/-/core-client-1.9.2.tgz", - "integrity": "sha1-b8ac7igWiDq2xc3WU+5PL/l3T3Q=", "dev": true, "license": "MIT", "dependencies": { @@ -253,8 +232,6 @@ }, "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { "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", - "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", "dev": true, "license": "MIT", "dependencies": { @@ -266,15 +243,11 @@ }, "node_modules/@azure/core-client/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/core-rest-pipeline": { "version": "1.16.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.3.tgz", - "integrity": "sha1-veO8PrrX+IXd2d5q9eWo/CVLKH4=", "dev": true, "license": "MIT", "dependencies": { @@ -293,8 +266,6 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { "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", - "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", "dev": true, "license": "MIT", "dependencies": { @@ -306,15 +277,11 @@ }, "node_modules/@azure/core-rest-pipeline/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/core-tracing": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-tracing/-/core-tracing-1.1.2.tgz", - "integrity": "sha1-Bl2rTgk/thiZmIoc28gn2a2QtO4=", "dev": true, "license": "MIT", "dependencies": { @@ -326,15 +293,11 @@ }, "node_modules/@azure/core-tracing/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/core-util": { "version": "1.9.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/core-util/-/core-util-1.9.2.tgz", - "integrity": "sha1-HcN9xbDa40xXi+Ys+YkFunwMr+c=", "dev": true, "license": "MIT", "dependencies": { @@ -347,8 +310,6 @@ }, "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { "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", - "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", "dev": true, "license": "MIT", "dependencies": { @@ -360,15 +321,11 @@ }, "node_modules/@azure/core-util/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/identity": { "version": "4.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/identity/-/identity-4.4.1.tgz", - "integrity": "sha1-SQ+irSZ4Yimvo2QRiSu1Pfo0eNM=", "dev": true, "license": "MIT", "dependencies": { @@ -393,8 +350,6 @@ }, "node_modules/@azure/identity/node_modules/jwa": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha1-p+nD8p2ulAJ+vK9Jl1yTRVk0EPw=", "dev": true, "license": "MIT", "dependencies": { @@ -405,8 +360,6 @@ }, "node_modules/@azure/identity/node_modules/jws": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jws/-/jws-4.0.0.tgz", - "integrity": "sha1-LU6M9qMY/6oSYV6d7H6G5slzEPQ=", "dev": true, "license": "MIT", "dependencies": { @@ -416,15 +369,11 @@ }, "node_modules/@azure/identity/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/logger": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/logger/-/logger-1.1.4.tgz", - "integrity": "sha1-Ijy/K0JN+mZHjOmk9XX1nG83l2g=", "dev": true, "license": "MIT", "dependencies": { @@ -436,15 +385,11 @@ }, "node_modules/@azure/logger/node_modules/tslib": { "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=", "dev": true, "license": "0BSD" }, "node_modules/@azure/msal-browser": { "version": "3.22.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-browser/-/msal-browser-3.22.0.tgz", - "integrity": "sha1-5MJgX6wSvY8Xdhfld8WdFdEFVRM=", "dev": true, "license": "MIT", "dependencies": { @@ -456,8 +401,6 @@ }, "node_modules/@azure/msal-common": { "version": "14.14.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-common/-/msal-common-14.14.2.tgz", - "integrity": "sha1-WDtKycCJlTcY16Xi87jfLU27F/Q=", "dev": true, "license": "MIT", "engines": { @@ -466,8 +409,6 @@ }, "node_modules/@azure/msal-node": { "version": "2.13.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@azure/msal-node/-/msal-node-2.13.1.tgz", - "integrity": "sha1-8UQ3EnW3w8vlZHYrhHcqlzJFekc=", "dev": true, "license": "MIT", "dependencies": { @@ -481,8 +422,6 @@ }, "node_modules/@azure/msal-node/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", "dev": true, "license": "MIT", "bin": { @@ -491,9 +430,8 @@ }, "node_modules/@babel/code-frame": { "version": "7.22.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" @@ -504,18 +442,16 @@ }, "node_modules/@babel/compat-data": { "version": "7.22.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { "version": "7.22.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/core/-/core-7.22.10.tgz", - "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.10", @@ -543,18 +479,16 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { "version": "7.23.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", @@ -567,9 +501,8 @@ }, "node_modules/@babel/generator/node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -579,9 +512,8 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", - "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", @@ -595,42 +527,37 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { "version": "7.23.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" @@ -641,9 +568,8 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -653,9 +579,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -665,9 +590,8 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.22.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -684,18 +608,16 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -705,9 +627,8 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -717,36 +638,32 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { "version": "7.22.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helpers/-/helpers-7.22.10.tgz", - "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.10", @@ -758,9 +675,8 @@ }, "node_modules/@babel/highlight": { "version": "7.22.20", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -772,9 +688,8 @@ }, "node_modules/@babel/parser": { "version": "7.23.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -784,9 +699,8 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -796,9 +710,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -808,9 +721,8 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -820,9 +732,8 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -832,9 +743,8 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -844,9 +754,8 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -859,9 +768,8 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -871,9 +779,8 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -883,9 +790,8 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -895,9 +801,8 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -907,9 +812,8 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -919,9 +823,8 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -931,9 +834,8 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -946,9 +848,8 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.22.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -961,9 +862,8 @@ }, "node_modules/@babel/template": { "version": "7.22.15", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/parser": "^7.22.15", @@ -975,9 +875,8 @@ }, "node_modules/@babel/traverse": { "version": "7.23.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.23.0", @@ -996,18 +895,16 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { "version": "7.23.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20", @@ -1019,24 +916,13 @@ }, "node_modules/@bcoe/v8-coverage": { "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", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true, - "engines": { - "node": ">=10.0.0" - } + "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -1049,8 +935,6 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.11.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha1-sP/QMStKP9LW93I35ySKWtOmgK4=", "dev": true, "license": "MIT", "engines": { @@ -1059,8 +943,6 @@ }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha1-OIomnw8lwbatwxe1osVXFIlMcK0=", "dev": true, "license": "MIT", "dependencies": { @@ -1083,15 +965,11 @@ }, "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", "dev": true, "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "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", - "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", "dev": true, "license": "MIT", "dependencies": { @@ -1103,8 +981,6 @@ }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", - "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=", "dev": true, "license": "ISC", "dependencies": { @@ -1116,28 +992,53 @@ }, "node_modules/@eslint/js": { "version": "8.57.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha1-pUF66EJ4c/HdCLcLNXS0U+Z7X38=", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@github/copilot-language-server": { + "version": "1.290.0", + "license": "https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features", + "dependencies": { + "vscode-languageserver-protocol": "^3.17.5" + }, + "bin": { + "copilot-language-server": "dist/language-server.js" + } + }, + "node_modules/@github/copilot-language-server/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@github/copilot-language-server/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/@github/copilot-language-server/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "license": "MIT" + }, "node_modules/@gulpjs/messages": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@gulpjs/messages/-/messages-1.1.0.tgz", - "integrity": "sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/@gulpjs/to-absolute-glob": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@gulpjs/to-absolute-glob/-/to-absolute-glob-4.0.0.tgz", - "integrity": "sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==", "dev": true, + "license": "MIT", "dependencies": { "is-negated-glob": "^1.0.0" }, @@ -1147,8 +1048,6 @@ }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha1-145IGgOfdWbsyWYLTqf+ax/sRCs=", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1162,9 +1061,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "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", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -1175,16 +1073,13 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha1-Siho111taWPkI7z5C3/RvjQ0CdM=", "dev": true, "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "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", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1199,9 +1094,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1211,9 +1105,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "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", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1223,15 +1116,13 @@ }, "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "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", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "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", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -1246,9 +1137,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "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", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1261,9 +1151,8 @@ }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "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", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -1278,9 +1167,8 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1294,18 +1182,16 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "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", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1316,9 +1202,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "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", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1328,9 +1213,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "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", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1343,9 +1227,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "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", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1355,18 +1238,16 @@ }, "node_modules/@istanbuljs/schema": { "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", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/console/-/console-29.6.4.tgz", - "integrity": "sha512-wNK6gC0Ha9QeEPSkeJedQuTQqxZYnDPuDcDhVuVatRvMkL4D0VTvFVZj+Yuh6caG2aOfzkUZ36KtCmLNtR02hw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1381,9 +1262,8 @@ }, "node_modules/@jest/console/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1396,9 +1276,8 @@ }, "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1412,9 +1291,8 @@ }, "node_modules/@jest/console/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1424,24 +1302,21 @@ }, "node_modules/@jest/console/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/console/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1451,9 +1326,8 @@ }, "node_modules/@jest/core": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/core/-/core-29.6.4.tgz", - "integrity": "sha512-U/vq5ccNTSVgYH7mHnodHmCffGWHJnz/E1BEWlLuK5pM4FZmGfBn/nrJGLjUsSmyx3otCeqc1T31F4y08AMDLg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/reporters": "^29.6.4", @@ -1498,9 +1372,8 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1513,9 +1386,8 @@ }, "node_modules/@jest/core/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1529,9 +1401,8 @@ }, "node_modules/@jest/core/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1541,24 +1412,21 @@ }, "node_modules/@jest/core/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/core/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/core/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1568,9 +1436,8 @@ }, "node_modules/@jest/environment": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/environment/-/environment-29.6.4.tgz", - "integrity": "sha512-sQ0SULEjA1XUTHmkBRl7A1dyITM9yb1yb3ZNKPX3KlTd6IG7mWUe3e2yfExtC2Zz1Q+mMckOLHmL/qLiuQJrBQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.6.4", "@jest/types": "^29.6.3", @@ -1583,9 +1450,8 @@ }, "node_modules/@jest/expect": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-Warhsa7d23+3X5bLbrbYvaehcgX5TLYhI03JKoedTiI8uJU4IhqYBWF7OSSgUyz4IgLpUYPkK0AehA5/fRclAA==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.6.4", "jest-snapshot": "^29.6.4" @@ -1596,9 +1462,8 @@ }, "node_modules/@jest/expect-utils": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/expect-utils/-/expect-utils-29.6.4.tgz", - "integrity": "sha512-FEhkJhqtvBwgSpiTrocquJCdXPsyvNKcl/n7A3u7X4pVoF4bswm11c9d4AV+kfq2Gpv/mM8x7E7DsRvH+djkrg==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1608,9 +1473,8 @@ }, "node_modules/@jest/fake-timers": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/fake-timers/-/fake-timers-29.6.4.tgz", - "integrity": "sha512-6UkCwzoBK60edXIIWb0/KWkuj7R7Qq91vVInOe3De6DSpaEiqjKcJw4F7XUet24Wupahj9J6PlR09JqJ5ySDHw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1625,9 +1489,8 @@ }, "node_modules/@jest/globals": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/globals/-/globals-29.6.4.tgz", - "integrity": "sha512-wVIn5bdtjlChhXAzVXavcY/3PEjf4VqM174BM3eGL5kMxLiZD5CLnbmkEyA1Dwh9q8XjP6E8RwjBsY/iCWrWsA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -1640,9 +1503,8 @@ }, "node_modules/@jest/reporters": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/reporters/-/reporters-29.6.4.tgz", - "integrity": "sha512-sxUjWxm7QdchdrD3NfWKrL8FBsortZeibSJv4XLjESOOjSUOkjQcb0ZHJwfhEGIvBvTluTzfG2yZWZhkrXJu8g==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.6.4", @@ -1683,9 +1545,8 @@ }, "node_modules/@jest/reporters/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1698,9 +1559,8 @@ }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1714,9 +1574,8 @@ }, "node_modules/@jest/reporters/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1726,24 +1585,21 @@ }, "node_modules/@jest/reporters/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/reporters/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz", - "integrity": "sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -1757,9 +1613,8 @@ }, "node_modules/@jest/reporters/node_modules/jest-worker": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.6.3", @@ -1772,9 +1627,8 @@ }, "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": { "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", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1787,9 +1641,8 @@ }, "node_modules/@jest/reporters/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1799,9 +1652,8 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1811,9 +1663,8 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1825,9 +1676,8 @@ }, "node_modules/@jest/test-result": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/test-result/-/test-result-29.6.4.tgz", - "integrity": "sha512-uQ1C0AUEN90/dsyEirgMLlouROgSY+Wc/JanVVk0OiUKa5UFh7sJpMEM3aoUBAz2BRNvUJ8j3d294WFuRxSyOQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/types": "^29.6.3", @@ -1840,9 +1690,8 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/test-sequencer/-/test-sequencer-29.6.4.tgz", - "integrity": "sha512-E84M6LbpcRq3fT4ckfKs9ryVanwkaIB0Ws9bw3/yP4seRLg/VaCZ/LgW0MCq5wwk4/iP/qnilD41aj2fsw2RMg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "graceful-fs": "^4.2.9", @@ -1855,9 +1704,8 @@ }, "node_modules/@jest/transform": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/transform/-/transform-29.6.4.tgz", - "integrity": "sha512-8thgRSiXUqtr/pPGY/OsyHuMjGyhVnWrFAwoxmIemlBuiMyU1WFs0tXoNxzcr4A4uErs/ABre76SGmrr5ab/AA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1881,9 +1729,8 @@ }, "node_modules/@jest/transform/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1896,9 +1743,8 @@ }, "node_modules/@jest/transform/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1912,9 +1758,8 @@ }, "node_modules/@jest/transform/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1924,30 +1769,26 @@ }, "node_modules/@jest/transform/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/transform/node_modules/convert-source-map": { "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", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/transform/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/transform/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -1957,9 +1798,8 @@ }, "node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1974,9 +1814,8 @@ }, "node_modules/@jest/types/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1989,9 +1828,8 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2005,9 +1843,8 @@ }, "node_modules/@jest/types/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2017,24 +1854,21 @@ }, "node_modules/@jest/types/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/types/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/types/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2044,8 +1878,6 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha1-3M5q/3S99trRqVgCtpsEovyx+zY=", "dev": true, "license": "MIT", "dependencies": { @@ -2059,17 +1891,14 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "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=", "dev": true, "license": "MIT", "engines": { @@ -2078,10 +1907,9 @@ }, "node_modules/@jridgewell/source-map": { "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=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -2089,14 +1917,11 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "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=", "dev": true, "license": "MIT", "dependencies": { @@ -2106,8 +1931,7 @@ }, "node_modules/@microsoft/1ds-core-js": { "version": "4.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/1ds-core-js/-/1ds-core-js-4.0.4.tgz", - "integrity": "sha512-QOCE0fTDOMNptB791chnVlfnRvb7faDQTaUIO3DfPBkvjF3PUAJJCsqJKWitw7nwVn8L82TFx+K22UifIr0zkg==", + "license": "MIT", "dependencies": { "@microsoft/applicationinsights-core-js": "3.0.5", "@microsoft/applicationinsights-shims": "3.0.1", @@ -2118,8 +1942,7 @@ }, "node_modules/@microsoft/1ds-post-js": { "version": "4.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/1ds-post-js/-/1ds-post-js-4.0.4.tgz", - "integrity": "sha512-jlPNL16iRXzmXfriGXv0INzrAl3AeDx+eCORjq8ZjRhIvohB6Q88m5E28nL6Drf5hJWE2ehoW4q8Vh612VoEHw==", + "license": "MIT", "dependencies": { "@microsoft/1ds-core-js": "4.0.4", "@microsoft/applicationinsights-shims": "3.0.1", @@ -2130,8 +1953,7 @@ }, "node_modules/@microsoft/applicationinsights-channel-js": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.5.tgz", - "integrity": "sha512-KfTYY0uZmrQgrz8ErBh1q08eiYfzjUIVzJZHETgEkqv3l2RTndQgpmywDbVNf9wVTB7Mp89ZrFeCciVJFf5geg==", + "license": "MIT", "dependencies": { "@microsoft/applicationinsights-common": "3.0.5", "@microsoft/applicationinsights-core-js": "3.0.5", @@ -2146,8 +1968,7 @@ }, "node_modules/@microsoft/applicationinsights-common": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.5.tgz", - "integrity": "sha512-ahph1fMqyLcZ1twzDKMzpHRgR9zEIyqNhMQxDgQ45ieVD641bZiYVwSlbntSXhGCtr5G5HE02zlEzwSxbx95ng==", + "license": "MIT", "dependencies": { "@microsoft/applicationinsights-core-js": "3.0.5", "@microsoft/applicationinsights-shims": "3.0.1", @@ -2160,8 +1981,7 @@ }, "node_modules/@microsoft/applicationinsights-core-js": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.5.tgz", - "integrity": "sha512-/x+tkxsVALNWSvwGMyaLwFPdD3p156Pef9WHftXrzrKkJ+685nhrwm9MqHIyEHHpSW09ElOdpJ3rfFVqpKRQyQ==", + "license": "MIT", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.2", @@ -2174,16 +1994,14 @@ }, "node_modules/@microsoft/applicationinsights-shims": { "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", - "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", + "license": "MIT", "dependencies": { "@nevware21/ts-utils": ">= 0.9.4 < 2.x" } }, "node_modules/@microsoft/applicationinsights-web-basic": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.5.tgz", - "integrity": "sha512-ps4wjmF9X80hakYxywlzBdSlDjfToZrz/cHKA/9yarrW3mbZGqjjksNoaFxtyU5BK4lhOvrgu+2+QcDHeEEnOA==", + "license": "MIT", "dependencies": { "@microsoft/applicationinsights-channel-js": "3.0.5", "@microsoft/applicationinsights-common": "3.0.5", @@ -2199,16 +2017,14 @@ }, "node_modules/@microsoft/dynamicproto-js": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz", - "integrity": "sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==", + "license": "MIT", "dependencies": { "@nevware21/ts-utils": ">= 0.9.4 < 2.x" } }, "node_modules/@microsoft/servicehub-framework": { "version": "4.2.99-beta", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@microsoft/servicehub-framework/-/servicehub-framework-4.2.99-beta.tgz", - "integrity": "sha512-KasKDbH24/Ro78mW9LpwazY21jy+MHl2/XLccyNr4R8BPoGJhy2MaaLLSkz55lNeVSlvWJqCyUVuPkkzhyw/dg==", + "license": "LICENSE.txt", "dependencies": { "await-semaphore": "^0.1.3", "cancellationtoken": "^2.2.0", @@ -2224,30 +2040,26 @@ }, "node_modules/@microsoft/servicehub-framework/node_modules/vscode-jsonrpc": { "version": "8.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz", - "integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/@nevware21/ts-async": { "version": "0.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nevware21/ts-async/-/ts-async-0.3.0.tgz", - "integrity": "sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==", + "license": "MIT", "dependencies": { "@nevware21/ts-utils": ">= 0.10.0 < 2.x" } }, "node_modules/@nevware21/ts-utils": { "version": "0.10.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz", - "integrity": "sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==" + "license": "MIT" }, "node_modules/@nodelib/fs.scandir": { "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", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2258,18 +2070,16 @@ }, "node_modules/@nodelib/fs.stat": { "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", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "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", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2280,8 +2090,6 @@ }, "node_modules/@octokit/app": { "version": "14.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/app/-/app-14.1.0.tgz", - "integrity": "sha1-LUkdxwdGdzuD9h7fXFaBfdfThUs=", "dev": true, "license": "MIT", "dependencies": { @@ -2299,15 +2107,11 @@ }, "node_modules/@octokit/app/node_modules/@octokit/openapi-types": { "version": "20.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha1-nsLaoAkO64Ze4UdjbgwA9zeQxuU=", "dev": true, "license": "MIT" }, "node_modules/@octokit/app/node_modules/@octokit/plugin-paginate-rest": { "version": "9.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha1-LiovD1LJpLHaGjqhfavjxFm55AE=", "dev": true, "license": "MIT", "dependencies": { @@ -2322,8 +2126,6 @@ }, "node_modules/@octokit/app/node_modules/@octokit/types": { "version": "12.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha1-gQD7nu7f4IOq5mRzvZexW2Ku3LI=", "dev": true, "license": "MIT", "dependencies": { @@ -2332,8 +2134,6 @@ }, "node_modules/@octokit/auth-app": { "version": "6.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-app/-/auth-app-6.1.2.tgz", - "integrity": "sha1-Gf8dfy/6XtYw1Gj6RTMOpZs5tHw=", "dev": true, "license": "MIT", "dependencies": { @@ -2353,15 +2153,11 @@ }, "node_modules/@octokit/auth-app/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/@octokit/auth-app/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -2370,15 +2166,11 @@ }, "node_modules/@octokit/auth-app/node_modules/lru-cache": { "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", - "integrity": "sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk=", "dev": true, "license": "ISC" }, "node_modules/@octokit/auth-oauth-app": { "version": "7.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-oauth-app/-/auth-oauth-app-7.1.0.tgz", - "integrity": "sha1-0PdOGevVpIKct4DBB87dbIlPIPw=", "dev": true, "license": "MIT", "dependencies": { @@ -2396,15 +2188,11 @@ }, "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/@octokit/auth-oauth-app/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -2413,8 +2201,6 @@ }, "node_modules/@octokit/auth-oauth-device": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-oauth-device/-/auth-oauth-device-6.1.0.tgz", - "integrity": "sha1-+GghOj2wX+J+aNH8YHUCoyI3ndk=", "dev": true, "license": "MIT", "dependencies": { @@ -2429,15 +2215,11 @@ }, "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/@octokit/auth-oauth-device/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -2446,8 +2228,6 @@ }, "node_modules/@octokit/auth-oauth-user": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-oauth-user/-/auth-oauth-user-4.1.0.tgz", - "integrity": "sha1-MuVSn4vZYa+YOaH4xqsMitIYTu4=", "dev": true, "license": "MIT", "dependencies": { @@ -2464,15 +2244,11 @@ }, "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/@octokit/auth-oauth-user/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -2481,16 +2257,13 @@ }, "node_modules/@octokit/auth-token": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "license": "MIT", "engines": { "node": ">= 18" } }, "node_modules/@octokit/auth-unauthenticated": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/auth-unauthenticated/-/auth-unauthenticated-5.0.1.tgz", - "integrity": "sha1-2AMiEXKDMwaLLge1OZfCnlmgNQc=", "dev": true, "license": "MIT", "dependencies": { @@ -2503,15 +2276,11 @@ }, "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/openapi-types": { "version": "20.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha1-nsLaoAkO64Ze4UdjbgwA9zeQxuU=", "dev": true, "license": "MIT" }, "node_modules/@octokit/auth-unauthenticated/node_modules/@octokit/types": { "version": "12.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha1-gQD7nu7f4IOq5mRzvZexW2Ku3LI=", "dev": true, "license": "MIT", "dependencies": { @@ -2520,8 +2289,7 @@ }, "node_modules/@octokit/core": { "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/core/-/core-5.0.0.tgz", - "integrity": "sha512-YbAtMWIrbZ9FCXbLwT9wWB8TyLjq9mxpKdgB3dUNxQcIVTf9hJ70gRPwAcqGZdY6WdJPZ0I7jLaaNDCiloGN2A==", + "license": "MIT", "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.0.0", @@ -2537,8 +2305,6 @@ }, "node_modules/@octokit/endpoint": { "version": "9.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha1-5sDuaE4wdhTAL8asEidMUNpGXEQ=", "license": "MIT", "dependencies": { "@octokit/types": "^13.1.0", @@ -2550,14 +2316,10 @@ }, "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "license": "MIT" }, "node_modules/@octokit/endpoint/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "license": "MIT", "dependencies": { "@octokit/openapi-types": "^22.2.0" @@ -2565,8 +2327,7 @@ }, "node_modules/@octokit/graphql": { "version": "7.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/graphql/-/graphql-7.0.1.tgz", - "integrity": "sha512-T5S3oZ1JOE58gom6MIcrgwZXzTaxRnxBso58xhozxHpOqSTgDS6YNeEUvZ/kRvXgPrRz/KHnZhtb7jUMRi9E6w==", + "license": "MIT", "dependencies": { "@octokit/request": "^8.0.1", "@octokit/types": "^11.0.0", @@ -2578,8 +2339,6 @@ }, "node_modules/@octokit/oauth-app": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/oauth-app/-/oauth-app-6.1.0.tgz", - "integrity": "sha1-IsJ29q0jZMaZmDe/3V2cEJKDhyY=", "dev": true, "license": "MIT", "dependencies": { @@ -2598,8 +2357,6 @@ }, "node_modules/@octokit/oauth-authorization-url": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz", - "integrity": "sha1-zILKKcxeM5yZIWcvOfKz9cjrbvI=", "dev": true, "license": "MIT", "engines": { @@ -2608,8 +2365,6 @@ }, "node_modules/@octokit/oauth-methods": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/oauth-methods/-/oauth-methods-4.1.0.tgz", - "integrity": "sha1-FAOsnE1OJ3ki/dxMifqKeC+PeRs=", "dev": true, "license": "MIT", "dependencies": { @@ -2625,15 +2380,11 @@ }, "node_modules/@octokit/oauth-methods/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/@octokit/oauth-methods/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -2642,14 +2393,12 @@ }, "node_modules/@octokit/openapi-types": { "version": "18.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-graphql": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-4.0.0.tgz", - "integrity": "sha512-7HcYW5tP7/Z6AETAPU14gp5H5KmCPT3hmJrS/5tO7HIgbwenYmgw4OY9Ma54FDySuxMwD+wsJlxtuGWwuZuItA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 18" }, @@ -2659,8 +2408,7 @@ }, "node_modules/@octokit/plugin-paginate-rest": { "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-8.0.0.tgz", - "integrity": "sha512-2xZ+baZWUg+qudVXnnvXz7qfrTmDeYPCzangBVq/1gXxii/OiS//4shJp9dnCCvj1x+JAm9ji1Egwm1BA47lPQ==", + "license": "MIT", "dependencies": { "@octokit/types": "^11.0.0" }, @@ -2673,8 +2421,7 @@ }, "node_modules/@octokit/plugin-request-log": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz", - "integrity": "sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==", + "license": "MIT", "engines": { "node": ">= 18" }, @@ -2684,8 +2431,7 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "9.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-9.0.0.tgz", - "integrity": "sha512-KquMF/VB1IkKNiVnzJKspY5mFgGyLd7HzdJfVEGTJFzqu9BRFNWt+nwTCMuUiWc72gLQhRWYubTwOkQj+w/1PA==", + "license": "MIT", "dependencies": { "@octokit/types": "^11.0.0" }, @@ -2698,9 +2444,8 @@ }, "node_modules/@octokit/plugin-retry": { "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-retry/-/plugin-retry-6.0.0.tgz", - "integrity": "sha512-a1/A4A+PB1QoAHQfLJxGHhLfSAT03bR1jJz3GgQJZvty2ozawFWs93MiBQXO7SL2YbO7CIq0Goj4qLOBj8JeMQ==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/request-error": "^5.0.0", "@octokit/types": "^11.0.0", @@ -2715,8 +2460,6 @@ }, "node_modules/@octokit/plugin-throttling": { "version": "8.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz", - "integrity": "sha1-nsPqLje5L6xj8GkR0MgUG0bcSUE=", "dev": true, "license": "MIT", "dependencies": { @@ -2732,15 +2475,11 @@ }, "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": { "version": "20.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha1-nsLaoAkO64Ze4UdjbgwA9zeQxuU=", "dev": true, "license": "MIT" }, "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": { "version": "12.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha1-gQD7nu7f4IOq5mRzvZexW2Ku3LI=", "dev": true, "license": "MIT", "dependencies": { @@ -2749,8 +2488,6 @@ }, "node_modules/@octokit/request": { "version": "8.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha1-f0t7Hao9H0jAl3rY//osGK3viXQ=", "license": "MIT", "dependencies": { "@octokit/endpoint": "^9.0.1", @@ -2764,8 +2501,6 @@ }, "node_modules/@octokit/request-error": { "version": "5.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha1-7kE4U40IyBpgvj8yDNcQYwZKOzA=", "license": "MIT", "dependencies": { "@octokit/types": "^13.1.0", @@ -2778,14 +2513,10 @@ }, "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "license": "MIT" }, "node_modules/@octokit/request-error/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "license": "MIT", "dependencies": { "@octokit/openapi-types": "^22.2.0" @@ -2793,14 +2524,10 @@ }, "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "license": "MIT" }, "node_modules/@octokit/request/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "license": "MIT", "dependencies": { "@octokit/openapi-types": "^22.2.0" @@ -2808,8 +2535,7 @@ }, "node_modules/@octokit/rest": { "version": "20.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/rest/-/rest-20.0.1.tgz", - "integrity": "sha512-wROV21RwHQIMNb2Dgd4+pY+dVy1Dwmp85pBrgr6YRRDYRBu9Gb+D73f4Bl2EukZSj5hInq2Tui9o7gAQpc2k2Q==", + "license": "MIT", "dependencies": { "@octokit/core": "^5.0.0", "@octokit/plugin-paginate-rest": "^8.0.0", @@ -2822,16 +2548,13 @@ }, "node_modules/@octokit/types": { "version": "11.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-11.1.0.tgz", - "integrity": "sha512-Fz0+7GyLm/bHt8fwEqgvRBWwIV1S6wRRyq+V6exRKLVWaKGsuy6H9QFYeBVDV7rK6fO3XwHgQOPxv+cLj2zpXQ==", + "license": "MIT", "dependencies": { "@octokit/openapi-types": "^18.0.0" } }, "node_modules/@octokit/webhooks": { "version": "12.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/webhooks/-/webhooks-12.2.0.tgz", - "integrity": "sha1-6h7i2dnFpLe1P/i8ZKn+sNrJQWE=", "dev": true, "license": "MIT", "dependencies": { @@ -2846,8 +2569,6 @@ }, "node_modules/@octokit/webhooks-methods": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/webhooks-methods/-/webhooks-methods-4.1.0.tgz", - "integrity": "sha1-aBpshsmyHU7J4pEI+wU651Er4DM=", "dev": true, "license": "MIT", "engines": { @@ -2856,16 +2577,13 @@ }, "node_modules/@octokit/webhooks-types": { "version": "7.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/webhooks-types/-/webhooks-types-7.4.0.tgz", - "integrity": "sha1-ftFcdZCGg6NOAHnIDyYf5Wi4c5U=", "dev": true, "license": "MIT" }, "node_modules/@pkgjs/parseargs": { "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", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -2873,49 +2591,42 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@types/archiver": { "version": "5.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/archiver/-/archiver-5.1.0.tgz", - "integrity": "sha512-baFOhanb/hxmcOd1Uey2TfFg43kTSmM6py1Eo7Rjbv/ivcl7PXLhY0QgXGf50Hx/eskGCFqPfhs/7IZLb15C5g==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "*" } }, "node_modules/@types/aws-lambda": { "version": "8.10.145", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/aws-lambda/-/aws-lambda-8.10.145.tgz", - "integrity": "sha1-stMamH9IiOVVP/GBn1fK+kdVlNk=", "dev": true, "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -2926,18 +2637,16 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -2945,73 +2654,63 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/btoa-lite": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/btoa-lite/-/btoa-lite-1.0.2.tgz", - "integrity": "sha1-grtqqwCr98/zyiglq+AQwM1TauU=", "dev": true, "license": "MIT" }, "node_modules/@types/chokidar": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/chokidar/-/chokidar-2.1.3.tgz", - "integrity": "sha512-6qK3xoLLAhQVTucQGHTySwOVA1crHRXnJeLwqK6KIFkkKa2aoMFXh+WEi8PotxDtvN6MQJLyYN9ag9P6NLV81w==", "dev": true, + "license": "MIT", "dependencies": { "chokidar": "*" } }, "node_modules/@types/cross-spawn": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/cross-spawn/-/cross-spawn-6.0.2.tgz", - "integrity": "sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/del": { "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/del/-/del-3.0.1.tgz", - "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "*" } }, "node_modules/@types/estree": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha1-ps4+VW4A/ZiV3Yct0XKtDUvWh/Q=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/expect": { "version": "1.20.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/expect/-/expect-1.20.4.tgz", - "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/fs-extra": { "version": "5.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/fs-extra/-/fs-extra-5.0.4.tgz", - "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/glob": { "version": "7.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "dev": true, + "license": "MIT", "dependencies": { "@types/minimatch": "*", "@types/node": "*" @@ -3019,9 +2718,8 @@ }, "node_modules/@types/glob-stream": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "*", "@types/node": "*" @@ -3029,18 +2727,16 @@ }, "node_modules/@types/graceful-fs": { "version": "4.1.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/gulp": { "version": "4.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/gulp/-/gulp-4.0.5.tgz", - "integrity": "sha512-nx1QjPTiRpvLfYsZ7MBu7bT6Cm7tAXyLbY0xbdx2IEMxCK2v2urIhJMQZHW0iV1TskM71Xl6p2uRRuWDbk+/7g==", "dev": true, + "license": "MIT", "dependencies": { "@types/chokidar": "*", "@types/undertaker": "*", @@ -3049,44 +2745,38 @@ }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/json-schema": { "version": "7.0.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/jsonwebtoken": { "version": "9.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/jsonwebtoken/-/jsonwebtoken-9.0.7.tgz", - "integrity": "sha1-5JuWwrKTVu1GLpcI/HO4MwFHJ9I=", "dev": true, "license": "MIT", "dependencies": { @@ -3095,20 +2785,16 @@ }, "node_modules/@types/minimatch": { "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/minimist": { "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { "version": "20.14.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-20.14.8.tgz", - "integrity": "sha1-RcJqKl3ibDU0qVBFMN2zsnzgMaw=", "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -3116,43 +2802,45 @@ }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.3.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/tar": { "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.5.tgz", - "integrity": "sha512-qm2I/RlZij5RofuY7vohTpYNaYcrSQlN2MyjucQc7ZweDwaEWkdN/EeNh6e9zjK6uEm6PwjdMXkcj05BxZdX1Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "minipass": "^4.0.0" } }, + "node_modules/@types/tar/node_modules/minipass": { + "version": "4.2.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, "node_modules/@types/tmp": { "version": "0.0.33", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/undertaker": { "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/undertaker/-/undertaker-1.2.3.tgz", - "integrity": "sha512-OhvIYx6pUJBxYZf5fM/BVMNXZQMy095kplml+4cWrlNqM1t6XtSIQCuVySGmICZCnzi69Epdljyplm86BlTouQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/undertaker-registry": "*" @@ -3160,30 +2848,26 @@ }, "node_modules/@types/undertaker-registry": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/unzipper": { "version": "0.9.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/unzipper/-/unzipper-0.9.2.tgz", - "integrity": "sha512-9K8sLpn1dxIzbXMDgUerkyO1z0deg5RqN/F6df8waAM94aPnS7x7V0l12kkUYoUlM8r4xWgvlcXLdWQvt6KdUA==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/uuid": { "version": "9.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/uuid/-/uuid-9.0.2.tgz", - "integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/vinyl": { "version": "2.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/vinyl/-/vinyl-2.0.7.tgz", - "integrity": "sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==", "dev": true, + "license": "MIT", "dependencies": { "@types/expect": "^1.20.4", "@types/node": "*" @@ -3191,9 +2875,8 @@ }, "node_modules/@types/vinyl-fs": { "version": "2.4.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/vinyl-fs/-/vinyl-fs-2.4.11.tgz", - "integrity": "sha512-2OzQSfIr9CqqWMGqmcERE6Hnd2KY3eBVtFaulVo3sJghplUcaeMdL9ZjEiljcQQeHjheWY9RlNmumjIAvsBNaA==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob-stream": "*", "@types/node": "*", @@ -3202,39 +2885,32 @@ }, "node_modules/@types/vscode": { "version": "1.93.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/vscode/-/vscode-1.93.0.tgz", - "integrity": "sha1-HNdXPgJyrvnDV7r8Y1thd8FUAT4=", "dev": true, "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.24", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/yauzl": { "version": "2.10.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", - "integrity": "sha1-XybAqDOye8sapAK4LnbTuN2gskc=", "dev": true, "license": "MIT", "dependencies": { @@ -3263,8 +2939,6 @@ }, "node_modules/@typescript-eslint/parser": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/parser/-/parser-8.19.1.tgz", - "integrity": "sha1-uDb8/npwTIxl9aUOWw/4rPylwhs=", "dev": true, "license": "MIT", "dependencies": { @@ -3288,8 +2962,6 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", - "integrity": "sha1-eUz8it1PNzuc1voy42fnVloOIxs=", "dev": true, "license": "MIT", "dependencies": { @@ -3306,8 +2978,6 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", - "integrity": "sha1-I3EKtSZDwZ90YBs/SgdsmPThWao=", "dev": true, "license": "MIT", "dependencies": { @@ -3330,8 +3000,6 @@ }, "node_modules/@typescript-eslint/types": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/types/-/types-8.19.1.tgz", - "integrity": "sha1-AVqZEoF1TtmG8uVJJjoRiNbtCow=", "dev": true, "license": "MIT", "engines": { @@ -3344,8 +3012,6 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", - "integrity": "sha1-wQlLsAvCUax2zyFVaconI2Q1A2s=", "dev": true, "license": "MIT", "dependencies": { @@ -3371,8 +3037,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { "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=", "dev": true, "license": "MIT", "dependencies": { @@ -3381,8 +3045,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha1-10+d1rV9g9jpjPuCEzsDl4vJKeU=", "dev": true, "license": "ISC", "dependencies": { @@ -3397,8 +3059,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", "dev": true, "license": "ISC", "bin": { @@ -3410,8 +3070,6 @@ }, "node_modules/@typescript-eslint/utils": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/utils/-/utils-8.19.1.tgz", - "integrity": "sha1-3Y6r1GuSv2HlcyhuHAumvSQ6GFs=", "dev": true, "license": "MIT", "dependencies": { @@ -3434,8 +3092,6 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "8.19.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", - "integrity": "sha1-/OVNfPpTUakjh9bAxb5ZjK7gcuA=", "dev": true, "license": "MIT", "dependencies": { @@ -3452,8 +3108,6 @@ }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { "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=", "dev": true, "license": "Apache-2.0", "engines": { @@ -3465,20 +3119,16 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha1-dWZBrbWHhRtcyz4JXa8nrlgchAY=", "dev": true, "license": "ISC" }, "node_modules/@vscode/debugprotocol": { "version": "1.56.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/debugprotocol/-/debugprotocol-1.56.0.tgz", - "integrity": "sha512-hM+LlYNimM5HxoWG5lvNYIStjsKJdKE/4nwOIYaAjr/M7Cb5bFaJcHfkcdTJZAZejao/ueakuZ0Iq3JkC1avcQ==" + "license": "MIT" }, "node_modules/@vscode/extension-telemetry": { "version": "0.9.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/extension-telemetry/-/extension-telemetry-0.9.0.tgz", - "integrity": "sha512-37RxGHXrs3GoXPgCUKQhghEu0gxs8j27RLjQwwtSf4WhPdJKz8UrqMYzpsXlliQ05zURYmtdGZst9C6+hfWXaQ==", + "license": "MIT", "dependencies": { "@microsoft/1ds-core-js": "^4.0.3", "@microsoft/1ds-post-js": "^4.0.3", @@ -3490,16 +3140,14 @@ }, "node_modules/@vscode/js-debug-browsers": { "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/js-debug-browsers/-/js-debug-browsers-1.1.0.tgz", - "integrity": "sha512-v2hkBzA3DlUYxq3fMpCR8xuzmYjkoYjy276XA7mzZVstsFYkfbsOkluRwulrbqEEsjy3XObPNZq+A3ZZkpC+Gw==", + "license": "MIT", "dependencies": { "execa": "^4.0.0" } }, "node_modules/@vscode/js-debug-browsers/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3511,8 +3159,7 @@ }, "node_modules/@vscode/js-debug-browsers/node_modules/execa": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -3533,24 +3180,21 @@ }, "node_modules/@vscode/js-debug-browsers/node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } }, "node_modules/@vscode/js-debug-browsers/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@vscode/js-debug-browsers/node_modules/shebang-command": { "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -3560,16 +3204,14 @@ }, "node_modules/@vscode/js-debug-browsers/node_modules/shebang-regex": { "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@vscode/js-debug-browsers/node_modules/which": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3580,10 +3222,12 @@ "node": ">= 8" } }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "license": "MIT" + }, "node_modules/@vscode/l10n-dev": { "version": "0.0.35", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/l10n-dev/-/l10n-dev-0.0.35.tgz", - "integrity": "sha1-zdgQala33I/u9i0QxBPW2NlLLVw=", "dev": true, "license": "MIT", "dependencies": { @@ -3604,25 +3248,21 @@ }, "node_modules/@vscode/l10n-dev/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", "dev": true, "license": "Python-2.0" }, "node_modules/@vscode/l10n-dev/node_modules/brace-expansion": { "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": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@vscode/l10n-dev/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -3634,8 +3274,6 @@ }, "node_modules/@vscode/l10n-dev/node_modules/entities": { "version": "4.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-4.5.0.tgz", - "integrity": "sha1-XSaOpecRPsdMTQM7eepaNaSI+0g=", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -3647,9 +3285,8 @@ }, "node_modules/@vscode/l10n-dev/node_modules/glob": { "version": "10.3.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.5", @@ -3669,8 +3306,6 @@ }, "node_modules/@vscode/l10n-dev/node_modules/linkify-it": { "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", - "integrity": "sha1-nvI4v6bccL2Of5VytS02mvVptCE=", "dev": true, "license": "MIT", "dependencies": { @@ -3679,8 +3314,6 @@ }, "node_modules/@vscode/l10n-dev/node_modules/markdown-it": { "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", - "integrity": "sha1-PDxZkog8Yz20cUzLTXtZNdmLfUU=", "dev": true, "license": "MIT", "dependencies": { @@ -3697,16 +3330,13 @@ }, "node_modules/@vscode/l10n-dev/node_modules/mdurl": { "version": "2.0.0", - "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=", "dev": true, "license": "MIT" }, "node_modules/@vscode/l10n-dev/node_modules/minimatch": { "version": "9.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3717,27 +3347,15 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@vscode/l10n-dev/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/@vscode/l10n-dev/node_modules/uc.micro": { "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", - "integrity": "sha1-+NP30OxMPeo1p+PI76TLi0XJ5+4=", "dev": true, "license": "MIT" }, "node_modules/@vscode/l10n-dev/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -3753,9 +3371,8 @@ }, "node_modules/@vscode/test-electron": { "version": "2.3.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/test-electron/-/test-electron-2.3.8.tgz", - "integrity": "sha512-b4aZZsBKtMGdDljAsOPObnAi7+VWIaYl3ylCz1jTs+oV6BZ4TNHcVNC3xUn0azPeszBmwSBDQYfFESIaUQnrOg==", "dev": true, + "license": "MIT", "dependencies": { "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", @@ -3768,18 +3385,16 @@ }, "node_modules/@vscode/test-electron/node_modules/@tootallnate/once": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/@vscode/test-electron/node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "4" }, @@ -3789,9 +3404,8 @@ }, "node_modules/@vscode/test-electron/node_modules/http-proxy-agent": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -3803,9 +3417,8 @@ }, "node_modules/@vscode/test-electron/node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -3816,8 +3429,6 @@ }, "node_modules/@vscode/vsce": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce/-/vsce-3.0.0.tgz", - "integrity": "sha1-efpKJj65R31J77KTHUUgTj77y3g=", "dev": true, "license": "MIT", "dependencies": { @@ -3858,8 +3469,6 @@ }, "node_modules/@vscode/vsce-sign": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/vsce-sign/-/vsce-sign-2.0.4.tgz", - "integrity": "sha1-tL8VXRbypLrcBp34UNyG91YSSEI=", "dev": true, "hasInstallScript": true, "license": "SEE LICENSE IN LICENSE.txt", @@ -3875,94 +3484,8 @@ "@vscode/vsce-sign-win32-x64": "2.0.2" } }, - "node_modules/@vscode/vsce-sign-alpine-arm64": { - "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", - "integrity": "sha1-SszEheVapv8EsZW0f3IurVfapY4=", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "alpine" - ] - }, - "node_modules/@vscode/vsce-sign-alpine-x64": { - "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", - "integrity": "sha1-Skt7UFtMwPWFljlIl8SaC84OVAw=", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "alpine" - ] - }, - "node_modules/@vscode/vsce-sign-darwin-arm64": { - "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=", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@vscode/vsce-sign-darwin-x64": { - "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", - "integrity": "sha1-MxVSjz6hAHpkizMgv/NqM6ngeqU=", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@vscode/vsce-sign-linux-arm": { - "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", - "integrity": "sha1-QUL9qD5xMLMa7diqgeTapjNDI8I=", - "cpu": [ - "arm" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@vscode/vsce-sign-linux-arm64": { - "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", - "integrity": "sha1-zlxc/JnjRUtPt3BAWBK0a9bcqHA=", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@vscode/vsce-sign-linux-x64": { "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", - "integrity": "sha1-WauT8yLvs89JFm1OLoEnicMRdCg=", "cpu": [ "x64" ], @@ -3973,38 +3496,8 @@ "linux" ] }, - "node_modules/@vscode/vsce-sign-win32-arm64": { - "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", - "integrity": "sha1-0JVwShSwQEwLb2lumInppRsxqGw=", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@vscode/vsce-sign-win32-x64": { - "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", - "integrity": "sha1-KU6nK0T+3WlNSfXO9MVb84dtwlc=", - "cpu": [ - "x64" - ], - "dev": true, - "license": "SEE LICENSE IN LICENSE.txt", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@vscode/vsce/node_modules/brace-expansion": { "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=", "dev": true, "license": "MIT", "dependencies": { @@ -4013,17 +3506,14 @@ }, "node_modules/@vscode/vsce/node_modules/commander": { "version": "6.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/@vscode/vsce/node_modules/glob": { "version": "11.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-11.0.0.tgz", - "integrity": "sha1-YDHfDXtl6qHMubKbXO0WzqZY534=", "dev": true, "license": "ISC", "dependencies": { @@ -4046,8 +3536,6 @@ }, "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { "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=", "dev": true, "license": "ISC", "dependencies": { @@ -4062,9 +3550,8 @@ }, "node_modules/@vscode/vsce/node_modules/hosted-git-info": { "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", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4074,8 +3561,6 @@ }, "node_modules/@vscode/vsce/node_modules/jackspeak": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha1-n8pM6WGvYIPiWcN26eNUFDH1KHs=", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -4093,23 +3578,11 @@ }, "node_modules/@vscode/vsce/node_modules/jsonc-parser": { "version": "3.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@vscode/vsce/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } + "license": "MIT" }, "node_modules/@vscode/vsce/node_modules/path-scurry": { "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", - "integrity": "sha1-nwUiifI62L+Tl6KgQl57hhXFhYA=", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -4125,8 +3598,6 @@ }, "node_modules/@vscode/vsce/node_modules/path-scurry/node_modules/lru-cache": { "version": "11.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-11.0.0.tgz", - "integrity": "sha1-Fdk6GW8YkDTXFmyvn+Vec4TJiiE=", "dev": true, "license": "ISC", "engines": { @@ -4135,8 +3606,6 @@ }, "node_modules/@vscode/vsce/node_modules/tmp": { "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=", "dev": true, "license": "MIT", "engines": { @@ -4145,10 +3614,9 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha1-uxag6LGRT5efRYZMI4Gcw+Pw1Ls=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -4156,31 +3624,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha1-2svLla/xNcgmD3f6O0xf6mAKZDE=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha1-YTL2jErNWdzRQcRLGMvrvZ8vp2g=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha1-bfINJy6lQ5vyCrNJK3+3Dpv8s/Y=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha1-y85efgwb0yz0kFrkRO9kzqkZ8bU=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -4189,17 +3653,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha1-uy69s7g6om2bqtTEbUMVKDrNUek=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha1-PaYjIzrhpgQJtQmlKt6bwio3978=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -4209,37 +3671,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha1-u2ZckdCxT//OsOOCmMMprwQ8bjo=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha1-cOYOXoL5rIERi8JTgaCyg4kyQNc=", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha1-kPi8NMVhWV/hVmA75yU8280Pq1o=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha1-n58/9SoUyYCTm+DvnV3568Z4rjs=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -4253,10 +3711,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha1-plIGAdobVwBEgnNmanGtCkXXhUc=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -4267,10 +3724,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha1-nm6BR138+2LatXSsLdo4ImwjK8U=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -4280,10 +3736,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha1-xHrLkObwgzkeP6YdETZQ7qHpWTc=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -4295,69 +3750,28 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha1-vOz2YdfRq9r5idg0Gkgz4z4rMaw=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/configtest/-/configtest-1.0.2.tgz", - "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/info/-/info-1.2.3.tgz", - "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@webpack-cli/serve/-/serve-1.3.1.tgz", - "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@xtuc/ieee754": { "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", - "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@xtuc/long": { "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", - "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/acorn": { "version": "8.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", "dev": true, "license": "MIT", "bin": { @@ -4369,18 +3783,15 @@ }, "node_modules/acorn-import-attributes": { "version": "1.9.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha1-frFVexugXvGLXtDsZ1kb+rBGiO8=", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "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", - "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", "dev": true, "license": "MIT", "peerDependencies": { @@ -4389,8 +3800,7 @@ }, "node_modules/agent-base": { "version": "7.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -4400,8 +3810,6 @@ }, "node_modules/aggregate-error": { "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=", "dev": true, "license": "MIT", "dependencies": { @@ -4414,9 +3822,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4430,19 +3837,17 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-escapes": { "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": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -4455,9 +3860,8 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "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": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4467,18 +3871,16 @@ }, "node_modules/ansi-regex": { "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", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "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": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -4488,9 +3890,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4501,9 +3902,8 @@ }, "node_modules/archiver": { "version": "5.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/archiver/-/archiver-5.3.0.tgz", - "integrity": "sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==", "dev": true, + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.0", @@ -4519,9 +3919,8 @@ }, "node_modules/archiver-utils": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dev": true, + "license": "MIT", "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", @@ -4540,9 +3939,8 @@ }, "node_modules/archiver/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4554,24 +3952,21 @@ }, "node_modules/arg": { "version": "4.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -4582,18 +3977,16 @@ }, "node_modules/array-each": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-includes": { "version": "3.1.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -4610,18 +4003,16 @@ }, "node_modules/array-slice": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-union": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, + "license": "MIT", "dependencies": { "array-uniq": "^1.0.1" }, @@ -4631,18 +4022,16 @@ }, "node_modules/array-uniq": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array.prototype.flat": { "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -4658,9 +4047,8 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -4674,17 +4062,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ast-types": { + "version": "0.9.14", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/async": { "version": "3.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/async-done": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz", - "integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.4.4", "once": "^1.4.0", @@ -4696,17 +4090,15 @@ }, "node_modules/async-file": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/async-file/-/async-file-2.0.2.tgz", - "integrity": "sha1-Aq0HhWrDcX6DayCuxaTP4AxG3yM=", + "license": "MIT", "dependencies": { "rimraf": "^2.5.2" } }, "node_modules/async-settle": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-2.0.0.tgz", - "integrity": "sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==", "dev": true, + "license": "MIT", "dependencies": { "async-done": "^2.0.0" }, @@ -4716,24 +4108,20 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true, "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4743,13 +4131,10 @@ }, "node_modules/await-semaphore": { "version": "0.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/await-semaphore/-/await-semaphore-0.1.3.tgz", - "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" + "license": "MIT" }, "node_modules/azure-devops-node-api": { "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", - "integrity": "sha1-OLnv18WsdDVP5Ojb5CaX2wuOhaU=", "dev": true, "license": "MIT", "dependencies": { @@ -4759,15 +4144,13 @@ }, "node_modules/b4a": { "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/babel-jest": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/babel-jest/-/babel-jest-29.6.4.tgz", - "integrity": "sha512-meLj23UlSLddj6PC+YTOFRgDAtjnZom8w/ACsrx0gtPtv5cJZk0A5Unk5bV4wixD7XaPCN1fQvpww8czkZURmw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.6.4", "@types/babel__core": "^7.1.14", @@ -4786,9 +4169,8 @@ }, "node_modules/babel-jest/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4801,9 +4183,8 @@ }, "node_modules/babel-jest/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4817,9 +4198,8 @@ }, "node_modules/babel-jest/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4829,24 +4209,21 @@ }, "node_modules/babel-jest/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/babel-jest/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/babel-jest/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4856,9 +4233,8 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -4872,9 +4248,8 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -4887,9 +4262,8 @@ }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -4910,9 +4284,8 @@ }, "node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -4926,9 +4299,8 @@ }, "node_modules/bach": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bach/-/bach-2.0.1.tgz", - "integrity": "sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==", "dev": true, + "license": "MIT", "dependencies": { "async-done": "^2.0.0", "async-settle": "^2.0.0", @@ -4940,50 +4312,43 @@ }, "node_modules/balanced-match": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "license": "MIT" }, "node_modules/bare-events": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", - "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", + "version": "2.3.1", "dev": true, + "license": "Apache-2.0", "optional": true }, "node_modules/base64-js": { "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/before-after-hook": { "version": "2.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "license": "Apache-2.0" }, "node_modules/big-integer": { "version": "1.6.48", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", "dev": true, + "license": "Unlicense", "engines": { "node": ">=0.6" } }, "node_modules/big.js": { "version": "5.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary": { "version": "0.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", "dev": true, + "license": "MIT", "dependencies": { "buffers": "~0.1.1", "chainsaw": "~0.1.0" @@ -4991,18 +4356,16 @@ }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -5011,15 +4374,13 @@ }, "node_modules/bl/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5031,14 +4392,11 @@ }, "node_modules/bluebird": { "version": "3.4.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha1-GVNDEiHG+1zWPEs21T+rCSjlSMY=", "dev": true, "license": "MIT", "dependencies": { @@ -5062,27 +4420,24 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/depd": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/http-errors": { "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", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -5096,15 +4451,13 @@ }, "node_modules/body-parser/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/body-parser/node_modules/on-finished": { "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", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -5114,44 +4467,38 @@ }, "node_modules/body-parser/node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/body-parser/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/boolbase": { "version": "1.0.0", - "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=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/bottleneck": { "version": "2.19.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "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": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5159,9 +4506,8 @@ }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -5171,8 +4517,6 @@ }, "node_modules/browserslist": { "version": "4.21.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "dev": true, "funding": [ { @@ -5188,6 +4532,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001517", "electron-to-chromium": "^1.4.477", @@ -5203,9 +4548,8 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -5215,24 +4559,19 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/btoa-lite": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", "dev": true, "license": "MIT" }, "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -5248,6 +4587,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -5255,37 +4595,31 @@ }, "node_modules/buffer-crc32": { "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", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-equal-constant-time": { "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", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/buffer-from": { "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-indexof-polyfill": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz", - "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/buffers": { "version": "0.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", "dev": true, "engines": { "node": ">=0.2.0" @@ -5293,26 +4627,22 @@ }, "node_modules/builtins": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.0.0" } }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k=", "dev": true, "license": "MIT", "dependencies": { @@ -5331,17 +4661,15 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camel-case": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -5349,18 +4677,14 @@ }, "node_modules/camel-case/node_modules/tslib": { "version": "2.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "license": "0BSD" }, "node_modules/cancellationtoken": { "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cancellationtoken/-/cancellationtoken-2.2.0.tgz", - "integrity": "sha512-uF4sHE5uh2VdEZtIRJKGoXAD9jm7bFY0tDRCzH4iLp262TOJ2lrtNHjMG2zc8H+GICOpELIpM7CGW5JeWnb3Hg==" + "license": "MIT" }, "node_modules/caniuse-lite": { "version": "1.0.30001521", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001521.tgz", - "integrity": "sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==", "dev": true, "funding": [ { @@ -5375,27 +4699,25 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/caught": { "version": "0.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/caught/-/caught-0.1.3.tgz", - "integrity": "sha512-DTWI84qfoqHEV5jHRpsKNnEisVCeuBDscXXaXyRLXC+4RD6rFftUNuTElcQ7LeO7w622pfzWkA1f6xu5qEAidw==" + "license": "MIT" }, "node_modules/chainsaw": { "version": "0.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", "dev": true, + "license": "MIT/X11", "dependencies": { "traverse": ">=0.3.0 <0.4" } }, "node_modules/chalk": { "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": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5407,18 +4729,16 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/cheerio": { "version": "1.0.0-rc.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", "dev": true, + "license": "MIT", "dependencies": { "cheerio-select": "^1.5.0", "dom-serializer": "^1.3.2", @@ -5437,9 +4757,8 @@ }, "node_modules/cheerio-select": { "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "css-select": "^4.1.3", "css-what": "^5.0.1", @@ -5453,14 +4772,11 @@ }, "node_modules/cheerio/node_modules/tslib": { "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -5468,6 +4784,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -5486,16 +4803,15 @@ }, "node_modules/chownr": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true, + "license": "ISC", "optional": true }, "node_modules/chrome-trace-event": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "tslib": "^1.9.0" }, @@ -5505,8 +4821,6 @@ }, "node_modules/ci-info": { "version": "3.8.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, "funding": [ { @@ -5514,21 +4828,20 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/clean-regexp": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -5538,8 +4851,6 @@ }, "node_modules/clean-stack": { "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=", "dev": true, "license": "MIT", "engines": { @@ -5548,9 +4859,8 @@ }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -5559,38 +4869,21 @@ }, "node_modules/clone": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, - "node_modules/clone-deep": { - "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", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/clone-stats": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -5598,8 +4891,6 @@ }, "node_modules/cockatiel": { "version": "3.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cockatiel/-/cockatiel-3.2.1.tgz", - "integrity": "sha1-V1+Te8QECiCuJzUqbQfJxadBmB8=", "dev": true, "license": "MIT", "engines": { @@ -5608,35 +4899,24 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-convert": { "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": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "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=", - "dev": true - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "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", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", "dev": true, "license": "MIT", "dependencies": { @@ -5648,16 +4928,14 @@ }, "node_modules/commander": { "version": "2.20.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/compress-commons": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/compress-commons/-/compress-commons-4.1.0.tgz", - "integrity": "sha512-ofaaLqfraD1YRTkrRKPCrGJ1pFeDG/MVCkVVV2FNGeWquSlqw5wOrwOfPQ1xF2u+blpeWASie5EubHz+vsNIgA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.1", @@ -5670,9 +4948,8 @@ }, "node_modules/compress-commons/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5684,14 +4961,12 @@ }, "node_modules/concat-map": { "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", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "license": "MIT" }, "node_modules/connect": { "version": "3.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", @@ -5704,36 +4979,32 @@ }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/content-type": { "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", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { "version": "1.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/copy-props": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-4.0.0.tgz", - "integrity": "sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==", "dev": true, + "license": "MIT", "dependencies": { "each-props": "^3.0.0", "is-plain-object": "^5.0.0" @@ -5744,24 +5015,21 @@ }, "node_modules/copy-props/node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/crc-32": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "exit-on-epipe": "~1.0.1", "printj": "~1.1.0" @@ -5775,9 +5043,8 @@ }, "node_modules/crc32-stream": { "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "dev": true, + "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -5788,9 +5055,8 @@ }, "node_modules/crc32-stream/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5802,14 +5068,11 @@ }, "node_modules/create-require": { "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", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "6.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha1-MNDvoHEt2361p24ehyG/+vprXVc=", "license": "MIT", "dependencies": { "nice-try": "^1.0.4", @@ -5824,17 +5087,15 @@ }, "node_modules/cross-spawn/node_modules/semver": { "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/css-select": { "version": "4.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^5.0.0", @@ -5848,9 +5109,8 @@ }, "node_modules/css-what": { "version": "5.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -5860,8 +5120,6 @@ }, "node_modules/debug": { "version": "4.3.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-4.3.7.tgz", - "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -5877,15 +5135,12 @@ }, "node_modules/debug/node_modules/ms": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", "license": "MIT" }, "node_modules/decompress-response": { "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", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "mimic-response": "^3.1.0" @@ -5899,9 +5154,8 @@ }, "node_modules/dedent": { "version": "1.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -5913,9 +5167,8 @@ }, "node_modules/deep-extend": { "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", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=4.0.0" @@ -5923,33 +5176,27 @@ }, "node_modules/deep-is": { "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", - "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", "dev": true, "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/deepmerge-json": { "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deepmerge-json/-/deepmerge-json-1.5.0.tgz", - "integrity": "sha512-jZRrDmBKjmGcqMFEUJ14FjMJwm05Qaked+1vxaALRtF0UAl7lPU8OLWXFxvoeg3jbQM249VPFVn8g2znaQkEtA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/define-data-property": { "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", - "integrity": "sha1-iU3BQbt9MGCuQ2b2oBB+aPvkjF4=", "dev": true, "license": "MIT", "dependencies": { @@ -5966,8 +5213,6 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha1-P3rkIRKbyqrJvHSQXJigAJ7J7n8=", "dev": true, "license": "MIT", "engines": { @@ -5976,9 +5221,8 @@ }, "node_modules/define-properties": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, + "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -5992,9 +5236,8 @@ }, "node_modules/del": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, + "license": "MIT", "dependencies": { "globby": "^6.1.0", "is-path-cwd": "^1.0.0", @@ -6009,8 +5252,6 @@ }, "node_modules/delayed-stream": { "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", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, "license": "MIT", "engines": { @@ -6019,23 +5260,20 @@ }, "node_modules/depd": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/deprecation": { "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "license": "ISC" }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -6043,18 +5281,16 @@ }, "node_modules/detect-file": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/detect-libc": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": ">=8" @@ -6062,27 +5298,24 @@ }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -6092,9 +5325,8 @@ }, "node_modules/dom-serializer": { "version": "1.3.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -6106,8 +5338,6 @@ }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha1-XEXo6GmVJiYzHXqrMm0B2vZdWJ0=", "dev": true, "funding": [ { @@ -6119,9 +5349,8 @@ }, "node_modules/domhandler": { "version": "4.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -6134,9 +5363,8 @@ }, "node_modules/domutils": { "version": "2.8.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -6148,18 +5376,16 @@ }, "node_modules/duplexer2": { "version": "0.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "readable-stream": "^2.0.2" } }, "node_modules/each-props": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-3.0.0.tgz", - "integrity": "sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^5.0.0", "object.defaults": "^1.1.0" @@ -6170,50 +5396,42 @@ }, "node_modules/each-props/node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ecdsa-sig-formatter": { "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", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/ee-first": { "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", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.4.495", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz", - "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/emitter-component": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emitter-component/-/emitter-component-1.1.1.tgz", - "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=" + "version": "1.1.1" }, "node_modules/emittery": { "version": "0.13.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -6223,40 +5441,34 @@ }, "node_modules/emoji-regex": { "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", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "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": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { "version": "5.17.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha1-Z7+7zC+B1RG+d9aGqQJn73+JihU=", "dev": true, "license": "MIT", "dependencies": { @@ -6267,62 +5479,26 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/entities": { "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/error-ex": { "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", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.21.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "available-typed-arrays": "^1.0.5", @@ -6368,8 +5544,6 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU=", "dev": true, "license": "MIT", "dependencies": { @@ -6381,8 +5555,6 @@ }, "node_modules/es-errors": { "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", - "integrity": "sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8=", "dev": true, "license": "MIT", "engines": { @@ -6391,16 +5563,14 @@ }, "node_modules/es-module-lexer": { "version": "1.5.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha1-qO/sOj2pkeYO+mtjOnytarjSa3g=", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/es-set-tostringtag": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3", "has": "^1.0.3", @@ -6412,18 +5582,16 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -6436,34 +5604,68 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esbuild": { + "version": "0.25.0", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" + } + }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "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", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/escape-string-regexp": { "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=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { "version": "8.57.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha1-x4am/Q4LaJQar2JFlvuYcIkZVmg=", "dev": true, "license": "MIT", "dependencies": { @@ -6518,9 +5720,8 @@ }, "node_modules/eslint-config-prettier": { "version": "8.8.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -6530,9 +5731,8 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.11.0", @@ -6541,24 +5741,21 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-import-resolver-node/node_modules/ms": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -6573,24 +5770,21 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils/node_modules/ms": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint-plugin-es": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" @@ -6607,9 +5801,8 @@ }, "node_modules/eslint-plugin-es/node_modules/eslint-utils": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -6622,27 +5815,24 @@ }, "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-plugin-header": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", - "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", "dev": true, + "license": "MIT", "peerDependencies": { "eslint": ">=7.7.0" } }, "node_modules/eslint-plugin-import": { "version": "2.27.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -6669,18 +5859,16 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -6690,9 +5878,8 @@ }, "node_modules/eslint-plugin-import/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6702,14 +5889,11 @@ }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ=", "dev": true, "license": "ISC", "bin": { @@ -6718,9 +5902,8 @@ }, "node_modules/eslint-plugin-n": { "version": "15.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", "dev": true, + "license": "MIT", "dependencies": { "builtins": "^5.0.1", "eslint-plugin-es": "^4.1.0", @@ -6743,9 +5926,8 @@ }, "node_modules/eslint-plugin-n/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -6755,9 +5937,8 @@ }, "node_modules/eslint-plugin-prettier": { "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -6776,9 +5957,8 @@ }, "node_modules/eslint-plugin-promise": { "version": "6.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", - "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, + "license": "ISC", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6788,9 +5968,8 @@ }, "node_modules/eslint-plugin-unicorn": { "version": "47.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.19.1", "@eslint-community/eslint-utils": "^4.4.0", @@ -6821,9 +6000,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/find-up": { "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", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -6834,9 +6012,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/locate-path": { "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", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -6846,9 +6023,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/p-limit": { "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", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -6861,9 +6037,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/p-locate": { "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", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -6873,9 +6048,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -6891,9 +6065,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/read-pkg": { "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -6906,9 +6079,8 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/read-pkg-up": { "version": "7.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -6923,36 +6095,33 @@ }, "node_modules/eslint-plugin-unicorn/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/eslint-plugin-unicorn/node_modules/safe-regex": { "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", "dev": true, + "license": "MIT", "dependencies": { "regexp-tree": "~0.1.1" } }, "node_modules/eslint-plugin-unicorn/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/eslint-scope": { "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", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -6963,18 +6132,17 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "engines": { "node": ">=4.0" } }, "node_modules/eslint-utils": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^2.0.0" }, @@ -6990,17 +6158,14 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/eslint-visitor-keys": { "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", - "integrity": "sha1-DNcv6FUOPC6uFWqWpN3c0cisWAA=", "dev": true, "license": "Apache-2.0", "engines": { @@ -7012,9 +6177,8 @@ }, "node_modules/eslint/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -7027,15 +6191,13 @@ }, "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7049,9 +6211,8 @@ }, "node_modules/eslint/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -7061,15 +6222,13 @@ }, "node_modules/eslint/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/eslint/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7081,9 +6240,8 @@ }, "node_modules/eslint/node_modules/escape-string-regexp": { "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", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7093,8 +6251,6 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha1-3rT5JWM5DzIAaJSvYqItuhxGQj8=", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -7110,9 +6266,8 @@ }, "node_modules/eslint/node_modules/glob-parent": { "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", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -7122,27 +6277,24 @@ }, "node_modules/eslint/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/js-yaml": { "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", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7152,9 +6304,8 @@ }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -7164,18 +6315,16 @@ }, "node_modules/eslint/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/shebang-command": { "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -7185,18 +6334,16 @@ }, "node_modules/eslint/node_modules/shebang-regex": { "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/eslint/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7206,9 +6353,8 @@ }, "node_modules/eslint/node_modules/which": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -7221,8 +6367,6 @@ }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/espree/-/espree-9.6.1.tgz", - "integrity": "sha1-oqF7jkNGkKVDLy+AGM5x0zGkjG8=", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -7239,9 +6383,8 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -7252,9 +6395,8 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -7264,9 +6406,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -7276,40 +6417,35 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/event-lite": { "version": "0.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/event-lite/-/event-lite-0.1.3.tgz", - "integrity": "sha512-8qz9nOz5VeD2z96elrEKD2U433+L3DWdUdDkOINLGOJvx1GsMBbMn0aCeu28y8/e85A6mCigBiFlYMnTBEGlSw==" + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/execa/-/execa-4.0.0.tgz", - "integrity": "sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -7330,8 +6466,7 @@ }, "node_modules/execa/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7343,24 +6478,21 @@ }, "node_modules/execa/node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } }, "node_modules/execa/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/execa/node_modules/shebang-command": { "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -7370,16 +6502,14 @@ }, "node_modules/execa/node_modules/shebang-regex": { "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/execa/node_modules/which": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -7392,8 +6522,6 @@ }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -7401,18 +6529,16 @@ }, "node_modules/exit-on-epipe": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=0.8" } }, "node_modules/expand-template": { "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", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "dev": true, + "license": "(MIT OR WTFPL)", "optional": true, "engines": { "node": ">=6" @@ -7420,9 +6546,8 @@ }, "node_modules/expand-tilde": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, + "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1" }, @@ -7432,9 +6557,8 @@ }, "node_modules/expect": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/expect/-/expect-29.6.4.tgz", - "integrity": "sha512-F2W2UyQ8XYyftHT57dtfg8Ue3X5qLgm2sSug0ivvLRH/VKNRL/pDxg/TH7zVzbQB0tu80clNFy6LU7OS/VSEKA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.6.4", "jest-get-type": "^29.6.3", @@ -7448,32 +6572,26 @@ }, "node_modules/extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-deep-equal": { "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", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-fifo": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "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", - "integrity": "sha1-0G1YXOjbqQoWsFBcVDw8z7OuuBg=", "dev": true, "license": "MIT", "dependencies": { @@ -7489,54 +6607,46 @@ }, "node_modules/fast-json-stable-stringify": { "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", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "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", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true, "license": "MIT" }, "node_modules/fastest-levenshtein": { "version": "1.0.12", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/fd-slicer": { "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", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -7546,9 +6656,8 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7558,9 +6667,8 @@ }, "node_modules/finalhandler": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -7576,18 +6684,16 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/find-up": { "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", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7601,9 +6707,8 @@ }, "node_modules/find-versions": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", "dev": true, + "license": "MIT", "dependencies": { "semver-regex": "^3.1.2" }, @@ -7616,9 +6721,8 @@ }, "node_modules/findup-sync": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "dev": true, + "license": "MIT", "dependencies": { "detect-file": "^1.0.0", "is-glob": "^4.0.3", @@ -7631,9 +6735,8 @@ }, "node_modules/fined": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz", - "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.2", "is-plain-object": "^5.0.0", @@ -7647,36 +6750,32 @@ }, "node_modules/fined/node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/flagged-respawn": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz", - "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -7687,9 +6786,8 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -7702,33 +6800,29 @@ }, "node_modules/flatted": { "version": "3.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/for-own": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, + "license": "MIT", "dependencies": { "for-in": "^1.0.1" }, @@ -7738,9 +6832,8 @@ }, "node_modules/foreground-child": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -7754,9 +6847,8 @@ }, "node_modules/foreground-child/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7768,18 +6860,16 @@ }, "node_modules/foreground-child/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/foreground-child/node_modules/shebang-command": { "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -7789,18 +6879,16 @@ }, "node_modules/foreground-child/node_modules/shebang-regex": { "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/foreground-child/node_modules/signal-exit": { "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", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -7810,9 +6898,8 @@ }, "node_modules/foreground-child/node_modules/which": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -7825,8 +6912,6 @@ }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha1-k5Gdrq82HuUpWEubMWZNwSyfpFI=", "dev": true, "license": "MIT", "dependencies": { @@ -7840,14 +6925,12 @@ }, "node_modules/fs-constants": { "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", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -7860,8 +6943,7 @@ }, "node_modules/fs-minipass": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", "dependencies": { "minipass": "^3.0.0" }, @@ -7871,8 +6953,7 @@ }, "node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -7882,9 +6963,8 @@ }, "node_modules/fs-mkdirp-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz", - "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.8", "streamx": "^2.12.0" @@ -7895,14 +6975,12 @@ }, "node_modules/fs.realpath": { "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", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "license": "ISC" }, "node_modules/fstream": { "version": "1.0.12", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -7915,8 +6993,6 @@ }, "node_modules/function-bind": { "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", - "integrity": "sha1-LALYZNl/PqbIgwxGTL0Rq26rehw=", "dev": true, "license": "MIT", "funding": { @@ -7925,9 +7001,8 @@ }, "node_modules/function.prototype.name": { "version": "1.1.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -7943,35 +7018,30 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha1-44X1pLUifUScPqu60FSU7wq76t0=", "dev": true, "license": "MIT", "dependencies": { @@ -7990,18 +7060,16 @@ }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-port": { "version": "5.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -8011,17 +7079,15 @@ }, "node_modules/get-stdin": { "version": "7.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/get-stream": { "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -8034,9 +7100,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -8050,15 +7115,13 @@ }, "node_modules/github-from-package": { "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", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/glob": { "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8076,9 +7139,8 @@ }, "node_modules/glob-parent": { "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", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -8088,9 +7150,8 @@ }, "node_modules/glob-promise": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-promise/-/glob-promise-4.1.0.tgz", - "integrity": "sha512-wOdaX1+QJi3ldbjq4fXX/BbGSjhsG6eGXqMnBjQj9ubDiDLvrXbbXRj02rA0CXbMMM7J58dajiQ72va63D7pNw==", "dev": true, + "license": "MIT", "dependencies": { "@types/glob": "^7.1.3" }, @@ -8103,9 +7164,8 @@ }, "node_modules/glob-stream": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.2.tgz", - "integrity": "sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==", "dev": true, + "license": "MIT", "dependencies": { "@gulpjs/to-absolute-glob": "^4.0.0", "anymatch": "^3.1.3", @@ -8122,9 +7182,8 @@ }, "node_modules/glob-stream/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -8134,16 +7193,14 @@ }, "node_modules/glob-to-regexp": { "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", - "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", "dev": true, - "license": "BSD-2-Clause" + "license": "BSD-2-Clause", + "peer": true }, "node_modules/glob-watcher": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz", - "integrity": "sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==", "dev": true, + "license": "MIT", "dependencies": { "async-done": "^2.0.0", "chokidar": "^3.5.3" @@ -8154,9 +7211,8 @@ }, "node_modules/global-modules": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, + "license": "MIT", "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", @@ -8168,9 +7224,8 @@ }, "node_modules/global-prefix": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", @@ -8184,8 +7239,6 @@ }, "node_modules/globals": { "version": "13.24.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-13.24.0.tgz", - "integrity": "sha1-hDKhnXjODB6DOUnDats0VAC7EXE=", "dev": true, "license": "MIT", "dependencies": { @@ -8200,9 +7253,8 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -8215,9 +7267,8 @@ }, "node_modules/globby": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", @@ -8231,18 +7282,16 @@ }, "node_modules/globby/node_modules/pify": { "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glogg": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", - "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", "dev": true, + "license": "MIT", "dependencies": { "sparkles": "^2.1.0" }, @@ -8252,9 +7301,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -8264,20 +7312,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/gulp": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz", - "integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==", "dev": true, + "license": "MIT", "dependencies": { "glob-watcher": "^6.0.0", "gulp-cli": "^3.0.0", @@ -8293,9 +7338,8 @@ }, "node_modules/gulp-cli": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", - "integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==", "dev": true, + "license": "MIT", "dependencies": { "@gulpjs/messages": "^1.1.0", "chalk": "^4.1.2", @@ -8319,9 +7363,8 @@ }, "node_modules/gulp-cli/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8334,9 +7377,8 @@ }, "node_modules/gulp-cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8350,9 +7392,8 @@ }, "node_modules/gulp-cli/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8362,24 +7403,21 @@ }, "node_modules/gulp-cli/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, + "dev": true, + "license": "MIT" + }, "node_modules/gulp-cli/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/gulp-cli/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8389,9 +7427,8 @@ }, "node_modules/gulplog": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", - "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", "dev": true, + "license": "MIT", "dependencies": { "glogg": "^2.2.0" }, @@ -8401,9 +7438,8 @@ }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -8413,26 +7449,22 @@ }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "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=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { "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", - "integrity": "sha1-lj7X0HHce/XwhMW/vg0bYiJYaFQ=", "dev": true, "license": "MIT", "dependencies": { @@ -8444,9 +7476,8 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8456,9 +7487,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8468,9 +7498,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -8483,8 +7512,6 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", "dev": true, "license": "MIT", "dependencies": { @@ -8496,8 +7523,6 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/he/-/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", "dev": true, "license": "MIT", "bin": { @@ -8506,9 +7531,8 @@ }, "node_modules/homedir-polyfill": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, + "license": "MIT", "dependencies": { "parse-passwd": "^1.0.0" }, @@ -8518,20 +7542,16 @@ }, "node_modules/hosted-git-info": { "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", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/html-escaper": { "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", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/htmlparser2": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -8540,6 +7560,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -8549,9 +7570,8 @@ }, "node_modules/http-errors": { "version": "1.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -8565,8 +7585,7 @@ }, "node_modules/http-proxy-agent": { "version": "7.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -8577,8 +7596,7 @@ }, "node_modules/https-proxy-agent": { "version": "7.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "license": "MIT", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -8589,18 +7607,16 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8610,8 +7626,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -8625,12 +7639,11 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.3.2", - "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=", "dev": true, "license": "MIT", "engines": { @@ -8639,19 +7652,15 @@ }, "node_modules/immediate": { "version": "3.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/immutable": { "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", "dev": true, "license": "MIT", "dependencies": { @@ -8667,8 +7676,6 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "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", - "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", "dev": true, "license": "MIT", "engines": { @@ -8677,9 +7684,8 @@ }, "node_modules/import-local": { "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -8693,26 +7699,23 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "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": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -8720,25 +7723,21 @@ }, "node_modules/inherits": { "version": "2.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "license": "ISC" }, "node_modules/ini": { "version": "1.3.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/int64-buffer": { "version": "0.1.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/int64-buffer/-/int64-buffer-0.1.10.tgz", - "integrity": "sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA==" + "license": "MIT" }, "node_modules/internal-slot": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -8750,18 +7749,16 @@ }, "node_modules/interpret": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/is-absolute": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, + "license": "MIT", "dependencies": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" @@ -8772,9 +7769,8 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -8786,15 +7782,13 @@ }, "node_modules/is-arrayish": { "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", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -8804,9 +7798,8 @@ }, "node_modules/is-binary-path": { "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", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -8816,9 +7809,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -8832,9 +7824,8 @@ }, "node_modules/is-builtin-module": { "version": "3.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, + "license": "MIT", "dependencies": { "builtin-modules": "^3.3.0" }, @@ -8847,9 +7838,8 @@ }, "node_modules/is-builtin-module/node_modules/builtin-modules": { "version": "3.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -8859,9 +7849,8 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8871,9 +7860,8 @@ }, "node_modules/is-core-module": { "version": "2.12.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -8883,9 +7871,8 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -8898,8 +7885,6 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=", "dev": true, "license": "MIT", "bin": { @@ -8914,36 +7899,32 @@ }, "node_modules/is-extglob": { "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", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "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", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-glob": { "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", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -8953,18 +7934,16 @@ }, "node_modules/is-negated-glob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8974,18 +7953,16 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -8998,18 +7975,16 @@ }, "node_modules/is-path-cwd": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-path-in-cwd": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, + "license": "MIT", "dependencies": { "is-path-inside": "^1.0.0" }, @@ -9019,9 +7994,8 @@ }, "node_modules/is-path-inside": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, + "license": "MIT", "dependencies": { "path-is-inside": "^1.0.1" }, @@ -9029,23 +8003,10 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "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", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -9059,9 +8020,8 @@ }, "node_modules/is-relative": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, + "license": "MIT", "dependencies": { "is-unc-path": "^1.0.0" }, @@ -9071,9 +8031,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -9083,8 +8042,7 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -9094,9 +8052,8 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9109,9 +8066,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -9124,9 +8080,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -9143,9 +8098,8 @@ }, "node_modules/is-unc-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, + "license": "MIT", "dependencies": { "unc-path-regex": "^0.1.2" }, @@ -9155,23 +8109,20 @@ }, "node_modules/is-utf8": { "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", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "license": "MIT" }, "node_modules/is-valid-glob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -9181,17 +8132,14 @@ }, "node_modules/is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", "dev": true, "license": "MIT", "dependencies": { @@ -9203,37 +8151,32 @@ }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "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=" + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -9247,18 +8190,16 @@ }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-report": { "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", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -9270,18 +8211,16 @@ }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9291,9 +8230,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9305,18 +8243,16 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "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", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { "version": "3.1.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9327,9 +8263,8 @@ }, "node_modules/jackspeak": { "version": "2.3.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -9345,9 +8280,8 @@ }, "node_modules/jest": { "version": "29.6.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest/-/jest-29.6.2.tgz", - "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.6.2", "@jest/types": "^29.6.1", @@ -9371,9 +8305,8 @@ }, "node_modules/jest-changed-files": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-changed-files/-/jest-changed-files-29.6.3.tgz", - "integrity": "sha512-G5wDnElqLa4/c66ma5PG9eRjE342lIbF6SUnTJi26C3J28Fv2TVY2rOyKB9YGbSA5ogwevgmxc4j4aVjrEK6Yg==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.6.3", @@ -9385,9 +8318,8 @@ }, "node_modules/jest-changed-files/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -9399,9 +8331,8 @@ }, "node_modules/jest-changed-files/node_modules/execa": { "version": "5.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -9422,9 +8353,8 @@ }, "node_modules/jest-changed-files/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -9434,18 +8364,16 @@ }, "node_modules/jest-changed-files/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-changed-files/node_modules/shebang-command": { "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -9455,18 +8383,16 @@ }, "node_modules/jest-changed-files/node_modules/shebang-regex": { "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-changed-files/node_modules/which": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -9479,9 +8405,8 @@ }, "node_modules/jest-circus": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-circus/-/jest-circus-29.6.4.tgz", - "integrity": "sha512-YXNrRyntVUgDfZbjXWBMPslX1mQ8MrSG0oM/Y06j9EYubODIyHWP8hMUbjbZ19M3M+zamqEur7O80HODwACoJw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/expect": "^29.6.4", @@ -9510,9 +8435,8 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9525,9 +8449,8 @@ }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9541,9 +8464,8 @@ }, "node_modules/jest-circus/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9553,24 +8475,21 @@ }, "node_modules/jest-circus/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-circus/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-circus/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9580,9 +8499,8 @@ }, "node_modules/jest-cli": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-cli/-/jest-cli-29.6.4.tgz", - "integrity": "sha512-+uMCQ7oizMmh8ZwRfZzKIEszFY9ksjjEQnTEMTaL7fYiL3Kw4XhqT9bYh+A4DQKUb67hZn2KbtEnDuHvcgK4pQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.6.4", "@jest/test-result": "^29.6.4", @@ -9614,9 +8532,8 @@ }, "node_modules/jest-cli/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9629,9 +8546,8 @@ }, "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9645,9 +8561,8 @@ }, "node_modules/jest-cli/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -9659,9 +8574,8 @@ }, "node_modules/jest-cli/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9671,24 +8585,21 @@ }, "node_modules/jest-cli/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-cli/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-cli/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9698,9 +8609,8 @@ }, "node_modules/jest-cli/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -9716,9 +8626,8 @@ }, "node_modules/jest-config": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-config/-/jest-config-29.6.4.tgz", - "integrity": "sha512-JWohr3i9m2cVpBumQFv2akMEnFEPVOh+9L2xIBJhJ0zOaci2ZXuKJj0tgMKQCBZAKA09H049IR4HVS/43Qb19A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.6.4", @@ -9761,9 +8670,8 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9776,9 +8684,8 @@ }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9792,9 +8699,8 @@ }, "node_modules/jest-config/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9804,24 +8710,21 @@ }, "node_modules/jest-config/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-config/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-config/node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9837,9 +8740,8 @@ }, "node_modules/jest-config/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9849,9 +8751,8 @@ }, "node_modules/jest-diff": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-diff/-/jest-diff-29.6.4.tgz", - "integrity": "sha512-9F48UxR9e4XOEZvoUXEHSWY4qC4zERJaOfrbBg9JpbJOO43R1vN76REt/aMGZoY6GD5g84nnJiBIVlscegefpw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -9864,9 +8765,8 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9879,9 +8779,8 @@ }, "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9895,9 +8794,8 @@ }, "node_modules/jest-diff/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9907,24 +8805,21 @@ }, "node_modules/jest-diff/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-diff/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-diff/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9934,9 +8829,8 @@ }, "node_modules/jest-docblock": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-docblock/-/jest-docblock-29.6.3.tgz", - "integrity": "sha512-2+H+GOTQBEm2+qFSQ7Ma+BvyV+waiIFxmZF5LdpBsAEjWX8QYjSCa4FrkIYtbfXUJJJnFCYrOtt6TZ+IAiTjBQ==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -9946,9 +8840,8 @@ }, "node_modules/jest-each": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-each/-/jest-each-29.6.3.tgz", - "integrity": "sha512-KoXfJ42k8cqbkfshW7sSHcdfnv5agDdHCPA87ZBdmHP+zJstTJc0ttQaJ/x7zK6noAL76hOuTIJ6ZkQRS5dcyg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -9962,9 +8855,8 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9977,9 +8869,8 @@ }, "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9993,9 +8884,8 @@ }, "node_modules/jest-each/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10005,24 +8895,21 @@ }, "node_modules/jest-each/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-each/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-each/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10032,9 +8919,8 @@ }, "node_modules/jest-environment-node": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-environment-node/-/jest-environment-node-29.6.4.tgz", - "integrity": "sha512-i7SbpH2dEIFGNmxGCpSc2w9cA4qVD+wfvg2ZnfQ7XVrKL0NA5uDVBIiGH8SR4F0dKEv/0qI5r+aDomDf04DpEQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -10049,18 +8935,16 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-haste-map/-/jest-haste-map-29.6.4.tgz", - "integrity": "sha512-12Ad+VNTDHxKf7k+M65sviyynRoZYuL1/GTuhEVb8RYsNSNln71nANRb/faSyWvx0j+gHcivChXHIoMJrGYjog==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -10083,18 +8967,16 @@ }, "node_modules/jest-haste-map/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-haste-map/node_modules/jest-worker": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.6.3", @@ -10107,9 +8989,8 @@ }, "node_modules/jest-haste-map/node_modules/supports-color": { "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", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10122,9 +9003,8 @@ }, "node_modules/jest-junit": { "version": "16.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-junit/-/jest-junit-16.0.0.tgz", - "integrity": "sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "mkdirp": "^1.0.4", "strip-ansi": "^6.0.1", @@ -10137,9 +9017,8 @@ }, "node_modules/jest-junit/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -10149,18 +9028,16 @@ }, "node_modules/jest-junit/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/jest-leak-detector": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-leak-detector/-/jest-leak-detector-29.6.3.tgz", - "integrity": "sha512-0kfbESIHXYdhAdpLsW7xdwmYhLf1BRu4AA118/OxFm0Ho1b2RcTmO4oF6aAMaxpxdxnJ3zve2rgwzNBD4Zbm7Q==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.6.3" @@ -10171,9 +9048,8 @@ }, "node_modules/jest-matcher-utils": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-matcher-utils/-/jest-matcher-utils-29.6.4.tgz", - "integrity": "sha512-KSzwyzGvK4HcfnserYqJHYi7sZVqdREJ9DMPAKVbS98JsIAvumihaNUbjrWw0St7p9IY7A9UskCW5MYlGmBQFQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.6.4", @@ -10186,9 +9062,8 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10201,9 +9076,8 @@ }, "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10217,9 +9091,8 @@ }, "node_modules/jest-matcher-utils/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10229,24 +9102,21 @@ }, "node_modules/jest-matcher-utils/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-matcher-utils/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-matcher-utils/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10256,9 +9126,8 @@ }, "node_modules/jest-message-util": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-message-util/-/jest-message-util-29.6.3.tgz", - "integrity": "sha512-FtzaEEHzjDpQp51HX4UMkPZjy46ati4T5pEMyM6Ik48ztu4T9LQplZ6OsimHx7EuM9dfEh5HJa6D3trEftu3dA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -10276,9 +9145,8 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10291,9 +9159,8 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10307,9 +9174,8 @@ }, "node_modules/jest-message-util/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10319,24 +9185,21 @@ }, "node_modules/jest-message-util/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-message-util/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-message-util/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10346,9 +9209,8 @@ }, "node_modules/jest-mock": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-mock/-/jest-mock-29.6.3.tgz", - "integrity": "sha512-Z7Gs/mOyTSR4yPsaZ72a/MtuK6RnC3JYqWONe48oLaoEcYwEDxqvbXz85G4SJrm2Z5Ar9zp6MiHF4AlFlRM4Pg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -10360,9 +9222,8 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -10377,18 +9238,16 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-resolve/-/jest-resolve-29.6.4.tgz", - "integrity": "sha512-fPRq+0vcxsuGlG0O3gyoqGTAxasagOxEuyoxHeyxaZbc9QNek0AmJWSkhjlMG+mTsj+8knc/mWb3fXlRNVih7Q==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -10406,9 +9265,8 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.4.tgz", - "integrity": "sha512-7+6eAmr1ZBF3vOAJVsfLj1QdqeXG+WYhidfLHBRZqGN24MFRIiKG20ItpLw2qRAsW/D2ZUUmCNf6irUr/v6KHA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.6.4" @@ -10419,9 +9277,8 @@ }, "node_modules/jest-resolve/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10434,9 +9291,8 @@ }, "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10450,9 +9306,8 @@ }, "node_modules/jest-resolve/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10462,24 +9317,21 @@ }, "node_modules/jest-resolve/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-resolve/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-resolve/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10489,9 +9341,8 @@ }, "node_modules/jest-runner": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-runner/-/jest-runner-29.6.4.tgz", - "integrity": "sha512-SDaLrMmtVlQYDuG0iSPYLycG8P9jLI+fRm8AF/xPKhYDB2g6xDWjXBrR5M8gEWsK6KVFlebpZ4QsrxdyIX1Jaw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.6.4", "@jest/environment": "^29.6.4", @@ -10521,9 +9372,8 @@ }, "node_modules/jest-runner/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10536,9 +9386,8 @@ }, "node_modules/jest-runner/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10552,9 +9401,8 @@ }, "node_modules/jest-runner/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10564,24 +9412,21 @@ }, "node_modules/jest-runner/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-runner/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runner/node_modules/jest-worker": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-29.6.4.tgz", - "integrity": "sha512-6dpvFV4WjcWbDVGgHTWo/aupl8/LbBx2NSKfiwqf79xC/yeJjKHT1+StcKy/2KTmW16hE68ccKVOtXf+WZGz7Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.6.3", @@ -10594,9 +9439,8 @@ }, "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": { "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", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10609,18 +9453,16 @@ }, "node_modules/jest-runner/node_modules/source-map": { "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", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-runner/node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10628,9 +9470,8 @@ }, "node_modules/jest-runner/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10640,9 +9481,8 @@ }, "node_modules/jest-runtime": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-runtime/-/jest-runtime-29.6.4.tgz", - "integrity": "sha512-s/QxMBLvmwLdchKEjcLfwzP7h+jsHvNEtxGP5P+Fl1FMaJX2jMiIqe4rJw4tFprzCwuSvVUo9bn0uj4gNRXsbA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.6.4", "@jest/fake-timers": "^29.6.4", @@ -10673,9 +9513,8 @@ }, "node_modules/jest-runtime/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10688,9 +9527,8 @@ }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10704,9 +9542,8 @@ }, "node_modules/jest-runtime/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10716,33 +9553,29 @@ }, "node_modules/jest-runtime/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-runtime/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runtime/node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-runtime/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10752,9 +9585,8 @@ }, "node_modules/jest-snapshot": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-snapshot/-/jest-snapshot-29.6.4.tgz", - "integrity": "sha512-VC1N8ED7+4uboUKGIDsbvNAZb6LakgIPgAF4RSpF13dN6YaMokfRqO+BaqK4zIh6X3JffgwbzuGqDEjHm/MrvA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -10783,9 +9615,8 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10798,9 +9629,8 @@ }, "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10814,9 +9644,8 @@ }, "node_modules/jest-snapshot/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10826,24 +9655,21 @@ }, "node_modules/jest-snapshot/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-snapshot/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-snapshot/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10853,9 +9679,8 @@ }, "node_modules/jest-util": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-util/-/jest-util-29.6.3.tgz", - "integrity": "sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -10870,9 +9695,8 @@ }, "node_modules/jest-util/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10885,9 +9709,8 @@ }, "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10901,9 +9724,8 @@ }, "node_modules/jest-util/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10913,24 +9735,21 @@ }, "node_modules/jest-util/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-util/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-util/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10940,9 +9759,8 @@ }, "node_modules/jest-validate": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-validate/-/jest-validate-29.6.3.tgz", - "integrity": "sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -10957,9 +9775,8 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10972,9 +9789,8 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -10984,9 +9800,8 @@ }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11000,9 +9815,8 @@ }, "node_modules/jest-validate/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11012,24 +9826,21 @@ }, "node_modules/jest-validate/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-validate/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-validate/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11039,9 +9850,8 @@ }, "node_modules/jest-watcher": { "version": "29.6.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-watcher/-/jest-watcher-29.6.4.tgz", - "integrity": "sha512-oqUWvx6+On04ShsT00Ir9T4/FvBeEh2M9PTubgITPxDa739p4hoQweWPRGyYeaojgT0xTpZKF0Y/rSY1UgMxvQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.6.4", "@jest/types": "^29.6.3", @@ -11058,9 +9868,8 @@ }, "node_modules/jest-watcher/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -11073,9 +9882,8 @@ }, "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -11089,9 +9897,8 @@ }, "node_modules/jest-watcher/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -11101,24 +9908,21 @@ }, "node_modules/jest-watcher/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jest-watcher/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-watcher/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11128,10 +9932,9 @@ }, "node_modules/jest-worker": { "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", - "integrity": "sha1-jRRvCQDolzsQa29zzB6ajLhvjbA=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11143,20 +9946,18 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "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", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/jest-worker/node_modules/supports-color": { "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", - "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11169,15 +9970,13 @@ }, "node_modules/js-tokens": { "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", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -11188,9 +9987,8 @@ }, "node_modules/jsesc": { "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -11200,27 +9998,23 @@ }, "node_modules/json-parse-even-better-errors": { "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", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "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", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "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", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -11230,13 +10024,11 @@ }, "node_modules/jsonc-parser": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==" + "license": "MIT" }, "node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -11246,8 +10038,6 @@ }, "node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha1-Zf+R9KvvF4RpfUCVK7GZjFBMqvM=", "dev": true, "license": "MIT", "dependencies": { @@ -11269,15 +10059,13 @@ }, "node_modules/jsonwebtoken/node_modules/ms": { "version": "2.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jszip": { "version": "3.10.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "dev": true, + "license": "(MIT OR GPL-3.0-or-later)", "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -11287,9 +10075,8 @@ }, "node_modules/jwa": { "version": "1.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -11298,9 +10085,8 @@ }, "node_modules/jws": { "version": "3.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "dev": true, + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -11308,48 +10094,35 @@ }, "node_modules/keytar": { "version": "7.9.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/keytar/-/keytar-7.9.0.tgz", - "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "node-addon-api": "^4.3.0", "prebuild-install": "^7.0.1" } }, - "node_modules/kind-of": { - "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", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/last-run": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-2.0.0.tgz", - "integrity": "sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/lazystream": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -11359,26 +10132,22 @@ }, "node_modules/lead": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz", - "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/levn/-/levn-0.4.1.tgz", - "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", "dev": true, "license": "MIT", "dependencies": { @@ -11391,18 +10160,16 @@ }, "node_modules/lie": { "version": "3.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dev": true, + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } }, "node_modules/liftoff": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.0.tgz", - "integrity": "sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==", "dev": true, + "license": "MIT", "dependencies": { "extend": "^3.0.2", "findup-sync": "^5.0.0", @@ -11418,48 +10185,43 @@ }, "node_modules/liftoff/node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/linkify-it": { "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, + "license": "MIT", "dependencies": { "uc.micro": "^1.0.1" } }, "node_modules/listenercount": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/loader-runner": { "version": "4.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=6.11.5" } }, "node_modules/loader-utils": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -11471,9 +10233,8 @@ }, "node_modules/locate-path": { "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", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -11486,111 +10247,88 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.defaults": { "version": "4.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.difference": { "version": "4.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.flatten": { "version": "4.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.includes": { "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", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", "dev": true, "license": "MIT" }, "node_modules/lodash.isboolean": { "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", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", "dev": true, "license": "MIT" }, "node_modules/lodash.isinteger": { "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", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", "dev": true, "license": "MIT" }, "node_modules/lodash.isnumber": { "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", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", "dev": true, "license": "MIT" }, "node_modules/lodash.isplainobject": { "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", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isstring": { "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", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", "dev": true, "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "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", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.once": { "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", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true, "license": "MIT" }, "node_modules/lodash.union": { "version": "4.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lower-case": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } }, "node_modules/lower-case/node_modules/tslib": { "version": "2.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "license": "0BSD" }, "node_modules/lru-cache": { "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", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -11600,9 +10338,8 @@ }, "node_modules/make-dir": { "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", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -11615,33 +10352,29 @@ }, "node_modules/make-error": { "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", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/markdown-it": { "version": "12.3.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -11655,43 +10388,36 @@ }, "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/markdown-it/node_modules/entities": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/mdurl": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/merge-stream": { "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", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", "dev": true, "license": "MIT", "engines": { @@ -11700,9 +10426,8 @@ }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -11727,16 +10452,14 @@ }, "node_modules/microsoft.aspnetcore.razor.vscode/node_modules/vscode-jsonrpc": { "version": "8.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz", - "integrity": "sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/microsoft.aspnetcore.razor.vscode/node_modules/vscode-languageclient": { "version": "8.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz", - "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.4", "semver": "^7.3.5", @@ -11748,18 +10471,20 @@ }, "node_modules/microsoft.aspnetcore.razor.vscode/node_modules/vscode-languageserver-protocol": { "version": "3.17.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz", - "integrity": "sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==", + "license": "MIT", "dependencies": { "vscode-jsonrpc": "8.0.2", "vscode-languageserver-types": "3.17.2" } }, + "node_modules/microsoft.aspnetcore.razor.vscode/node_modules/vscode-languageserver-types": { + "version": "3.17.2", + "license": "MIT" + }, "node_modules/mime": { "version": "1.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -11769,18 +10494,16 @@ }, "node_modules/mime-db": { "version": "1.44.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.27", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "1.44.0" }, @@ -11790,17 +10513,15 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/mimic-response": { "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", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=10" @@ -11811,17 +10532,15 @@ }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/minimatch": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11831,24 +10550,20 @@ }, "node_modules/minimist": { "version": "1.2.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "version": "7.1.2", "dev": true, "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/minizlib": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -11859,8 +10574,7 @@ }, "node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -11870,9 +10584,8 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -11882,16 +10595,14 @@ }, "node_modules/mkdirp-classic": { "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", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/mock-http-server": { "version": "1.4.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/mock-http-server/-/mock-http-server-1.4.2.tgz", - "integrity": "sha512-41bkFnTv2+gOffvfH3kNK9yatHEvKnlTH0aCshQrPvuu67urtI9d0l2hUxK5YrdvDJEI01GR+9Gjn2l90Z5xkA==", "dev": true, + "license": "MIT", "dependencies": { "body-parser": "^1.18.1", "connect": "^3.4.0", @@ -11901,14 +10612,12 @@ }, "node_modules/ms": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/msgpack-lite": { "version": "0.1.26", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/msgpack-lite/-/msgpack-lite-0.1.26.tgz", - "integrity": "sha512-SZ2IxeqZ1oRFGo0xFGbvBJWMp3yLIY9rlIJyxy8CGrwZn1f0ZK4r6jV/AM1r0FZMDUkWkglOk/eeKIL9g77Nxw==", + "license": "MIT", "dependencies": { "event-lite": "^0.1.1", "ieee754": "^1.1.8", @@ -11921,9 +10630,8 @@ }, "node_modules/multiparty": { "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/multiparty/-/multiparty-4.2.1.tgz", - "integrity": "sha512-AvESCnNoQlZiOfP9R4mxN8M9csy2L16EIbWIkt3l4FuGti9kXBS8QVzlfyg4HEnarJhrzZilgNFlZtqmoiAIIA==", "dev": true, + "license": "MIT", "dependencies": { "fd-slicer": "1.1.0", "http-errors": "~1.7.0", @@ -11936,42 +10644,37 @@ }, "node_modules/mute-stdout": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz", - "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/mute-stream": { "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", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/napi-build-utils": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/natural-compare": { "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", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/neo-async": { "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", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/nerdbank-gitversioning": { "version": "3.6.79-alpha", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nerdbank-gitversioning/-/nerdbank-gitversioning-3.6.79-alpha.tgz", - "integrity": "sha512-7kfYYxpLJdhaA6oPFFcfhlCvsVyLHPUw9cmR5E7gZdVd8FPO1FaY7zAUDBX0cMbqEEt3zkqUH1o9xrE3Sbqi4g==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2" }, @@ -11982,8 +10685,7 @@ }, "node_modules/nerdbank-streams": { "version": "2.10.37-alpha", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nerdbank-streams/-/nerdbank-streams-2.10.37-alpha.tgz", - "integrity": "sha512-K4Eh+FfAyj/ajtXcvB9Tzn7p3SKZH0uPVguGBu10e6dj/PxFc035N3Qi353tRQKCNW5OPZVM4m3Ku1o1zR3HCw==", + "license": "MIT", "dependencies": { "await-semaphore": "^0.1.3", "cancellationtoken": "^2.0.1", @@ -11993,13 +10695,11 @@ }, "node_modules/nice-try": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -12007,14 +10707,12 @@ }, "node_modules/no-case/node_modules/tslib": { "version": "2.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "license": "0BSD" }, "node_modules/node-abi": { "version": "3.22.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-abi/-/node-abi-3.22.0.tgz", - "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "semver": "^7.3.5" @@ -12025,15 +10723,12 @@ }, "node_modules/node-addon-api": { "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", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/node-html-markdown": { "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-html-markdown/-/node-html-markdown-1.3.0.tgz", - "integrity": "sha1-7wsZo7v8DxqICruf8qDJqmu/8qk=", "dev": true, "license": "MIT", "dependencies": { @@ -12045,8 +10740,6 @@ }, "node_modules/node-html-parser": { "version": "6.1.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-html-parser/-/node-html-parser-6.1.13.tgz", - "integrity": "sha1-od95m4PfXGdD/NknQLoUaCCDt+Q=", "dev": true, "license": "MIT", "dependencies": { @@ -12056,8 +10749,6 @@ }, "node_modules/node-html-parser/node_modules/css-select": { "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=", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12073,8 +10764,6 @@ }, "node_modules/node-html-parser/node_modules/css-what": { "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=", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -12086,8 +10775,6 @@ }, "node_modules/node-html-parser/node_modules/dom-serializer": { "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", - "integrity": "sha1-5BuALh7t+fbK4YPOXmIteJ19jlM=", "dev": true, "license": "MIT", "dependencies": { @@ -12101,8 +10788,6 @@ }, "node_modules/node-html-parser/node_modules/domhandler": { "version": "5.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha1-zDhff3UfHR/GUMITdIBCVFOMfTE=", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12117,8 +10802,6 @@ }, "node_modules/node-html-parser/node_modules/domutils": { "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha1-xH9VEnjT3EsLGrjLtC11Gm8Ngk4=", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12132,8 +10815,6 @@ }, "node_modules/node-html-parser/node_modules/entities": { "version": "4.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/entities/-/entities-4.5.0.tgz", - "integrity": "sha1-XSaOpecRPsdMTQM7eepaNaSI+0g=", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -12145,26 +10826,22 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-machine-id": { "version": "1.1.12", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.13", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/normalize-package-data": { "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", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -12174,27 +10851,24 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/now-and-later": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz", - "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" }, @@ -12204,8 +10878,7 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12215,17 +10888,15 @@ }, "node_modules/npm-run-path/node_modules/path-key": { "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/nth-check": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -12235,17 +10906,14 @@ }, "node_modules/object-assign": { "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", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { "version": "1.13.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha1-3qAIhGf7mR5nr0BYFHokgkowQ/8=", "dev": true, "license": "MIT", "engines": { @@ -12257,18 +10925,16 @@ }, "node_modules/object-keys": { "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", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -12284,9 +10950,8 @@ }, "node_modules/object.defaults": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, + "license": "MIT", "dependencies": { "array-each": "^1.0.1", "array-slice": "^1.0.0", @@ -12299,9 +10964,8 @@ }, "node_modules/object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -12311,9 +10975,8 @@ }, "node_modules/object.values": { "version": "1.1.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -12328,8 +10991,6 @@ }, "node_modules/octokit": { "version": "3.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/octokit/-/octokit-3.2.1.tgz", - "integrity": "sha1-03bKOxKmHFjaAqk8SR0uYnBpsZQ=", "dev": true, "license": "MIT", "dependencies": { @@ -12350,15 +11011,11 @@ }, "node_modules/octokit/node_modules/@octokit/openapi-types": { "version": "22.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha1-dap9zUQIIdmd72pgtfAUIHrklo4=", "dev": true, "license": "MIT" }, "node_modules/octokit/node_modules/@octokit/plugin-paginate-rest": { "version": "11.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", - "integrity": "sha1-/pLQS0nxNBZdb7txbnZcLzE602Q=", "dev": true, "license": "MIT", "dependencies": { @@ -12373,8 +11030,6 @@ }, "node_modules/octokit/node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "13.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", - "integrity": "sha1-r45d0s3f6ldvkv+vnLhGWfMCpjg=", "dev": true, "license": "MIT", "dependencies": { @@ -12389,8 +11044,6 @@ }, "node_modules/octokit/node_modules/@octokit/types": { "version": "13.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@octokit/types/-/types-13.5.1.tgz", - "integrity": "sha1-VoWpHylRld3/85cjsJOw35YJzm4=", "dev": true, "license": "MIT", "dependencies": { @@ -12399,9 +11052,8 @@ }, "node_modules/on-finished": { "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12411,16 +11063,14 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -12433,8 +11083,6 @@ }, "node_modules/open": { "version": "8.4.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/open/-/open-8.4.2.tgz", - "integrity": "sha1-W1/+Ko95Pc0qrXPlUMuHtZywhPk=", "dev": true, "license": "MIT", "dependencies": { @@ -12451,8 +11099,6 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha1-fqHBpdkddk+yghOciP4R4YKjpzQ=", "dev": true, "license": "MIT", "dependencies": { @@ -12469,17 +11115,15 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/p-limit": { "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", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -12492,9 +11136,8 @@ }, "node_modules/p-locate": { "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", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -12507,39 +11150,32 @@ }, "node_modules/p-map": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/p-try": { "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", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/package-json-from-dist": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha1-5QHNMJSyeEletCWNTJ9tWsMBnwA=", "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { "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", - "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", "dev": true, "license": "MIT", "dependencies": { @@ -12551,9 +11187,8 @@ }, "node_modules/parse-filepath": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", @@ -12565,59 +11200,52 @@ }, "node_modules/parse-passwd": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/parse-semver": { "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", - "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", "dev": true, + "license": "MIT", "dependencies": { "semver": "^5.1.0" } }, "node_modules/parse-semver/node_modules/semver": { "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/parse5": { "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, + "license": "MIT", "dependencies": { "parse5": "^6.0.1" } }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/pascal-case": { "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -12625,51 +11253,44 @@ }, "node_modules/pascal-case/node_modules/tslib": { "version": "2.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "license": "0BSD" }, "node_modules/path-exists": { "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", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "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", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-is-inside": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "dev": true, + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-parse": { "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", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-root": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, + "license": "MIT", "dependencies": { "path-root-regex": "^0.1.0" }, @@ -12679,18 +11300,16 @@ }, "node_modules/path-root-regex": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-scurry": { "version": "1.10.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -12704,38 +11323,25 @@ }, "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "dev": true, + "license": "ISC", "engines": { "node": "14 || >=16.14" } }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -12745,27 +11351,24 @@ }, "node_modules/pify": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/pinkie": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinkie-promise": { "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", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -12775,18 +11378,16 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "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", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -12796,9 +11397,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "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", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -12809,9 +11409,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "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", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -12821,21 +11420,22 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "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", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-dir/node_modules/p-locate": { "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", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -12845,18 +11445,16 @@ }, "node_modules/pluralize": { "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/prebuild-install": { "version": "7.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "detect-libc": "^2.0.0", @@ -12881,8 +11479,6 @@ }, "node_modules/prelude-ls": { "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", - "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", "dev": true, "license": "MIT", "engines": { @@ -12891,9 +11487,8 @@ }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -12906,9 +11501,8 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, + "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -12918,9 +11512,8 @@ }, "node_modules/pretty-format": { "version": "29.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pretty-format/-/pretty-format-29.6.3.tgz", - "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -12932,9 +11525,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -12944,9 +11536,8 @@ }, "node_modules/printj": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", "dev": true, + "license": "Apache-2.0", "bin": { "printj": "bin/printj.njs" }, @@ -12954,17 +11545,23 @@ "node": ">=0.8" } }, + "node_modules/private": { + "version": "0.1.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/process-nextick-args": { "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", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -12975,17 +11572,18 @@ }, "node_modules/ps-list": { "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ps-list/-/ps-list-7.2.0.tgz", - "integrity": "sha512-v4Bl6I3f2kJfr5o80ShABNHAokIgY+wFDTQfE+X3zWYgSGQOCBeYptLZUpoOALBqO5EawmDN/tjTldJesd0ujQ==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pseudo-localization": { "version": "2.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pseudo-localization/-/pseudo-localization-2.4.0.tgz", - "integrity": "sha512-ISYMOKY8+f+PmiXMFw2y6KLY74LBrv/8ml/VjjoVEV2k+MS+OJZz7ydciK5ntJwxPrKQPTU1+oXq9Mx2b0zEzg==", "dev": true, + "license": "MIT", "dependencies": { "flat": "^5.0.2", "get-stdin": "^7.0.0", @@ -12998,9 +11596,8 @@ }, "node_modules/pseudo-localization/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -13012,9 +11609,8 @@ }, "node_modules/pseudo-localization/node_modules/typescript": { "version": "4.9.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13025,9 +11621,8 @@ }, "node_modules/pseudo-localization/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -13043,8 +11638,7 @@ }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13052,17 +11646,14 @@ }, "node_modules/punycode": { "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/punycode.js": { "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", - "integrity": "sha1-a1PlatdViCNOefSv+pCXLH3Yzbc=", "dev": true, "license": "MIT", "engines": { @@ -13071,8 +11662,6 @@ }, "node_modules/pure-rand": { "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/pure-rand/-/pure-rand-6.0.2.tgz", - "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true, "funding": [ { @@ -13083,12 +11672,11 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/qs": { "version": "6.13.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/qs/-/qs-6.13.0.tgz", - "integrity": "sha1-bKO9WEOffiRWVXmJl3h7DYilGQY=", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -13103,8 +11691,6 @@ }, "node_modules/queue-microtask": { "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", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -13119,38 +11705,35 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/queue-tick": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/random-bytes": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -13163,18 +11746,16 @@ }, "node_modules/raw-body/node_modules/depd": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/raw-body/node_modules/http-errors": { "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", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -13188,39 +11769,34 @@ }, "node_modules/raw-body/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/raw-body/node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/raw-body/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/raw-body/node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/rc": { "version": "1.2.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "optional": true, "dependencies": { "deep-extend": "^0.6.0", @@ -13234,9 +11810,8 @@ }, "node_modules/rc/node_modules/strip-json-comments": { "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", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -13244,15 +11819,13 @@ }, "node_modules/react-is": { "version": "18.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/read": { "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, + "license": "ISC", "dependencies": { "mute-stream": "~0.0.4" }, @@ -13262,9 +11835,8 @@ }, "node_modules/readable-stream": { "version": "2.3.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13277,18 +11849,16 @@ }, "node_modules/readdir-glob": { "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "minimatch": "^3.0.4" } }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -13296,11 +11866,44 @@ "node": ">=8.10.0" } }, + "node_modules/recast": { + "version": "0.11.23", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/recast/node_modules/ast-types": { + "version": "0.9.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/recast/node_modules/esprima": { + "version": "3.1.3", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/rechoir": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.20.0" }, @@ -13310,18 +11913,16 @@ }, "node_modules/regexp-tree": { "version": "0.1.27", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, + "license": "MIT", "bin": { "regexp-tree": "bin/regexp-tree" } }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -13336,9 +11937,8 @@ }, "node_modules/regexpp": { "version": "3.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -13348,9 +11948,8 @@ }, "node_modules/regjsparser": { "version": "0.10.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regjsparser/-/regjsparser-0.10.0.tgz", - "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -13360,8 +11959,6 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" @@ -13369,47 +11966,41 @@ }, "node_modules/remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/replace-ext": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", - "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/replace-homedir": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-2.0.0.tgz", - "integrity": "sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/request-light": { "version": "0.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/request-light/-/request-light-0.7.0.tgz", - "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" + "license": "MIT" }, "node_modules/require-directory": { "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", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.11.0", "path-parse": "^1.0.7", @@ -13424,9 +12015,8 @@ }, "node_modules/resolve-cwd": { "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", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -13436,9 +12026,8 @@ }, "node_modules/resolve-dir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" @@ -13449,18 +12038,16 @@ }, "node_modules/resolve-from": { "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", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-options": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-2.0.0.tgz", - "integrity": "sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==", "dev": true, + "license": "MIT", "dependencies": { "value-or-function": "^4.0.0" }, @@ -13470,18 +12057,16 @@ }, "node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -13489,8 +12074,7 @@ }, "node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -13500,8 +12084,6 @@ }, "node_modules/run-parallel": { "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", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -13517,14 +12099,14 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { "version": "6.6.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.9.0" }, @@ -13534,15 +12116,13 @@ }, "node_modules/safe-buffer": { "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", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -13554,22 +12134,19 @@ }, "node_modules/safer-buffer": { "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", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha1-9QqIh3w8AWUqFbYirp6Xld96YP4=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -13585,8 +12162,7 @@ }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13599,9 +12175,8 @@ }, "node_modules/semver-greatest-satisfied-range": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-2.0.0.tgz", - "integrity": "sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==", "dev": true, + "license": "MIT", "dependencies": { "sver": "^1.8.3" }, @@ -13611,9 +12186,8 @@ }, "node_modules/semver-regex": { "version": "3.1.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -13623,18 +12197,15 @@ }, "node_modules/serialize-javascript": { "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", - "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { "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", - "integrity": "sha1-qscjFBmOrtl1z3eyw7a4gGleVEk=", "dev": true, "license": "MIT", "dependencies": { @@ -13651,32 +12222,17 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "node_modules/shallow-clone": { - "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", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } + "license": "ISC" }, "node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -13686,16 +12242,13 @@ }, "node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha1-q9Jft80kuvRUZkBrEJa3gxySFfI=", "dev": true, "license": "MIT", "dependencies": { @@ -13713,13 +12266,10 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "license": "ISC" }, "node_modules/simple-concat": { "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", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, "funding": [ { @@ -13735,12 +12285,11 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "optional": true }, "node_modules/simple-get": { "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", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "dev": true, "funding": [ { @@ -13756,6 +12305,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "optional": true, "dependencies": { "decompress-response": "^6.0.0", @@ -13765,24 +12315,29 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "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", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -13790,27 +12345,24 @@ }, "node_modules/source-map-support/node_modules/source-map": { "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", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/sparkles": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", - "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/spdx-correct": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -13818,15 +12370,13 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "dev": true, + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "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", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -13834,21 +12384,18 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true + "dev": true, + "license": "CC0-1.0" }, "node_modules/sprintf-js": { "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", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -13858,26 +12405,22 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/statuses": { "version": "1.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/stoppable": { "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stoppable/-/stoppable-1.1.0.tgz", - "integrity": "sha1-MtpWjoPqSIsI5NfqLDvMnXUBXVs=", "dev": true, "license": "MIT", "engines": { @@ -13887,32 +12430,28 @@ }, "node_modules/stream": { "version": "0.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/stream/-/stream-0.0.2.tgz", - "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", + "license": "MIT", "dependencies": { "emitter-component": "^1.1.1" } }, "node_modules/stream-composer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz", - "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==", "dev": true, + "license": "MIT", "dependencies": { "streamx": "^2.13.2" } }, "node_modules/stream-exhaust": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/streamx": { "version": "2.18.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz", - "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==", "dev": true, + "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", "queue-tick": "^1.0.1", @@ -13924,28 +12463,24 @@ }, "node_modules/strict-event-emitter-types": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", - "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==" + "license": "ISC" }, "node_modules/string_decoder": { "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", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/string-hash": { "version": "1.1.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-hash/-/string-hash-1.1.3.tgz", - "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + "license": "CC0-1.0" }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -13956,9 +12491,8 @@ }, "node_modules/string-width": { "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", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13971,9 +12505,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "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", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13985,9 +12518,8 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -14002,9 +12534,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -14016,9 +12547,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -14030,9 +12560,8 @@ }, "node_modules/strip-ansi": { "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", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -14043,9 +12572,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "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", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -14055,8 +12583,7 @@ }, "node_modules/strip-bom": { "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom/-/strip-bom-5.0.0.tgz", - "integrity": "sha512-p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14066,8 +12593,7 @@ }, "node_modules/strip-bom-buf": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom-buf/-/strip-bom-buf-2.0.0.tgz", - "integrity": "sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==", + "license": "MIT", "dependencies": { "is-utf8": "^0.2.1" }, @@ -14077,17 +12603,15 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -14097,9 +12621,8 @@ }, "node_modules/strip-json-comments": { "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", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -14109,9 +12632,8 @@ }, "node_modules/supports-color": { "version": "5.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -14121,9 +12643,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "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", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -14133,36 +12654,32 @@ }, "node_modules/sver": { "version": "1.8.4", - "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz", - "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==", "dev": true, + "license": "MIT", "optionalDependencies": { "semver": "^6.3.0" } }, "node_modules/sver/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "optional": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "version": "2.2.1", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.1", + "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -14176,10 +12693,9 @@ } }, "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.2", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chownr": "^1.1.1", @@ -14190,9 +12706,8 @@ }, "node_modules/tar-stream": { "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", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -14206,9 +12721,8 @@ }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14220,24 +12734,21 @@ }, "node_modules/tar/node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", "engines": { "node": ">=8" } }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -14247,19 +12758,17 @@ }, "node_modules/teex": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", - "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dev": true, + "license": "MIT", "dependencies": { "streamx": "^2.12.5" } }, "node_modules/terser": { "version": "5.31.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser/-/terser-5.31.6.tgz", - "integrity": "sha1-xjhYoPBwOYjQJmqC/L8te6dkIrE=", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -14275,10 +12784,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha1-kE9MkZPG/SoD9pOiFQxiqS9A0Zk=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -14310,9 +12818,8 @@ }, "node_modules/test-exclude": { "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", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -14323,24 +12830,21 @@ } }, "node_modules/text-decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", - "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", + "version": "1.1.0", "dev": true, + "license": "Apache-2.0", "dependencies": { "b4a": "^1.6.4" } }, "node_modules/text-table": { "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", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tmp": { "version": "0.0.33", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -14350,24 +12854,21 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -14377,9 +12878,8 @@ }, "node_modules/to-through": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz", - "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==", "dev": true, + "license": "MIT", "dependencies": { "streamx": "^2.12.5" }, @@ -14389,23 +12889,19 @@ }, "node_modules/toidentifier": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/traverse": { "version": "0.3.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "dev": true + "dev": true, + "license": "MIT/X11" }, "node_modules/ts-api-utils": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha1-udfV9+yfc29NDwl1i4YHl5BEqQA=", "dev": true, "license": "MIT", "engines": { @@ -14417,9 +12913,8 @@ }, "node_modules/ts-jest": { "version": "29.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-jest/-/ts-jest-29.1.1.tgz", - "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -14460,9 +12955,8 @@ }, "node_modules/ts-loader": { "version": "9.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-loader/-/ts-loader-9.0.0.tgz", - "integrity": "sha512-okLMCTkzp1lCldwJ+/+mEY66qilDpwAs5Xs8REG9IwjfbG9fRQmt4a6XCFeFU6XaVI2C0qOEEEu+jIcWAUgc4w==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -14480,9 +12974,8 @@ }, "node_modules/ts-loader/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -14495,9 +12988,8 @@ }, "node_modules/ts-loader/node_modules/chalk": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -14511,9 +13003,8 @@ }, "node_modules/ts-loader/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -14523,24 +13014,21 @@ }, "node_modules/ts-loader/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ts-loader/node_modules/has-flag": { "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", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ts-loader/node_modules/supports-color": { "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", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -14550,9 +13038,8 @@ }, "node_modules/ts-node": { "version": "9.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", "dev": true, + "license": "MIT", "dependencies": { "arg": "^4.1.0", "create-require": "^1.1.0", @@ -14576,18 +13063,16 @@ }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/tsconfig-paths": { "version": "3.14.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -14597,9 +13082,8 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -14609,22 +13093,18 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { "version": "1.13.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "license": "0BSD" }, "node_modules/tunnel": { "version": "0.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", "dev": true, "license": "MIT", "engines": { @@ -14633,9 +13113,8 @@ }, "node_modules/tunnel-agent": { "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", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", "optional": true, "dependencies": { "safe-buffer": "^5.0.1" @@ -14646,8 +13125,6 @@ }, "node_modules/type-check": { "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", - "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", "dev": true, "license": "MIT", "dependencies": { @@ -14659,17 +13136,14 @@ }, "node_modules/type-detect": { "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", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -14681,9 +13155,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -14694,9 +13167,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -14708,8 +13180,6 @@ }, "node_modules/typed-rest-client": { "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", - "integrity": "sha1-aQbwLjyR6NhRV58lWr8P1ggAoE0=", "dev": true, "license": "MIT", "dependencies": { @@ -14720,8 +13190,6 @@ }, "node_modules/typescript": { "version": "5.6.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha1-0d5ntr73fEGCP4It+PCzvP9gpaA=", "dev": true, "license": "Apache-2.0", "bin": { @@ -14734,15 +13202,13 @@ }, "node_modules/uc.micro": { "version": "1.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/uid-safe": { "version": "2.1.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "dev": true, + "license": "MIT", "dependencies": { "random-bytes": "~1.0.0" }, @@ -14750,11 +13216,44 @@ "node": ">= 0.8" } }, + "node_modules/umd-compat-loader": { + "version": "2.1.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "ast-types": "^0.9.2", + "loader-utils": "^1.0.3", + "recast": "^0.11.17" + } + }, + "node_modules/umd-compat-loader/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/umd-compat-loader/node_modules/loader-utils": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -14767,24 +13266,21 @@ }, "node_modules/unc-path-regex": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/underscore": { "version": "1.13.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/undertaker": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-2.0.0.tgz", - "integrity": "sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==", "dev": true, + "license": "MIT", "dependencies": { "bach": "^2.0.1", "fast-levenshtein": "^3.0.0", @@ -14797,32 +13293,26 @@ }, "node_modules/undertaker-registry": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-2.0.0.tgz", - "integrity": "sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/undertaker/node_modules/fast-levenshtein": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", "dev": true, + "license": "MIT", "dependencies": { "fastest-levenshtein": "^1.0.7" } }, "node_modules/undici-types": { "version": "5.26.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", "license": "MIT" }, "node_modules/universal-github-app-jwt": { "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universal-github-app-jwt/-/universal-github-app-jwt-1.1.2.tgz", - "integrity": "sha1-jBhno5TX2dQs2jTxHRvLAjeX2N8=", "dev": true, "license": "MIT", "dependencies": { @@ -14832,31 +13322,27 @@ }, "node_modules/universal-user-agent": { "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "license": "ISC" }, "node_modules/universalify": { "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/unzipper": { "version": "0.10.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/unzipper/-/unzipper-0.10.11.tgz", - "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", "dev": true, + "license": "MIT", "dependencies": { "big-integer": "^1.6.17", "binary": "~0.3.0", @@ -14872,8 +13358,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.0.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -14889,6 +13373,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -14902,53 +13387,41 @@ }, "node_modules/uri-js": { "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", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url-join": { "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", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/util-deprecate": { "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", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "9.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/v8-to-istanbul": { "version": "9.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -14960,18 +13433,16 @@ }, "node_modules/v8flags": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz", - "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/validate-npm-package-license": { "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", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -14979,18 +13450,16 @@ }, "node_modules/value-or-function": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz", - "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.13.0" } }, "node_modules/vinyl": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, + "license": "MIT", "dependencies": { "clone": "^2.1.2", "clone-stats": "^1.0.0", @@ -15004,9 +13473,8 @@ }, "node_modules/vinyl-contents": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz", - "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^5.0.0", "vinyl": "^3.0.0" @@ -15017,9 +13485,8 @@ }, "node_modules/vinyl-contents/node_modules/bl": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^6.0.3", "inherits": "^2.0.4", @@ -15028,8 +13495,6 @@ }, "node_modules/vinyl-contents/node_modules/buffer": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -15045,6 +13510,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -15052,15 +13518,13 @@ }, "node_modules/vinyl-contents/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/vinyl-contents/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -15072,9 +13536,8 @@ }, "node_modules/vinyl-fs": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", - "integrity": "sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==", "dev": true, + "license": "MIT", "dependencies": { "fs-mkdirp-stream": "^2.0.1", "glob-stream": "^8.0.0", @@ -15097,9 +13560,8 @@ }, "node_modules/vinyl-fs/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -15109,9 +13571,8 @@ }, "node_modules/vinyl-sourcemap": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz", - "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==", "dev": true, + "license": "MIT", "dependencies": { "convert-source-map": "^2.0.0", "graceful-fs": "^4.2.10", @@ -15126,127 +13587,119 @@ }, "node_modules/vinyl-sourcemap/node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-html-languageservice": { - "version": "5.0.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-html-languageservice/-/vscode-html-languageservice-5.0.4.tgz", - "integrity": "sha512-tvrySfpglu4B2rQgWGVO/IL+skvU7kBkQotRlxA7ocSyRXOZUd6GA13XHkxo8LPe07KWjeoBlN1aVGqdfTK4xA==", + "version": "5.3.1", + "license": "MIT", "dependencies": { - "@vscode/l10n": "^0.0.11", - "vscode-languageserver-textdocument": "^1.0.8", - "vscode-languageserver-types": "^3.17.2", - "vscode-uri": "^3.0.7" + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" } }, - "node_modules/vscode-html-languageservice/node_modules/@vscode/l10n": { - "version": "0.0.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@vscode/l10n/-/l10n-0.0.11.tgz", - "integrity": "sha512-ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==" + "node_modules/vscode-html-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "license": "MIT" }, "node_modules/vscode-jsonrpc": { - "version": "8.2.0-next.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz", - "integrity": "sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==", + "version": "9.0.0-next.7", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/vscode-languageclient": { - "version": "8.2.0-next.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageclient/-/vscode-languageclient-8.2.0-next.1.tgz", - "integrity": "sha512-oITaqHQ10PM3zXCUu/104wriMeDutXMkQXMaRBWh1jKihcNcUBLC/os7RhqiVGypY0nl+F0pwStAf4Koc8inaw==", + "version": "10.0.0-next.14", + "license": "MIT", "dependencies": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.4-next.1" + "minimatch": "^10.0.1", + "semver": "^7.6.3", + "vscode-languageserver-protocol": "3.17.6-next.12" }, "engines": { - "vscode": "^1.77.0" + "vscode": "^1.91.0" } }, "node_modules/vscode-languageclient/node_modules/brace-expansion": { "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": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/vscode-languageclient/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "10.0.1", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vscode-languageclient/node_modules/semver": { + "version": "7.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" } }, "node_modules/vscode-languageserver-protocol": { - "version": "3.17.4-next.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz", - "integrity": "sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==", + "version": "3.17.6-next.12", + "license": "MIT", "dependencies": { - "vscode-jsonrpc": "8.2.0-next.0", - "vscode-languageserver-types": "3.17.4-next.0" + "vscode-jsonrpc": "9.0.0-next.7", + "vscode-languageserver-types": "3.17.6-next.6" } }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { - "version": "3.17.4-next.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz", - "integrity": "sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==" - }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + "version": "1.0.12", + "license": "MIT" }, "node_modules/vscode-languageserver-types": { - "version": "3.17.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", - "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" + "version": "3.17.6-next.6", + "license": "MIT" }, "node_modules/vscode-nls": { "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-nls/-/vscode-nls-5.0.1.tgz", - "integrity": "sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==" + "license": "MIT" }, "node_modules/vscode-oniguruma": { "version": "1.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-textmate": { "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-textmate/-/vscode-textmate-6.0.0.tgz", - "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-uri": { - "version": "3.0.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/vscode-uri/-/vscode-uri-3.0.7.tgz", - "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" + "version": "3.1.0", + "license": "MIT" }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { "version": "2.4.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha1-L+6u1nQS58MxhOWnnKc4+9OFZNo=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -15257,16 +13710,14 @@ }, "node_modules/web-tree-sitter": { "version": "0.20.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz", - "integrity": "sha512-weOVgZ3aAARgdnb220GqYuh7+rZU0Ka9k9yfKtGAzEYMa6GgiCzW9JjQRJyCJakvibQW+dfjJdihjInKuuCAUQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack": { "version": "5.94.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha1-d6YInHFuerkMHGdXSijaUYoglw8=", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", @@ -15308,201 +13759,18 @@ } } }, - "node_modules/webpack-cli": { - "version": "4.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-cli/-/webpack-cli-4.6.0.tgz", - "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.2", - "@webpack-cli/info": "^1.2.3", - "@webpack-cli/serve": "^1.3.1", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "enquirer": "^2.3.6", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/webpack-cli/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/webpack-cli/node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webpack-cli/node_modules/path-key": { - "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", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.7.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webpack-cli/node_modules/shebang-command": { - "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", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli/node_modules/shebang-regex": { - "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", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-cli/node_modules/which": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/webpack-merge": { - "version": "5.7.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=10.13.0" } }, "node_modules/which": { "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -15512,9 +13780,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -15528,9 +13795,8 @@ }, "node_modules/which-typed-array": { "version": "1.1.9", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -15546,16 +13812,8 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "node_modules/word-wrap": { "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", - "integrity": "sha1-0sRcbdT7zmIaZvE2y+Mor9BBCzQ=", "dev": true, "license": "MIT", "engines": { @@ -15564,9 +13822,8 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15582,9 +13839,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "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", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15599,9 +13855,8 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "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", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -15614,9 +13869,8 @@ }, "node_modules/wrap-ansi-cjs/node_modules/color-convert": { "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", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -15626,15 +13880,13 @@ }, "node_modules/wrap-ansi-cjs/node_modules/color-name": { "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", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -15647,9 +13899,8 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -15659,20 +13910,17 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -15683,15 +13931,13 @@ }, "node_modules/xml": { "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xml/-/xml-1.0.1.tgz", - "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/xml2js": { "version": "0.5.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "dev": true, + "license": "MIT", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -15702,32 +13948,28 @@ }, "node_modules/xmlbuilder": { "version": "11.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0" } }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "license": "ISC" }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -15743,26 +13985,23 @@ }, "node_modules/yargs-parser": { "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", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/yargs/node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yauzl": { "version": "2.10.0", - "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=", + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -15770,27 +14009,24 @@ }, "node_modules/yazl": { "version": "2.5.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3" } }, "node_modules/yn": { "version": "3.1.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "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", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -15800,9 +14036,8 @@ }, "node_modules/zip-stream": { "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "dev": true, + "license": "MIT", "dependencies": { "archiver-utils": "^2.1.0", "compress-commons": "^4.1.0", @@ -15814,9 +14049,8 @@ }, "node_modules/zip-stream/node_modules/readable-stream": { "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", diff --git a/package.json b/package.json index 34e3904cd7..c30754fb2e 100644 --- a/package.json +++ b/package.json @@ -37,11 +37,11 @@ } }, "defaults": { - "roslyn": "4.14.0-1.25074.7", + "roslyn": "4.14.0-3.25178.1", "omniSharp": "1.39.12", - "razor": "9.0.0-preview.25064.4", + "razor": "9.0.0-preview.25177.4", "razorOmnisharp": "7.0.0-preview.23363.1", - "xamlTools": "17.14.35723.260" + "xamlTools": "17.14.35913.250" }, "main": "./dist/extension", "l10n": "./l10n", @@ -60,27 +60,25 @@ } ], "scripts": { - "vscode:prepublish": "tsc -p ./ && webpack --mode production && gulp signJs", - "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", + "vscode:prepublish": "npm run package", "compile": "tsc -p ./ && npx eslint ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", + "compileDev": "tsc -p ./ && npm run l10nDevGenerateLocalizationBundle && npm run compile:razorTextMate", + "package": "npm run compile && node esbuild.js --production && gulp signJs", + "packageDev": "npm run compileDev && node esbuild.js", + "l10nDevGenerateLocalizationBundle": "npx @vscode/l10n-dev export --outDir ./l10n ./src", "compile:razorTextMate": "npx js-yaml src/razor/syntaxes/aspnetcorerazor.tmLanguage.yml > src/razor/syntaxes/aspnetcorerazor.tmLanguage.json", - "compileDev": "tsc -p ./ && npx eslint ./ && webpack --mode development && npm run l10nDevGenerateLocalizationBundle", - "compileTest": "tsc -p ./ && webpack --mode development", - "watch": "tsc -watch -p ./", - "test": "tsc -p ./ && gulp test", - "test:unit": "tsc -p ./ && gulp test:unit", - "test:withoutDevKit": "tsc -p ./ && gulp test:withoutDevKit", - "test:integration:devkit": "tsc -p ./ && gulp test:integration:devkit", - "test:razor": "tsc -p ./ && npm run compile:razorTextMate && gulp test:razor", - "test:razorintegration": "tsc -p ./ && gulp test:razorintegration", - "test:artifacts": "tsc -p ./ && gulp test:artifacts", - "omnisharptest": "tsc -p ./ && gulp omnisharptest", - "omnisharptest:unit": "tsc -p ./ && gulp omnisharptest:unit", - "omnisharptest:integration": "tsc -p ./ && gulp omnisharptest:integration", - "omnisharptest:integration:singleCsproj": "tsc -p ./ && gulp omnisharptest:integration:singleCsproj", - "omnisharptest:integration:slnWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnWithCsproj", - "omnisharptest:integration:slnFilterWithCsproj": "tsc -p ./ && gulp omnisharptest:integration:slnFilterWithCsproj", - "unpackage:vsix": "gulp vsix:release:unpackage", + "test:unit": "npm run compileDev && gulp test:unit", + "test:integration:csharp": "npm run package && gulp test:integration:csharp", + "test:integration:razor": "npm run package && gulp test:integration:razor", + "test:integration:devkit": "npm run package && gulp test:integration:devkit", + "profiling": "npm run package && gulp profiling", + "test:artifacts": "npm run compileDev && gulp test:artifacts", + "omnisharptest": "npm run package && gulp omnisharptest", + "omnisharptest:unit": "npm run compileDev && gulp omnisharptest:unit", + "omnisharptest:integration": "npm run package && gulp omnisharptest:integration", + "omnisharptest:integration:singleCsproj": "npm run package && gulp omnisharptest:integration:singleCsproj", + "omnisharptest:integration:slnWithCsproj": "npm run package && gulp omnisharptest:integration:slnWithCsproj", + "omnisharptest:integration:slnFilterWithCsproj": "npm run package && gulp omnisharptest:integration:slnFilterWithCsproj", "updatePackageDependencies": "gulp updatePackageDependencies", "l10nDevGenerateXlf": "npx @vscode/l10n-dev generate-xlf ./package.nls.json ./l10n/bundle.l10n.json --outFile ./loc/vscode-csharp.xlf", "l10nDevImportXlf": "npx @vscode/l10n-dev import-xlf ./loc/vscode-csharp.*.xlf --outDir ./l10n && move l10n\\package.nls.*.json ." @@ -89,6 +87,7 @@ "ms-dotnettools.vscode-dotnet-runtime" ], "dependencies": { + "@github/copilot-language-server": "1.290.0", "@microsoft/servicehub-framework": "4.2.99-beta", "@octokit/rest": "^20.0.1", "@types/cross-spawn": "6.0.2", @@ -115,11 +114,12 @@ "tar": "^6.1.15", "tmp": "0.0.33", "uuid": "^9.0.0", - "vscode-html-languageservice": "^5.0.1", - "vscode-jsonrpc": "8.2.0-next.0", - "vscode-languageclient": "8.2.0-next.1", - "vscode-languageserver-protocol": "3.17.4-next.1", - "vscode-languageserver-textdocument": "^1.0.5", + "vscode-html-languageservice": "^5.3.1", + "vscode-jsonrpc": "9.0.0-next.7", + "vscode-languageclient": "10.0.0-next.14", + "vscode-languageserver-protocol": "3.17.6-next.12", + "vscode-languageserver-textdocument": "1.0.12", + "vscode-languageserver-types": "3.17.6-next.6", "vscode-nls": "5.0.1", "yauzl": "2.10.0" }, @@ -145,6 +145,7 @@ "@vscode/vsce": "3.0.0", "archiver": "5.3.0", "del": "3.0.0", + "esbuild": "^0.25.0", "eslint": "^8.43.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-header": "^3.1.1", @@ -171,12 +172,11 @@ "ts-loader": "9.0.0", "ts-node": "9.1.1", "typescript": "5.6.2", + "umd-compat-loader": "2.1.2", "unzipper": "0.10.11", "vscode-oniguruma": "^1.6.1", "vscode-textmate": "^6.0.0", - "vscode-uri": "^3.0.7", - "webpack": "5.94.0", - "webpack-cli": "4.6.0" + "vscode-uri": "^3.0.7" }, "runtimeDependencies": [ { @@ -792,6 +792,12 @@ "description": "%configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope%", "order": 30 }, + "dotnet.diagnostics.reportInformationAsHint": { + "type": "boolean", + "default": true, + "description": "%configuration.dotnet.diagnostics.reportInformationAsHint%", + "order": 30 + }, "dotnet.highlighting.highlightRelatedRegexComponents": { "type": "boolean", "default": "true", @@ -1365,7 +1371,7 @@ "order": 9, "properties": { "dotnet.preferCSharpExtension": { - "scope": "resource", + "scope": "window", "type": "boolean", "default": true, "description": "%configuration.dotnet.preferCSharpExtension%" @@ -1772,7 +1778,8 @@ { "command": "dotnet.generateAssets", "title": "%command.dotnet.generateAssets.currentProject%", - "category": ".NET" + "category": ".NET", + "enablement": "dotnet.server.activationContext == 'Roslyn' || dotnet.server.activationContext == 'OmniSharp'" }, { "command": "dotnet.restore.project", diff --git a/package.nls.cs.json b/package.nls.cs.json index 141d5028e7..491c6f5a42 100644 --- a/package.nls.cs.json +++ b/package.nls.cs.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Pro členy, které jste nedávno vybrali, proveďte automatické dokončování názvů objektů.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Automaticky zobrazovat seznam dokončení v seznamech argumentů", "configuration.dotnet.defaultSolution.description": "Cesta výchozího řešení, které se má otevřít v pracovním prostoru. Můžete přeskočit nastavením na „zakázat“. (Dříve omnisharp.defaultLaunchSolution)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Povolením tohoto nastavení snížíte množství vizuálních rušivých prvků v editoru. Informační problémy budou hlášeny jako nápovědy a budou viditelné pouze tehdy, když je otevřeno místní okno akcí kódu.", "configuration.dotnet.enableXamlTools": "Povolí nástroje XAML při použití sady C# Dev Kit", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Určuje, zda mají být během formátování dokumentu seskupeny a seřazeny direktivy using. (dříve omnisharp.organizeImportsOnFormat)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Zvýrazněte související komponenty JSON pod kurzorem.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Zvýraznit související komponenty regulárního výrazu pod kurzorem.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Zobrazit nápovědy pro literály", diff --git a/package.nls.de.json b/package.nls.de.json index 3573651f4f..392c50e35f 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Führen Sie die automatische Vervollständigung des Objektnamens für die Elemente aus, die Sie kürzlich ausgewählt haben.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Vervollständigungsliste in Argumentlisten automatisch anzeigen", "configuration.dotnet.defaultSolution.description": "Der Pfad der Standardlösung, die im Arbeitsbereich geöffnet werden soll, oder auf \"deaktivieren\" festlegen, um sie zu überspringen. (Zuvor \"omnisharp.defaultLaunchSolution\")", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Aktivieren Sie diese Einstellung, um visuelle Ablenkungen in Ihrem Editor zu reduzieren. Informationsprobleme werden als Hinweise gemeldet und sind nur sichtbar, wenn das Popupfenster für Codeaktionen geöffnet ist.", "configuration.dotnet.enableXamlTools": "Aktiviert XAML-Tools bei Verwendung des C#-Dev Kit", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Gibt an, ob „using“-Anweisungen während der Dokumentformatierung gruppiert und sortiert werden sollen. (Zuvor „omnisharp.organizeImportsOnFormat“)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Zugehörige JSON-Komponenten unter dem Cursor markieren.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Zugehörige Komponenten regulärer Ausdrücke unter dem Cursor markieren.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Hinweise für Literale anzeigen", diff --git a/package.nls.es.json b/package.nls.es.json index ebf08dcbcd..16502545b4 100644 --- a/package.nls.es.json +++ b/package.nls.es.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Realice la finalización automática del nombre de objeto para los miembros que ha seleccionado recientemente.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Mostrar automáticamente la lista de finalización en las listas de argumentos", "configuration.dotnet.defaultSolution.description": "Ruta de acceso de la solución predeterminada que se va a abrir en el área de trabajo o se establece en \"deshabilitar\" para omitirla. (Anteriormente \"omnisharp.defaultLaunchSolution\")", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Habilite esta opción para reducir las distracciones visuales en el editor. Los problemas de información se notificarán como sugerencias y solo serán visibles cuando el elemento emergente de acciones de código esté abierto.", "configuration.dotnet.enableXamlTools": "Habilita las herramientas XAML al usar el Kit de desarrollo de C#", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Especifica si las directivas \"using\" deben agruparse y ordenarse durante el formato del documento. (Anteriormente \"omnisharp.organizeImportsOnFormat\")", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Resaltar los componentes JSON relacionados bajo el cursor.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Resaltar los componentes de expresiones regulares relacionados bajo el cursor.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Mostrar sugerencias para los literales", diff --git a/package.nls.fr.json b/package.nls.fr.json index 8e4530982d..1795294ff7 100644 --- a/package.nls.fr.json +++ b/package.nls.fr.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Effectuez la complétion automatique du nom d’objet pour les membres que vous avez récemment sélectionnés.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Afficher automatiquement la liste de complétion dans les listes d'arguments", "configuration.dotnet.defaultSolution.description": "Le chemin d’accès de la solution par défaut à ouvrir dans l’espace de travail, ou la valeur ’disable’ pour l’ignorer. (Précédemment `omnisharp.defaultLaunchSolution`)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Activez ce paramètre pour réduire les distractions visuelles dans votre éditeur. Les problèmes d’information seront signalés sous forme de suggestions et seront visibles uniquement lorsque la fenêtre contextuelle des actions de code est ouverte.", "configuration.dotnet.enableXamlTools": "Active les outils XAML lors de l’utilisation du Kit de développement C#", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Spécifie si les directives « using » doivent être regroupées et triées lors de la mise en forme d’un document. (Anciennement `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Mettez en surbrillance les composants JSON associés sous le curseur.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Mettre en surbrillance les composants d’expression régulière associés sous le curseur.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Afficher les indicateurs pour les littéraux", diff --git a/package.nls.it.json b/package.nls.it.json index b9b6c269f9..b532683f66 100644 --- a/package.nls.it.json +++ b/package.nls.it.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Consente di eseguire il completamento automatico del nome dell'oggetto per i membri selezionati di recente.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Mostra automaticamente l'elenco di completamento negli elenchi di argomenti", "configuration.dotnet.defaultSolution.description": "Percorso della soluzione predefinita da aprire nell'area di lavoro o impostare su 'disabilita' per ignorarla. (In precedenza “omnisharp.defaultLaunchSolution”)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Abilitare questa impostazione per ridurre le distrazioni visive nell'Editor. I problemi informativi verranno segnalati come suggerimenti e saranno visibili solo quando la finestra popup Azioni codice è aperta.", "configuration.dotnet.enableXamlTools": "Abilita gli strumenti XAML quando si usa il kit di sviluppo C#", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifica se le direttive \"using\" devono essere raggruppate e ordinate durante la formattazione del documento. (In precedenza `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Evidenziare i componenti JSON correlati sotto il cursore.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Evidenzia i componenti dell'espressione regolare correlati sotto il cursore.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Mostra suggerimenti per i valori letterali", diff --git a/package.nls.ja.json b/package.nls.ja.json index 90bf3c09fa..0a47fabc6a 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "最近選択したメンバーの自動オブジェクト名の完了を実行します。", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "引数リストに入力候補一覧を自動的に表示する", "configuration.dotnet.defaultSolution.description": "ワークスペースで開く既定のソリューションのパス。スキップするには 'disable' に設定します。(以前の `omnisharp.defaultLaunchSolution`)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "この設定を有効にすると、エディター内の視覚的な注意がそがれるものを減らすことができます。情報の問題はヒントとして報告され、コード アクション ポップアップが開いているときにのみ表示されます。", "configuration.dotnet.enableXamlTools": "C# 開発キットを使用するときに XAML ツールを有効にします", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "ドキュメントの書式設定中に 'using' ディレクティブをグループ化して並べ替える必要があるかどうかを指定します。(以前の 'omnisharp.organizeImportsOnFormat')", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "カーソルの下にある関連する JSON コンポーネントをハイライトします。", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "カーソルの下にある関連する正規表現コンポーネントをハイライトします。", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "リテラルのヒントを表示する", diff --git a/package.nls.json b/package.nls.json index e8179738e5..a28f11823a 100644 --- a/package.nls.json +++ b/package.nls.json @@ -61,6 +61,7 @@ "configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.openFiles": "Open documents", "configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.fullSolution": "Entire solution", "configuration.dotnet.backgroundAnalysis.compilerDiagnosticsScope.none": "None", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Enable this setting to reduce visual distractions in your editor. Information problems will be reported as hints and only be visible when the code actions popup is open.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Highlight related regular expression components under cursor.", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Highlight related JSON components under cursor.", "configuration.csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": "Show hints for implicit object creation", diff --git a/package.nls.ko.json b/package.nls.ko.json index 65140aca8c..26fe1888aa 100644 --- a/package.nls.ko.json +++ b/package.nls.ko.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "최근에 선택한 멤버에 대해 자동 개체 이름 완성을 수행합니다.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "인수 목록에 자동으로 완성 목록 표시", "configuration.dotnet.defaultSolution.description": "작업 영역에서 열릴 기본 솔루션의 경로, 건너뛰려면 '비활성화'로 설정하세요(이전 `omnisharp.defaultLaunchSolution`).", + "configuration.dotnet.diagnostics.reportInformationAsHint": "이 설정을 활성화하면 편집기에서 시각적 방해 요소를 줄일 수 있습니다. 정보 문제는 힌트로 보고되며 코드 작업 팝업이 열려 있을 때만 표시됩니다.", "configuration.dotnet.enableXamlTools": "C# 개발자 키트를 사용할 때 XAML 도구 사용", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "문서 서식을 지정하는 동안 'using' 지시문을 그룹화하고 정렬할지 여부를 지정합니다. (Previously `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "커서 아래에서 관련 JSON 구성 요소를 강조 표시합니다.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "커서 아래의 관련 정규식 구성 요소를 강조 표시합니다.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "리터럴에 대한 힌트 표시", diff --git a/package.nls.pl.json b/package.nls.pl.json index 6e71374824..24209c8cd2 100644 --- a/package.nls.pl.json +++ b/package.nls.pl.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Wykonaj automatyczne uzupełnianie nazw obiektów dla elementów członkowskich, które zostały ostatnio wybrane.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Automatycznie pokaż listę uzupełniania na listach argumentów", "configuration.dotnet.defaultSolution.description": "Ścieżka domyślnego rozwiązania, która ma zostać otwarta w obszarze roboczym, lub ustawiona na wartość „wyłącz”, aby je pominąć. (Poprzednio „omnisharp.defaultLaunchSolution”)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Włącz to ustawienie, aby ograniczyć wizualne elementy rozpraszające uwagę w edytorze. Problemy z informacjami będą zgłaszane jako wskazówki i będą widoczne tylko wtedy, gdy jest otwarte wyskakujące okno akcji kodu.", "configuration.dotnet.enableXamlTools": "Włącza narzędzia XAML podczas korzystania z zestawu deweloperskiego języka C#", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Określa, czy dyrektywy „using” mają być grupowane i sortowane podczas formatowania dokumentu. (Poprzednio „omnisharp.organizeImportsOnFormat”)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Wyróżnij powiązane składniki JSON pod kursorem.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Wyróżnij powiązane składniki wyrażenia regularnego pod kursorem.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Pokaż wskazówki dla literałów", diff --git a/package.nls.pt-br.json b/package.nls.pt-br.json index 7234ed9312..f6f4348c9b 100644 --- a/package.nls.pt-br.json +++ b/package.nls.pt-br.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Execute a conclusão automática do nome do objeto para os membros que você selecionou recentemente.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Mostrar automaticamente a lista de conclusão nas listas de argumentos", "configuration.dotnet.defaultSolution.description": "O caminho da solução padrão a ser aberta no workspace ou definido como 'desabilitado' para ignorá-la. (Anteriormente `omnisharp.defaultLaunchSolution`)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Habilite essa configuração para reduzir as distrações visuais no seu editor. Problemas de informações serão relatados como dicas e só ficarão visíveis quando o pop-up de ações de código estiver aberto.", "configuration.dotnet.enableXamlTools": "Habilita ferramentas XAML ao usar o Kit de Desenvolvimento em C#", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Especifica se as diretivas 'usando' devem ser agrupadas e classificadas durante a formatação do documento. (Anteriormente `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Destaque os componentes JSON relacionados sob o cursor.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Destaque os componentes de expressão regular relacionados sob o cursor.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Mostrar as dicas para os literais", diff --git a/package.nls.ru.json b/package.nls.ru.json index c4af3a4fc0..e6d2d3bc50 100644 --- a/package.nls.ru.json +++ b/package.nls.ru.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Выполните автоматическое завершение имен объектов для выбранных элементов.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Автоматически показывать список завершения в списках аргументов", "configuration.dotnet.defaultSolution.description": "Путь к решению по умолчанию, которое будет открыто в рабочей области. Или задайте значение \"Отключить\", чтобы пропустить его. (Ранее — \"omnisharp.defaultLaunchSolution\")", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Включите этот параметр, чтобы уменьшить количество визуальных отвлекающих факторов в редакторе. Информационные проблемы будут отображаться в виде подсказок и видны только при открытии всплывающего окна действий кода.", "configuration.dotnet.enableXamlTools": "Включает инструменты XAML при использовании комплекта разработки C# Dev Kit.", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "Указывает, следует ли группировать и сортировать директивы \"using\" во время форматирования документов. (Ранее — \"omnisharp.organizeImportsOnFormat\")", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "Выделить связанные компоненты JSON под курсором.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "Выделение связанных компонентов регулярных выражений под курсором.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Отображать подсказки для литералов", diff --git a/package.nls.tr.json b/package.nls.tr.json index 03d4f8a4f4..1201e02462 100644 --- a/package.nls.tr.json +++ b/package.nls.tr.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "Yakın zamanda seçtiğiniz üyeler için otomatik nesne adı tamamlama gerçekleştirin.", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "Bağımsız değişken listelerinde tamamlama listesini otomatik olarak göster", "configuration.dotnet.defaultSolution.description": "Varsayılan çözümün yolu, çalışma alanında açılacak veya atlamak için 'devre dışı' olarak ayarlanacak. (Daha önce 'omnisharp.defaultLaunchSolution')", + "configuration.dotnet.diagnostics.reportInformationAsHint": "Düzenleyicinizdeki görsel dikkat dağıtıcı öğeleri azaltmak için bu ayarı etkinleştirin. Bilgi sorunları ipucu olarak bildirilecek ve yalnızca kod eylemleri açılır penceresi açıkken görülebilecektir.", "configuration.dotnet.enableXamlTools": "C# Geliştirme Setini kullanırken XAML araçlarını etkinleştirir", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "'using' yönergelerinin belge biçimlendirmesi sırasında gruplandırılarak sıralanıp sıralanmayacağını belirtir. (Önceki adıyla `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "İmlecin altındaki ilgili JSON bileşenlerini vurgula.", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "İmleç altındaki ilgili normal ifade bileşenlerini vurgula.", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "Sabit değerler için ipuçlarını göster", diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index a898a9e86c..521195bf3f 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "对最近选择的成员执行自动对象名称完成。", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "自动显示参数列表中的补全列表", "configuration.dotnet.defaultSolution.description": "要在工作区中打开的默认解决方案的路径,或者设置为“禁用”以跳过它。(之前为 \"omnisharp.defaultLaunchSolution\")", + "configuration.dotnet.diagnostics.reportInformationAsHint": "启用此设置可减少编辑器中的视觉干扰。信息问题将报告为提示,并且仅在代码操作弹出窗口打开时可见。", "configuration.dotnet.enableXamlTools": "使用 C# 开发工具包时启用 XAML 工具", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "指定在设置文档格式期间是否应对 “using” 指令进行分组和排序。(以前为 `omnisharp.organizeImportsOnFormat`)", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "突出显示光标下的相关 JSON 组件。", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "突出显示光标下的相关正则表达式组件。", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "显示文本提示", diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index 55edc8b0d9..88d3aa0306 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -44,8 +44,9 @@ "configuration.dotnet.completion.showNameCompletionSuggestions": "為您最近選取的成員執行自動物件名稱完成。", "configuration.dotnet.completion.triggerCompletionInArgumentLists": "自動在引數清單中顯示自動完成清單", "configuration.dotnet.defaultSolution.description": "要在工作區中開啟的預設解決方案路徑,或設為 [停用] 以略過它。(先前為 `omnisharp.defaultLaunchSolution`)", + "configuration.dotnet.diagnostics.reportInformationAsHint": "啟用此設定以減少您編輯器中的視覺干擾。資訊問題將以提示的形式回報,並且僅在程式碼動作快顯視窗開啟時顯示。", "configuration.dotnet.enableXamlTools": "使用 C# 開發套件時啟用 XAML 工具", - "configuration.dotnet.formatting.organizeImportsOnFormat": "Specifies whether 'using' directives should be grouped and sorted during document formatting. (Previously `omnisharp.organizeImportsOnFormat`)", + "configuration.dotnet.formatting.organizeImportsOnFormat": "指定在文件格式化期間,是否應該將 'using' 指示詞分組和排序。(先前為 'omnisharp.organizeImportsOnFormat')", "configuration.dotnet.highlighting.highlightRelatedJsonComponents": "反白資料指標下的相關 JSON 元件。", "configuration.dotnet.highlighting.highlightRelatedRegexComponents": "反白資料指標下的相關規則運算式元件。", "configuration.dotnet.inlayHints.enableInlayHintsForLiteralParameters": "顯示常值的提示", diff --git a/snippets/csharp.json b/snippets/csharp.json index bd3c63d537..e37bc6cfb4 100644 --- a/snippets/csharp.json +++ b/snippets/csharp.json @@ -354,6 +354,25 @@ ], "description": "An automatically implemented property. C# 3.0 or higher" }, + "propex": { + "prefix": "propex", + "body": [ + "public ${1:int} ${2:MyProperty} => ${3:myVar};$0" + ], + "description": "An expression-bodied property without a backing field. C# 6.0 or higher" + }, + "propexfull": { + "prefix": "propexfull", + "body": [ + "private ${1:int} ${2:myVar};", + "public ${1:int} ${3:MyProperty}", + "{", + "\tget => ${2:myVar};", + "\tset => ${2:myVar} = value;", + "}$0" + ], + "description": "An expression-bodied property with a private field. C# 6.0 or higher" + }, "sim": { "prefix": "sim", "body": [ diff --git a/src/activateOmniSharp.ts b/src/activateOmniSharp.ts new file mode 100644 index 0000000000..50b99b8b39 --- /dev/null +++ b/src/activateOmniSharp.ts @@ -0,0 +1,79 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { OmnisharpExtensionExports } from './csharpExtensionExports'; +import { PlatformInformation } from './shared/platform'; +import { Observable } from 'rxjs'; +import { NetworkSettingsProvider } from './networkSettings'; +import TelemetryReporter from '@vscode/extension-telemetry'; +import { activateOmniSharpLanguageServer } from './omnisharp/omnisharpLanguageServer'; +import { EventStream } from './eventStream'; +import { razorOptions } from './shared/options'; +import { activateRazorExtension } from './razor/razor'; + +export function activateOmniSharp( + context: vscode.ExtensionContext, + platformInfo: PlatformInformation, + optionStream: Observable, + networkSettingsProvider: NetworkSettingsProvider, + eventStream: EventStream, + csharpChannel: vscode.OutputChannel, + reporter: TelemetryReporter, + getCoreClrDebugPromise: (languageServerStarted: Promise) => Promise +): OmnisharpExtensionExports { + // activate language services + const dotnetTestChannel = vscode.window.createOutputChannel(vscode.l10n.t('.NET Test Log')); + const dotnetChannel = vscode.window.createOutputChannel(vscode.l10n.t('.NET NuGet Restore')); + const omnisharpLangServicePromise = activateOmniSharpLanguageServer( + context, + platformInfo, + optionStream, + networkSettingsProvider, + eventStream, + csharpChannel, + dotnetTestChannel, + dotnetChannel, + reporter + ); + + let omnisharpRazorPromise: Promise | undefined = undefined; + if (!razorOptions.razorDevMode) { + omnisharpRazorPromise = activateRazorExtension( + context, + context.extension.extensionPath, + eventStream, + undefined, + platformInfo, + /* useOmnisharpServer */ true + ); + } + + const coreClrDebugPromise = getCoreClrDebugPromise(omnisharpLangServicePromise); + + const exports: OmnisharpExtensionExports = { + initializationFinished: async () => { + const langService = await omnisharpLangServicePromise; + await langService!.server.waitForInitialize(); + await coreClrDebugPromise; + + if (omnisharpRazorPromise) { + await omnisharpRazorPromise; + } + }, + getAdvisor: async () => { + const langService = await omnisharpLangServicePromise; + return langService!.advisor; + }, + getTestManager: async () => { + const langService = await omnisharpLangServicePromise; + return langService!.testManager; + }, + eventStream, + logDirectory: context.logUri.fsPath, + }; + + return exports; +} diff --git a/src/activateRoslyn.ts b/src/activateRoslyn.ts new file mode 100644 index 0000000000..7cc673501c --- /dev/null +++ b/src/activateRoslyn.ts @@ -0,0 +1,158 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { CSharpExtensionExports } from './csharpExtensionExports'; +import { activateRazorExtension } from './razor/razor'; +import { PlatformInformation } from './shared/platform'; +import { Observable } from 'rxjs'; +import { EventStream } from './eventStream'; +import TelemetryReporter from '@vscode/extension-telemetry'; +import { RoslynLanguageServer } from './lsptoolshost/server/roslynLanguageServer'; +import { CSharpDevKitExports } from './csharpDevKitExports'; +import { RoslynLanguageServerEvents, ServerState } from './lsptoolshost/server/languageServerEvents'; +import { activateRoslynLanguageServer } from './lsptoolshost/activate'; +import Descriptors from './lsptoolshost/solutionSnapshot/descriptors'; +import { getBrokeredServiceContainer } from './lsptoolshost/serviceBroker/brokeredServicesHosting'; +import { debugSessionTracker } from './coreclrDebug/provisionalDebugSessionTracker'; +import { RoslynLanguageServerExport } from './lsptoolshost/extensions/roslynLanguageServerExportChannel'; +import { BlazorDebugConfigurationProvider } from './razor/src/blazorDebug/blazorDebugConfigurationProvider'; +import { languageServerOptions } from './shared/options'; +import { csharpDevkitExtensionId } from './utils/getCSharpDevKit'; +import { GlobalBrokeredServiceContainer } from '@microsoft/servicehub-framework'; +import { SolutionSnapshotProvider } from './lsptoolshost/solutionSnapshot/solutionSnapshotProvider'; +import { BuildResultDiagnostics } from './lsptoolshost/diagnostics/buildResultReporterService'; +import { getComponentFolder } from './lsptoolshost/extensions/builtInComponents'; + +export function activateRoslyn( + context: vscode.ExtensionContext, + platformInfo: PlatformInformation, + optionStream: Observable, + eventStream: EventStream, + csharpChannel: vscode.LogOutputChannel, + reporter: TelemetryReporter, + csharpDevkitExtension: vscode.Extension | undefined, + getCoreClrDebugPromise: (languageServerStarted: Promise) => Promise +): CSharpExtensionExports { + const roslynLanguageServerEvents = new RoslynLanguageServerEvents(); + context.subscriptions.push(roslynLanguageServerEvents); + + // Activate Razor. Needs to be activated before Roslyn so commands are registered in the correct order. + // Otherwise, if Roslyn starts up first, they could execute commands that don't yet exist on Razor's end. + // + // Flow: + // Razor starts up and registers dynamic file info commands -> + // Roslyn starts up and registers Razor-specific didOpen/didClose/didChange commands and sends request to Razor + // for dynamic file info once project system is ready -> + // Razor sends didOpen commands to Roslyn for generated docs and responds to request with dynamic file info + const razorLanguageServerStartedPromise = activateRazorExtension( + context, + context.extension.extensionPath, + eventStream, + csharpDevkitExtension, + platformInfo, + /* useOmnisharpServer */ false + ); + + // Setup a listener for project initialization complete before we start the server. + const projectInitializationCompletePromise = new Promise((resolve, _) => { + roslynLanguageServerEvents.onServerStateChange(async (e) => { + if (e.state === ServerState.ProjectInitializationComplete) { + resolve(); + } + }); + }); + + // Start the server, but do not await the completion to avoid blocking activation. + const roslynLanguageServerStartedPromise = activateRoslynLanguageServer( + context, + platformInfo, + optionStream, + csharpChannel, + reporter, + roslynLanguageServerEvents + ); + + debugSessionTracker.initializeDebugSessionHandlers(context); + tryGetCSharpDevKitExtensionExports(csharpDevkitExtension, csharpChannel); + const coreClrDebugPromise = getCoreClrDebugPromise(roslynLanguageServerStartedPromise); + + const languageServerExport = new RoslynLanguageServerExport(roslynLanguageServerStartedPromise); + const exports: CSharpExtensionExports = { + initializationFinished: async () => { + await coreClrDebugPromise; + await razorLanguageServerStartedPromise; + await roslynLanguageServerStartedPromise; + await projectInitializationCompletePromise; + }, + profferBrokeredServices: (container) => + profferBrokeredServices(context, container, roslynLanguageServerStartedPromise!), + logDirectory: context.logUri.fsPath, + determineBrowserType: BlazorDebugConfigurationProvider.determineBrowserType, + experimental: { + sendServerRequest: async (t, p, ct) => await languageServerExport.sendRequest(t, p, ct), + sendServerRequestWithProgress: async (t, p, pr, ct) => + await languageServerExport.sendRequestWithProgress(t, p, pr, ct), + languageServerEvents: roslynLanguageServerEvents, + }, + getComponentFolder: (componentName) => { + return getComponentFolder(componentName, languageServerOptions); + }, + }; + + return exports; +} + +/** + * This method will try to get the CSharpDevKitExports through a thenable promise, + * awaiting `activate` will cause this extension's activation to hang. + */ +function tryGetCSharpDevKitExtensionExports( + csharpDevKit: vscode.Extension | undefined, + csharpChannel: vscode.LogOutputChannel +): void { + csharpDevKit?.activate().then( + async (exports: CSharpDevKitExports) => { + if (exports && exports.serviceBroker) { + // When proffering this IServiceBroker into our own container, + // we list the monikers of the brokered services we expect to find there. + // This list must be a subset of the monikers previously registered with our own container + // as defined in the getBrokeredServiceContainer function. + getBrokeredServiceContainer().profferServiceBroker(exports.serviceBroker, [ + Descriptors.dotnetDebugConfigurationService.moniker, + ]); + + // Notify the vsdbg configuration provider that C# dev kit has been loaded. + exports.serverProcessLoaded(async () => { + await debugSessionTracker.onCsDevKitInitialized(await exports.getBrokeredServiceServerPipeName()); + }); + + await vscode.commands.executeCommand('setContext', 'dotnet.debug.serviceBrokerAvailable', true); + } else { + csharpChannel.error(`'${csharpDevkitExtensionId}' activated but did not return expected Exports.`); + } + }, + () => { + csharpChannel.error(`Failed to activate '${csharpDevkitExtensionId}'`); + } + ); +} + +function profferBrokeredServices( + context: vscode.ExtensionContext, + serviceContainer: GlobalBrokeredServiceContainer, + languageServerPromise: Promise +) { + context.subscriptions.push( + serviceContainer.profferServiceFactory( + Descriptors.solutionSnapshotProviderRegistration, + (_mk, _op, _sb) => new SolutionSnapshotProvider(languageServerPromise) + ), + serviceContainer.profferServiceFactory( + Descriptors.csharpExtensionBuildResultService, + (_mk, _op, _sb) => new BuildResultDiagnostics(languageServerPromise) + ) + ); +} diff --git a/src/checkDotNetRuntimeExtensionVersion.ts b/src/checkDotNetRuntimeExtensionVersion.ts new file mode 100644 index 0000000000..6cdbab79be --- /dev/null +++ b/src/checkDotNetRuntimeExtensionVersion.ts @@ -0,0 +1,38 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { lt } from 'semver'; + +export const DotNetRuntimeExtensionId = 'ms-dotnettools.vscode-dotnet-runtime'; +const requiredDotNetRuntimeExtensionVersion = '2.2.3'; + +export async function checkDotNetRuntimeExtensionVersion(context: vscode.ExtensionContext): Promise { + const dotnetRuntimeExtension = vscode.extensions.getExtension(DotNetRuntimeExtensionId); + const dotnetRuntimeExtensionVersion = dotnetRuntimeExtension?.packageJSON.version; + if (lt(dotnetRuntimeExtensionVersion, requiredDotNetRuntimeExtensionVersion)) { + const button = vscode.l10n.t('Update and reload'); + const prompt = vscode.l10n.t( + 'The {0} extension requires at least {1} of the .NET Install Tool ({2}) extension. Please update to continue', + context.extension.packageJSON.displayName, + requiredDotNetRuntimeExtensionVersion, + DotNetRuntimeExtensionId + ); + const selection = await vscode.window.showErrorMessage(prompt, button); + if (selection === button) { + await vscode.commands.executeCommand('workbench.extensions.installExtension', DotNetRuntimeExtensionId); + await vscode.commands.executeCommand('workbench.action.reloadWindow'); + } else { + throw new Error( + vscode.l10n.t( + 'Version {0} of the .NET Install Tool ({1}) was not found, {2} will not activate.', + requiredDotNetRuntimeExtensionVersion, + DotNetRuntimeExtensionId, + context.extension.packageJSON.displayName + ) + ); + } + } +} diff --git a/src/checkSupportedPlatform.ts b/src/checkSupportedPlatform.ts new file mode 100644 index 0000000000..aaaa111669 --- /dev/null +++ b/src/checkSupportedPlatform.ts @@ -0,0 +1,64 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { PlatformInformation } from './shared/platform'; +import { ActionOption, showErrorMessage } from './shared/observers/utils/showMessage'; + +export function checkIsSupportedPlatform(context: vscode.ExtensionContext, platformInfo: PlatformInformation): boolean { + if (!isSupportedPlatform(platformInfo)) { + // Check to see if VS Code is running remotely + if (context.extension.extensionKind === vscode.ExtensionKind.Workspace) { + const setupButton: ActionOption = { + title: vscode.l10n.t('How to setup Remote Debugging'), + action: async () => { + const remoteDebugInfoURL = + 'https://github.com/dotnet/vscode-csharp/wiki/Remote-Debugging-On-Linux-Arm'; + await vscode.env.openExternal(vscode.Uri.parse(remoteDebugInfoURL)); + }, + }; + const errorMessage = vscode.l10n.t( + `The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.`, + platformInfo.platform, + platformInfo.architecture, + setupButton.title + ); + showErrorMessage(vscode, errorMessage, setupButton); + } else { + const errorMessage = vscode.l10n.t( + 'The C# extension for Visual Studio Code is incompatible on {0} {1}.', + platformInfo.platform, + platformInfo.architecture + ); + showErrorMessage(vscode, errorMessage); + } + + // Unsupported platform + return false; + } + + return true; +} + +function isSupportedPlatform(platform: PlatformInformation): boolean { + if (platform.isWindows()) { + return platform.architecture === 'x86_64' || platform.architecture === 'arm64'; + } + + if (platform.isMacOS()) { + return true; + } + + if (platform.isLinux()) { + return ( + platform.architecture === 'x86_64' || + platform.architecture === 'x86' || + platform.architecture === 'i686' || + platform.architecture === 'arm64' + ); + } + + return false; +} diff --git a/src/coreclrDebug/activate.ts b/src/coreclrDebug/activate.ts index 58633149cd..b1f70b339b 100644 --- a/src/coreclrDebug/activate.ts +++ b/src/coreclrDebug/activate.ts @@ -21,6 +21,7 @@ import CompositeDisposable from '../compositeDisposable'; import { BaseVsDbgConfigurationProvider } from '../shared/configurationProvider'; import { omnisharpOptions } from '../shared/options'; import { ActionOption, showErrorMessage } from '../shared/observers/utils/showMessage'; +import { Command } from 'vscode-languageserver-types'; export async function activate( thisExtension: vscode.Extension, @@ -222,7 +223,7 @@ function showInstallErrorMessage(eventStream: EventStream) { function showDotnetToolsWarning(message: string): void { const config = vscode.workspace.getConfiguration('csharp'); if (!config.get('suppressDotnetInstallWarning', false)) { - const getDotNetMessage: ActionOption = { + const getDotNetMessage: ActionOption | Command = { title: vscode.l10n.t('Get the SDK'), action: async () => { await vscode.env.openExternal(vscode.Uri.parse('https://dot.net/core-sdk-vscode')); diff --git a/src/csharpExtensionExports.ts b/src/csharpExtensionExports.ts index 99bc7e3725..db1218e5f1 100644 --- a/src/csharpExtensionExports.ts +++ b/src/csharpExtensionExports.ts @@ -8,8 +8,8 @@ import { Advisor } from './omnisharp/features/diagnosticsProvider'; import { EventStream } from './eventStream'; import TestManager from './omnisharp/features/dotnetTest'; import { GlobalBrokeredServiceContainer } from '@microsoft/servicehub-framework'; -import { RequestType } from 'vscode-languageclient/node'; -import { LanguageServerEvents } from './lsptoolshost/languageServerEvents'; +import { PartialResultParams, ProtocolRequestType, RequestType } from 'vscode-languageclient/node'; +import { LanguageServerEvents } from './lsptoolshost/server/languageServerEvents'; export interface OmnisharpExtensionExports { initializationFinished: () => Promise; @@ -34,5 +34,17 @@ export interface CSharpExtensionExperimentalExports { params: Params, token: vscode.CancellationToken ) => Promise; + sendServerRequestWithProgress< + Params extends PartialResultParams, + Response, + PartialResult, + Error, + RegistrationOptions + >( + type: ProtocolRequestType, + params: Params, + onProgress: (p: PartialResult) => Promise, + token?: vscode.CancellationToken + ): Promise; languageServerEvents: LanguageServerEvents; } diff --git a/src/dotnetPack.ts b/src/dotnetPack.ts deleted file mode 100644 index 2e6447e000..0000000000 --- a/src/dotnetPack.ts +++ /dev/null @@ -1,24 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -import * as vscode from 'vscode'; - -const dotnetPackExtensionId = 'ms-dotnettools.vscode-dotnet-pack'; - -export interface DotnetPackExtensionExports { - getDotnetPath(version?: string): Promise; -} - -export async function getDotnetPackApi(): Promise { - const dotnetExtension = vscode.extensions.getExtension(dotnetPackExtensionId); - if (dotnetExtension === undefined) { - return undefined; - } - - if (!dotnetExtension.isActive) { - await dotnetExtension.activate(); - } - - return dotnetExtension.exports; -} diff --git a/src/lsptoolshost/activate.ts b/src/lsptoolshost/activate.ts new file mode 100644 index 0000000000..df8a54ab38 --- /dev/null +++ b/src/lsptoolshost/activate.ts @@ -0,0 +1,176 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import * as fs from 'fs'; +import * as path from 'path'; +import { registerCommands } from './commands'; +import { registerDebugger } from './debugger/debugger'; +import { PlatformInformation } from '../shared/platform'; +import TelemetryReporter from '@vscode/extension-telemetry'; +import { getCSharpDevKit } from '../utils/getCSharpDevKit'; +import { DotnetRuntimeExtensionResolver } from './dotnetRuntime/dotnetRuntimeExtensionResolver'; +import { registerUnitTestingCommands } from './testing/unitTesting'; +import { registerLanguageServerOptionChanges } from './options/optionChanges'; +import { Observable } from 'rxjs'; +import { RoslynLanguageServerEvents } from './server/languageServerEvents'; +import { registerRazorCommands } from './razor/razorCommands'; +import { registerCodeActionFixAllCommands } from './diagnostics/fixAllCodeAction'; +import { commonOptions, languageServerOptions } from '../shared/options'; +import { registerNestedCodeActionCommands } from './diagnostics/nestedCodeAction'; +import { registerRestoreCommands } from './projectRestore/restore'; +import { registerSourceGeneratedFilesContentProvider } from './generators/sourceGeneratedFilesContentProvider'; +import { registerMiscellaneousFileNotifier } from './workspace/miscellaneousFileNotifier'; +import { TelemetryEventNames } from '../shared/telemetryEventNames'; +import { WorkspaceStatus } from './workspace/workspaceStatus'; +import { ProjectContextStatus } from './projectContext/projectContextStatus'; +import { RoslynLanguageServer } from './server/roslynLanguageServer'; +import { registerCopilotRelatedFilesProvider } from './copilot/relatedFilesProvider'; +import { registerCopilotContextProviders } from './copilot/contextProviders'; + +let _channel: vscode.LogOutputChannel; +let _traceChannel: vscode.OutputChannel; + +/** + * Creates and activates the Roslyn language server. + * The returned promise will complete when the server starts. + */ +export async function activateRoslynLanguageServer( + context: vscode.ExtensionContext, + platformInfo: PlatformInformation, + optionObservable: Observable, + outputChannel: vscode.LogOutputChannel, + reporter: TelemetryReporter, + languageServerEvents: RoslynLanguageServerEvents +): Promise { + // Create a channel for outputting general logs from the language server. + _channel = outputChannel; + // Create a separate channel for outputting trace logs - these are incredibly verbose and make other logs very difficult to see. + // The trace channel verbosity is controlled by the _channel verbosity. + _traceChannel = vscode.window.createOutputChannel(vscode.l10n.t('C# LSP Trace Logs')); + + reporter.sendTelemetryEvent(TelemetryEventNames.ClientInitialize); + + const hostExecutableResolver = new DotnetRuntimeExtensionResolver( + platformInfo, + getServerPath, + outputChannel, + context.extensionPath + ); + const additionalExtensionPaths = scanExtensionPlugins(); + + const languageServer = await RoslynLanguageServer.initializeAsync( + platformInfo, + hostExecutableResolver, + context, + additionalExtensionPaths, + languageServerEvents, + _channel, + _traceChannel + ); + + registerLanguageStatusItems(context, languageServer, languageServerEvents); + registerMiscellaneousFileNotifier(context, languageServer); + registerCopilotRelatedFilesProvider(context, languageServer, _channel); + registerCopilotContextProviders(context, languageServer, _channel); + + // Register any commands that need to be handled by the extension. + registerCommands(context, languageServer, hostExecutableResolver, _channel); + registerNestedCodeActionCommands(context, languageServer, _channel); + registerCodeActionFixAllCommands(context, languageServer, _channel); + + registerRazorCommands(context, languageServer); + + registerUnitTestingCommands(context, languageServer); + + // Register any needed debugger components that need to communicate with the language server. + registerDebugger(context, languageServer, languageServerEvents, platformInfo, _channel); + + registerRestoreCommands(context, languageServer); + + registerSourceGeneratedFilesContentProvider(context, languageServer); + + context.subscriptions.push(registerLanguageServerOptionChanges(optionObservable)); + + return languageServer; + + function scanExtensionPlugins(): string[] { + const extensionsFromPackageJson = vscode.extensions.all.flatMap((extension) => { + let loadPaths = extension.packageJSON.contributes?.['csharpExtensionLoadPaths']; + if (loadPaths === undefined || loadPaths === null) { + _channel.debug(`Extension ${extension.id} does not contribute csharpExtensionLoadPaths`); + return []; + } + + if (!Array.isArray(loadPaths) || loadPaths.some((loadPath) => typeof loadPath !== 'string')) { + _channel.warn( + `Extension ${extension.id} has invalid csharpExtensionLoadPaths. Expected string array, found ${loadPaths}` + ); + return []; + } + + loadPaths = loadPaths.map((loadPath) => path.join(extension.extensionPath, loadPath)); + _channel.trace(`Extension ${extension.id} contributes csharpExtensionLoadPaths: ${loadPaths}`); + return loadPaths; + }); + const extensionsFromOptions = languageServerOptions.extensionsPaths ?? []; + return extensionsFromPackageJson.concat(extensionsFromOptions); + } +} + +function registerLanguageStatusItems( + context: vscode.ExtensionContext, + languageServer: RoslynLanguageServer, + languageServerEvents: RoslynLanguageServerEvents +) { + // DevKit will provide an equivalent workspace status item. + if (!getCSharpDevKit()) { + WorkspaceStatus.createStatusItem(context, languageServerEvents); + } + ProjectContextStatus.createStatusItem(context, languageServer); +} + +export function getServerPath(platformInfo: PlatformInformation) { + let serverPath = process.env.DOTNET_ROSLYN_SERVER_PATH; + + if (serverPath) { + _channel.appendLine(`Using server path override from DOTNET_ROSLYN_SERVER_PATH: ${serverPath}`); + } else { + serverPath = commonOptions.serverPath; + if (!serverPath) { + // Option not set, use the path from the extension. + serverPath = getInstalledServerPath(platformInfo); + } + } + + if (!fs.existsSync(serverPath)) { + throw new Error(`Cannot find language server in path '${serverPath}'`); + } + + return serverPath; +} + +function getInstalledServerPath(platformInfo: PlatformInformation): string { + const clientRoot = __dirname; + const serverFilePath = path.join(clientRoot, '..', '.roslyn', 'Microsoft.CodeAnalysis.LanguageServer'); + + let extension = ''; + if (platformInfo.isWindows()) { + extension = '.exe'; + } else if (platformInfo.isMacOS()) { + // MacOS executables must be signed with codesign. Currently all Roslyn server executables are built on windows + // and therefore dotnet publish does not automatically sign them. + // Tracking bug - https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1767519/ + extension = '.dll'; + } + + let pathWithExtension = `${serverFilePath}${extension}`; + if (!fs.existsSync(pathWithExtension)) { + // We might be running a platform neutral vsix which has no executable, instead we run the dll directly. + pathWithExtension = `${serverFilePath}.dll`; + } + + return pathWithExtension; +} diff --git a/src/lsptoolshost/onAutoInsert.ts b/src/lsptoolshost/autoInsert/onAutoInsert.ts similarity index 97% rename from src/lsptoolshost/onAutoInsert.ts rename to src/lsptoolshost/autoInsert/onAutoInsert.ts index 71ef4198a2..3ecac2e1c5 100644 --- a/src/lsptoolshost/onAutoInsert.ts +++ b/src/lsptoolshost/autoInsert/onAutoInsert.ts @@ -6,8 +6,8 @@ import * as vscode from 'vscode'; import { FormattingOptions, LanguageClient, TextDocumentIdentifier } from 'vscode-languageclient/node'; -import * as RoslynProtocol from './roslynProtocol'; -import { RoslynLanguageServer } from './roslynLanguageServer'; +import * as RoslynProtocol from '../server/roslynProtocol'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; export function registerOnAutoInsert(languageServer: RoslynLanguageServer, languageClient: LanguageClient) { let source = new vscode.CancellationTokenSource(); diff --git a/src/lsptoolshost/onAutoInsertFeature.ts b/src/lsptoolshost/autoInsert/onAutoInsertFeature.ts similarity index 96% rename from src/lsptoolshost/onAutoInsertFeature.ts rename to src/lsptoolshost/autoInsert/onAutoInsertFeature.ts index 88a1537b2b..eefbe729eb 100644 --- a/src/lsptoolshost/onAutoInsertFeature.ts +++ b/src/lsptoolshost/autoInsert/onAutoInsertFeature.ts @@ -21,8 +21,8 @@ import { ServerCapabilities, } from 'vscode-languageserver-protocol'; -import * as RoslynProtocol from './roslynProtocol'; -import { generateUuid } from 'vscode-languageclient/lib/common/utils/uuid'; +import * as RoslynProtocol from '../server/roslynProtocol'; +import { v4 as uuidv4 } from 'uuid'; export class OnAutoInsertFeature implements DynamicFeature { private readonly _client: LanguageClient; @@ -56,7 +56,7 @@ export class OnAutoInsertFeature implements DynamicFeature - completionComplexEdit(textDocument, textEdit, isSnippetString, newOffset, outputChannel) - ) - ); - context.subscriptions.push( - vscode.commands.registerCommand('dotnet.restartServer', async () => restartServer(languageServer)) - ); - if (!getCSharpDevKit()) { - context.subscriptions.push( - vscode.commands.registerCommand('dotnet.openSolution', async () => openSolution(languageServer)) - ); - } + registerExtensionCommands(context, languageServer, hostExecutableResolver, outputChannel); + registerWorkspaceCommands(context, languageServer); + registerServerCommands(context, languageServer, outputChannel); +} + +/** + * Register commands that drive the C# extension. + */ +function registerExtensionCommands( + context: vscode.ExtensionContext, + languageServer: RoslynLanguageServer, + hostExecutableResolver: IHostExecutableResolver, + outputChannel: vscode.LogOutputChannel +) { context.subscriptions.push( vscode.commands.registerCommand('csharp.reportIssue', async () => reportIssue( @@ -58,139 +45,3 @@ export function registerCommands( vscode.commands.registerCommand('csharp.showOutputWindow', async () => outputChannel.show()) ); } - -/** - * Callback for code lens commands. Executes a references request via the VSCode command - * which will call into the LSP server to get the data. Then calls the VSCode command to display the result. - * @param uriStr The uri containing the location to find references for. - * @param serverPosition The position json object to execute the find references request. - */ -async function peekReferencesCallback(uriStr: string, serverPosition: languageClient.Position): Promise { - const uri = UriConverter.deserialize(uriStr); - - // Convert the json position object into the corresponding vscode position type. - const vscodeApiPosition = new vscode.Position(serverPosition.line, serverPosition.character); - const references: vscode.Location[] = await vscode.commands.executeCommand( - 'vscode.executeReferenceProvider', - uri, - vscodeApiPosition - ); - - if (references && Array.isArray(references)) { - // The references could come back after the document has moved to a new state (that may not even contain the position). - // This is fine - the VSCode API is resilient to that scenario and will not crash. - await vscode.commands.executeCommand('editor.action.showReferences', uri, vscodeApiPosition, references); - } -} - -async function restartServer(languageServer: RoslynLanguageServer): Promise { - await languageServer.restart(); -} - -/** - * Callback after a completion item with complex edit is committed. The change needs to be made outside completion resolve - * handling - * - * IMPORTANT: @see RazorCompletionItemProvider.resolveCompletionItem matches the arguments for this commands - * so it can remap correctly in razor files. Any updates to this function signature requires updates there as well. - * - * @param uriStr The uri containing the location of the document where the completion item was committed in. - * @param textEdits The additional complex edit for the committed completion item. - * @param isSnippetString Indicates if the TextEdit contains a snippet string. - * @param newPosition The offset for new cursor position. -1 if the edit has not specified one. - */ -async function completionComplexEdit( - textDocument: languageClient.TextDocumentIdentifier, - textEdit: vscode.TextEdit, - isSnippetString: boolean, - newOffset: number, - outputChannel: vscode.LogOutputChannel -): Promise { - const componentName = '[roslyn.client.completionComplexEdit]'; - - // Find TextDocument, opening if needed. - const uri = UriConverter.deserialize(textDocument.uri); - const document = await vscode.workspace.openTextDocument(uri); - if (document === undefined) { - outputAndThrow(outputChannel, `${componentName} Can't open document with path: '${textDocument.uri}'`); - } - - // Use editor if we need to deal with selection or snippets. - let editor: vscode.TextEditor | undefined = undefined; - if (isSnippetString || newOffset >= 0) { - editor = await vscode.window.showTextDocument(document); - if (editor === undefined) { - outputAndThrow( - outputChannel, - `${componentName} Editor unavailable for document with path: '${textDocument.uri}'` - ); - } - } - - const newRange = document.validateRange( - new vscode.Range( - textEdit.range.start.line, - textEdit.range.start.character, - textEdit.range.end.line, - textEdit.range.end.character - ) - ); - - // HACK: - // ApplyEdit would fail the first time it's called when an item was committed with text modifying commit char (e.g. space, '(', etc.) - // so we retry a couple time here as a tempory workaround. We need to either figure our the reason of the failure, and/or try the - // approach of sending another edit request to server with updated document. - let success = false; - for (let i = 0; i < 3; i++) { - if (isSnippetString) { - editor!.selection = new vscode.Selection(newRange.start, newRange.end); - success = await editor!.insertSnippet(new vscode.SnippetString(textEdit.newText)); - } else { - const edit = new vscode.WorkspaceEdit(); - const newTextEdit = vscode.TextEdit.replace(newRange, textEdit.newText); - edit.set(document.uri, [newTextEdit]); - success = await vscode.workspace.applyEdit(edit); - - if (success && newOffset >= 0) { - const newPosition = document.positionAt(newOffset); - editor!.selections = [new vscode.Selection(newPosition, newPosition)]; - } - } - - if (success) { - return; - } - } - - if (!success) { - outputAndThrow( - outputChannel, - `${componentName} ${isSnippetString ? 'TextEditor.insertSnippet' : 'workspace.applyEdit'} failed.` - ); - } -} - -function outputAndThrow(outputChannel: vscode.LogOutputChannel, message: string): void { - outputChannel.show(); - outputChannel.error(message); - throw new Error(message); -} - -async function openSolution(languageServer: RoslynLanguageServer): Promise { - if (!vscode.workspace.workspaceFolders) { - return undefined; - } - - const solutionFiles = await vscode.workspace.findFiles('**/*.{sln,slnf}'); - const launchTargets = solutionFiles.map(createLaunchTargetForSolution); - const launchTarget = await vscode.window.showQuickPick(launchTargets, { - matchOnDescription: true, - placeHolder: `Select solution file`, - }); - - if (launchTarget) { - const uri = vscode.Uri.file(launchTarget.target); - await languageServer.openSolution(uri); - return uri; - } -} diff --git a/src/lsptoolshost/copilot.ts b/src/lsptoolshost/copilot.ts deleted file mode 100644 index 4915606094..0000000000 --- a/src/lsptoolshost/copilot.ts +++ /dev/null @@ -1,99 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as vscode from 'vscode'; -import { CSharpExtensionId } from '../constants/csharpExtensionId'; -import { CopilotRelatedDocumentsReport, CopilotRelatedDocumentsRequest } from './roslynProtocol'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { UriConverter } from './uriConverter'; -import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; - -interface CopilotTrait { - name: string; - value: string; - includeInPrompt?: boolean; - promptTextOverride?: string; -} - -interface CopilotRelatedFilesProviderRegistration { - registerRelatedFilesProvider( - providerId: { extensionId: string; languageId: string }, - callback: ( - uri: vscode.Uri, - context: { flags: Record }, - cancellationToken?: vscode.CancellationToken - ) => Promise<{ entries: vscode.Uri[]; traits?: CopilotTrait[] }> - ): vscode.Disposable; -} - -export function registerCopilotExtension(languageServer: RoslynLanguageServer, channel: vscode.LogOutputChannel) { - const ext = vscode.extensions.getExtension('github.copilot'); - if (!ext) { - channel.debug('GitHub Copilot extension not installed. Skip registeration of C# related files provider.'); - return; - } - ext.activate().then(() => { - const relatedAPI = ext.exports as CopilotRelatedFilesProviderRegistration | undefined; - if (!relatedAPI) { - channel.debug( - 'Incompatible GitHub Copilot extension installed. Skip registeration of C# related files provider.' - ); - return; - } - - channel.debug('registration of C# related files provider for GitHub Copilot extension succeeded.'); - - const id = { - extensionId: CSharpExtensionId, - languageId: 'csharp', - }; - - relatedAPI.registerRelatedFilesProvider(id, async (uri, _, token) => { - const buildResult = ( - activeDocumentUri: vscode.Uri, - reports: CopilotRelatedDocumentsReport[], - builder: vscode.Uri[] - ) => { - if (reports) { - for (const report of reports) { - if (report._vs_file_paths) { - for (const filePath of report._vs_file_paths) { - // The Roslyn related document service would return the active document as related file to itself - // if the code contains reference to the types defined in the same document. Skip it so the active file - // won't be used as additonal context. - const relatedUri = vscode.Uri.file(filePath); - if (relatedUri.fsPath !== activeDocumentUri.fsPath) { - builder.push(relatedUri); - } - } - } - } - } - }; - const relatedFiles: vscode.Uri[] = []; - const uriString = UriConverter.serialize(uri); - const textDocument = TextDocumentIdentifier.create(uriString); - try { - await languageServer.sendRequestWithProgress( - CopilotRelatedDocumentsRequest.type, - { - _vs_textDocument: textDocument, - position: { - line: 0, - character: 0, - }, - }, - async (r) => buildResult(uri, r, relatedFiles), - token - ); - } catch (e) { - if (e instanceof Error) { - channel.appendLine(e.message); - } - } - return { entries: relatedFiles }; - }); - }); -} diff --git a/src/lsptoolshost/copilot/contextProviders.ts b/src/lsptoolshost/copilot/contextProviders.ts new file mode 100644 index 0000000000..d9394d283d --- /dev/null +++ b/src/lsptoolshost/copilot/contextProviders.ts @@ -0,0 +1,151 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +import { ContextProviderApiV1, ResolveRequest, SupportedContextItem } from '@github/copilot-language-server'; +import * as vscode from 'vscode'; +import * as lsp from 'vscode-languageserver-protocol'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { CSharpExtensionId } from '../../constants/csharpExtensionId'; +import { csharpDevkitExtensionId, getCSharpDevKit } from '../../utils/getCSharpDevKit'; +import path from 'path'; +import { readJsonSync } from 'fs-extra'; + +export const copilotLanguageServerExtensionComponentName = '@microsoft/visualstudio.copilot.roslyn.languageserver'; +export const copilotLanguageServerExtensionAssemblyName = 'Microsoft.VisualStudio.Copilot.Roslyn.LanguageServer.dll'; +const copilotLanguageServerExtensionCapabilitiesFileName = 'capabilities.json'; + +export interface DocumentContext { + textDocument: lsp.TextDocumentIdentifier; + position: lsp.Position; +} + +export interface ContextResolveParam { + documentContext: DocumentContext; + completionId: string; + timeBudget: number; + data?: any; +} + +const resolveContextMethodName = 'roslyn/resolveContext'; +const resolveContextMethodSupportedVersion = '1'; +const resolveContextRequest = new lsp.RequestType( + resolveContextMethodName, + lsp.ParameterStructures.auto +); + +interface CopilotApi { + getContextProviderAPI(version: string): Promise; +} + +function createContextResolveParam(request: ResolveRequest): ContextResolveParam | undefined { + let document: vscode.TextDocument | undefined; + if (vscode.window.activeTextEditor?.document.uri.toString() === request.documentContext.uri) { + document = vscode.window.activeTextEditor.document; + } else { + document = vscode.workspace.textDocuments.find((doc) => doc.uri.toString() === request.documentContext.uri); + } + if (document === undefined) { + return undefined; + } + + const position = document.positionAt(request.documentContext.offset); + const uri = vscode.Uri.parse(request.documentContext.uri); + const textDocument = lsp.TextDocumentIdentifier.create(uri.fsPath); + + const contextResolveParam: ContextResolveParam = { + documentContext: { + textDocument: textDocument, + position: position, + }, + completionId: request.completionId, + timeBudget: request.timeBudget, + }; + return contextResolveParam; +} + +export function registerCopilotContextProviders( + context: vscode.ExtensionContext, + languageServer: RoslynLanguageServer, + channel: vscode.LogOutputChannel +) { + const devkit = getCSharpDevKit(); + if (!devkit) { + return; + } + + devkit.activate().then(async (devKitExports) => { + try { + // Check if the Copilot Language Server extension is installed and has the correct capabilities + let hasCapabilities = false; + const copilotServerExtensionfolder = devKitExports.components[copilotLanguageServerExtensionComponentName]; + if (copilotServerExtensionfolder) { + const capabilitiesFilePath = path.join( + copilotServerExtensionfolder, + copilotLanguageServerExtensionCapabilitiesFileName + ); + const capabilitiesContent = await readJsonSync(capabilitiesFilePath); + if ( + capabilitiesContent?.capabilities?.find( + (capability: any) => + capability?.method === resolveContextMethodName && + capability?.version === resolveContextMethodSupportedVersion + ) + ) { + hasCapabilities = true; + } + } + + if (!hasCapabilities) { + channel.debug( + `Failed to find compatible version of context provider from installed version of ${csharpDevkitExtensionId}.` + ); + return; + } + + const copilotApi = vscode.extensions.getExtension('github.copilot'); + if (!copilotApi) { + channel.debug( + 'Failed to find compatible version of GitHub Copilot extension installed. Skip registeration of Copilot context provider.' + ); + return; + } + + const api = await copilotApi.activate(); + const contextProviderApi = await api.getContextProviderAPI('v1'); + + if (!contextProviderApi) { + channel.debug( + 'Incompatible GitHub Copilot extension installed. Skip registeration of C# context providers.' + ); + return; + } + + context.subscriptions.push( + contextProviderApi.registerContextProvider({ + id: CSharpExtensionId, // use extension id as provider id for now + selector: [{ language: 'csharp' }], + resolver: { + resolve: async (request, token) => { + const contextResolveParam = createContextResolveParam(request); + if (!contextResolveParam) { + return []; + } + const items = await languageServer.sendRequest( + resolveContextRequest, + contextResolveParam, + token + ); + channel.trace(`Copilot context provider resolved ${items.length} items`); + return items; + }, + }, + }) + ); + + channel.debug('Registration of C# context provider for GitHub Copilot extension succeeded.'); + } catch (error) { + channel.error('Failed to register Copilot context providers', error); + } + }); +} diff --git a/src/lsptoolshost/copilot/relatedFilesProvider.ts b/src/lsptoolshost/copilot/relatedFilesProvider.ts new file mode 100644 index 0000000000..aafa79a0a1 --- /dev/null +++ b/src/lsptoolshost/copilot/relatedFilesProvider.ts @@ -0,0 +1,105 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { CSharpExtensionId } from '../../constants/csharpExtensionId'; +import { CopilotRelatedDocumentsReport, CopilotRelatedDocumentsRequest } from '../server/roslynProtocol'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { UriConverter } from '../utils/uriConverter'; +import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; + +interface CopilotTrait { + name: string; + value: string; + includeInPrompt?: boolean; + promptTextOverride?: string; +} + +interface CopilotRelatedFilesProviderRegistration { + registerRelatedFilesProvider( + providerId: { extensionId: string; languageId: string }, + callback: ( + uri: vscode.Uri, + context: { flags: Record }, + cancellationToken?: vscode.CancellationToken + ) => Promise<{ entries: vscode.Uri[]; traits?: CopilotTrait[] }> + ): vscode.Disposable; +} + +export function registerCopilotRelatedFilesProvider( + context: vscode.ExtensionContext, + languageServer: RoslynLanguageServer, + channel: vscode.LogOutputChannel +) { + const copilotApi = vscode.extensions.getExtension('github.copilot'); + if (!copilotApi) { + channel.debug( + 'Failed to find comnpatible version of GitHub Copilot extension installed. Skip registeration of Copilot related files provider.' + ); + return; + } + + copilotApi.activate().then(async (api) => { + try { + const id = { + extensionId: CSharpExtensionId, + languageId: 'csharp', + }; + + context.subscriptions.push( + api.registerRelatedFilesProvider(id, async (uri, _, token) => { + const buildResult = ( + activeDocumentUri: vscode.Uri, + reports: CopilotRelatedDocumentsReport[], + builder: vscode.Uri[] + ) => { + if (reports) { + for (const report of reports) { + if (report._vs_file_paths) { + for (const filePath of report._vs_file_paths) { + // The Roslyn related document service would return the active document as related file to itself + // if the code contains reference to the types defined in the same document. Skip it so the active file + // won't be used as additonal context. + const relatedUri = vscode.Uri.file(filePath); + if (relatedUri.fsPath !== activeDocumentUri.fsPath) { + builder.push(relatedUri); + } + } + } + } + } + }; + const relatedFiles: vscode.Uri[] = []; + const uriString = UriConverter.serialize(uri); + const textDocument = TextDocumentIdentifier.create(uriString); + try { + await languageServer.sendRequestWithProgress( + CopilotRelatedDocumentsRequest.type, + { + _vs_textDocument: textDocument, + position: { + line: 0, + character: 0, + }, + }, + async (r) => buildResult(uri, r, relatedFiles), + token + ); + } catch (e) { + if (e instanceof Error) { + channel.appendLine(e.message); + } + } + channel.trace(`Copilot related files provider returned ${relatedFiles.length} items`); + return { entries: relatedFiles }; + }) + ); + + channel.debug('Registration of C# related files provider for GitHub Copilot extension succeeded.'); + } catch (error) { + channel.error('Failed to register Copilot related files providers', error); + } + }); +} diff --git a/src/lsptoolshost/services/IDotnetDebugConfigurationService.ts b/src/lsptoolshost/debugger/IDotnetDebugConfigurationService.ts similarity index 100% rename from src/lsptoolshost/services/IDotnetDebugConfigurationService.ts rename to src/lsptoolshost/debugger/IDotnetDebugConfigurationService.ts diff --git a/src/lsptoolshost/debugger.ts b/src/lsptoolshost/debugger/debugger.ts similarity index 73% rename from src/lsptoolshost/debugger.ts rename to src/lsptoolshost/debugger/debugger.ts index c7d2a3bc0b..01c5b6d2c3 100644 --- a/src/lsptoolshost/debugger.ts +++ b/src/lsptoolshost/debugger/debugger.ts @@ -4,16 +4,15 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { addAssetsIfNecessary, generateAssets } from '../shared/assets'; -import { DotnetWorkspaceConfigurationProvider } from '../shared/workspaceConfigurationProvider'; -import { IWorkspaceDebugInformationProvider } from '../shared/IWorkspaceDebugInformationProvider'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { RoslynWorkspaceDebugInformationProvider } from './roslynWorkspaceDebugConfigurationProvider'; -import { PlatformInformation } from '../shared/platform'; -import { ServerState } from './serverStateChange'; -import { DotnetConfigurationResolver } from '../shared/dotnetConfigurationProvider'; -import { getCSharpDevKit } from '../utils/getCSharpDevKit'; -import { RoslynLanguageServerEvents } from './languageServerEvents'; +import { addAssetsIfNecessary, generateAssets } from '../../shared/assets'; +import { DotnetWorkspaceConfigurationProvider } from '../../shared/workspaceConfigurationProvider'; +import { IWorkspaceDebugInformationProvider } from '../../shared/IWorkspaceDebugInformationProvider'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { RoslynWorkspaceDebugInformationProvider } from '../debugger/roslynWorkspaceDebugConfigurationProvider'; +import { PlatformInformation } from '../../shared/platform'; +import { DotnetConfigurationResolver } from '../../shared/dotnetConfigurationProvider'; +import { getCSharpDevKit } from '../../utils/getCSharpDevKit'; +import { RoslynLanguageServerEvents, ServerState } from '../server/languageServerEvents'; export function registerDebugger( context: vscode.ExtensionContext, diff --git a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts b/src/lsptoolshost/debugger/roslynWorkspaceDebugConfigurationProvider.ts similarity index 90% rename from src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts rename to src/lsptoolshost/debugger/roslynWorkspaceDebugConfigurationProvider.ts index 2b5666c835..1c0b650c89 100644 --- a/src/lsptoolshost/roslynWorkspaceDebugConfigurationProvider.ts +++ b/src/lsptoolshost/debugger/roslynWorkspaceDebugConfigurationProvider.ts @@ -4,19 +4,19 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { mapAsync } from '../common'; +import { mapAsync } from '../../common'; import { IWorkspaceDebugInformationProvider, ProjectDebugInformation, -} from '../shared/IWorkspaceDebugInformationProvider'; -import { isBlazorWebAssemblyHosted, isBlazorWebAssemblyProject, isWebProject } from '../shared/utils'; -import { RoslynLanguageServer } from './roslynLanguageServer'; +} from '../../shared/IWorkspaceDebugInformationProvider'; +import { isBlazorWebAssemblyHosted, isBlazorWebAssemblyProject, isWebProject } from '../../shared/utils'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import { ProjectDebugConfiguration, WorkspaceDebugConfigurationParams, WorkspaceDebugConfigurationRequest, -} from './roslynProtocol'; -import { UriConverter } from './uriConverter'; +} from '../server/roslynProtocol'; +import { UriConverter } from '../utils/uriConverter'; export class RoslynWorkspaceDebugInformationProvider implements IWorkspaceDebugInformationProvider { constructor(private server: RoslynLanguageServer, private outputChannel: vscode.LogOutputChannel) {} diff --git a/src/lsptoolshost/buildDiagnosticsService.ts b/src/lsptoolshost/diagnostics/buildDiagnosticsService.ts similarity index 99% rename from src/lsptoolshost/buildDiagnosticsService.ts rename to src/lsptoolshost/diagnostics/buildDiagnosticsService.ts index 14ebea6cb9..70458d3bd5 100644 --- a/src/lsptoolshost/buildDiagnosticsService.ts +++ b/src/lsptoolshost/diagnostics/buildDiagnosticsService.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { languageServerOptions } from '../shared/options'; +import { languageServerOptions } from '../../shared/options'; export enum AnalysisSetting { FullSolution = 'fullSolution', diff --git a/src/lsptoolshost/services/buildResultReporterService.ts b/src/lsptoolshost/diagnostics/buildResultReporterService.ts similarity index 95% rename from src/lsptoolshost/services/buildResultReporterService.ts rename to src/lsptoolshost/diagnostics/buildResultReporterService.ts index 4b26a81963..8055f36c5b 100644 --- a/src/lsptoolshost/services/buildResultReporterService.ts +++ b/src/lsptoolshost/diagnostics/buildResultReporterService.ts @@ -2,7 +2,7 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { RoslynLanguageServer } from '../roslynLanguageServer'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import { CancellationToken } from 'vscode-jsonrpc'; import * as vscode from 'vscode'; diff --git a/src/lsptoolshost/diagnostics/diagnosticMiddleware.ts b/src/lsptoolshost/diagnostics/diagnosticMiddleware.ts new file mode 100644 index 0000000000..aaf1fedb1a --- /dev/null +++ b/src/lsptoolshost/diagnostics/diagnosticMiddleware.ts @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { ProvideDiagnosticSignature, ProvideWorkspaceDiagnosticSignature, vsdiag } from 'vscode-languageclient/node'; +import { languageServerOptions } from '../../shared/options'; + +export async function provideDiagnostics( + document: vscode.TextDocument | vscode.Uri, + previousResultId: string | undefined, + token: vscode.CancellationToken, + next: ProvideDiagnosticSignature +) { + const result = await next(document, previousResultId, token); + tryUpdateInformationDiagnostics(result); + return result; +} + +export async function provideWorkspaceDiagnostics( + resultIds: vsdiag.PreviousResultId[], + token: vscode.CancellationToken, + resultReporter: vsdiag.ResultReporter, + next: ProvideWorkspaceDiagnosticSignature +) { + const result = await next(resultIds, token, (chunk) => { + chunk?.items.forEach(tryUpdateInformationDiagnostics); + resultReporter(chunk); + }); + return result; +} + +function tryUpdateInformationDiagnostics(report: vsdiag.DocumentDiagnosticReport | null | undefined) { + if (report?.kind === vsdiag.DocumentDiagnosticReportKind.full && languageServerOptions.reportInformationAsHint) { + report.items.forEach((item) => { + if (item.severity === vscode.DiagnosticSeverity.Information) { + item.severity = vscode.DiagnosticSeverity.Hint; + } + }); + } +} diff --git a/src/lsptoolshost/fixAllCodeAction.ts b/src/lsptoolshost/diagnostics/fixAllCodeAction.ts similarity index 93% rename from src/lsptoolshost/fixAllCodeAction.ts rename to src/lsptoolshost/diagnostics/fixAllCodeAction.ts index 429b8ad9e6..13c17aa204 100644 --- a/src/lsptoolshost/fixAllCodeAction.ts +++ b/src/lsptoolshost/diagnostics/fixAllCodeAction.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import * as RoslynProtocol from './roslynProtocol'; +import * as RoslynProtocol from '../server/roslynProtocol'; import { LSPAny } from 'vscode-languageserver-protocol'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { URIConverter, createConverter } from 'vscode-languageclient/lib/common/protocolConverter'; -import { UriConverter } from './uriConverter'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { URIConverter, createConverter } from 'vscode-languageclient/protocolConverter'; +import { UriConverter } from '../utils/uriConverter'; export function registerCodeActionFixAllCommands( context: vscode.ExtensionContext, @@ -58,7 +58,7 @@ export async function getFixAllResponse( if (response.edit) { const uriConverter: URIConverter = (value: string): vscode.Uri => UriConverter.deserialize(value); - const protocolConverter = createConverter(uriConverter, true, true); + const protocolConverter = createConverter(uriConverter, true, true, true); const fixAllEdit = await protocolConverter.asWorkspaceEdit(response.edit); if (!(await vscode.workspace.applyEdit(fixAllEdit))) { const componentName = '[roslyn.client.fixAllCodeAction]'; diff --git a/src/lsptoolshost/nestedCodeAction.ts b/src/lsptoolshost/diagnostics/nestedCodeAction.ts similarity index 96% rename from src/lsptoolshost/nestedCodeAction.ts rename to src/lsptoolshost/diagnostics/nestedCodeAction.ts index 633d6f19c0..81341a653d 100644 --- a/src/lsptoolshost/nestedCodeAction.ts +++ b/src/lsptoolshost/diagnostics/nestedCodeAction.ts @@ -5,9 +5,9 @@ import * as vscode from 'vscode'; import { CodeAction, CodeActionResolveRequest, LSPAny } from 'vscode-languageserver-protocol'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { URIConverter, createConverter } from 'vscode-languageclient/lib/common/protocolConverter'; -import { UriConverter } from './uriConverter'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { URIConverter, createConverter } from 'vscode-languageclient/protocolConverter'; +import { UriConverter } from '../utils/uriConverter'; import { getFixAllResponse } from './fixAllCodeAction'; export function registerNestedCodeActionCommands( @@ -75,7 +75,7 @@ async function registerNestedResolveCodeAction( const uriConverter: URIConverter = (value: string): vscode.Uri => UriConverter.deserialize(value); - const protocolConverter = createConverter(uriConverter, true, true); + const protocolConverter = createConverter(uriConverter, true, true, true); const fixAllEdit = await protocolConverter.asWorkspaceEdit(response.edit); if (!(await vscode.workspace.applyEdit(fixAllEdit))) { const componentName = '[roslyn.client.nestedCodeAction]'; diff --git a/src/lsptoolshost/dotnetRuntimeExtensionApi.ts b/src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionApi.ts similarity index 86% rename from src/lsptoolshost/dotnetRuntimeExtensionApi.ts rename to src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionApi.ts index c5ae1fa79b..4b1aaa5f4c 100644 --- a/src/lsptoolshost/dotnetRuntimeExtensionApi.ts +++ b/src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionApi.ts @@ -5,13 +5,20 @@ // Contains APIs defined by the vscode-dotnet-runtime extension +/** + * https://github.com/dotnet/vscode-dotnet-runtime/blob/main/vscode-dotnet-runtime-library/src/IDotnetAcquireResult.ts + */ export interface IDotnetAcquireResult { dotnetPath: string; } +/** + * https://github.com/dotnet/vscode-dotnet-runtime/blob/main/vscode-dotnet-runtime-library/src/IDotnetFindPathContext.ts + */ export interface IDotnetFindPathContext { acquireContext: IDotnetAcquireContext; versionSpecRequirement: DotnetVersionSpecRequirement; + rejectPreviews?: boolean; } /** diff --git a/src/lsptoolshost/dotnetRuntimeExtensionResolver.ts b/src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionResolver.ts similarity index 90% rename from src/lsptoolshost/dotnetRuntimeExtensionResolver.ts rename to src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionResolver.ts index 76a2b5b9c3..0cb3164646 100644 --- a/src/lsptoolshost/dotnetRuntimeExtensionResolver.ts +++ b/src/lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionResolver.ts @@ -5,18 +5,19 @@ import * as path from 'path'; import * as vscode from 'vscode'; -import { HostExecutableInformation } from '../shared/constants/hostExecutableInformation'; -import { IHostExecutableResolver } from '../shared/constants/IHostExecutableResolver'; -import { PlatformInformation } from '../shared/platform'; -import { languageServerOptions } from '../shared/options'; +import { HostExecutableInformation } from '../../shared/constants/hostExecutableInformation'; +import { IHostExecutableResolver } from '../../shared/constants/IHostExecutableResolver'; +import { PlatformInformation } from '../../shared/platform'; +import { languageServerOptions } from '../../shared/options'; import { existsSync } from 'fs'; -import { CSharpExtensionId } from '../constants/csharpExtensionId'; +import { CSharpExtensionId } from '../../constants/csharpExtensionId'; import { readFile } from 'fs/promises'; import { IDotnetAcquireResult, IDotnetFindPathContext } from './dotnetRuntimeExtensionApi'; +import { DotNetRuntimeExtensionId } from '../../checkDotNetRuntimeExtensionVersion'; -const DotNetMajorVersion = '8'; +const DotNetMajorVersion = '9'; const DotNetMinorVersion = '0'; -const DotNetPatchVersion = '10'; +const DotNetPatchVersion = '1'; export const DotNetRuntimeVersion = `${DotNetMajorVersion}.${DotNetMinorVersion}.${DotNetPatchVersion}`; /** @@ -50,6 +51,8 @@ export class DotnetRuntimeExtensionResolver implements IHostExecutableResolver { mode: 'runtime', }, versionSpecRequirement: 'greater_than_or_equal', + // Reject previews because we are not setting `DOTNET_ROLL_FORWARD_TO_PRERELEASE` when starting the server. + rejectPreviews: true, }; let acquireResult = await vscode.commands.executeCommand( 'dotnet.findPath', @@ -57,7 +60,7 @@ export class DotnetRuntimeExtensionResolver implements IHostExecutableResolver { ); if (acquireResult === undefined) { this.channel.appendLine( - `Did not find .NET ${DotNetRuntimeVersion} on path, falling back to acquire runtime via ms-dotnettools.vscode-dotnet-runtime` + `Did not find .NET ${DotNetRuntimeVersion} on path, falling back to acquire runtime via ${DotNetRuntimeExtensionId}` ); acquireResult = await this.acquireDotNetProcessDependencies(); } diff --git a/src/lsptoolshost/builtInComponents.ts b/src/lsptoolshost/extensions/builtInComponents.ts similarity index 90% rename from src/lsptoolshost/builtInComponents.ts rename to src/lsptoolshost/extensions/builtInComponents.ts index 4fa3007ccd..dd14e71448 100644 --- a/src/lsptoolshost/builtInComponents.ts +++ b/src/lsptoolshost/extensions/builtInComponents.ts @@ -5,7 +5,7 @@ import * as fs from 'fs'; import * as path from 'path'; -import { LanguageServerOptions } from '../shared/options'; +import { LanguageServerOptions } from '../../shared/options'; interface ComponentInfo { defaultFolderName: string; @@ -32,6 +32,11 @@ export const componentInfo: { [key: string]: ComponentInfo } = { optionName: 'razorDevKit', componentDllPaths: ['Microsoft.VisualStudio.DevKit.Razor.dll'], }, + razorExtension: { + defaultFolderName: '.razorExtension', + optionName: 'razorExtension', + componentDllPaths: ['Microsoft.VisualStudioCode.RazorExtension.dll'], + }, }; export function getComponentPaths(componentName: string, options: LanguageServerOptions | undefined): string[] { diff --git a/src/lsptoolshost/extensions/roslynLanguageServerExportChannel.ts b/src/lsptoolshost/extensions/roslynLanguageServerExportChannel.ts new file mode 100644 index 0000000000..e3cd33b2bf --- /dev/null +++ b/src/lsptoolshost/extensions/roslynLanguageServerExportChannel.ts @@ -0,0 +1,45 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +import * as vscode from 'vscode'; +import { RequestType } from 'vscode-jsonrpc'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { PartialResultParams, ProtocolRequestType } from 'vscode-languageserver-protocol'; + +export class RoslynLanguageServerExport { + constructor(private _serverInitialized: Promise) {} + + public async sendRequest( + type: RequestType, + params: Params, + token: vscode.CancellationToken + ): Promise { + const server = await this._serverInitialized; + // We need to recreate the type parameter to ensure that the prototypes line up. The `RequestType` we receive could have been + // from a different version. + const newType = new RequestType(type.method); + return await server.sendRequest(newType, params, token); + } + + public async sendRequestWithProgress< + Params extends PartialResultParams, + Response, + PartialResult, + Error, + RegistrationOptions + >( + type: ProtocolRequestType, + params: Params, + onProgress: (p: PartialResult) => Promise, + token?: vscode.CancellationToken + ): Promise { + const server = await this._serverInitialized; + // We need to recreate the type parameter to ensure that the prototypes line up. The `ProtocolRequestType` we receive could have been + // from a different version. + const newType = new ProtocolRequestType( + type.method + ); + return await server.sendRequestWithProgress(newType, params, onProgress, token); + } +} diff --git a/src/lsptoolshost/sourceGeneratedFilesContentProvider.ts b/src/lsptoolshost/generators/sourceGeneratedFilesContentProvider.ts similarity index 95% rename from src/lsptoolshost/sourceGeneratedFilesContentProvider.ts rename to src/lsptoolshost/generators/sourceGeneratedFilesContentProvider.ts index 1e31e78c8d..fadd2d86b4 100644 --- a/src/lsptoolshost/sourceGeneratedFilesContentProvider.ts +++ b/src/lsptoolshost/generators/sourceGeneratedFilesContentProvider.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import * as RoslynProtocol from './roslynProtocol'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { UriConverter } from './uriConverter'; +import * as RoslynProtocol from '../server/roslynProtocol'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import * as lsp from 'vscode-languageserver-protocol'; import { IDisposable } from '@microsoft/servicehub-framework'; +import { UriConverter } from '../utils/uriConverter'; export function registerSourceGeneratedFilesContentProvider( context: vscode.ExtensionContext, diff --git a/src/lsptoolshost/showToastNotification.ts b/src/lsptoolshost/handlers/showToastNotification.ts similarity index 88% rename from src/lsptoolshost/showToastNotification.ts rename to src/lsptoolshost/handlers/showToastNotification.ts index f2e2c972cc..3defcbe669 100644 --- a/src/lsptoolshost/showToastNotification.ts +++ b/src/lsptoolshost/handlers/showToastNotification.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RoslynLanguageClient } from './roslynLanguageClient'; +import { RoslynLanguageClient } from '../server/roslynLanguageClient'; import { MessageType } from 'vscode-languageserver-protocol'; -import { ShowToastNotification } from './roslynProtocol'; -import { showErrorMessage, showInformationMessage, showWarningMessage } from '../shared/observers/utils/showMessage'; +import { ShowToastNotification } from '../server/roslynProtocol'; +import { showErrorMessage, showInformationMessage, showWarningMessage } from '../../shared/observers/utils/showMessage'; export function registerShowToastNotification(client: RoslynLanguageClient) { client.onNotification(ShowToastNotification.type, async (notification) => { diff --git a/src/lsptoolshost/languageStatusBar.ts b/src/lsptoolshost/languageStatusBar.ts deleted file mode 100644 index d0656e47fc..0000000000 --- a/src/lsptoolshost/languageStatusBar.ts +++ /dev/null @@ -1,99 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as vscode from 'vscode'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { RoslynLanguageServerEvents } from './languageServerEvents'; -import { languageServerOptions } from '../shared/options'; -import { ServerState } from './serverStateChange'; -import { getCSharpDevKit } from '../utils/getCSharpDevKit'; -import { RazorLanguage } from '../razor/src/razorLanguage'; - -export function registerLanguageStatusItems( - context: vscode.ExtensionContext, - languageServer: RoslynLanguageServer, - languageServerEvents: RoslynLanguageServerEvents -) { - // DevKit will provide an equivalent workspace status item. - if (!getCSharpDevKit()) { - WorkspaceStatus.createStatusItem(context, languageServerEvents); - } - ProjectContextStatus.createStatusItem(context, languageServer); -} - -function combineDocumentSelectors(...selectors: vscode.DocumentSelector[]): vscode.DocumentSelector { - return selectors.reduce<(string | vscode.DocumentFilter)[]>((acc, selector) => acc.concat(selector), []); -} - -class WorkspaceStatus { - static createStatusItem(context: vscode.ExtensionContext, languageServerEvents: RoslynLanguageServerEvents) { - const documentSelector = combineDocumentSelectors(languageServerOptions.documentSelector); - const openSolutionCommand = { - command: 'dotnet.openSolution', - title: vscode.l10n.t('Open solution'), - }; - const restartServerCommand = { - command: 'dotnet.restartServer', - title: vscode.l10n.t('Restart server'), - }; - - const item = vscode.languages.createLanguageStatusItem('csharp.workspaceStatus', documentSelector); - item.name = vscode.l10n.t('C# Workspace Status'); - item.severity = vscode.LanguageStatusSeverity.Error; - item.command = openSolutionCommand; - context.subscriptions.push(item); - - languageServerEvents.onServerStateChange((e) => { - item.text = e.workspaceLabel; - item.busy = e.state === ServerState.ProjectInitializationStarted; - item.severity = - e.state === ServerState.Stopped - ? vscode.LanguageStatusSeverity.Error - : vscode.LanguageStatusSeverity.Information; - item.command = e.state === ServerState.Stopped ? restartServerCommand : openSolutionCommand; - }); - } -} - -class ProjectContextStatus { - static createStatusItem(context: vscode.ExtensionContext, languageServer: RoslynLanguageServer) { - const documentSelector = combineDocumentSelectors( - languageServerOptions.documentSelector, - RazorLanguage.documentSelector - ); - const projectContextService = languageServer._projectContextService; - - const item = vscode.languages.createLanguageStatusItem('csharp.projectContextStatus', documentSelector); - item.name = vscode.l10n.t('C# Project Context Status'); - item.detail = vscode.l10n.t('Active File Context'); - context.subscriptions.push(item); - - projectContextService.onActiveFileContextChanged((e) => { - item.text = e.context._vs_label; - - // Show a warning when the active file is part of the Miscellaneous File workspace and - // project initialization is complete. - if (languageServer.state === ServerState.ProjectInitializationComplete) { - item.severity = - e.context._vs_is_miscellaneous && e.isVerified - ? vscode.LanguageStatusSeverity.Warning - : vscode.LanguageStatusSeverity.Information; - } else { - item.severity = vscode.LanguageStatusSeverity.Information; - } - - item.detail = e.context._vs_is_miscellaneous - ? vscode.l10n.t( - 'The active document is not part of the open workspace. Not all language features will be available.' - ) - : vscode.l10n.t('Active File Context'); - }); - - // Trigger a refresh, but don't block creation on the refresh completing. - projectContextService.refresh().catch((e) => { - throw new Error(`Error refreshing project context status ${e}`); - }); - } -} diff --git a/src/lsptoolshost/configurationMiddleware.ts b/src/lsptoolshost/options/configurationMiddleware.ts similarity index 100% rename from src/lsptoolshost/configurationMiddleware.ts rename to src/lsptoolshost/options/configurationMiddleware.ts diff --git a/src/lsptoolshost/optionChanges.ts b/src/lsptoolshost/options/optionChanges.ts similarity index 91% rename from src/lsptoolshost/optionChanges.ts rename to src/lsptoolshost/options/optionChanges.ts index 4a66b22286..0bc5f878d4 100644 --- a/src/lsptoolshost/optionChanges.ts +++ b/src/lsptoolshost/options/optionChanges.ts @@ -5,10 +5,10 @@ import * as vscode from 'vscode'; import { Observable } from 'rxjs'; -import { CommonOptionsThatTriggerReload, LanguageServerOptionsThatTriggerReload } from '../shared/options'; -import { HandleOptionChanges, OptionChangeObserver, OptionChanges } from '../shared/observers/optionChangeObserver'; -import Disposable from '../disposable'; -import { CommandOption, showInformationMessage } from '../shared/observers/utils/showMessage'; +import { CommonOptionsThatTriggerReload, LanguageServerOptionsThatTriggerReload } from '../../shared/options'; +import { HandleOptionChanges, OptionChangeObserver, OptionChanges } from '../../shared/observers/optionChangeObserver'; +import Disposable from '../../disposable'; +import { CommandOption, showInformationMessage } from '../../shared/observers/utils/showMessage'; export function registerLanguageServerOptionChanges(optionObservable: Observable): Disposable { const optionChangeObserver: OptionChangeObserver = { diff --git a/src/lsptoolshost/optionNameConverter.ts b/src/lsptoolshost/options/optionNameConverter.ts similarity index 100% rename from src/lsptoolshost/optionNameConverter.ts rename to src/lsptoolshost/options/optionNameConverter.ts diff --git a/src/lsptoolshost/universalEditorConfigProvider.ts b/src/lsptoolshost/options/universalEditorConfigProvider.ts similarity index 74% rename from src/lsptoolshost/universalEditorConfigProvider.ts rename to src/lsptoolshost/options/universalEditorConfigProvider.ts index c65fc57e56..45ca26cf55 100644 --- a/src/lsptoolshost/universalEditorConfigProvider.ts +++ b/src/lsptoolshost/options/universalEditorConfigProvider.ts @@ -29,11 +29,11 @@ export function readEquivalentVsCodeConfiguration(serverSideOptionName: string): } function readTabSize(configuration: WorkspaceConfiguration): string { - return readValueIfDetectIndentationIsOff(configuration, 'editor.tabSize', '4'); + return readVsCodeConfigurations(configuration, 'editor.tabSize'); } function readIndentSize(configuration: WorkspaceConfiguration): string { - const indentSize = readValueIfDetectIndentationIsOff(configuration, 'editor.indentSize', '4'); + const indentSize = readVsCodeConfigurations(configuration, 'editor.indentSize'); // indent size could be a number or 'tabSize'. If it is 'tabSize', read the 'tabSize' section from config. if (indentSize == 'tabSize') { return readTabSize(configuration); @@ -43,7 +43,7 @@ function readIndentSize(configuration: WorkspaceConfiguration): string { } function readInsertSpaces(configuration: WorkspaceConfiguration): string { - const insertSpace = readValueIfDetectIndentationIsOff(configuration, 'editor.insertSpaces', true); + const insertSpace = readVsCodeConfigurations(configuration, 'editor.insertSpaces'); return insertSpace ? 'space' : 'tab'; } @@ -62,21 +62,6 @@ function readInsertFinalNewline(configuration: WorkspaceConfiguration): string { return readVsCodeConfigurations(configuration, 'files.insertFinalNewline'); } -function readValueIfDetectIndentationIsOff( - configuration: WorkspaceConfiguration, - vscodeConfigName: string, - defaultValue: T -): T { - // If detectIndentation is on, tabSize, indentSize and insertSpaces would be overridden by vscode based on the file's content. - // The values in settings become meaningless, so ask the server to fall back to default value. - // TODO: Both 'editor.detectIndentation' and.editorconfig provided the same functions here, we need to find a graceful way to handle them. - if (configuration.get('editor.detectIndentation')) { - return defaultValue; - } - - return readVsCodeConfigurations(configuration, vscodeConfigName); -} - function readVsCodeConfigurations(configuration: WorkspaceConfiguration, vscodeConfigName: string): T { const configValue = configuration.get(vscodeConfigName); if (configValue === undefined) { diff --git a/src/lsptoolshost/profiling/profiling.ts b/src/lsptoolshost/profiling/profiling.ts new file mode 100644 index 0000000000..dd5ac0ff48 --- /dev/null +++ b/src/lsptoolshost/profiling/profiling.ts @@ -0,0 +1,26 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { EOL } from 'os'; +import { LogOutputChannel } from 'vscode'; + +export function getProfilingEnvVars(outputChannel: LogOutputChannel): NodeJS.ProcessEnv { + let profilingEnvVars = {}; + if (process.env.ROSLYN_DOTNET_EventPipeOutputPath) { + profilingEnvVars = { + DOTNET_EnableEventPipe: 1, + DOTNET_EventPipeConfig: 'Microsoft-Windows-DotNETRuntime:0x1F000080018:5', + DOTNET_EventPipeOutputPath: process.env.ROSLYN_DOTNET_EventPipeOutputPath, + DOTNET_ReadyToRun: 0, + DOTNET_TieredCompilation: 1, + DOTNET_TC_CallCounting: 0, + DOTNET_TC_QuickJitForLoops: 1, + DOTNET_JitCollect64BitCounts: 1, + }; + outputChannel.trace(`Profiling enabled with:${EOL}${JSON.stringify(profilingEnvVars)}`); + } + + return profilingEnvVars; +} diff --git a/src/lsptoolshost/services/projectContextService.ts b/src/lsptoolshost/projectContext/projectContextService.ts similarity index 94% rename from src/lsptoolshost/services/projectContextService.ts rename to src/lsptoolshost/projectContext/projectContextService.ts index 8dd9589b71..33e120f186 100644 --- a/src/lsptoolshost/services/projectContextService.ts +++ b/src/lsptoolshost/projectContext/projectContextService.ts @@ -4,12 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RoslynLanguageServer } from '../roslynLanguageServer'; -import { VSGetProjectContextsRequest, VSProjectContext, VSProjectContextList } from '../roslynProtocol'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { VSGetProjectContextsRequest, VSProjectContext, VSProjectContextList } from '../server/roslynProtocol'; import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; -import { UriConverter } from '../uriConverter'; -import { LanguageServerEvents } from '../languageServerEvents'; -import { ServerState } from '../serverStateChange'; +import { UriConverter } from '../utils/uriConverter'; +import { LanguageServerEvents, ServerState } from '../server/languageServerEvents'; export interface ProjectContextChangeEvent { languageId: string; diff --git a/src/lsptoolshost/projectContext/projectContextStatus.ts b/src/lsptoolshost/projectContext/projectContextStatus.ts new file mode 100644 index 0000000000..7dcfd43b33 --- /dev/null +++ b/src/lsptoolshost/projectContext/projectContextStatus.ts @@ -0,0 +1,52 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { languageServerOptions } from '../../shared/options'; +import { RazorLanguage } from '../../razor/src/razorLanguage'; +import { ServerState } from '../server/languageServerEvents'; +import { combineDocumentSelectors } from '../utils/combineDocumentSelectors'; + +export class ProjectContextStatus { + static createStatusItem(context: vscode.ExtensionContext, languageServer: RoslynLanguageServer) { + const documentSelector = combineDocumentSelectors( + languageServerOptions.documentSelector, + RazorLanguage.documentSelector + ); + const projectContextService = languageServer._projectContextService; + + const item = vscode.languages.createLanguageStatusItem('csharp.projectContextStatus', documentSelector); + item.name = vscode.l10n.t('C# Project Context Status'); + item.detail = vscode.l10n.t('Active File Context'); + context.subscriptions.push(item); + + projectContextService.onActiveFileContextChanged((e) => { + item.text = e.context._vs_label; + + // Show a warning when the active file is part of the Miscellaneous File workspace and + // project initialization is complete. + if (languageServer.state === ServerState.ProjectInitializationComplete) { + item.severity = + e.context._vs_is_miscellaneous && e.isVerified + ? vscode.LanguageStatusSeverity.Warning + : vscode.LanguageStatusSeverity.Information; + } else { + item.severity = vscode.LanguageStatusSeverity.Information; + } + + item.detail = e.context._vs_is_miscellaneous + ? vscode.l10n.t( + 'The active document is not part of the open workspace. Not all language features will be available.' + ) + : vscode.l10n.t('Active File Context'); + }); + + // Trigger a refresh, but don't block creation on the refresh completing. + projectContextService.refresh().catch((e) => { + throw new Error(`Error refreshing project context status ${e}`); + }); + } +} diff --git a/src/lsptoolshost/restore.ts b/src/lsptoolshost/projectRestore/restore.ts similarity index 94% rename from src/lsptoolshost/restore.ts rename to src/lsptoolshost/projectRestore/restore.ts index 83f035707b..3b9e6c6c29 100644 --- a/src/lsptoolshost/restore.ts +++ b/src/lsptoolshost/projectRestore/restore.ts @@ -4,17 +4,17 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RoslynLanguageServer } from './roslynLanguageServer'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import { RestorableProjects, RestoreParams, RestorePartialResult, RestoreRequest, ProjectNeedsRestoreRequest, -} from './roslynProtocol'; +} from '../server/roslynProtocol'; import path from 'path'; -import { showErrorMessage } from '../shared/observers/utils/showMessage'; -import { getCSharpDevKit } from '../utils/getCSharpDevKit'; +import { showErrorMessage } from '../../shared/observers/utils/showMessage'; +import { getCSharpDevKit } from '../../utils/getCSharpDevKit'; let _restoreInProgress = false; diff --git a/src/lsptoolshost/razorCommands.ts b/src/lsptoolshost/razor/razorCommands.ts similarity index 95% rename from src/lsptoolshost/razorCommands.ts rename to src/lsptoolshost/razor/razorCommands.ts index 58416f606e..5c97565180 100644 --- a/src/lsptoolshost/razorCommands.ts +++ b/src/lsptoolshost/razor/razorCommands.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { RoslynLanguageServer } from './roslynLanguageServer'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import * as vscode from 'vscode'; import { DidChangeTextDocumentNotification, @@ -27,10 +27,10 @@ import { InlayHintResolveRequest, InlayHintParams, InlayHintRequest, -} from 'vscode-languageclient/node'; -import SerializableSimplifyMethodParams from '../razor/src/simplify/serializableSimplifyMethodParams'; +} from 'vscode-languageclient'; +import SerializableSimplifyMethodParams from '../../razor/src/simplify/serializableSimplifyMethodParams'; import { TextEdit } from 'vscode-html-languageservice'; -import { SerializableFormatNewFileParams } from '../razor/src/formatNewFile/serializableFormatNewFileParams'; +import { SerializableFormatNewFileParams } from '../../razor/src/formatNewFile/serializableFormatNewFileParams'; // These are commands that are invoked by the Razor extension, and are used to send LSP requests to the Roslyn LSP server export const roslynDidChangeCommand = 'roslyn.changeRazorCSharp'; diff --git a/src/lsptoolshost/roslynLanguageServerExportChannel.ts b/src/lsptoolshost/roslynLanguageServerExportChannel.ts deleted file mode 100644 index be5372881f..0000000000 --- a/src/lsptoolshost/roslynLanguageServerExportChannel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient/node'; -import { RoslynLanguageServer } from './roslynLanguageServer'; - -export class RoslynLanguageServerExport { - constructor(private _serverInitialized: Promise) {} - - public async sendRequest( - type: RequestType, - params: Params, - token: vscode.CancellationToken - ): Promise { - const server = await this._serverInitialized; - // We need to recreate the type parameter to ensure that the prototypes line up. The `RequestType` we receive could have been - // from a different version. - const newType = new RequestType(type.method); - return await server.sendRequest(newType, params, token); - } -} diff --git a/src/lsptoolshost/languageServerEvents.ts b/src/lsptoolshost/server/languageServerEvents.ts similarity index 82% rename from src/lsptoolshost/languageServerEvents.ts rename to src/lsptoolshost/server/languageServerEvents.ts index 1cd623921c..3aa9756ef3 100644 --- a/src/lsptoolshost/languageServerEvents.ts +++ b/src/lsptoolshost/server/languageServerEvents.ts @@ -4,8 +4,19 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { ServerStateChangeEvent } from './serverStateChange'; -import { IDisposable } from '../disposable'; +import { IDisposable } from '../../disposable'; + +export enum ServerState { + Stopped = 0, + Started = 1, + ProjectInitializationStarted = 2, + ProjectInitializationComplete = 3, +} + +export interface ServerStateChangeEvent { + state: ServerState; + workspaceLabel: string; +} /** * Defines events that are fired by the language server. diff --git a/src/lsptoolshost/roslynLanguageClient.ts b/src/lsptoolshost/server/roslynLanguageClient.ts similarity index 86% rename from src/lsptoolshost/roslynLanguageClient.ts rename to src/lsptoolshost/server/roslynLanguageClient.ts index 5dad3ca0aa..557fc0fc81 100644 --- a/src/lsptoolshost/roslynLanguageClient.ts +++ b/src/lsptoolshost/server/roslynLanguageClient.ts @@ -3,16 +3,12 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { - CancellationToken, - LanguageClient, - LanguageClientOptions, - MessageSignature, - ServerOptions, -} from 'vscode-languageclient/node'; -import CompositeDisposable from '../compositeDisposable'; -import { IDisposable } from '../disposable'; -import { languageServerOptions } from '../shared/options'; +import { CancellationToken, MessageSignature } from 'vscode-jsonrpc'; +import { LanguageClient } from 'vscode-languageclient/node'; +import { LanguageClientOptions, ServerOptions } from 'vscode-languageclient'; +import CompositeDisposable from '../../compositeDisposable'; +import { IDisposable } from '../../disposable'; +import { languageServerOptions } from '../../shared/options'; /** * Implementation of the base LanguageClient type that allows for additional items to be disposed of diff --git a/src/lsptoolshost/roslynLanguageServer.ts b/src/lsptoolshost/server/roslynLanguageServer.ts similarity index 79% rename from src/lsptoolshost/roslynLanguageServer.ts rename to src/lsptoolshost/server/roslynLanguageServer.ts index 48c9da7821..2c6a01fae9 100644 --- a/src/lsptoolshost/roslynLanguageServer.ts +++ b/src/lsptoolshost/server/roslynLanguageServer.ts @@ -4,82 +4,71 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import * as fs from 'fs'; import * as path from 'path'; import * as cp from 'child_process'; import * as uuid from 'uuid'; import * as net from 'net'; -import { registerCommands } from './commands'; -import { registerDebugger } from './debugger'; -import { UriConverter } from './uriConverter'; - +import { LanguageClientOptions, MessageTransports, ProtocolRequestType, ServerOptions } from 'vscode-languageclient'; import { - LanguageClientOptions, - ServerOptions, - State, Trace, RequestType, RequestType0, - PartialResultParams, - ProtocolRequestType, - SocketMessageWriter, - SocketMessageReader, - MessageTransports, RAL, CancellationToken, RequestHandler, ResponseError, NotificationHandler0, + PartialResultParams, + State, + SocketMessageReader, + SocketMessageWriter, } from 'vscode-languageclient/node'; -import { PlatformInformation } from '../shared/platform'; -import { readConfigurations } from './configurationMiddleware'; -import { DynamicFileInfoHandler } from '../razor/src/dynamicFile/dynamicFileInfoHandler'; +import { PlatformInformation } from '../../shared/platform'; +import { readConfigurations } from '../options/configurationMiddleware'; +import { DynamicFileInfoHandler } from '../../razor/src/dynamicFile/dynamicFileInfoHandler'; import * as RoslynProtocol from './roslynProtocol'; -import { CSharpDevKitExports } from '../csharpDevKitExports'; -import { SolutionSnapshotId } from './services/ISolutionSnapshotProvider'; -import CSharpIntelliCodeExports from '../csharpIntelliCodeExports'; -import { csharpDevkitExtensionId, csharpDevkitIntelliCodeExtensionId, getCSharpDevKit } from '../utils/getCSharpDevKit'; +import { CSharpDevKitExports } from '../../csharpDevKitExports'; +import { SolutionSnapshotId } from '../solutionSnapshot/ISolutionSnapshotProvider'; +import CSharpIntelliCodeExports from '../../csharpIntelliCodeExports'; +import { + csharpDevkitExtensionId, + csharpDevkitIntelliCodeExtensionId, + getCSharpDevKit, +} from '../../utils/getCSharpDevKit'; import { randomUUID } from 'crypto'; -import { DotnetRuntimeExtensionResolver } from './dotnetRuntimeExtensionResolver'; -import { IHostExecutableResolver } from '../shared/constants/IHostExecutableResolver'; +import { IHostExecutableResolver } from '../../shared/constants/IHostExecutableResolver'; import { RoslynLanguageClient } from './roslynLanguageClient'; -import { registerUnitTestingCommands } from './unitTesting'; -import { reportProjectConfigurationEvent } from '../shared/projectConfiguration'; -import { getDotnetInfo } from '../shared/utils/getDotnetInfo'; -import { registerLanguageServerOptionChanges } from './optionChanges'; -import { Observable } from 'rxjs'; -import { DotnetInfo } from '../shared/utils/dotnetInfo'; -import { RoslynLanguageServerEvents } from './languageServerEvents'; -import { registerShowToastNotification } from './showToastNotification'; -import { registerRazorCommands } from './razorCommands'; -import { registerOnAutoInsert } from './onAutoInsert'; -import { registerCodeActionFixAllCommands } from './fixAllCodeAction'; -import { commonOptions, languageServerOptions, omnisharpOptions, razorOptions } from '../shared/options'; +import { provideDiagnostics, provideWorkspaceDiagnostics } from '../diagnostics/diagnosticMiddleware'; +import { reportProjectConfigurationEvent } from '../../shared/projectConfiguration'; +import { getDotnetInfo } from '../../shared/utils/getDotnetInfo'; +import { DotnetInfo } from '../../shared/utils/dotnetInfo'; +import { RoslynLanguageServerEvents, ServerState } from './languageServerEvents'; +import { registerShowToastNotification } from '../handlers/showToastNotification'; +import { registerOnAutoInsert } from '../autoInsert/onAutoInsert'; +import { commonOptions, languageServerOptions, omnisharpOptions, razorOptions } from '../../shared/options'; import { NamedPipeInformation } from './roslynProtocol'; -import { IDisposable } from '../disposable'; -import { registerNestedCodeActionCommands } from './nestedCodeAction'; -import { registerRestoreCommands } from './restore'; -import { BuildDiagnosticsService } from './buildDiagnosticsService'; -import { getComponentPaths } from './builtInComponents'; -import { OnAutoInsertFeature } from './onAutoInsertFeature'; -import { registerLanguageStatusItems } from './languageStatusBar'; -import { ProjectContextService } from './services/projectContextService'; -import { ServerState } from './serverStateChange'; -import { ProvideDynamicFileResponse } from '../razor/src/dynamicFile/provideDynamicFileResponse'; -import { ProvideDynamicFileParams } from '../razor/src/dynamicFile/provideDynamicFileParams'; -import { registerCopilotExtension } from './copilot'; +import { IDisposable } from '../../disposable'; +import { BuildDiagnosticsService } from '../diagnostics/buildDiagnosticsService'; +import { getComponentPaths } from '../extensions/builtInComponents'; +import { OnAutoInsertFeature } from '../autoInsert/onAutoInsertFeature'; +import { ProjectContextService } from '../projectContext/projectContextService'; +import { ProvideDynamicFileResponse } from '../../razor/src/dynamicFile/provideDynamicFileResponse'; +import { ProvideDynamicFileParams } from '../../razor/src/dynamicFile/provideDynamicFileParams'; import { ActionOption, CommandOption, showErrorMessage, showInformationMessage, -} from '../shared/observers/utils/showMessage'; -import { registerSourceGeneratedFilesContentProvider } from './sourceGeneratedFilesContentProvider'; -import { registerMiscellaneousFileNotifier } from './miscellaneousFileNotifier'; -import { RazorDynamicFileChangedParams } from '../razor/src/dynamicFile/dynamicFileUpdatedParams'; - -let _channel: vscode.LogOutputChannel; -let _traceChannel: vscode.OutputChannel; +} from '../../shared/observers/utils/showMessage'; +import { RazorDynamicFileChangedParams } from '../../razor/src/dynamicFile/dynamicFileUpdatedParams'; +import { getProfilingEnvVars } from '../profiling/profiling'; +import { isString } from '../utils/isString'; +import { getServerPath } from '../activate'; +import { UriConverter } from '../utils/uriConverter'; +import { + copilotLanguageServerExtensionAssemblyName, + copilotLanguageServerExtensionComponentName, +} from '../copilot/contextProviders'; // Flag indicating if C# Devkit was installed the last time we activated. // Used to determine if we need to restart the server on extension changes. @@ -126,7 +115,8 @@ export class RoslynLanguageServer { private _languageClient: RoslynLanguageClient, private _platformInfo: PlatformInformation, private _context: vscode.ExtensionContext, - private _languageServerEvents: RoslynLanguageServerEvents + private _languageServerEvents: RoslynLanguageServerEvents, + private _channel: vscode.LogOutputChannel ) { this.registerSetTrace(); this.registerSendOpenSolution(); @@ -168,17 +158,17 @@ export class RoslynLanguageServer { } }); // Register for changes to the log level. - _channel.onDidChangeLogLevel(async () => { + this._channel.onDidChangeLogLevel(async () => { await this.updateLogLevel(); }); } private async updateLogLevel(): Promise { if (this._languageClient.state === State.Running) { - const languageClientTraceLevel = RoslynLanguageServer.GetTraceLevel(_channel.logLevel); + const languageClientTraceLevel = RoslynLanguageServer.GetTraceLevel(this._channel.logLevel); // Update the server's log level. await this.sendNotification('roslyn/updateLogLevel', { - logLevel: RoslynLanguageServer.GetServerLogLevel(_channel.logLevel), + logLevel: RoslynLanguageServer.GetServerLogLevel(this._channel.logLevel), }); // Update the trace level that the client uses to log trace messages. await this._languageClient.setTrace(languageClientTraceLevel); @@ -249,10 +239,23 @@ export class RoslynLanguageServer { hostExecutableResolver: IHostExecutableResolver, context: vscode.ExtensionContext, additionalExtensionPaths: string[], - languageServerEvents: RoslynLanguageServerEvents + languageServerEvents: RoslynLanguageServerEvents, + channel: vscode.LogOutputChannel, + traceChannel: vscode.OutputChannel ): Promise { + const devKit = getCSharpDevKit(); + if (devKit) { + await devKit.activate(); + } + const serverOptions: ServerOptions = async () => { - return await this.startServer(platformInfo, hostExecutableResolver, context, additionalExtensionPaths); + return await this.startServer( + platformInfo, + hostExecutableResolver, + context, + additionalExtensionPaths, + channel + ); }; const documentSelector = languageServerOptions.documentSelector; @@ -264,8 +267,8 @@ export class RoslynLanguageServer { synchronize: { fileEvents: [], }, - traceOutputChannel: _traceChannel, - outputChannel: _channel, + traceOutputChannel: traceChannel, + outputChannel: channel, uriConverters: { // VSCode encodes the ":" as "%3A" in file paths, for example "file:///c%3A/Users/dabarbet/source/repos/ConsoleApp8/ConsoleApp8/Program.cs". // System.Uri does not decode the LocalPath property correctly into a valid windows path, instead you get something like @@ -276,6 +279,8 @@ export class RoslynLanguageServer { protocol2Code: UriConverter.deserialize, }, middleware: { + provideDiagnostics, + provideWorkspaceDiagnostics, workspace: { configuration: (params) => readConfigurations(params), }, @@ -292,7 +297,7 @@ export class RoslynLanguageServer { client.registerProposedFeatures(); - const server = new RoslynLanguageServer(client, platformInfo, context, languageServerEvents); + const server = new RoslynLanguageServer(client, platformInfo, context, languageServerEvents, channel); client.registerFeature(server._onAutoInsertFeature); @@ -323,7 +328,7 @@ export class RoslynLanguageServer { * Returns whether or not the underlying LSP server is running or not. */ public isRunning(): boolean { - return this._languageClient.state === State.Running; + return this._languageClient.isRunning(); } /** @@ -471,7 +476,7 @@ export class RoslynLanguageServer { } if (!(error instanceof vscode.CancellationError)) { - _channel.error(`Error making ${request} request`, error); + this._channel.error(`Error making ${request} request`, error); } return error; } @@ -561,13 +566,14 @@ export class RoslynLanguageServer { platformInfo: PlatformInformation, hostExecutableResolver: IHostExecutableResolver, context: vscode.ExtensionContext, - additionalExtensionPaths: string[] + additionalExtensionPaths: string[], + channel: vscode.LogOutputChannel ): Promise { const serverPath = getServerPath(platformInfo); const dotnetInfo = await hostExecutableResolver.getHostExecutableInfo(); const dotnetExecutablePath = dotnetInfo.path; - _channel.info('Dotnet path: ' + dotnetExecutablePath); + channel.info('Dotnet path: ' + dotnetExecutablePath); let args: string[] = []; @@ -578,7 +584,7 @@ export class RoslynLanguageServer { // Get the initial log level from the channel. // Changes to the channel log level will be picked up by the server after // LSP finishes initializing and we're able to pick up the new value. - const logLevel = this.GetServerLogLevel(_channel.logLevel); + const logLevel = this.GetServerLogLevel(channel.logLevel); if (logLevel) { args.push('--logLevel', logLevel); } @@ -595,6 +601,10 @@ export class RoslynLanguageServer { path.join(razorPath, 'Targets', 'Microsoft.NET.Sdk.Razor.DesignTime.targets') ); + getComponentPaths('razorExtension', languageServerOptions).forEach((path) => + additionalExtensionPaths.push(path) + ); + // Get the brokered service pipe name from C# Dev Kit (if installed). // We explicitly call this in the LSP server start action instead of awaiting it // in our activation because C# Dev Kit depends on C# activation completing. @@ -607,14 +617,15 @@ export class RoslynLanguageServer { csharpDevkitIntelliCodeExtensionId ); if (csharpDevkitIntelliCodeExtension) { - _channel.info('Activating C# + C# Dev Kit + C# IntelliCode...'); + channel.info('Activating C# + C# Dev Kit + C# IntelliCode...'); const csharpDevkitIntelliCodeArgs = await this.getCSharpDevkitIntelliCodeExportArgs( csharpDevkitIntelliCodeExtension, - context + context, + channel ); args = args.concat(csharpDevkitIntelliCodeArgs); } else { - _channel.info('Activating C# + C# Dev Kit...'); + channel.info('Activating C# + C# Dev Kit...'); } // Set command enablement as soon as we know devkit is available. @@ -623,10 +634,10 @@ export class RoslynLanguageServer { const csharpDevKitArgs = this.getCSharpDevKitExportArgs(additionalExtensionPaths); args = args.concat(csharpDevKitArgs); - await this.setupDevKitEnvironment(dotnetInfo.env, csharpDevkitExtension); + await this.setupDevKitEnvironment(dotnetInfo.env, csharpDevkitExtension, additionalExtensionPaths, channel); } else { // C# Dev Kit is not installed - continue C#-only activation. - _channel.info('Activating C# standalone...'); + channel.info('Activating C# standalone...'); // Set command enablement to use roslyn standalone commands. await vscode.commands.executeCommand('setContext', 'dotnet.server.activationContext', 'Roslyn'); @@ -637,34 +648,39 @@ export class RoslynLanguageServer { args.push('--extension', extensionPath); } - _channel.debug(`Starting server at ${serverPath}`); + channel.debug(`Starting server at ${serverPath}`); args.push('--extensionLogDirectory', context.logUri.fsPath); - const env = dotnetInfo.env; + let env = dotnetInfo.env; if (!languageServerOptions.useServerGC) { // The server by default uses serverGC, if the user opts out we need to set the environment variable to disable it. env.DOTNET_gcServer = '0'; - _channel.debug('ServerGC disabled'); + channel.debug('ServerGC disabled'); } + const profilingEnvVars = getProfilingEnvVars(channel); + env = { ...env, ...profilingEnvVars }; + + channel.trace(`Profiling environment variables: ${JSON.stringify(profilingEnvVars)}`); + let childProcess: cp.ChildProcessWithoutNullStreams; const cpOptions: cp.SpawnOptionsWithoutStdio = { detached: true, windowsHide: true, - env: dotnetInfo.env, + env: env, }; if (serverPath.endsWith('.dll')) { // If we were given a path to a dll, launch that via dotnet. const argsWithPath = [serverPath].concat(args); - _channel.debug(`Server arguments ${argsWithPath.join(' ')}`); + channel.debug(`Server arguments ${argsWithPath.join(' ')}`); childProcess = cp.spawn(dotnetExecutablePath, argsWithPath, cpOptions); } else { // Otherwise assume we were given a path to an executable. - _channel.debug(`Server arguments ${args.join(' ')}`); + channel.debug(`Server arguments ${args.join(' ')}`); childProcess = cp.spawn(serverPath, args, cpOptions); } @@ -672,14 +688,14 @@ export class RoslynLanguageServer { // Record the stdout and stderr streams from the server process. childProcess.stdout.on('data', (data: { toString: (arg0: any) => any }) => { const result: string = isString(data) ? data : data.toString(RoslynLanguageServer.encoding); - _channel.info('[stdout] ' + result); + channel.info('[stdout] ' + result); }); childProcess.stderr.on('data', (data: { toString: (arg0: any) => any }) => { const result: string = isString(data) ? data : data.toString(RoslynLanguageServer.encoding); - _channel.error('[stderr] ' + result); + channel.error('[stderr] ' + result); }); childProcess.on('exit', (code) => { - _channel.info(`Language server process exited with ${code}`); + channel.info(`Language server process exited with ${code}`); }); // Timeout promise used to time out the connection process if it takes too long. @@ -699,14 +715,14 @@ export class RoslynLanguageServer { // The server process will create the named pipe used for communication. Wait for it to be created, // and listen for the server to pass back the connection information via stdout. const namedPipePromise = new Promise((resolve) => { - _channel.debug('waiting for named pipe information from server...'); + channel.debug('waiting for named pipe information from server...'); childProcess.stdout.on('data', (data: { toString: (arg0: any) => any }) => { const result: string = isString(data) ? data : data.toString(RoslynLanguageServer.encoding); // Use the regular expression to find all JSON lines const jsonLines = result.match(RoslynLanguageServer.namedPipeKeyRegex); if (jsonLines) { const transmittedPipeNameInfo: NamedPipeInformation = JSON.parse(jsonLines[0]); - _channel.info('received named pipe information from server'); + channel.info('received named pipe information from server'); resolve(transmittedPipeNameInfo); } }); @@ -714,9 +730,9 @@ export class RoslynLanguageServer { const socketPromise = namedPipePromise.then(async (pipeConnectionInfo) => { return new Promise((resolve, reject) => { - _channel.debug('attempting to connect client to server...'); + channel.debug('attempting to connect client to server...'); const socket = net.createConnection(pipeConnectionInfo.pipeName, () => { - _channel.info('client has connected to server'); + channel.info('client has connected to server'); resolve(socket); }); @@ -772,7 +788,7 @@ export class RoslynLanguageServer { notification ); } else { - _channel.warn('Tried to send razor/dynamicFileInfoChanged while server is not running'); + this._channel.warn('Tried to send razor/dynamicFileInfoChanged while server is not running'); } } ); @@ -884,7 +900,7 @@ export class RoslynLanguageServer { if (csharpDevkitExtension && !_wasActivatedWithCSharpDevkit) { // We previously started without C# Dev Kit and its now installed. // Offer a prompt to restart the server to use C# Dev Kit. - _channel.info(`Detected new installation of ${csharpDevkitExtensionId}`); + this._channel.info(`Detected new installation of ${csharpDevkitExtensionId}`); const message = `Detected installation of ${csharpDevkitExtensionId}. Would you like to relaunch the language server for added features?`; showInformationMessage(vscode, message, title); } else { @@ -929,12 +945,14 @@ export class RoslynLanguageServer { additionalExtensionPaths.push(path) ); } + return args; } private static async getCSharpDevkitIntelliCodeExportArgs( csharpDevkitIntelliCodeExtension: vscode.Extension, - extensionContext: vscode.ExtensionContext + extensionContext: vscode.ExtensionContext, + channel: vscode.LogOutputChannel ): Promise { try { const exports = await csharpDevkitIntelliCodeExtension.activate(); @@ -947,9 +965,9 @@ export class RoslynLanguageServer { ]; return csharpIntelliCodeArgs; } catch (e) { - _channel.error(`Activation of ${csharpDevkitIntelliCodeExtensionId} failed`, e); + channel.error(`Activation of ${csharpDevkitIntelliCodeExtensionId} failed`, e); if (e instanceof Error && e.stack) { - _channel.info(e.stack); + channel.info(e.stack); } const stateKey = 'disableIntellicodeFailedPopup'; @@ -964,7 +982,7 @@ export class RoslynLanguageServer { const showOutput: ActionOption = { title: vscode.l10n.t('Go to output'), action: async () => { - _channel.show(); + channel.show(); }, }; const suppressNotification: ActionOption = { @@ -982,17 +1000,29 @@ export class RoslynLanguageServer { private static async setupDevKitEnvironment( env: NodeJS.ProcessEnv, - csharpDevkitExtension: vscode.Extension + csharpDevkitExtension: vscode.Extension, + additionalExtensionPaths: string[], + channel: vscode.LogOutputChannel ): Promise { const exports: CSharpDevKitExports = await csharpDevkitExtension.activate(); // setupTelemetryEnvironmentAsync was a later addition to devkit (not in preview 1) // so it may not exist in whatever version of devkit the user has installed - if (!exports.setupTelemetryEnvironmentAsync) { - return; + if (exports.setupTelemetryEnvironmentAsync) { + await exports.setupTelemetryEnvironmentAsync(env); } - await exports.setupTelemetryEnvironmentAsync(env); + const copilotServerExtensionfolder = exports.components[copilotLanguageServerExtensionComponentName]; + if (copilotServerExtensionfolder) { + const copilotServerExtensionFullPath = path.join( + copilotServerExtensionfolder, + copilotLanguageServerExtensionAssemblyName + ); + additionalExtensionPaths.push(copilotServerExtensionFullPath); + channel.trace( + `CSharp DevKit contributes Copilot langauge server extension: ${copilotServerExtensionFullPath}` + ); + } } /** @@ -1052,130 +1082,6 @@ export class RoslynLanguageServer { } } -/** - * Creates and activates the Roslyn language server. - * The returned promise will complete when the server starts. - */ -export async function activateRoslynLanguageServer( - context: vscode.ExtensionContext, - platformInfo: PlatformInformation, - optionObservable: Observable, - outputChannel: vscode.LogOutputChannel, - languageServerEvents: RoslynLanguageServerEvents -): Promise { - // Create a channel for outputting general logs from the language server. - _channel = outputChannel; - // Create a separate channel for outputting trace logs - these are incredibly verbose and make other logs very difficult to see. - // The trace channel verbosity is controlled by the _channel verbosity. - _traceChannel = vscode.window.createOutputChannel(vscode.l10n.t('C# LSP Trace Logs')); - - const hostExecutableResolver = new DotnetRuntimeExtensionResolver( - platformInfo, - getServerPath, - outputChannel, - context.extensionPath - ); - const additionalExtensionPaths = scanExtensionPlugins(); - - const languageServer = await RoslynLanguageServer.initializeAsync( - platformInfo, - hostExecutableResolver, - context, - additionalExtensionPaths, - languageServerEvents - ); - - registerLanguageStatusItems(context, languageServer, languageServerEvents); - registerMiscellaneousFileNotifier(context, languageServer); - registerCopilotExtension(languageServer, _channel); - - // Register any commands that need to be handled by the extension. - registerCommands(context, languageServer, hostExecutableResolver, _channel); - registerNestedCodeActionCommands(context, languageServer, _channel); - registerCodeActionFixAllCommands(context, languageServer, _channel); - - registerRazorCommands(context, languageServer); - - registerUnitTestingCommands(context, languageServer); - - // Register any needed debugger components that need to communicate with the language server. - registerDebugger(context, languageServer, languageServerEvents, platformInfo, _channel); - - registerRestoreCommands(context, languageServer); - - registerSourceGeneratedFilesContentProvider(context, languageServer); - - context.subscriptions.push(registerLanguageServerOptionChanges(optionObservable)); - - return languageServer; - - function scanExtensionPlugins(): string[] { - const extensionsFromPackageJson = vscode.extensions.all.flatMap((extension) => { - let loadPaths = extension.packageJSON.contributes?.['csharpExtensionLoadPaths']; - if (loadPaths === undefined || loadPaths === null) { - _channel.debug(`Extension ${extension.id} does not contribute csharpExtensionLoadPaths`); - return []; - } - - if (!Array.isArray(loadPaths) || loadPaths.some((loadPath) => typeof loadPath !== 'string')) { - _channel.warn( - `Extension ${extension.id} has invalid csharpExtensionLoadPaths. Expected string array, found ${loadPaths}` - ); - return []; - } - - loadPaths = loadPaths.map((loadPath) => path.join(extension.extensionPath, loadPath)); - _channel.trace(`Extension ${extension.id} contributes csharpExtensionLoadPaths: ${loadPaths}`); - return loadPaths; - }); - const extensionsFromOptions = languageServerOptions.extensionsPaths ?? []; - return extensionsFromPackageJson.concat(extensionsFromOptions); - } -} - -function getServerPath(platformInfo: PlatformInformation) { - let serverPath = process.env.DOTNET_ROSLYN_SERVER_PATH; - - if (serverPath) { - _channel.appendLine(`Using server path override from DOTNET_ROSLYN_SERVER_PATH: ${serverPath}`); - } else { - serverPath = commonOptions.serverPath; - if (!serverPath) { - // Option not set, use the path from the extension. - serverPath = getInstalledServerPath(platformInfo); - } - } - - if (!fs.existsSync(serverPath)) { - throw new Error(`Cannot find language server in path '${serverPath}'`); - } - - return serverPath; -} - -function getInstalledServerPath(platformInfo: PlatformInformation): string { - const clientRoot = __dirname; - const serverFilePath = path.join(clientRoot, '..', '.roslyn', 'Microsoft.CodeAnalysis.LanguageServer'); - - let extension = ''; - if (platformInfo.isWindows()) { - extension = '.exe'; - } else if (platformInfo.isMacOS()) { - // MacOS executables must be signed with codesign. Currently all Roslyn server executables are built on windows - // and therefore dotnet publish does not automatically sign them. - // Tracking bug - https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1767519/ - extension = '.dll'; - } - - let pathWithExtension = `${serverFilePath}${extension}`; - if (!fs.existsSync(pathWithExtension)) { - // We might be running a platform neutral vsix which has no executable, instead we run the dll directly. - pathWithExtension = `${serverFilePath}.dll`; - } - - return pathWithExtension; -} - // VS code will have a default session id when running under tests. Since we may still // report telemetry, we need to give a unique session id instead of the default value. function getSessionId(): string { @@ -1188,7 +1094,3 @@ function getSessionId(): string { return sessionId; } - -export function isString(value: any): value is string { - return typeof value === 'string' || value instanceof String; -} diff --git a/src/lsptoolshost/roslynProtocol.ts b/src/lsptoolshost/server/roslynProtocol.ts similarity index 62% rename from src/lsptoolshost/roslynProtocol.ts rename to src/lsptoolshost/server/roslynProtocol.ts index bea4640c8b..5db567112f 100644 --- a/src/lsptoolshost/roslynProtocol.ts +++ b/src/lsptoolshost/server/roslynProtocol.ts @@ -4,9 +4,26 @@ *--------------------------------------------------------------------------------------------*/ import { Command } from 'vscode'; -import * as lsp from 'vscode-languageserver-protocol'; -import { CodeAction, TextDocumentRegistrationOptions } from 'vscode-languageserver-protocol'; -import { ProjectConfigurationMessage } from '../shared/projectConfiguration'; +import { + CodeAction, + DocumentUri, + FormattingOptions, + InsertTextFormat, + integer, + MessageDirection, + MessageType, + PartialResultParams, + Position, + ProtocolRequestType, + Range, + TextDocumentIdentifier, + TextDocumentRegistrationOptions, + TextEdit, + URI, + WorkDoneProgressParams, +} from 'vscode-languageserver-protocol'; +import { NotificationType, RequestType, RequestType0 } from 'vscode-jsonrpc'; +import { ProjectConfigurationMessage } from '../../shared/projectConfiguration'; export interface VSProjectContextList { _vs_projectContexts: VSProjectContext[]; @@ -20,7 +37,7 @@ export interface VSProjectContext { _vs_is_miscellaneous: boolean; } -export interface VSTextDocumentIdentifier extends lsp.TextDocumentIdentifier { +export interface VSTextDocumentIdentifier extends TextDocumentIdentifier { _vs_projectContext: VSProjectContext | undefined; } @@ -30,7 +47,7 @@ export interface WorkspaceDebugConfigurationParams { * This will be important eventually for multi-workspace support. * If not provided, configurations are returned for the workspace the server was initialized for. */ - workspacePath: lsp.URI | undefined; + workspacePath: URI | undefined; } export interface ProjectDebugConfiguration { @@ -66,15 +83,15 @@ export interface ProjectDebugConfiguration { } export interface OnAutoInsertParams { - _vs_textDocument: lsp.TextDocumentIdentifier; - _vs_position: lsp.Position; + _vs_textDocument: TextDocumentIdentifier; + _vs_position: Position; _vs_ch: string; - _vs_options: lsp.FormattingOptions; + _vs_options: FormattingOptions; } export interface OnAutoInsertResponseItem { - _vs_textEditFormat: lsp.InsertTextFormat; - _vs_textEdit: lsp.TextEdit; + _vs_textEditFormat: InsertTextFormat; + _vs_textEdit: TextEdit; /** * An optional command that is executed *after* inserting. @@ -101,27 +118,27 @@ export interface RegisterSolutionSnapshotResponseItem { /** * Represents a solution snapshot. */ - id: lsp.integer; + id: integer; } export interface VSGetProjectContextParams { /** * The document the project context is being requested for. */ - _vs_textDocument: lsp.TextDocumentIdentifier; + _vs_textDocument: TextDocumentIdentifier; } -export interface RunTestsParams extends lsp.WorkDoneProgressParams, lsp.PartialResultParams { +export interface RunTestsParams extends WorkDoneProgressParams, PartialResultParams { /** * The text document containing the tests to run. */ - textDocument: lsp.TextDocumentIdentifier; + textDocument: TextDocumentIdentifier; /** * The range encompasing the test methods to run. * Note that this does not have to only include tests, for example this could be a range representing a class. */ - range: lsp.Range; + range: Range; /** * Whether the request should attempt to call back to the client to attach a debugger before running the tests. @@ -168,15 +185,15 @@ export interface DebugAttachResult { } export interface OpenSolutionParams { - solution: lsp.DocumentUri; + solution: DocumentUri; } export interface OpenProjectParams { - projects: lsp.DocumentUri[]; + projects: DocumentUri[]; } export interface ShowToastNotificationParams { - messageType: lsp.MessageType; + messageType: MessageType; message: string; commands: Command[]; } @@ -202,7 +219,7 @@ export interface NamedPipeInformation { pipeName: string; } -export interface RestoreParams extends lsp.WorkDoneProgressParams, lsp.PartialResultParams { +export interface RestoreParams extends WorkDoneProgressParams, PartialResultParams { /** * The set of projects to restore. * If none are specified, the solution (or all loaded projects) are restored. @@ -222,9 +239,9 @@ export interface ProjectNeedsRestoreName { projectFilePaths: string[]; } -export interface CopilotRelatedDocumentsParams extends lsp.WorkDoneProgressParams, lsp.PartialResultParams { - _vs_textDocument: lsp.TextDocumentIdentifier; - position: lsp.Position; +export interface CopilotRelatedDocumentsParams extends WorkDoneProgressParams, PartialResultParams { + _vs_textDocument: TextDocumentIdentifier; + position: Position; } export interface CopilotRelatedDocumentsReport { @@ -232,7 +249,7 @@ export interface CopilotRelatedDocumentsReport { } export interface SourceGeneratorGetRequestParams { - textDocument: lsp.TextDocumentIdentifier; + textDocument: TextDocumentIdentifier; resultId?: string; } @@ -243,52 +260,50 @@ export interface SourceGeneratedDocumentText { export namespace WorkspaceDebugConfigurationRequest { export const method = 'workspace/debugConfiguration'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType( - method - ); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType(method); } export namespace OnAutoInsertRequest { export const method = 'textDocument/_vs_onAutoInsert'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType(method); } export namespace RegisterSolutionSnapshotRequest { export const method = 'workspace/_vs_registerSolutionSnapshot'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType0(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType0(method); } export namespace VSGetProjectContextsRequest { export const method = 'textDocument/_vs_getProjectContexts'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType(method); } export namespace ProjectInitializationCompleteNotification { export const method = 'workspace/projectInitializationComplete'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new NotificationType(method); } export namespace ProjectConfigurationNotification { export const method = 'workspace/projectConfigurationTelemetry'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new NotificationType(method); } export namespace ShowToastNotification { export const method = 'window/_roslyn_showToast'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new NotificationType(method); } export namespace RunTestsRequest { export const method = 'textDocument/runTests'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.ProtocolRequestType< + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new ProtocolRequestType< RunTestsParams, RunTestsPartialResult[], RunTestsPartialResult, @@ -299,38 +314,38 @@ export namespace RunTestsRequest { export namespace DebugAttachRequest { export const method = 'workspace/attachDebugger'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new RequestType(method); } export namespace OpenSolutionNotification { export const method = 'solution/open'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new NotificationType(method); } export namespace OpenProjectNotification { export const method = 'project/open'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new NotificationType(method); } export namespace BuildOnlyDiagnosticIdsRequest { export const method = 'workspace/buildOnlyDiagnosticIds'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType0(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType0(method); } export namespace CodeActionFixAllResolveRequest { export const method = 'codeAction/resolveFixAll'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType(method); } export namespace RestoreRequest { export const method = 'workspace/_roslyn_restore'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.ProtocolRequestType< + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new ProtocolRequestType< RestoreParams, RestorePartialResult[], RestorePartialResult, @@ -341,20 +356,20 @@ export namespace RestoreRequest { export namespace RestorableProjects { export const method = 'workspace/_roslyn_restorableProjects'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType0(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType0(method); } export namespace ProjectNeedsRestoreRequest { export const method = 'workspace/_roslyn_projectNeedsRestore'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new RequestType(method); } export namespace CopilotRelatedDocumentsRequest { export const method = 'copilot/_related_documents'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.ProtocolRequestType< + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new ProtocolRequestType< CopilotRelatedDocumentsParams, CopilotRelatedDocumentsReport[], CopilotRelatedDocumentsReport[], @@ -365,12 +380,12 @@ export namespace CopilotRelatedDocumentsRequest { export namespace SourceGeneratorGetTextRequest { export const method = 'sourceGeneratedDocument/_roslyn_getText'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.clientToServer; - export const type = new lsp.RequestType(method); + export const messageDirection: MessageDirection = MessageDirection.clientToServer; + export const type = new RequestType(method); } export namespace RefreshSourceGeneratedDocumentNotification { export const method = 'workspace/refreshSourceGeneratedDocument'; - export const messageDirection: lsp.MessageDirection = lsp.MessageDirection.serverToClient; - export const type = new lsp.NotificationType(method); + export const messageDirection: MessageDirection = MessageDirection.serverToClient; + export const type = new NotificationType(method); } diff --git a/src/lsptoolshost/server/serverCommands.ts b/src/lsptoolshost/server/serverCommands.ts new file mode 100644 index 0000000000..f9637211aa --- /dev/null +++ b/src/lsptoolshost/server/serverCommands.ts @@ -0,0 +1,156 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { UriConverter } from '../utils/uriConverter'; +import * as languageClient from 'vscode-languageclient/node'; + +/** + * Register server -> client commands as well as commands that drive the Roslyn Language Server. + */ +export function registerServerCommands( + context: vscode.ExtensionContext, + languageServer: RoslynLanguageServer, + outputChannel: vscode.LogOutputChannel +) { + // It is very important to be careful about the types used as parameters for these command callbacks. + // If the arguments are coming from the server as json, it is NOT appropriate to use type definitions + // from the normal vscode API (e.g. vscode.Location) as input parameters. + // + // This is because at runtime the json objects do not contain the expected prototypes that the vscode types + // have and will fail 'instanceof' checks that are sprinkled throught the vscode APIs. + // + // Instead, we define inputs from the server using the LSP type definitions as those have no prototypes + // so we don't accidentally pass them directly into vscode APIs. + context.subscriptions.push(vscode.commands.registerCommand('roslyn.client.peekReferences', peekReferencesCallback)); + context.subscriptions.push( + vscode.commands.registerCommand( + 'roslyn.client.completionComplexEdit', + async (textDocument, textEdit, isSnippetString, newOffset) => + completionComplexEdit(textDocument, textEdit, isSnippetString, newOffset, outputChannel) + ) + ); + context.subscriptions.push( + vscode.commands.registerCommand('dotnet.restartServer', async () => restartServer(languageServer)) + ); +} + +/** + * Callback for code lens commands. Executes a references request via the VSCode command + * which will call into the LSP server to get the data. Then calls the VSCode command to display the result. + * @param uriStr The uri containing the location to find references for. + * @param serverPosition The position json object to execute the find references request. + */ +async function peekReferencesCallback(uriStr: string, serverPosition: languageClient.Position): Promise { + const uri = UriConverter.deserialize(uriStr); + + // Convert the json position object into the corresponding vscode position type. + const vscodeApiPosition = new vscode.Position(serverPosition.line, serverPosition.character); + const references: vscode.Location[] = await vscode.commands.executeCommand( + 'vscode.executeReferenceProvider', + uri, + vscodeApiPosition + ); + + if (references && Array.isArray(references)) { + // The references could come back after the document has moved to a new state (that may not even contain the position). + // This is fine - the VSCode API is resilient to that scenario and will not crash. + await vscode.commands.executeCommand('editor.action.showReferences', uri, vscodeApiPosition, references); + } +} + +/** + * Callback after a completion item with complex edit is committed. The change needs to be made outside completion resolve + * handling + * + * IMPORTANT: @see RazorCompletionItemProvider.resolveCompletionItem matches the arguments for this commands + * so it can remap correctly in razor files. Any updates to this function signature requires updates there as well. + * + * @param uriStr The uri containing the location of the document where the completion item was committed in. + * @param textEdits The additional complex edit for the committed completion item. + * @param isSnippetString Indicates if the TextEdit contains a snippet string. + * @param newPosition The offset for new cursor position. -1 if the edit has not specified one. + */ +async function completionComplexEdit( + textDocument: languageClient.TextDocumentIdentifier, + textEdit: vscode.TextEdit, + isSnippetString: boolean, + newOffset: number, + outputChannel: vscode.LogOutputChannel +): Promise { + const componentName = '[roslyn.client.completionComplexEdit]'; + + // Find TextDocument, opening if needed. + const uri = UriConverter.deserialize(textDocument.uri); + const document = await vscode.workspace.openTextDocument(uri); + if (document === undefined) { + outputAndThrow(outputChannel, `${componentName} Can't open document with path: '${textDocument.uri}'`); + } + + // Use editor if we need to deal with selection or snippets. + let editor: vscode.TextEditor | undefined = undefined; + if (isSnippetString || newOffset >= 0) { + editor = await vscode.window.showTextDocument(document); + if (editor === undefined) { + outputAndThrow( + outputChannel, + `${componentName} Editor unavailable for document with path: '${textDocument.uri}'` + ); + } + } + + const newRange = document.validateRange( + new vscode.Range( + textEdit.range.start.line, + textEdit.range.start.character, + textEdit.range.end.line, + textEdit.range.end.character + ) + ); + + // HACK: + // ApplyEdit would fail the first time it's called when an item was committed with text modifying commit char (e.g. space, '(', etc.) + // so we retry a couple time here as a tempory workaround. We need to either figure our the reason of the failure, and/or try the + // approach of sending another edit request to server with updated document. + let success = false; + for (let i = 0; i < 3; i++) { + if (isSnippetString) { + editor!.selection = new vscode.Selection(newRange.start, newRange.end); + success = await editor!.insertSnippet(new vscode.SnippetString(textEdit.newText)); + } else { + const edit = new vscode.WorkspaceEdit(); + const newTextEdit = vscode.TextEdit.replace(newRange, textEdit.newText); + edit.set(document.uri, [newTextEdit]); + success = await vscode.workspace.applyEdit(edit); + + if (success && newOffset >= 0) { + const newPosition = document.positionAt(newOffset); + editor!.selections = [new vscode.Selection(newPosition, newPosition)]; + } + } + + if (success) { + return; + } + } + + if (!success) { + outputAndThrow( + outputChannel, + `${componentName} ${isSnippetString ? 'TextEditor.insertSnippet' : 'workspace.applyEdit'} failed.` + ); + } +} + +function outputAndThrow(outputChannel: vscode.LogOutputChannel, message: string): void { + outputChannel.show(); + outputChannel.error(message); + throw new Error(message); +} + +async function restartServer(languageServer: RoslynLanguageServer): Promise { + await languageServer.restart(); +} diff --git a/src/lsptoolshost/services/brokeredServicesHosting.ts b/src/lsptoolshost/serviceBroker/brokeredServicesHosting.ts similarity index 96% rename from src/lsptoolshost/services/brokeredServicesHosting.ts rename to src/lsptoolshost/serviceBroker/brokeredServicesHosting.ts index 5fcf8d3941..f0da662abc 100644 --- a/src/lsptoolshost/services/brokeredServicesHosting.ts +++ b/src/lsptoolshost/serviceBroker/brokeredServicesHosting.ts @@ -11,7 +11,7 @@ import { ServiceMoniker, ServiceRegistration, } from '@microsoft/servicehub-framework'; -import Descriptors from './descriptors'; +import Descriptors from '../solutionSnapshot/descriptors'; export class CSharpExtensionServiceBroker extends GlobalBrokeredServiceContainer { registerExternalServices(...monikers: ServiceMoniker[]) { diff --git a/src/lsptoolshost/services/ISolutionSnapshotProvider.ts b/src/lsptoolshost/solutionSnapshot/ISolutionSnapshotProvider.ts similarity index 100% rename from src/lsptoolshost/services/ISolutionSnapshotProvider.ts rename to src/lsptoolshost/solutionSnapshot/ISolutionSnapshotProvider.ts diff --git a/src/lsptoolshost/services/descriptors.ts b/src/lsptoolshost/solutionSnapshot/descriptors.ts similarity index 100% rename from src/lsptoolshost/services/descriptors.ts rename to src/lsptoolshost/solutionSnapshot/descriptors.ts diff --git a/src/lsptoolshost/services/solutionSnapshotProvider.ts b/src/lsptoolshost/solutionSnapshot/solutionSnapshotProvider.ts similarity index 92% rename from src/lsptoolshost/services/solutionSnapshotProvider.ts rename to src/lsptoolshost/solutionSnapshot/solutionSnapshotProvider.ts index 41908edb86..f346bed7ac 100644 --- a/src/lsptoolshost/services/solutionSnapshotProvider.ts +++ b/src/lsptoolshost/solutionSnapshot/solutionSnapshotProvider.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RoslynLanguageServer } from '../roslynLanguageServer'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; import { ISolutionSnapshotProvider, SolutionSnapshotId } from './ISolutionSnapshotProvider'; /** diff --git a/src/lsptoolshost/unitTesting.ts b/src/lsptoolshost/testing/unitTesting.ts similarity index 95% rename from src/lsptoolshost/unitTesting.ts rename to src/lsptoolshost/testing/unitTesting.ts index 24e812c656..d12e0ca47b 100644 --- a/src/lsptoolshost/unitTesting.ts +++ b/src/lsptoolshost/testing/unitTesting.ts @@ -7,12 +7,12 @@ import * as fs from 'fs'; import * as path from 'path'; import * as vscode from 'vscode'; import * as languageClient from 'vscode-languageclient/node'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { RunTestsParams, RunTestsPartialResult, RunTestsRequest, TestProgress } from './roslynProtocol'; -import { commonOptions } from '../shared/options'; -import { UriConverter } from './uriConverter'; -import { showErrorMessage } from '../shared/observers/utils/showMessage'; -import { getCSharpDevKit } from '../utils/getCSharpDevKit'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { RunTestsParams, RunTestsPartialResult, RunTestsRequest, TestProgress } from '../server/roslynProtocol'; +import { commonOptions } from '../../shared/options'; +import { UriConverter } from '../utils/uriConverter'; +import { showErrorMessage } from '../../shared/observers/utils/showMessage'; +import { getCSharpDevKit } from '../../utils/getCSharpDevKit'; export function registerUnitTestingCommands(context: vscode.ExtensionContext, languageServer: RoslynLanguageServer) { if (getCSharpDevKit()) { diff --git a/src/lsptoolshost/utils/combineDocumentSelectors.ts b/src/lsptoolshost/utils/combineDocumentSelectors.ts new file mode 100644 index 0000000000..159201d10a --- /dev/null +++ b/src/lsptoolshost/utils/combineDocumentSelectors.ts @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { DocumentSelector } from 'vscode-languageserver-protocol/lib/common/protocol'; + +export function combineDocumentSelectors( + ...selectors: (DocumentSelector | vscode.DocumentSelector)[] +): vscode.DocumentSelector { + return selectors.reduce<(string | vscode.DocumentFilter)[]>((acc, selector) => acc.concat(selector), []); +} diff --git a/src/lsptoolshost/serverStateChange.ts b/src/lsptoolshost/utils/isString.ts similarity index 60% rename from src/lsptoolshost/serverStateChange.ts rename to src/lsptoolshost/utils/isString.ts index 0db11810ec..acf6c629a4 100644 --- a/src/lsptoolshost/serverStateChange.ts +++ b/src/lsptoolshost/utils/isString.ts @@ -3,14 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -export enum ServerState { - Stopped = 0, - Started = 1, - ProjectInitializationStarted = 2, - ProjectInitializationComplete = 3, -} - -export interface ServerStateChangeEvent { - state: ServerState; - workspaceLabel: string; +export function isString(value: any): value is string { + return typeof value === 'string' || value instanceof String; } diff --git a/src/lsptoolshost/uriConverter.ts b/src/lsptoolshost/utils/uriConverter.ts similarity index 92% rename from src/lsptoolshost/uriConverter.ts rename to src/lsptoolshost/utils/uriConverter.ts index 88c6485998..24d19ff79a 100644 --- a/src/lsptoolshost/uriConverter.ts +++ b/src/lsptoolshost/utils/uriConverter.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { CSharpProjectedDocumentContentProvider } from '../razor/src/csharp/csharpProjectedDocumentContentProvider'; +import { CSharpProjectedDocumentContentProvider } from '../../razor/src/csharp/csharpProjectedDocumentContentProvider'; export class UriConverter { public static serialize(uri: vscode.Uri): string { diff --git a/src/lsptoolshost/miscellaneousFileNotifier.ts b/src/lsptoolshost/workspace/miscellaneousFileNotifier.ts similarity index 89% rename from src/lsptoolshost/miscellaneousFileNotifier.ts rename to src/lsptoolshost/workspace/miscellaneousFileNotifier.ts index 100f73c179..32d6bce5ea 100644 --- a/src/lsptoolshost/miscellaneousFileNotifier.ts +++ b/src/lsptoolshost/workspace/miscellaneousFileNotifier.ts @@ -5,10 +5,10 @@ import * as vscode from 'vscode'; import * as crypto from 'crypto'; -import { RoslynLanguageServer } from './roslynLanguageServer'; -import { ActionOption, showWarningMessage } from '../shared/observers/utils/showMessage'; -import { ServerState } from './serverStateChange'; -import { languageServerOptions } from '../shared/options'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { ActionOption, showWarningMessage } from '../../shared/observers/utils/showMessage'; +import { languageServerOptions } from '../../shared/options'; +import { ServerState } from '../server/languageServerEvents'; const SuppressMiscellaneousFilesToastsOption = 'dotnet.server.suppressMiscellaneousFilesToasts'; const NotifiedDocuments = new Set(); diff --git a/src/lsptoolshost/workspace/workspaceCommands.ts b/src/lsptoolshost/workspace/workspaceCommands.ts new file mode 100644 index 0000000000..c2aeea5a2a --- /dev/null +++ b/src/lsptoolshost/workspace/workspaceCommands.ts @@ -0,0 +1,39 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { RoslynLanguageServer } from '../server/roslynLanguageServer'; +import { createLaunchTargetForSolution } from '../../shared/launchTarget'; +import { getCSharpDevKit } from '../../utils/getCSharpDevKit'; + +/** + * Register commands that drive the workspace. + */ +export function registerWorkspaceCommands(context: vscode.ExtensionContext, languageServer: RoslynLanguageServer) { + if (!getCSharpDevKit()) { + context.subscriptions.push( + vscode.commands.registerCommand('dotnet.openSolution', async () => openSolution(languageServer)) + ); + } +} + +async function openSolution(languageServer: RoslynLanguageServer): Promise { + if (!vscode.workspace.workspaceFolders) { + return undefined; + } + + const solutionFiles = await vscode.workspace.findFiles('**/*.{sln,slnf}'); + const launchTargets = solutionFiles.map(createLaunchTargetForSolution); + const launchTarget = await vscode.window.showQuickPick(launchTargets, { + matchOnDescription: true, + placeHolder: `Select solution file`, + }); + + if (launchTarget) { + const uri = vscode.Uri.file(launchTarget.target); + await languageServer.openSolution(uri); + return uri; + } +} diff --git a/src/lsptoolshost/workspace/workspaceStatus.ts b/src/lsptoolshost/workspace/workspaceStatus.ts new file mode 100644 index 0000000000..b51ca172b5 --- /dev/null +++ b/src/lsptoolshost/workspace/workspaceStatus.ts @@ -0,0 +1,39 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { RoslynLanguageServerEvents, ServerState } from '../server/languageServerEvents'; +import { combineDocumentSelectors } from '../utils/combineDocumentSelectors'; +import { languageServerOptions } from '../../shared/options'; + +export class WorkspaceStatus { + static createStatusItem(context: vscode.ExtensionContext, languageServerEvents: RoslynLanguageServerEvents) { + const documentSelector = combineDocumentSelectors(languageServerOptions.documentSelector); + const openSolutionCommand = { + command: 'dotnet.openSolution', + title: vscode.l10n.t('Open solution'), + }; + const restartServerCommand = { + command: 'dotnet.restartServer', + title: vscode.l10n.t('Restart server'), + }; + + const item = vscode.languages.createLanguageStatusItem('csharp.workspaceStatus', documentSelector); + item.name = vscode.l10n.t('C# Workspace Status'); + item.severity = vscode.LanguageStatusSeverity.Error; + item.command = openSolutionCommand; + context.subscriptions.push(item); + + languageServerEvents.onServerStateChange((e) => { + item.text = e.workspaceLabel; + item.busy = e.state === ServerState.ProjectInitializationStarted; + item.severity = + e.state === ServerState.Stopped + ? vscode.LanguageStatusSeverity.Error + : vscode.LanguageStatusSeverity.Information; + item.command = e.state === ServerState.Stopped ? restartServerCommand : openSolutionCommand; + }); + } +} diff --git a/src/main.ts b/src/main.ts index 736d7697dc..5f4596d734 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,7 +6,7 @@ import * as coreclrdebug from './coreclrDebug/activate'; import * as util from './common'; import * as vscode from 'vscode'; -import { lt } from 'semver'; + import { ActivationFailure } from './shared/loggingEvents'; import { CsharpChannelObserver } from './shared/observers/csharpChannelObserver'; import { CsharpLoggerObserver } from './shared/observers/csharpLoggerObserver'; @@ -15,44 +15,41 @@ import { PlatformInformation } from './shared/platform'; import TelemetryReporter from '@vscode/extension-telemetry'; import { vscodeNetworkSettingsProvider } from './networkSettings'; import createOptionStream from './shared/observables/createOptionStream'; -import { activateRazorExtension } from './razor/razor'; import { AbsolutePathPackage } from './packageManager/absolutePathPackage'; import { downloadAndInstallPackages } from './packageManager/downloadAndInstallPackages'; import IInstallDependencies from './packageManager/IInstallDependencies'; import { installRuntimeDependencies } from './installRuntimeDependencies'; import { isValidDownload } from './packageManager/isValidDownload'; -import { getDotnetPackApi } from './dotnetPack'; -import { RoslynLanguageServer, activateRoslynLanguageServer } from './lsptoolshost/roslynLanguageServer'; import { MigrateOptions } from './shared/migrateOptions'; -import { getBrokeredServiceContainer } from './lsptoolshost/services/brokeredServicesHosting'; -import { CSharpDevKitExports } from './csharpDevKitExports'; -import Descriptors from './lsptoolshost/services/descriptors'; -import { GlobalBrokeredServiceContainer } from '@microsoft/servicehub-framework'; import { CSharpExtensionExports, OmnisharpExtensionExports } from './csharpExtensionExports'; -import { csharpDevkitExtensionId, getCSharpDevKit } from './utils/getCSharpDevKit'; -import { BlazorDebugConfigurationProvider } from './razor/src/blazorDebug/blazorDebugConfigurationProvider'; -import { RoslynLanguageServerExport } from './lsptoolshost/roslynLanguageServerExportChannel'; -import { RoslynLanguageServerEvents } from './lsptoolshost/languageServerEvents'; -import { ServerState } from './lsptoolshost/serverStateChange'; -import { SolutionSnapshotProvider } from './lsptoolshost/services/solutionSnapshotProvider'; -import { commonOptions, languageServerOptions, omnisharpOptions, razorOptions } from './shared/options'; -import { BuildResultDiagnostics } from './lsptoolshost/services/buildResultReporterService'; -import { debugSessionTracker } from './coreclrDebug/provisionalDebugSessionTracker'; -import { getComponentFolder } from './lsptoolshost/builtInComponents'; -import { activateOmniSharpLanguageServer, ActivationResult } from './omnisharp/omnisharpLanguageServer'; -import { ActionOption, showErrorMessage } from './shared/observers/utils/showMessage'; +import { getCSharpDevKit } from './utils/getCSharpDevKit'; +import { commonOptions, omnisharpOptions } from './shared/options'; +import { checkDotNetRuntimeExtensionVersion } from './checkDotNetRuntimeExtensionVersion'; +import { checkIsSupportedPlatform } from './checkSupportedPlatform'; +import { activateOmniSharp } from './activateOmniSharp'; +import { activateRoslyn } from './activateRoslyn'; export async function activate( context: vscode.ExtensionContext ): Promise { + // Start measuring the activation time + const startActivation = process.hrtime(); + const csharpChannel = vscode.window.createOutputChannel('C#', { log: true }); + csharpChannel.trace('Activating C# Extension'); - await MigrateOptions(vscode); - const optionStream = createOptionStream(vscode); + util.setExtensionPath(context.extension.extensionPath); - const eventStream = new EventStream(); + const aiKey = context.extension.packageJSON.contributes.debuggers[0].aiKey; + const reporter = new TelemetryReporter(aiKey); + // ensure it gets properly disposed. Upon disposal the events will be flushed. + context.subscriptions.push(reporter); - util.setExtensionPath(context.extension.extensionPath); + const eventStream = new EventStream(); + const csharpchannelObserver = new CsharpChannelObserver(csharpChannel); + const csharpLogObserver = new CsharpLoggerObserver(csharpChannel); + eventStream.subscribe(csharpchannelObserver.post); + eventStream.subscribe(csharpLogObserver.post); let platformInfo: PlatformInformation; try { @@ -62,19 +59,17 @@ export async function activate( throw error; } - const aiKey = context.extension.packageJSON.contributes.debuggers[0].aiKey; - const reporter = new TelemetryReporter(aiKey); - // ensure it gets properly disposed. Upon disposal the events will be flushed. - context.subscriptions.push(reporter); + // Verify that the current platform is supported by the extension and inform the user if not. + if (!checkIsSupportedPlatform(context, platformInfo)) { + return null; + } - const csharpchannelObserver = new CsharpChannelObserver(csharpChannel); - const csharpLogObserver = new CsharpLoggerObserver(csharpChannel); - eventStream.subscribe(csharpchannelObserver.post); - eventStream.subscribe(csharpLogObserver.post); + await checkDotNetRuntimeExtensionVersion(context); - const requiredPackageIds: string[] = ['Debugger']; + await MigrateOptions(vscode); + const optionStream = createOptionStream(vscode); - requiredPackageIds.push('Razor'); + const requiredPackageIds: string[] = ['Debugger', 'Razor']; const csharpDevkitExtension = getCSharpDevKit(); const useOmnisharpServer = !csharpDevkitExtension && commonOptions.useOmnisharpServer; @@ -82,315 +77,66 @@ export async function activate( requiredPackageIds.push('OmniSharp'); } - const dotnetRuntimeExtensionId = 'ms-dotnettools.vscode-dotnet-runtime'; - const requiredDotnetRuntimeExtensionVersion = '2.2.3'; - - const dotnetRuntimeExtension = vscode.extensions.getExtension(dotnetRuntimeExtensionId); - const dotnetRuntimeExtensionVersion = dotnetRuntimeExtension?.packageJSON.version; - if (lt(dotnetRuntimeExtensionVersion, requiredDotnetRuntimeExtensionVersion)) { - const button = vscode.l10n.t('Update and reload'); - const prompt = vscode.l10n.t( - 'The {0} extension requires at least {1} of the .NET Install Tool ({2}) extension. Please update to continue', - context.extension.packageJSON.displayName, - requiredDotnetRuntimeExtensionVersion, - dotnetRuntimeExtensionId - ); - const selection = await vscode.window.showErrorMessage(prompt, button); - if (selection === button) { - await vscode.commands.executeCommand('workbench.extensions.installExtension', dotnetRuntimeExtensionId); - await vscode.commands.executeCommand('workbench.action.reloadWindow'); - } else { - throw new Error( - vscode.l10n.t( - 'Version {0} of the .NET Install Tool ({1}) was not found, {2} will not activate.', - requiredDotnetRuntimeExtensionVersion, - dotnetRuntimeExtensionId, - context.extension.packageJSON.displayName - ) - ); - } - } - - // If the dotnet bundle is installed, this will ensure the dotnet CLI is on the path. - await initializeDotnetPath(); - const networkSettingsProvider = vscodeNetworkSettingsProvider(vscode); const useFramework = useOmnisharpServer && omnisharpOptions.useModernNet !== true; const installDependencies: IInstallDependencies = async (dependencies: AbsolutePathPackage[]) => downloadAndInstallPackages(dependencies, networkSettingsProvider, eventStream, isValidDownload); - const runtimeDependenciesExist = await ensureRuntimeDependencies( - context.extension, + + const runtimeDependenciesExist = await installRuntimeDependencies( + context.extension.packageJSON, + context.extension.extensionPath, + installDependencies, eventStream, platformInfo, - installDependencies, useFramework, requiredPackageIds ); - let omnisharpLangServicePromise: Promise | undefined = undefined; - let omnisharpRazorPromise: Promise | undefined = undefined; - const roslynLanguageServerEvents = new RoslynLanguageServerEvents(); - context.subscriptions.push(roslynLanguageServerEvents); - let roslynLanguageServerStartedPromise: Promise | undefined = undefined; - let razorLanguageServerStartedPromise: Promise | undefined = undefined; - let projectInitializationCompletePromise: Promise | undefined = undefined; - - if (!useOmnisharpServer) { - // Activate Razor. Needs to be activated before Roslyn so commands are registered in the correct order. - // Otherwise, if Roslyn starts up first, they could execute commands that don't yet exist on Razor's end. - // - // Flow: - // Razor starts up and registers dynamic file info commands -> - // Roslyn starts up and registers Razor-specific didOpen/didClose/didChange commands and sends request to Razor - // for dynamic file info once project system is ready -> - // Razor sends didOpen commands to Roslyn for generated docs and responds to request with dynamic file info - razorLanguageServerStartedPromise = activateRazorExtension( - context, - context.extension.extensionPath, - eventStream, - csharpDevkitExtension, - platformInfo, - /* useOmnisharpServer */ false - ); + const getCoreClrDebugPromise = async (languageServerStartedPromise: Promise) => { + let coreClrDebugPromise = Promise.resolve(); + if (runtimeDependenciesExist) { + // activate coreclr-debug + coreClrDebugPromise = coreclrdebug.activate( + context.extension, + context, + platformInfo, + eventStream, + csharpChannel, + languageServerStartedPromise + ); + } - // Setup a listener for project initialization complete before we start the server. - projectInitializationCompletePromise = new Promise((resolve, _) => { - roslynLanguageServerEvents.onServerStateChange(async (e) => { - if (e.state === ServerState.ProjectInitializationComplete) { - resolve(); - } - }); - }); + return coreClrDebugPromise; + }; - // Start the server, but do not await the completion to avoid blocking activation. - roslynLanguageServerStartedPromise = activateRoslynLanguageServer( + let exports: CSharpExtensionExports | OmnisharpExtensionExports; + if (!useOmnisharpServer) { + exports = activateRoslyn( context, platformInfo, optionStream, + eventStream, csharpChannel, - roslynLanguageServerEvents + reporter, + csharpDevkitExtension, + getCoreClrDebugPromise ); } else { - // activate language services - const dotnetTestChannel = vscode.window.createOutputChannel(vscode.l10n.t('.NET Test Log')); - const dotnetChannel = vscode.window.createOutputChannel(vscode.l10n.t('.NET NuGet Restore')); - omnisharpLangServicePromise = activateOmniSharpLanguageServer( + exports = activateOmniSharp( context, platformInfo, optionStream, networkSettingsProvider, eventStream, csharpChannel, - dotnetTestChannel, - dotnetChannel, - reporter + reporter, + getCoreClrDebugPromise ); - - if (!razorOptions.razorDevMode) { - omnisharpRazorPromise = activateRazorExtension( - context, - context.extension.extensionPath, - eventStream, - undefined, - platformInfo, - /* useOmnisharpServer */ true - ); - } - } - - if (!isSupportedPlatform(platformInfo)) { - // Check to see if VS Code is running remotely - if (context.extension.extensionKind === vscode.ExtensionKind.Workspace) { - const setupButton: ActionOption = { - title: vscode.l10n.t('How to setup Remote Debugging'), - action: async () => { - const remoteDebugInfoURL = - 'https://github.com/dotnet/vscode-csharp/wiki/Remote-Debugging-On-Linux-Arm'; - await vscode.env.openExternal(vscode.Uri.parse(remoteDebugInfoURL)); - }, - }; - const errorMessage = vscode.l10n.t( - `The C# extension for Visual Studio Code is incompatible on {0} {1} with the VS Code Remote Extensions. To see avaliable workarounds, click on '{2}'.`, - platformInfo.platform, - platformInfo.architecture, - setupButton.title - ); - showErrorMessage(vscode, errorMessage, setupButton); - } else { - const errorMessage = vscode.l10n.t( - 'The C# extension for Visual Studio Code is incompatible on {0} {1}.', - platformInfo.platform, - platformInfo.architecture - ); - showErrorMessage(vscode, errorMessage); - } - - // Unsupported platform - return null; - } - - let coreClrDebugPromise = Promise.resolve(); - if (runtimeDependenciesExist) { - // activate coreclr-debug - coreClrDebugPromise = coreclrdebug.activate( - context.extension, - context, - platformInfo, - eventStream, - csharpChannel, - roslynLanguageServerStartedPromise ?? omnisharpLangServicePromise - ); - } - - if (!useOmnisharpServer) { - debugSessionTracker.initializeDebugSessionHandlers(context); - - tryGetCSharpDevKitExtensionExports(csharpLogObserver); - - // If we got here, the server should definitely have been created. - util.isNotNull(roslynLanguageServerStartedPromise); - util.isNotNull(projectInitializationCompletePromise); - - const languageServerExport = new RoslynLanguageServerExport(roslynLanguageServerStartedPromise); - return { - initializationFinished: async () => { - await coreClrDebugPromise; - await razorLanguageServerStartedPromise; - await roslynLanguageServerStartedPromise; - await projectInitializationCompletePromise; - }, - profferBrokeredServices: (container) => - profferBrokeredServices(context, container, roslynLanguageServerStartedPromise!), - logDirectory: context.logUri.fsPath, - determineBrowserType: BlazorDebugConfigurationProvider.determineBrowserType, - experimental: { - sendServerRequest: async (t, p, ct) => await languageServerExport.sendRequest(t, p, ct), - languageServerEvents: roslynLanguageServerEvents, - }, - getComponentFolder: (componentName) => { - return getComponentFolder(componentName, languageServerOptions); - }, - }; - } else { - return { - initializationFinished: async () => { - const langService = await omnisharpLangServicePromise; - await langService!.server.waitForInitialize(); - await coreClrDebugPromise; - - if (omnisharpRazorPromise) { - await omnisharpRazorPromise; - } - }, - getAdvisor: async () => { - const langService = await omnisharpLangServicePromise; - return langService!.advisor; - }, - getTestManager: async () => { - const langService = await omnisharpLangServicePromise; - return langService!.testManager; - }, - eventStream, - logDirectory: context.logUri.fsPath, - }; } -} - -/** - * This method will try to get the CSharpDevKitExports through a thenable promise, - * awaiting `activate` will cause this extension's activation to hang. - */ -function tryGetCSharpDevKitExtensionExports(csharpLogObserver: CsharpLoggerObserver): void { - const ext = getCSharpDevKit(); - ext?.activate().then( - async (exports: CSharpDevKitExports) => { - if (exports && exports.serviceBroker) { - // When proffering this IServiceBroker into our own container, - // we list the monikers of the brokered services we expect to find there. - // This list must be a subset of the monikers previously registered with our own container - // as defined in the getBrokeredServiceContainer function. - getBrokeredServiceContainer().profferServiceBroker(exports.serviceBroker, [ - Descriptors.dotnetDebugConfigurationService.moniker, - ]); - - // Notify the vsdbg configuration provider that C# dev kit has been loaded. - exports.serverProcessLoaded(async () => { - await debugSessionTracker.onCsDevKitInitialized(await exports.getBrokeredServiceServerPipeName()); - }); - - await vscode.commands.executeCommand('setContext', 'dotnet.debug.serviceBrokerAvailable', true); - } else { - csharpLogObserver.logger.appendLine( - `[ERROR] '${csharpDevkitExtensionId}' activated but did not return expected Exports.` - ); - } - }, - () => { - csharpLogObserver.logger.appendLine(`[ERROR] Failed to activate '${csharpDevkitExtensionId}'`); - } - ); -} -function profferBrokeredServices( - context: vscode.ExtensionContext, - serviceContainer: GlobalBrokeredServiceContainer, - languageServerPromise: Promise -) { - context.subscriptions.push( - serviceContainer.profferServiceFactory( - Descriptors.solutionSnapshotProviderRegistration, - (_mk, _op, _sb) => new SolutionSnapshotProvider(languageServerPromise) - ), - serviceContainer.profferServiceFactory( - Descriptors.csharpExtensionBuildResultService, - (_mk, _op, _sb) => new BuildResultDiagnostics(languageServerPromise) - ) - ); -} - -function isSupportedPlatform(platform: PlatformInformation): boolean { - if (platform.isWindows()) { - return platform.architecture === 'x86_64' || platform.architecture === 'arm64'; - } + const timeTaken = process.hrtime(startActivation); + const timeTakenStr = (timeTaken[0] * 1000 + timeTaken[1] / 1000000).toFixed(3); + csharpChannel.trace('C# Extension activated in ' + timeTakenStr + 'ms.'); - if (platform.isMacOS()) { - return true; - } - - if (platform.isLinux()) { - return ( - platform.architecture === 'x86_64' || - platform.architecture === 'x86' || - platform.architecture === 'i686' || - platform.architecture === 'arm64' - ); - } - - return false; -} - -async function ensureRuntimeDependencies( - extension: vscode.Extension, - eventStream: EventStream, - platformInfo: PlatformInformation, - installDependencies: IInstallDependencies, - useFramework: boolean, - requiredPackageIds: string[] -): Promise { - return installRuntimeDependencies( - extension.packageJSON, - extension.extensionPath, - installDependencies, - eventStream, - platformInfo, - useFramework, - requiredPackageIds - ); -} - -async function initializeDotnetPath(): Promise { - const dotnetPackApi = await getDotnetPackApi(); - if (dotnetPackApi !== undefined) { - await dotnetPackApi.getDotnetPath(); - } + return exports; } diff --git a/src/omnisharp/engines/lspEngine.ts b/src/omnisharp/engines/lspEngine.ts index 612487d174..d3b1898b61 100644 --- a/src/omnisharp/engines/lspEngine.ts +++ b/src/omnisharp/engines/lspEngine.ts @@ -19,25 +19,20 @@ import { Events, OmniSharpServer } from '../server'; import { IEngine } from './IEngine'; import { PlatformInformation } from '../../shared/platform'; import { IHostExecutableResolver } from '../../shared/constants/IHostExecutableResolver'; -import { - Command, - DynamicFeature, - LanguageClientOptions, - RequestType, - StaticFeature, - Trace, -} from 'vscode-languageclient'; +import { Command } from 'vscode-languageserver-protocol'; +import { DynamicFeature, LanguageClientOptions, StaticFeature } from 'vscode-languageclient'; +import { RequestType, Trace } from 'vscode-jsonrpc'; import { LanguageClient, ServerOptions } from 'vscode-languageclient/node'; -import { SelectionRangeFeature } from 'vscode-languageclient/lib/common/selectionRange'; -import { ColorProviderFeature } from 'vscode-languageclient/lib/common/colorProvider'; -import { WorkspaceFoldersFeature } from 'vscode-languageclient/lib/common/workspaceFolder'; -import { DeclarationFeature } from 'vscode-languageclient/lib/common/declaration'; -import { DocumentLinkFeature } from 'vscode-languageclient/lib/common/documentLink'; -import { InlineValueFeature } from 'vscode-languageclient/lib/common/inlineValue'; -import { DiagnosticFeature } from 'vscode-languageclient/lib/common/diagnostic'; -import { NotebookDocumentSyncFeature } from 'vscode-languageclient/lib/common/notebook'; -import { TypeHierarchyFeature } from 'vscode-languageclient/lib/common/typeHierarchy'; -import { CallHierarchyFeature } from 'vscode-languageclient/lib/common/callHierarchy'; +import { SelectionRangeFeature } from 'vscode-languageclient/selectionRange'; +import { ColorProviderFeature } from 'vscode-languageclient/colorProvider'; +import { WorkspaceFoldersFeature } from 'vscode-languageclient/workspaceFolder'; +import { DeclarationFeature } from 'vscode-languageclient/declaration'; +import { DocumentLinkFeature } from 'vscode-languageclient/documentLink'; +import { InlineValueFeature } from 'vscode-languageclient/inlineValue'; +import { DiagnosticFeature } from 'vscode-languageclient/diagnostic'; +import { NotebookDocumentSyncFeature } from 'vscode-languageclient/notebook'; +import { TypeHierarchyFeature } from 'vscode-languageclient/typeHierarchy'; +import { CallHierarchyFeature } from 'vscode-languageclient/callHierarchy'; import { Advisor } from '../features/diagnosticsProvider'; import dotnetTest from '../features/dotnetTest'; @@ -405,7 +400,7 @@ export class LspEngine implements IEngine { registrations: true, }; }, - dispose() { + clear() { /* empty */ }, fillClientCapabilities(_) { @@ -426,7 +421,9 @@ export class LspEngine implements IEngine { const eventName = `o#/${event}`.replace(/\/\//g, '/').toLowerCase(); - client.onNotification(eventName, (eventBody: any) => this.eventBus.emit(event, eventBody)); + client.onNotification(eventName, (eventBody: any) => { + this.eventBus.emit(event, eventBody); + }); } }, }; diff --git a/src/omnisharp/features/completionProvider.ts b/src/omnisharp/features/completionProvider.ts index 8eb0e0b13f..27324a7a57 100644 --- a/src/omnisharp/features/completionProvider.ts +++ b/src/omnisharp/features/completionProvider.ts @@ -23,11 +23,8 @@ import { import AbstractProvider from './abstractProvider'; import * as protocol from '../protocol'; import * as serverUtils from '../utils'; -import { - CancellationToken, - CompletionTriggerKind as LspCompletionTriggerKind, - InsertTextFormat, -} from 'vscode-languageserver-protocol'; +import { CancellationToken } from 'vscode-jsonrpc'; +import { CompletionTriggerKind as LspCompletionTriggerKind, InsertTextFormat } from 'vscode-languageserver-protocol'; import { createRequest } from '../typeConversion'; import { LanguageMiddlewareFeature } from '../languageMiddlewareFeature'; import { OmniSharpServer } from '../server'; diff --git a/src/omnisharp/features/fixAllProvider.ts b/src/omnisharp/features/fixAllProvider.ts index 82296c676a..132977fff5 100644 --- a/src/omnisharp/features/fixAllProvider.ts +++ b/src/omnisharp/features/fixAllProvider.ts @@ -12,7 +12,7 @@ import CompositeDisposable from '../../compositeDisposable'; import AbstractProvider from './abstractProvider'; import { LanguageMiddlewareFeature } from '../languageMiddlewareFeature'; import { buildEditForResponse } from '../fileOperationsResponseEditBuilder'; -import { CancellationToken } from 'vscode-languageserver-protocol'; +import { CancellationToken } from 'vscode-jsonrpc'; import { showWarningMessage } from '../../shared/observers/utils/showMessage'; export class OmniSharpFixAllProvider extends AbstractProvider implements vscode.CodeActionProvider { diff --git a/src/razor/src/codeActions/codeActionsHandler.ts b/src/razor/src/codeActions/codeActionsHandler.ts index c91446023d..d7f8ac1481 100644 --- a/src/razor/src/codeActions/codeActionsHandler.ts +++ b/src/razor/src/codeActions/codeActionsHandler.ts @@ -4,16 +4,16 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { CodeAction, RequestType, TextDocumentIdentifier } from 'vscode-languageclient'; +import { CodeAction, RequestType, TextDocumentIdentifier } from 'vscode-languageserver-protocol'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; import { SerializableDelegatedCodeActionParams } from './serializableDelegatedCodeActionParams'; import { LanguageKind } from '../rpc/languageKind'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { SerializableRazorResolveCodeActionParams } from './serializableRazorResolveCodeActionParams'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; -import { provideCodeActionsCommand, resolveCodeActionCommand } from '../../../lsptoolshost/razorCommands'; +import { provideCodeActionsCommand, resolveCodeActionCommand } from '../../../lsptoolshost/razor/razorCommands'; export class CodeActionsHandler { private static readonly provideCodeActionsEndpoint = 'razor/provideCodeActions'; diff --git a/src/razor/src/colorPresentation/colorPresentationHandler.ts b/src/razor/src/colorPresentation/colorPresentationHandler.ts index 1886f0cafe..3e69502794 100644 --- a/src/razor/src/colorPresentation/colorPresentationHandler.ts +++ b/src/razor/src/colorPresentation/colorPresentationHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient'; +import { RequestType } from 'vscode-jsonrpc'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; diff --git a/src/razor/src/completion/completionHandler.ts b/src/razor/src/completion/completionHandler.ts index 48247a16aa..0d5594b382 100644 --- a/src/razor/src/completion/completionHandler.ts +++ b/src/razor/src/completion/completionHandler.ts @@ -17,8 +17,8 @@ import { Range, RequestType, TextEdit, -} from 'vscode-languageclient'; -import { provideCompletionsCommand, resolveCompletionsCommand } from '../../../lsptoolshost/razorCommands'; +} from 'vscode-languageserver-protocol'; +import { provideCompletionsCommand, resolveCompletionsCommand } from '../../../lsptoolshost/razor/razorCommands'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; @@ -26,7 +26,7 @@ import { RazorLogger } from '../razorLogger'; import { SerializableDelegatedCompletionParams } from './serializableDelegatedCompletionParams'; import { SerializableDelegatedCompletionItemResolveParams } from './serializableDelegatedCompletionItemResolveParams'; import { LanguageKind } from '../rpc/languageKind'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { SerializableTextEdit } from '../rpc/serializableTextEdit'; import { CSharpProjectedDocument } from '../csharp/csharpProjectedDocument'; import { IProjectedDocument } from '../projection/IProjectedDocument'; diff --git a/src/razor/src/completion/serializableDelegatedCompletionItemResolveParams.ts b/src/razor/src/completion/serializableDelegatedCompletionItemResolveParams.ts index f7c3ab9e0e..6a4e5dcdda 100644 --- a/src/razor/src/completion/serializableDelegatedCompletionItemResolveParams.ts +++ b/src/razor/src/completion/serializableDelegatedCompletionItemResolveParams.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { CompletionItem } from 'vscode-languageclient'; +import { CompletionItem } from 'vscode-languageserver-protocol'; import { LanguageKind } from '../rpc/languageKind'; import { SerializableTextDocumentIdentifierAndVersion } from '../simplify/serializableTextDocumentIdentifierAndVersion'; diff --git a/src/razor/src/completion/serializableDelegatedCompletionParams.ts b/src/razor/src/completion/serializableDelegatedCompletionParams.ts index 997fc81d2b..e36d03be90 100644 --- a/src/razor/src/completion/serializableDelegatedCompletionParams.ts +++ b/src/razor/src/completion/serializableDelegatedCompletionParams.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { CompletionContext } from 'vscode-languageclient'; +import { CompletionContext } from 'vscode-languageserver-protocol'; import { LanguageKind } from '../rpc/languageKind'; import { SerializablePosition } from '../rpc/serializablePosition'; import { SerializableTextDocumentIdentifierAndVersion } from '../simplify/serializableTextDocumentIdentifierAndVersion'; diff --git a/src/razor/src/csharp/csharpProjectedDocument.ts b/src/razor/src/csharp/csharpProjectedDocument.ts index e31ad27e60..4b326694ef 100644 --- a/src/razor/src/csharp/csharpProjectedDocument.ts +++ b/src/razor/src/csharp/csharpProjectedDocument.ts @@ -6,7 +6,7 @@ import { IProjectedDocument } from '../projection/IProjectedDocument'; import { ServerTextChange } from '../rpc/serverTextChange'; import { getUriPath } from '../uriPaths'; -import { Position } from 'vscode-languageclient'; +import { Position } from 'vscode-languageserver-protocol'; import * as vscode from '../vscodeAdapter'; export class CSharpProjectedDocument implements IProjectedDocument { diff --git a/src/razor/src/diagnostics/razorDiagnosticHandler.ts b/src/razor/src/diagnostics/razorDiagnosticHandler.ts index 8c63228f40..ab3759873d 100644 --- a/src/razor/src/diagnostics/razorDiagnosticHandler.ts +++ b/src/razor/src/diagnostics/razorDiagnosticHandler.ts @@ -4,23 +4,24 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { DocumentDiagnosticReport, DocumentDiagnosticParams, RequestType } from 'vscode-languageclient'; +import { DocumentDiagnosticParams, DocumentDiagnosticReport, RequestType } from 'vscode-languageserver-protocol'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorDocumentManager } from '../document/razorDocumentManager'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { RazorLanguageServiceClient } from '../razorLanguageServiceClient'; import { RazorLanguageFeatureBase } from '../razorLanguageFeatureBase'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; import { RazorLogger } from '../razorLogger'; -import { roslynPullDiagnosticCommand } from '../../../lsptoolshost/razorCommands'; +import { roslynPullDiagnosticCommand } from '../../../lsptoolshost/razor/razorCommands'; +import { SerializableTextDocumentIdentifierAndVersion } from '../simplify/serializableTextDocumentIdentifierAndVersion'; export class RazorDiagnosticHandler extends RazorLanguageFeatureBase { private static readonly razorPullDiagnosticsCommand = 'razor/csharpPullDiagnostics'; - private diagnosticRequestType: RequestType = + private diagnosticRequestType: RequestType = new RequestType(RazorDiagnosticHandler.razorPullDiagnosticsCommand); constructor( - documentSynchronizer: RazorDocumentSynchronizer, + protected readonly documentSynchronizer: RazorDocumentSynchronizer, protected readonly serverClient: RazorLanguageServerClient, protected readonly serviceClient: RazorLanguageServiceClient, protected readonly documentManager: RazorDocumentManager, @@ -31,31 +32,55 @@ export class RazorDiagnosticHandler extends RazorLanguageFeatureBase { public async register() { await this.serverClient.onRequestWithParams< - DocumentDiagnosticParams, + DelegatedDiagnosticParams, DocumentDiagnosticReport | undefined, any - >(this.diagnosticRequestType, async (request: DocumentDiagnosticParams, token: vscode.CancellationToken) => + >(this.diagnosticRequestType, async (request: DelegatedDiagnosticParams, token: vscode.CancellationToken) => this.getDiagnostic(request, token) ); } private async getDiagnostic( - request: DocumentDiagnosticParams, - _: vscode.CancellationToken + request: DelegatedDiagnosticParams, + token: vscode.CancellationToken ): Promise { if (!this.documentManager.roslynActivated) { return undefined; } - const razorDocumentUri = vscode.Uri.parse(request.textDocument.uri, true); + const razorDocumentUri = vscode.Uri.parse(request.identifier.textDocumentIdentifier.uri, true); + const textDocument = await vscode.workspace.openTextDocument(razorDocumentUri); const razorDocument = await this.documentManager.getDocument(razorDocumentUri); + + const synchronized = await this.documentSynchronizer.trySynchronizeProjectedDocument( + textDocument, + razorDocument.csharpDocument, + request.identifier.version, + token + ); + + if (!synchronized) { + return undefined; + } + const virtualCSharpUri = razorDocument.csharpDocument.uri; - request.textDocument.uri = UriConverter.serialize(virtualCSharpUri); + + const roslynRequest: DocumentDiagnosticParams = { + textDocument: { + uri: UriConverter.serialize(virtualCSharpUri), + }, + }; + const response: DocumentDiagnosticReport = await vscode.commands.executeCommand( roslynPullDiagnosticCommand, - request + roslynRequest ); return response; } } + +interface DelegatedDiagnosticParams { + identifier: SerializableTextDocumentIdentifierAndVersion; + correlationId: string; +} diff --git a/src/razor/src/diagnostics/reportIssuePanel.ts b/src/razor/src/diagnostics/reportIssuePanel.ts index a0bb23d938..f862018295 100644 --- a/src/razor/src/diagnostics/reportIssuePanel.ts +++ b/src/razor/src/diagnostics/reportIssuePanel.ts @@ -165,7 +165,7 @@ ${privacyAnchor} panelBodyContent = '

' + vscode.l10n.t( - 'Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.', + 'Cannot start collecting Razor logs when {0} is set to {1}. Please open the output window, choose the "Razor Log", and use the gear icon to ensure the log level is set to "Debug" or "Trace".', verbositySettingName, currentVerbositySettingValue, neededVerbositySettingValue diff --git a/src/razor/src/document/razorDocumentManager.ts b/src/razor/src/document/razorDocumentManager.ts index b90e303fd2..ebaf4688e6 100644 --- a/src/razor/src/document/razorDocumentManager.ts +++ b/src/razor/src/document/razorDocumentManager.ts @@ -17,9 +17,9 @@ import { IRazorDocumentChangeEvent } from './IRazorDocumentChangeEvent'; import { IRazorDocumentManager } from './IRazorDocumentManager'; import { RazorDocumentChangeKind } from './razorDocumentChangeKind'; import { createDocument } from './razorDocumentFactory'; -import { razorInitializeCommand } from '../../../lsptoolshost/razorCommands'; +import { razorInitializeCommand } from '../../../lsptoolshost/razor/razorCommands'; import { PlatformInformation } from '../../../shared/platform'; -import { generateUuid } from 'vscode-languageclient/lib/common/utils/uuid'; +import { v4 as uuidv4 } from 'uuid'; export class RazorDocumentManager implements IRazorDocumentManager { public roslynActivated = false; @@ -168,7 +168,7 @@ export class RazorDocumentManager implements IRazorDocumentManager { // a Razor file. if (this.roslynActivated && !this.razorDocumentGenerationInitialized) { this.razorDocumentGenerationInitialized = true; - const pipeName = generateUuid(); + const pipeName = uuidv4(); await vscode.commands.executeCommand(razorInitializeCommand, pipeName); await this.serverClient.connectNamedPipe(pipeName); diff --git a/src/razor/src/documentColor/documentColorHandler.ts b/src/razor/src/documentColor/documentColorHandler.ts index 7b8b217d09..b14ced320b 100644 --- a/src/razor/src/documentColor/documentColorHandler.ts +++ b/src/razor/src/documentColor/documentColorHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient'; +import { RequestType } from 'vscode-jsonrpc'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; diff --git a/src/razor/src/dynamicFile/dynamicFileInfoHandler.ts b/src/razor/src/dynamicFile/dynamicFileInfoHandler.ts index 62300f0f5f..7662a13483 100644 --- a/src/razor/src/dynamicFile/dynamicFileInfoHandler.ts +++ b/src/razor/src/dynamicFile/dynamicFileInfoHandler.ts @@ -4,17 +4,18 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLogger } from '../razorLogger'; import { ProvideDynamicFileParams } from './provideDynamicFileParams'; -import { ProvideDynamicFileResponse, DynamicFileUpdate } from './provideDynamicFileResponse'; +import { ProvideDynamicFileResponse } from './provideDynamicFileResponse'; import { RemoveDynamicFileParams } from './removeDynamicFileParams'; import { CSharpProjectedDocument } from '../csharp/csharpProjectedDocument'; import { RazorDocumentChangeKind } from '../document/razorDocumentChangeKind'; import { RazorDynamicFileChangedParams } from './dynamicFileUpdatedParams'; import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; -import { ServerTextChange } from '../rpc/serverTextChange'; +import { razorTextChange } from './razorTextChange'; +import { razorTextSpan } from './razorTextSpan'; // Handles Razor generated doc communication between the Roslyn workspace and Razor. // didChange behavior for Razor generated docs is handled in the RazorDocumentManager. @@ -75,19 +76,11 @@ export class DynamicFileInfoHandler { if (request.fullText) { // The server asked for a full replace so the newtext is the important // thing here, the span doesn't matter. - const change: ServerTextChange = { - newText: razorDocument.csharpDocument.getContent(), - span: { - start: 0, - length: 0, - }, - }; - - const update = new DynamicFileUpdate([change]); + const change = new razorTextChange(razorDocument.csharpDocument.getContent(), new razorTextSpan(0, 0)); return new ProvideDynamicFileResponse( request.razorDocument, - [update], + [change], csharpDocument.checksum, csharpDocument.checksumAlgorithm, csharpDocument.encodingCodePage @@ -99,22 +92,18 @@ export class DynamicFileInfoHandler { if (this.documentManager.isRazorDocumentOpenInCSharpWorkspace(vscodeUri)) { // Open documents have didOpen/didChange to update the csharp buffer. Razor // does not send edits and instead lets vscode handle them. - return new ProvideDynamicFileResponse( - { uri: virtualCsharpUri }, - null, - csharpDocument.checksum, - csharpDocument.checksumAlgorithm, - csharpDocument.encodingCodePage - ); + return null; } else { // Closed documents provide edits since the last time they were requested since // there is no open buffer in vscode corresponding to the csharp content. const response = csharpDocument.applyEdits(); - const updates = response.edits?.map((e) => new DynamicFileUpdate(e.changes)) ?? null; + const updates = response.edits?.flatMap((e) => + e.changes.map((c) => new razorTextChange(c.newText, new razorTextSpan(c.span.start, c.span.length))) + ); return new ProvideDynamicFileResponse( { uri: virtualCsharpUri }, - updates, + updates ?? [], response.originalChecksum, response.originalChecksumAlgorithm, response.originalEncodingCodePage diff --git a/src/razor/src/dynamicFile/provideDynamicFileResponse.ts b/src/razor/src/dynamicFile/provideDynamicFileResponse.ts index d1ff807bc3..5be2be149e 100644 --- a/src/razor/src/dynamicFile/provideDynamicFileResponse.ts +++ b/src/razor/src/dynamicFile/provideDynamicFileResponse.ts @@ -3,14 +3,15 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TextDocumentIdentifier } from 'vscode-languageclient/node'; +import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; import { ServerTextChange } from '../rpc/serverTextChange'; +import { razorTextChange } from './razorTextChange'; // matches https://github.com/dotnet/roslyn/blob/9e91ca6590450e66e0041ee3135bbf044ac0687a/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/RazorDynamicFileInfoProvider.cs#L28 export class ProvideDynamicFileResponse { constructor( public readonly csharpDocument: TextDocumentIdentifier | null, - public readonly updates: DynamicFileUpdate[] | null, + public readonly edits: razorTextChange[], public readonly checksum: string, public readonly checksumAlgorithm: number, public readonly encodingCodePage: number | null diff --git a/src/razor/src/dynamicFile/razorTextChange.ts b/src/razor/src/dynamicFile/razorTextChange.ts new file mode 100644 index 0000000000..491f3c4ab6 --- /dev/null +++ b/src/razor/src/dynamicFile/razorTextChange.ts @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { razorTextSpan } from './razorTextSpan'; + +export class razorTextChange { + constructor(public readonly newText: string | null, public readonly span: razorTextSpan) {} +} diff --git a/src/razor/src/dynamicFile/razorTextSpan.ts b/src/razor/src/dynamicFile/razorTextSpan.ts new file mode 100644 index 0000000000..1e299b5296 --- /dev/null +++ b/src/razor/src/dynamicFile/razorTextSpan.ts @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export class razorTextSpan { + constructor(public readonly start: number, public readonly length: number) {} +} diff --git a/src/razor/src/dynamicFile/removeDynamicFileParams.ts b/src/razor/src/dynamicFile/removeDynamicFileParams.ts index 279ee2414d..6b1c1cd10b 100644 --- a/src/razor/src/dynamicFile/removeDynamicFileParams.ts +++ b/src/razor/src/dynamicFile/removeDynamicFileParams.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TextDocumentIdentifier } from 'vscode-languageclient/node'; +import { TextDocumentIdentifier } from 'vscode-languageserver-protocol'; // matches https://github.com/dotnet/roslyn/blob/9e91ca6590450e66e0041ee3135bbf044ac0687a/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/RazorDynamicFileInfoProvider.cs#L28 export class RemoveDynamicFileParams { diff --git a/src/razor/src/extension.ts b/src/razor/src/extension.ts index 26e0504de4..4c3ba80753 100644 --- a/src/razor/src/extension.ts +++ b/src/razor/src/extension.ts @@ -3,14 +3,10 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ + import * as vscode from 'vscode'; -import type * as vscodeapi from 'vscode'; -import type { ExtensionContext } from 'vscode'; -import type { CSharpDevKitExports } from '../../csharpDevKitExports'; -import { DotnetRuntimeExtensionResolver } from '../../lsptoolshost/dotnetRuntimeExtensionResolver'; -import type { PlatformInformation } from '../../shared/platform'; -import type { IEventEmitterFactory } from './IEventEmitterFactory'; -import { BlazorDebugConfigurationProvider } from './blazorDebug/blazorDebugConfigurationProvider'; +import * as vscodeapi from 'vscode'; +import { ExtensionContext } from 'vscode'; import { CodeActionsHandler } from './codeActions/codeActionsHandler'; import { CompletionHandler } from './completion/completionHandler'; import { RazorCodeActionRunner } from './codeActions/razorCodeActionRunner'; @@ -18,7 +14,6 @@ import { RazorCodeLensProvider } from './codeLens/razorCodeLensProvider'; import { ColorPresentationHandler } from './colorPresentation/colorPresentationHandler'; import { RazorCSharpFeature } from './csharp/razorCSharpFeature'; import { RazorDefinitionProvider } from './definition/razorDefinitionProvider'; -import { RazorDiagnosticHandler } from './diagnostics/razorDiagnosticHandler'; import { ReportIssueCommand } from './diagnostics/reportIssueCommand'; import { RazorDocumentManager } from './document/razorDocumentManager'; import { RazorDocumentSynchronizer } from './document/razorDocumentSynchronizer'; @@ -27,14 +22,12 @@ import { RazorDocumentHighlightProvider } from './documentHighlight/razorDocumen import { reportTelemetryForDocuments } from './documentTelemetryListener'; import { DynamicFileInfoHandler } from './dynamicFile/dynamicFileInfoHandler'; import { FoldingRangeHandler } from './folding/foldingRangeHandler'; -import { RazorFormatNewFileHandler } from './formatNewFile/razorFormatNewFileHandler'; import { FormattingHandler } from './formatting/formattingHandler'; -import type { HostEventStream } from './hostEventStream'; +import { HostEventStream } from './hostEventStream'; import { RazorHoverProvider } from './hover/razorHoverProvider'; import { RazorHtmlFeature } from './html/razorHtmlFeature'; +import { IEventEmitterFactory } from './IEventEmitterFactory'; import { RazorImplementationProvider } from './implementation/razorImplementationProvider'; -import { InlayHintHandler } from './inlayHint/inlayHintHandler'; -import { InlayHintResolveHandler } from './inlayHint/inlayHintResolveHandler'; import { ProposedApisFeature } from './proposedApisFeature'; import { RazorLanguage } from './razorLanguage'; import { RazorLanguageConfiguration } from './razorLanguageConfiguration'; @@ -45,11 +38,18 @@ import { RazorReferenceProvider } from './reference/razorReferenceProvider'; import { RazorRenameProvider } from './rename/razorRenameProvider'; import { SemanticTokensRangeHandler } from './semantic/semanticTokensRangeHandler'; import { RazorSignatureHelpProvider } from './signatureHelp/razorSignatureHelpProvider'; -import { RazorSimplifyMethodHandler } from './simplify/razorSimplifyMethodHandler'; import { TelemetryReporter as RazorTelemetryReporter } from './telemetryReporter'; - +import { RazorDiagnosticHandler } from './diagnostics/razorDiagnosticHandler'; +import { RazorSimplifyMethodHandler } from './simplify/razorSimplifyMethodHandler'; +import { CSharpDevKitExports } from '../../csharpDevKitExports'; +import { DotnetRuntimeExtensionResolver } from '../../lsptoolshost/dotnetRuntime/dotnetRuntimeExtensionResolver'; +import { PlatformInformation } from '../../shared/platform'; import { RazorLanguageServerOptions } from './razorLanguageServerOptions'; import { resolveRazorLanguageServerOptions } from './razorLanguageServerOptionsResolver'; +import { RazorFormatNewFileHandler } from './formatNewFile/razorFormatNewFileHandler'; +import { InlayHintHandler } from './inlayHint/inlayHintHandler'; +import { InlayHintResolveHandler } from './inlayHint/inlayHintResolveHandler'; +import { BlazorDebugConfigurationProvider } from './blazorDebug/blazorDebugConfigurationProvider'; // We specifically need to take a reference to a particular instance of the vscode namespace, // otherwise providers attempt to operate on the null extension. @@ -96,15 +96,14 @@ export async function activate( // Set up DevKit environment for telemetry if (csharpDevkitExtension) { - await setupDevKitEnvironment(env, csharpDevkitExtension, logger); + await setupDevKitEnvironment(dotnetInfo.env, csharpDevkitExtension, logger); } const languageServerClient = new RazorLanguageServerClient( vscodeType, languageServerDir, razorTelemetryReporter, - csharpDevkitExtension !== undefined, - env, + dotnetInfo.env, dotnetInfo.path, logger ); diff --git a/src/razor/src/folding/foldingRangeHandler.ts b/src/razor/src/folding/foldingRangeHandler.ts index 103202b271..dcc1a9b1af 100644 --- a/src/razor/src/folding/foldingRangeHandler.ts +++ b/src/razor/src/folding/foldingRangeHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { FoldingRange, FoldingRangeKind, RequestType } from 'vscode-languageclient'; +import { FoldingRange, FoldingRangeKind, RequestType } from 'vscode-languageserver-protocol'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; diff --git a/src/razor/src/folding/serializableFoldingRangeResponse.ts b/src/razor/src/folding/serializableFoldingRangeResponse.ts index 0a2c602cb0..c04f5a3242 100644 --- a/src/razor/src/folding/serializableFoldingRangeResponse.ts +++ b/src/razor/src/folding/serializableFoldingRangeResponse.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { FoldingRange } from 'vscode-languageclient'; +import { FoldingRange } from 'vscode-languageserver-protocol'; export class SerializableFoldingRangeResponse { constructor(public htmlRanges: FoldingRange[], public csharpRanges: FoldingRange[]) {} diff --git a/src/razor/src/formatNewFile/razorFormatNewFileHandler.ts b/src/razor/src/formatNewFile/razorFormatNewFileHandler.ts index 998cd618dd..cbe335cb75 100644 --- a/src/razor/src/formatNewFile/razorFormatNewFileHandler.ts +++ b/src/razor/src/formatNewFile/razorFormatNewFileHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient'; +import { RequestType } from 'vscode-jsonrpc'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServiceClient } from '../razorLanguageServiceClient'; @@ -12,7 +12,7 @@ import { RazorLanguageFeatureBase } from '../razorLanguageFeatureBase'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; import { RazorLogger } from '../razorLogger'; import { SerializableFormatNewFileParams } from './serializableFormatNewFileParams'; -import { roslynFormatNewFileCommand } from '../../../lsptoolshost/razorCommands'; +import { roslynFormatNewFileCommand } from '../../../lsptoolshost/razor/razorCommands'; export class RazorFormatNewFileHandler extends RazorLanguageFeatureBase { private static readonly razorFormatNewFileCommand = 'razor/formatNewFile'; diff --git a/src/razor/src/formatting/formattingHandler.ts b/src/razor/src/formatting/formattingHandler.ts index 7d2fea028a..8647b50ce4 100644 --- a/src/razor/src/formatting/formattingHandler.ts +++ b/src/razor/src/formatting/formattingHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient'; +import { RequestType } from 'vscode-jsonrpc'; import { IRazorDocument } from '../document/IRazorDocument'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; diff --git a/src/razor/src/inlayHint/inlayHintHandler.ts b/src/razor/src/inlayHint/inlayHintHandler.ts index 622f5fe311..f40acc8448 100644 --- a/src/razor/src/inlayHint/inlayHintHandler.ts +++ b/src/razor/src/inlayHint/inlayHintHandler.ts @@ -4,13 +4,13 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { InlayHint, InlayHintParams, RequestType, TextDocumentIdentifier } from 'vscode-languageclient'; +import { InlayHint, InlayHintParams, RequestType, TextDocumentIdentifier } from 'vscode-languageserver-protocol'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; import { SerializableInlayHintParams } from './serializableInlayHintParams'; -import { provideInlayHintsCommand } from '../../../lsptoolshost/razorCommands'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { provideInlayHintsCommand } from '../../../lsptoolshost/razor/razorCommands'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; export class InlayHintHandler { diff --git a/src/razor/src/inlayHint/inlayHintResolveHandler.ts b/src/razor/src/inlayHint/inlayHintResolveHandler.ts index d0d3b0f6f1..2bba65b8c7 100644 --- a/src/razor/src/inlayHint/inlayHintResolveHandler.ts +++ b/src/razor/src/inlayHint/inlayHintResolveHandler.ts @@ -4,12 +4,12 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { InlayHint, RequestType } from 'vscode-languageclient'; +import { InlayHint, RequestType } from 'vscode-languageserver-protocol'; import { RazorDocumentManager } from '../document/razorDocumentManager'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorLogger } from '../razorLogger'; import { SerializableInlayHintResolveParams } from './serializableInlayHintResolveParams'; -import { resolveInlayHintCommand } from '../../../lsptoolshost/razorCommands'; +import { resolveInlayHintCommand } from '../../../lsptoolshost/razor/razorCommands'; export class InlayHintResolveHandler { private static readonly resolveInlayHint = 'razor/inlayHintResolve'; diff --git a/src/razor/src/razorLanguageClient.ts b/src/razor/src/razorLanguageClient.ts index 135f2e4924..73573aaa68 100644 --- a/src/razor/src/razorLanguageClient.ts +++ b/src/razor/src/razorLanguageClient.ts @@ -3,13 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { - CancellationToken, - LanguageClient, - LanguageClientOptions, - MessageSignature, - ServerOptions, -} from 'vscode-languageclient/node'; +import { CancellationToken, LanguageClientOptions, MessageSignature } from 'vscode-languageclient'; +import { LanguageClient, ServerOptions } from 'vscode-languageclient/node'; import { RazorLanguageServerOptions } from './razorLanguageServerOptions'; export class RazorLanguageClient extends LanguageClient { diff --git a/src/razor/src/razorLanguageFeatureBase.ts b/src/razor/src/razorLanguageFeatureBase.ts index 60ac7372c4..48e4ae3f68 100644 --- a/src/razor/src/razorLanguageFeatureBase.ts +++ b/src/razor/src/razorLanguageFeatureBase.ts @@ -14,7 +14,7 @@ import { getUriPath } from './uriPaths'; export class RazorLanguageFeatureBase { constructor( - private readonly documentSynchronizer: RazorDocumentSynchronizer, + protected readonly documentSynchronizer: RazorDocumentSynchronizer, protected readonly documentManager: RazorDocumentManager, protected readonly serviceClient: RazorLanguageServiceClient, protected readonly logger: RazorLogger diff --git a/src/razor/src/razorLanguageServerClient.ts b/src/razor/src/razorLanguageServerClient.ts index 67386e92b3..0bdc417b25 100644 --- a/src/razor/src/razorLanguageServerClient.ts +++ b/src/razor/src/razorLanguageServerClient.ts @@ -6,8 +6,9 @@ import * as cp from 'child_process'; import { EventEmitter } from 'events'; import * as vscode from 'vscode'; -import { RequestHandler, RequestType } from 'vscode-jsonrpc'; -import { GenericNotificationHandler, InitializeResult, LanguageClientOptions, State } from 'vscode-languageclient'; +import { GenericNotificationHandler, RequestHandler, RequestType } from 'vscode-jsonrpc'; +import { InitializeResult } from 'vscode-languageserver-protocol'; +import { LanguageClientOptions, State } from 'vscode-languageclient'; import { ServerOptions } from 'vscode-languageclient/node'; import { RazorLanguage } from './razorLanguage'; import { RazorLanguageServerOptions } from './razorLanguageServerOptions'; @@ -16,6 +17,7 @@ import { RazorLogger } from './razorLogger'; import { TelemetryReporter as RazorTelemetryReporter } from './telemetryReporter'; import { showErrorMessage } from '../../shared/observers/utils/showMessage'; import { RazorLanguageClient } from './razorLanguageClient'; +import { provideDiagnostics, provideWorkspaceDiagnostics } from '../../lsptoolshost/diagnostics/diagnosticMiddleware'; const events = { ServerStop: 'ServerStop', @@ -36,8 +38,6 @@ export class RazorLanguageServerClient implements vscode.Disposable { private readonly vscodeType: typeof vscode, private readonly languageServerDir: string, private readonly razorTelemetryReporter: RazorTelemetryReporter, - //@ts-expect-error unused - private readonly isCSharpDevKitActivated: boolean, private readonly env: NodeJS.ProcessEnv, private readonly dotnetExecutablePath: string, private readonly logger: RazorLogger @@ -234,6 +234,10 @@ export class RazorLanguageServerClient implements vscode.Disposable { this.clientOptions = { outputChannel: options.outputChannel, documentSelector: [{ language: RazorLanguage.id, pattern: RazorLanguage.globbingPattern }], + middleware: { + provideDiagnostics, + provideWorkspaceDiagnostics, + }, }; const args: string[] = []; @@ -260,10 +264,8 @@ export class RazorLanguageServerClient implements vscode.Disposable { args.push('--SingleServerCompletionSupport'); args.push('true'); - if (options.forceRuntimeCodeGeneration) { - args.push('--ForceRuntimeCodeGeneration'); - args.push('true'); - } + args.push('--ForceRuntimeCodeGeneration'); + args.push(options.forceRuntimeCodeGeneration ? 'true' : 'false'); if (options.useNewFormattingEngine) { args.push('--UseNewFormattingEngine'); diff --git a/src/razor/src/semantic/semanticTokensRangeHandler.ts b/src/razor/src/semantic/semanticTokensRangeHandler.ts index 63fe247397..194eca07b2 100644 --- a/src/razor/src/semantic/semanticTokensRangeHandler.ts +++ b/src/razor/src/semantic/semanticTokensRangeHandler.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType } from 'vscode-languageclient'; +import { RequestType } from 'vscode-jsonrpc'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { ProvideSemanticTokensResponse } from './provideSemanticTokensResponse'; import { SerializableSemanticTokensParams } from './serializableSemanticTokensParams'; diff --git a/src/razor/src/simplify/razorSimplifyMethodHandler.ts b/src/razor/src/simplify/razorSimplifyMethodHandler.ts index 2c340e85c0..77bbe9ad2e 100644 --- a/src/razor/src/simplify/razorSimplifyMethodHandler.ts +++ b/src/razor/src/simplify/razorSimplifyMethodHandler.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { RequestType, TextDocumentIdentifier } from 'vscode-languageclient'; +import { RequestType, TextDocumentIdentifier } from 'vscode-languageserver-protocol'; import { RazorLanguageServerClient } from '../razorLanguageServerClient'; import { RazorDocumentManager } from '../document/razorDocumentManager'; -import { UriConverter } from '../../../lsptoolshost/uriConverter'; +import { UriConverter } from '../../../lsptoolshost/utils/uriConverter'; import { RazorLanguageServiceClient } from '../razorLanguageServiceClient'; import { RazorLanguageFeatureBase } from '../razorLanguageFeatureBase'; import { RazorDocumentSynchronizer } from '../document/razorDocumentSynchronizer'; @@ -15,7 +15,7 @@ import { RazorLogger } from '../razorLogger'; import { SerializableDelegatedSimplifyMethodParams } from './serializableDelegatedSimplifyMethodParams'; import SerializableSimplifyMethodParams from './serializableSimplifyMethodParams'; import { TextEdit } from 'vscode-html-languageservice'; -import { roslynSimplifyMethodCommand } from '../../../lsptoolshost/razorCommands'; +import { roslynSimplifyMethodCommand } from '../../../lsptoolshost/razor/razorCommands'; export class RazorSimplifyMethodHandler extends RazorLanguageFeatureBase { private static readonly razorSimplifyMethodCommand = 'razor/simplifyMethod'; diff --git a/src/shared/dotnetConfigurationProvider.ts b/src/shared/dotnetConfigurationProvider.ts index d07e5449a2..cebce60a0b 100644 --- a/src/shared/dotnetConfigurationProvider.ts +++ b/src/shared/dotnetConfigurationProvider.ts @@ -7,13 +7,13 @@ import * as fs from 'fs-extra'; import * as vscode from 'vscode'; import { IWorkspaceDebugInformationProvider, ProjectDebugInformation } from './IWorkspaceDebugInformationProvider'; import { AssetGenerator, AssetOperations, addTasksJsonIfNecessary, getBuildOperations } from './assets'; -import { getServiceBroker } from '../lsptoolshost/services/brokeredServicesHosting'; -import Descriptors from '../lsptoolshost/services/descriptors'; +import { getServiceBroker } from '../lsptoolshost/serviceBroker/brokeredServicesHosting'; +import Descriptors from '../lsptoolshost/solutionSnapshot/descriptors'; import { DotnetDebugConfigurationServiceErrorKind, IDotnetDebugConfigurationService, IDotnetDebugConfigurationServiceResult, -} from '../lsptoolshost/services/IDotnetDebugConfigurationService'; +} from '../lsptoolshost/debugger/IDotnetDebugConfigurationService'; import { DotnetWorkspaceConfigurationProvider } from './workspaceConfigurationProvider'; // User errors that can be shown to the user. diff --git a/src/shared/options.ts b/src/shared/options.ts index e114e889c5..7d3526acb2 100644 --- a/src/shared/options.ts +++ b/src/shared/options.ts @@ -81,6 +81,7 @@ export interface LanguageServerOptions { readonly suppressLspErrorToasts: boolean; readonly suppressMiscellaneousFilesToasts: boolean; readonly useServerGC: boolean; + readonly reportInformationAsHint: boolean; } export interface RazorOptions { @@ -414,6 +415,9 @@ class LanguageServerOptionsImpl implements LanguageServerOptions { public get useServerGC() { return readOption('dotnet.server.useServerGC', true); } + public get reportInformationAsHint() { + return readOption('dotnet.diagnostics.reportInformationAsHint', true); + } } class RazorOptionsImpl implements RazorOptions { @@ -511,4 +515,5 @@ export const LanguageServerOptionsThatTriggerReload: ReadonlyArray 'content', vsixOutputPath: razorDevKitDirectory, }, + razorExtension: { + getPackageName: (_platformInfo) => 'Microsoft.VisualStudioCode.RazorExtension', + packageJsonName: 'razor', + getPackageContentPath: (_platformInfo) => 'content', + vsixOutputPath: razorExtensionDirectory, + }, }; const vsixTasks: string[] = []; @@ -190,6 +197,9 @@ gulp.task( // Also pull in the Razor DevKit dependencies nuget package. await acquireNugetPackage(allNugetPackages.razorDevKit, undefined, getPackageJSON(), true); + + // Pull in the .razorExtension code that gets loaded in the roslyn language server + await acquireNugetPackage(allNugetPackages.razorExtension, undefined, getPackageJSON(), true); }, 'installDependencies') ); diff --git a/tasks/profilingTasks.ts b/tasks/profilingTasks.ts new file mode 100644 index 0000000000..ea6fc91334 --- /dev/null +++ b/tasks/profilingTasks.ts @@ -0,0 +1,112 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import fs from 'fs'; +import * as gulp from 'gulp'; +import * as path from 'path'; +import { basicSlnTestProject, runIntegrationTest } from './testHelpers'; +import { outPath } from './projectPaths'; +import { execSync } from 'child_process'; + +createProfilingTasks(); + +function createProfilingTasks() { + const profilingOutputFolder = path.join(outPath, 'profiling'); + gulp.task(`profiling:csharp:${basicSlnTestProject}`, async () => { + // Ensure the profiling output folder exists, otherwise the outputs will not get written. + fs.mkdirSync(path.join(outPath, 'profiling'), { recursive: true }); + + await runIntegrationTest( + basicSlnTestProject, + path.join('lsptoolshost', 'integrationTests'), + `[C#][${basicSlnTestProject}]`, + undefined, + undefined, + { + ROSLYN_DOTNET_EventPipeOutputPath: path.join(profilingOutputFolder, 'csharp-trace.{pid}.nettrace'), + } + ); + + const files = fs.readdirSync(profilingOutputFolder); + const nettraceFiles = files.filter((f) => f.endsWith('.nettrace')); + if (nettraceFiles.length === 0) { + throw new Error('No .nettrace files found in the profiling output folder.'); + } + }); + + gulp.task('mergeTraces', async () => { + await mergeTraces(profilingOutputFolder); + }); + + gulp.task('profiling', gulp.series(`profiling:csharp:${basicSlnTestProject}`, 'mergeTraces')); +} + +async function mergeTraces(profilingOutputFolder: string) { + const files = fs.readdirSync(profilingOutputFolder); + const nettraceFiles = files.filter((f) => f.endsWith('.nettrace')); + if (nettraceFiles.length === 0) { + throw new Error('No .nettrace files found in the profiling output folder.'); + } + + // Function to spawn a tool + function spawnTool(command: string, args: string[], warnOnError = false) { + try { + console.log(`##[command] ${command} ${args.join(' ')}`); + execSync(`${command} ${args.join(' ')}`, { stdio: 'inherit' }); + } catch (error) { + if (warnOnError) { + console.warn(`Failed: ${error}`); + } else { + throw error; + } + } + } + + // Ensure the dotnet-pgo tool is installed. + // Additional versions of this can be found at https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet8-transport/NuGet/dotnet-pgo/ + spawnTool('dotnet', [ + 'tool', + 'update', + '-g', + 'dotnet-pgo', + '--version', + '8.0.0-rc.2.23479.6', + '--add-source', + 'https://pkgs.dev.azure.com/azure-public/vside/_packaging/msft_consumption/nuget/v3/index.json', + '--ignore-failed-sources', + ]); + + console.log('##[group] Converting .nettrace to .mibc'); + nettraceFiles.forEach((file) => { + spawnTool( + 'dotnet-pgo', + [ + 'create-mibc', + '-t', + path.join(profilingOutputFolder, file), + '-o', + path.join(profilingOutputFolder, `${path.basename(file, '.nettrace')}.mibc`), + ], + true + ); + }); + console.log('##[endgroup]'); + + const mibcFiles = fs.readdirSync(profilingOutputFolder).filter((f) => f.endsWith('.mibc')); + if (mibcFiles.length === 0) { + throw new Error('No .mibc files were produced.'); + } + + const mergedTraceLocation = path.join(profilingOutputFolder, 'merged'); + fs.mkdirSync(mergedTraceLocation, { recursive: true }); + + const inputArgs = ['merge', '--compressed']; + mibcFiles.forEach((file) => { + inputArgs.push('-i', path.join(profilingOutputFolder, file)); + }); + inputArgs.push('-o', path.join(mergedTraceLocation, 'merged.mibc')); + + spawnTool('dotnet-pgo', inputArgs); +} diff --git a/tasks/projectPaths.ts b/tasks/projectPaths.ts index 3f74d1f76e..3acaf2702d 100644 --- a/tasks/projectPaths.ts +++ b/tasks/projectPaths.ts @@ -5,7 +5,7 @@ import * as path from 'path'; import { commandLineOptions } from './commandLineArguments'; -import { componentInfo } from '../src/lsptoolshost/builtInComponents'; +import { componentInfo } from '../src/lsptoolshost/extensions/builtInComponents'; export const rootPath = path.resolve(__dirname, '..'); @@ -20,6 +20,7 @@ export const devKitDependenciesDirectory = path.join(rootPath, componentInfo.ros export const xamlToolsDirectory = path.join(rootPath, componentInfo.xamlTools.defaultFolderName); export const razorLanguageServerDirectory = path.join(rootPath, '.razor'); export const razorDevKitDirectory = path.join(rootPath, componentInfo.razorDevKit.defaultFolderName); +export const razorExtensionDirectory = path.join(rootPath, componentInfo.razorExtension.defaultFolderName); export const codeExtensionPath = commandLineOptions.codeExtensionPath || rootPath; diff --git a/tasks/testHelpers.ts b/tasks/testHelpers.ts new file mode 100644 index 0000000000..3b3ef37dd6 --- /dev/null +++ b/tasks/testHelpers.ts @@ -0,0 +1,139 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import fs from 'fs'; +import * as path from 'path'; +import { rootPath, outPath } from './projectPaths'; +import { prepareVSCodeAndExecuteTests } from '../test/vscodeLauncher'; + +export const basicSlnTestProject = 'slnWithCsproj'; +export const integrationTestProjects = [basicSlnTestProject]; + +export async function runDevKitIntegrationTests( + testAssetName: string, + testFolderName: string, + suiteName: string, + env: NodeJS.ProcessEnv = {} +) { + // Tests using C# Dev Kit tests are a bit different from the rest - we are not able to restart the Dev Kit server and there + // are not easy APIs to use to know if the project is reloading due to workspace changes. + // So we have to isolate the C# Dev Kit tests into smaller test runs (in this case, per file), where each run + // launches VSCode and runs the tests in that file. + const testFolder = path.join(rootPath, 'test', testFolderName); + console.log(`Searching for test files in ${testFolder}`); + const allFiles = fs + .readdirSync(testFolder, { + recursive: true, + }) + .filter((f) => typeof f === 'string'); + const devKitTestFiles = allFiles.filter((f) => f.endsWith('.test.ts')).map((f) => path.join(testFolder, f)); + if (devKitTestFiles.length === 0) { + throw new Error(`No test files found in ${testFolder}`); + } + + let failed: boolean = false; + for (const testFile of devKitTestFiles) { + try { + await runIntegrationTest( + testAssetName, + testFolderName, + suiteName, + `devkit_${testAssetName}.code-workspace`, + testFile, + env + ); + } catch (err) { + // We have to catch the error to continue running tests from the rest of the files. + console.error(`##[error] Tests in ${path.basename(testFile)} failed`, err); + failed = true; + } + } + + if (failed) { + // Ensure the task fails if any tests failed. + throw new Error(`One or more tests failed`); + } +} + +export async function runIntegrationTest( + testAssetName: string, + testFolderName: string, + suiteName: string, + vscodeWorkspaceFileName = `${testAssetName}.code-workspace`, + testFile: string | undefined = undefined, + env: NodeJS.ProcessEnv = {} +): Promise { + const testFolder = path.join('test', testFolderName); + return await runJestIntegrationTest(testAssetName, testFolder, vscodeWorkspaceFileName, suiteName, env, testFile); +} + +/** + * Runs jest based integration tests. + * @param testAssetName the name of the test asset + * @param testFolderName the relative path (from workspace root) + * @param workspaceFileName the name of the vscode workspace file to use. + * @param suiteName a unique name for the test suite being run. + * @param env any environment variables needed. + * @param testFile the full path to a specific test file to run. + */ +export async function runJestIntegrationTest( + testAssetName: string, + testFolderName: string, + workspaceFileName: string, + suiteName: string, + env: NodeJS.ProcessEnv = {}, + testFile: string | undefined = undefined +) { + const logName = testFile ? `${suiteName}_${path.basename(testFile)}` : suiteName; + + // Set VSCode to produce logs in a unique directory for this test run. + const userDataDir = path.join(outPath, 'userData', logName); + + // Test assets are always in a testAssets folder inside the integration test folder. + const assetsPath = path.join(rootPath, testFolderName, 'testAssets'); + if (!fs.existsSync(assetsPath)) { + throw new Error(`Could not find test assets at ${assetsPath}`); + } + const workspacePath = path.join(assetsPath, testAssetName, '.vscode', workspaceFileName); + if (!fs.existsSync(workspacePath)) { + throw new Error(`Could not find vscode workspace to open at ${workspacePath}`); + } + + // The runner (that loads in the vscode process to run tests) is in the test folder in the *output* directory. + const vscodeRunnerPath = path.join(outPath, testFolderName, 'index.js'); + if (!fs.existsSync(vscodeRunnerPath)) { + throw new Error(`Could not find vscode runner in out/ at ${vscodeRunnerPath}`); + } + + // Configure the file and suite name in CI to avoid having multiple test runs stomp on each other. + env.JEST_JUNIT_OUTPUT_NAME = getJUnitFileName(logName); + env.JEST_SUITE_NAME = suiteName; + + if (testFile) { + console.log(`Setting test file filter to: ${testFile}`); + process.env.TEST_FILE_FILTER = testFile; + } + + try { + const result = await prepareVSCodeAndExecuteTests(rootPath, vscodeRunnerPath, workspacePath, userDataDir, env); + if (result > 0) { + // The VSCode API will generally throw if jest fails the test, but we can get errors before the test runs (e.g. launching VSCode). + // So here we make sure to error if we don't get a clean exit code. + throw new Error(`Exit code: ${result}`); + } + + return result; + } finally { + // Copy the logs VSCode produced to a directory that CI can find. + const vscodeLogs = path.join(userDataDir, 'logs'); + const logOutputPath = path.join(outPath, 'logs', logName); + console.log(`Copying logs from ${vscodeLogs} to ${logOutputPath}`); + fs.cpSync(vscodeLogs, logOutputPath, { recursive: true, force: true }); + } +} + +export function getJUnitFileName(logName: string) { + return `${logName.replaceAll(' ', '_')}_junit.xml`; +} diff --git a/tasks/testTasks.ts b/tasks/testTasks.ts index e9d5063675..98c3e256cb 100644 --- a/tasks/testTasks.ts +++ b/tasks/testTasks.ts @@ -3,17 +3,24 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import fs from 'fs'; import * as gulp from 'gulp'; import * as path from 'path'; -import { codeExtensionPath, rootPath, outPath } from './projectPaths'; +import { codeExtensionPath, rootPath } from './projectPaths'; import * as jest from 'jest'; import { Config } from '@jest/types'; import { jestOmniSharpUnitTestProjectName } from '../test/omnisharp/omnisharpUnitTests/jest.config'; import { jestUnitTestProjectName } from '../test/lsptoolshost/unitTests/jest.config'; import { razorTestProjectName } from '../test/razor/razorTests/jest.config'; import { jestArtifactTestsProjectName } from '../test/lsptoolshost/artifactTests/jest.config'; -import { prepareVSCodeAndExecuteTests } from '../test/vscodeLauncher'; +import { + getJUnitFileName, + integrationTestProjects, + runDevKitIntegrationTests, + runIntegrationTest, + runJestIntegrationTest, +} from './testHelpers'; + +const razorIntegrationTestProjects = ['RazorApp']; createUnitTestSubTasks(); createIntegrationTestSubTasks(); @@ -26,13 +33,6 @@ gulp.task('test:artifacts', async () => { // Overall test command that runs everything except O# tests. gulp.task('test', gulp.series('test:unit', 'test:integration')); -// Bit of a special task for CI. We want to generally combine test runs to save preparation time. -// However the Dev Kit integration tests are much slower than everything else (VSCode restarts on each test file). -// So we can have one run for all of the general C# extension tests, and then another for Dev Kit integration tests. -gulp.task('test:withoutDevKit', gulp.series('test:unit', 'test:integration:csharp', 'test:razorintegration')); - -gulp.task('test:razor', gulp.series('test:unit:razor', 'test:razorintegration')); - // OmniSharp tests are run separately in CI, so we have separate tasks for these. // TODO: Enable lsp integration tests once tests for unimplemented features are disabled. gulp.task('omnisharptest', gulp.series('omnisharptest:unit', 'omnisharptest:integration:stdio')); @@ -50,7 +50,6 @@ function createUnitTestSubTasks() { } function createIntegrationTestSubTasks() { - const integrationTestProjects = ['slnWithCsproj']; for (const projectName of integrationTestProjects) { gulp.task(`test:integration:csharp:${projectName}`, async () => runIntegrationTest(projectName, path.join('lsptoolshost', 'integrationTests'), `[C#][${projectName}]`) @@ -75,9 +74,8 @@ function createIntegrationTestSubTasks() { gulp.series(integrationTestProjects.map((projectName) => `test:integration:devkit:${projectName}`)) ); - const razorIntegrationTestProjects = ['RazorApp']; for (const projectName of razorIntegrationTestProjects) { - gulp.task(`test:razorintegration:${projectName}`, async () => + gulp.task(`test:integration:razor:${projectName}`, async () => runIntegrationTest( projectName, path.join('razor', 'razorIntegrationTests'), @@ -87,13 +85,13 @@ function createIntegrationTestSubTasks() { } gulp.task( - 'test:razorintegration', - gulp.series(razorIntegrationTestProjects.map((projectName) => `test:razorintegration:${projectName}`)) + 'test:integration:razor', + gulp.series(razorIntegrationTestProjects.map((projectName) => `test:integration:razor:${projectName}`)) ); gulp.task( 'test:integration', - gulp.series('test:integration:csharp', 'test:integration:devkit', 'test:razorintegration') + gulp.series('test:integration:csharp', 'test:integration:devkit', 'test:integration:razor') ); } @@ -159,125 +157,6 @@ async function runOmnisharpJestIntegrationTest(testAssetName: string, engine: 's await runJestIntegrationTest(testAssetName, testFolder, workspaceFile, suiteName, env); } -async function runDevKitIntegrationTests(testAssetName: string, testFolderName: string, suiteName: string) { - // Tests using C# Dev Kit tests are a bit different from the rest - we are not able to restart the Dev Kit server and there - // are not easy APIs to use to know if the project is reloading due to workspace changes. - // So we have to isolate the C# Dev Kit tests into smaller test runs (in this case, per file), where each run - // launches VSCode and runs the tests in that file. - const testFolder = path.join(rootPath, 'test', testFolderName); - console.log(`Searching for test files in ${testFolder}`); - const allFiles = fs - .readdirSync(testFolder, { - recursive: true, - }) - .filter((f) => typeof f === 'string'); - const devKitTestFiles = allFiles.filter((f) => f.endsWith('.test.ts')).map((f) => path.join(testFolder, f)); - if (devKitTestFiles.length === 0) { - throw new Error(`No test files found in ${testFolder}`); - } - - let failed: boolean = false; - for (const testFile of devKitTestFiles) { - try { - await runIntegrationTest( - testAssetName, - testFolderName, - suiteName, - `devkit_${testAssetName}.code-workspace`, - testFile - ); - } catch (err) { - // We have to catch the error to continue running tests from the rest of the files. - console.error(`##[error] Tests in ${path.basename(testFile)} failed`, err); - failed = true; - } - } - - if (failed) { - // Ensure the task fails if any tests failed. - throw new Error(`One or more tests failed`); - } -} - -async function runIntegrationTest( - testAssetName: string, - testFolderName: string, - suiteName: string, - vscodeWorkspaceFileName = `${testAssetName}.code-workspace`, - testFile: string | undefined = undefined -) { - const testFolder = path.join('test', testFolderName); - const env: NodeJS.ProcessEnv = {}; - return await runJestIntegrationTest(testAssetName, testFolder, vscodeWorkspaceFileName, suiteName, env, testFile); -} - -/** - * Runs jest based integration tests. - * @param testAssetName the name of the test asset - * @param testFolderName the relative path (from workspace root) - * @param workspaceFileName the name of the vscode workspace file to use. - * @param suiteName a unique name for the test suite being run. - * @param env any environment variables needed. - * @param testFile the full path to a specific test file to run. - */ -async function runJestIntegrationTest( - testAssetName: string, - testFolderName: string, - workspaceFileName: string, - suiteName: string, - env: NodeJS.ProcessEnv = {}, - testFile: string | undefined = undefined -) { - const logName = testFile ? `${suiteName}_${path.basename(testFile)}` : suiteName; - - // Set VSCode to produce logs in a unique directory for this test run. - const userDataDir = path.join(outPath, 'userData', logName); - - // Test assets are always in a testAssets folder inside the integration test folder. - const assetsPath = path.join(rootPath, testFolderName, 'testAssets'); - if (!fs.existsSync(assetsPath)) { - throw new Error(`Could not find test assets at ${assetsPath}`); - } - const workspacePath = path.join(assetsPath, testAssetName, '.vscode', workspaceFileName); - if (!fs.existsSync(workspacePath)) { - throw new Error(`Could not find vscode workspace to open at ${workspacePath}`); - } - - // The runner (that loads in the vscode process to run tests) is in the test folder in the *output* directory. - const vscodeRunnerPath = path.join(outPath, testFolderName, 'index.js'); - if (!fs.existsSync(vscodeRunnerPath)) { - throw new Error(`Could not find vscode runner in out/ at ${vscodeRunnerPath}`); - } - - // Configure the file and suite name in CI to avoid having multiple test runs stomp on each other. - env.JEST_JUNIT_OUTPUT_NAME = getJUnitFileName(logName); - env.JEST_SUITE_NAME = suiteName; - - if (testFile) { - console.log(`Setting test file filter to: ${testFile}`); - process.env.TEST_FILE_FILTER = testFile; - } - - try { - const result = await prepareVSCodeAndExecuteTests(rootPath, vscodeRunnerPath, workspacePath, userDataDir, env); - if (result > 0) { - // The VSCode API will generally throw if jest fails the test, but we can get errors before the test runs (e.g. launching VSCode). - // So here we make sure to error if we don't get a clean exit code. - throw new Error(`Exit code: ${result}`); - } - - return result; - } catch (err) { - // If we hit an error, copy the logs VSCode produced to a directory that CI can find. - const vscodeLogs = path.join(userDataDir, 'logs'); - const logOutputPath = path.join(outPath, 'logs', logName); - console.log(`Copying logs from ${vscodeLogs} to ${logOutputPath}`); - fs.cpSync(vscodeLogs, logOutputPath, { recursive: true, force: true }); - - throw err; - } -} - async function runJestTest(project: string) { process.env.JEST_JUNIT_OUTPUT_NAME = getJUnitFileName(project); process.env.JEST_SUITE_NAME = project; @@ -295,7 +174,3 @@ async function runJestTest(project: string) { throw new Error('Tests failed.'); } } - -function getJUnitFileName(logName: string) { - return `${logName.replaceAll(' ', '_')}_junit.xml`; -} diff --git a/test/lsptoolshost/integrationTests/buildDiagnostics.integration.test.ts b/test/lsptoolshost/integrationTests/buildDiagnostics.integration.test.ts index d05844cbac..7d49a91670 100644 --- a/test/lsptoolshost/integrationTests/buildDiagnostics.integration.test.ts +++ b/test/lsptoolshost/integrationTests/buildDiagnostics.integration.test.ts @@ -6,7 +6,10 @@ import * as vscode from 'vscode'; import { describe, test, expect, beforeAll, afterAll, beforeEach, afterEach } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; -import { AnalysisSetting, BuildDiagnosticsService } from '../../../src/lsptoolshost/buildDiagnosticsService'; +import { + AnalysisSetting, + BuildDiagnosticsService, +} from '../../../src/lsptoolshost/diagnostics/buildDiagnosticsService'; import * as integrationHelpers from './integrationHelpers'; import path from 'path'; describe(`Build and live diagnostics dedupe`, () => { diff --git a/test/lsptoolshost/integrationTests/codeactions.integration.test.ts b/test/lsptoolshost/integrationTests/codeactions.integration.test.ts index f0fc3c611d..e4b0c90bb5 100644 --- a/test/lsptoolshost/integrationTests/codeactions.integration.test.ts +++ b/test/lsptoolshost/integrationTests/codeactions.integration.test.ts @@ -79,10 +79,12 @@ describe(`Code Actions Tests`, () => { test('Add accessibility modifiers applied', async () => { const actions = await getCodeActions(new vscode.Range(6, 16, 6, 19), 10); - expect(actions[0].title).toBe('Add accessibility modifiers'); - expect(actions[0].edit).toBeDefined(); + const action = actions.find((a) => a.title === 'Add accessibility modifiers'); - await vscode.workspace.applyEdit(actions[0].edit!); + expect(action).toBeDefined(); + expect(action!.edit).toBeDefined(); + + await vscode.workspace.applyEdit(action!.edit!); await expectText(vscode.window.activeTextEditor!.document, [ 'using System;', diff --git a/test/lsptoolshost/integrationTests/diagnosticsHelpers.ts b/test/lsptoolshost/integrationTests/diagnosticsHelpers.ts index 953444b6dd..fbf6f2fae7 100644 --- a/test/lsptoolshost/integrationTests/diagnosticsHelpers.ts +++ b/test/lsptoolshost/integrationTests/diagnosticsHelpers.ts @@ -43,10 +43,15 @@ export async function waitForExpectedDiagnostics( ); } -export async function setBackgroundAnalysisScopes(scopes: { compiler: string; analyzer: string }): Promise { +export async function setDiagnosticSettings(options: { + compilerScope: string; + analyzerScope: string; + reportInformationAsHint: boolean; +}): Promise { const dotnetConfig = vscode.workspace.getConfiguration('dotnet'); - await dotnetConfig.update('backgroundAnalysis.compilerDiagnosticsScope', scopes.compiler); - await dotnetConfig.update('backgroundAnalysis.analyzerDiagnosticsScope', scopes.analyzer); + await dotnetConfig.update('backgroundAnalysis.compilerDiagnosticsScope', options.compilerScope); + await dotnetConfig.update('backgroundAnalysis.analyzerDiagnosticsScope', options.analyzerScope); + await dotnetConfig.update('diagnostics.reportInformationAsHint', options.reportInformationAsHint); // Restart the language server to ensure diagnostics are reported with the correct configuration. // While in normal user scenarios it isn't necessary to restart the server to pickup diagnostic config changes, diff --git a/test/lsptoolshost/integrationTests/documentDiagnostics.integration.test.ts b/test/lsptoolshost/integrationTests/documentDiagnostics.integration.test.ts index dcfaeb39e2..149d6e6b5b 100644 --- a/test/lsptoolshost/integrationTests/documentDiagnostics.integration.test.ts +++ b/test/lsptoolshost/integrationTests/documentDiagnostics.integration.test.ts @@ -6,9 +6,9 @@ import * as vscode from 'vscode'; import { describe, test, beforeAll, afterAll, expect, beforeEach, afterEach } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; -import { AnalysisSetting } from '../../../src/lsptoolshost/buildDiagnosticsService'; +import { AnalysisSetting } from '../../../src/lsptoolshost/diagnostics/buildDiagnosticsService'; import path from 'path'; -import { getCode, setBackgroundAnalysisScopes, waitForExpectedDiagnostics } from './diagnosticsHelpers'; +import { getCode, setDiagnosticSettings, waitForExpectedDiagnostics } from './diagnosticsHelpers'; import { activateCSharpExtension, closeAllEditorsAsync, @@ -36,10 +36,11 @@ describeIfCSharp(`Document Diagnostics Tests`, () => { await closeAllEditorsAsync(); }); - test('Compiler and analyzer diagnostics reported for open file when set to OpenFiles', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.OpenFiles, - analyzer: AnalysisSetting.OpenFiles, + test('Compiler and analyzer diagnostics reported for open file when set to OpenFiles (reportInformationAsHint: true)', async () => { + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.OpenFiles, + analyzerScope: AnalysisSetting.OpenFiles, + reportInformationAsHint: true, }); await waitForExpectedFileDiagnostics((diagnostics) => { @@ -74,10 +75,50 @@ describeIfCSharp(`Document Diagnostics Tests`, () => { }, file); }); + test('Compiler and analyzer diagnostics reported for open file when set to OpenFiles (reportInformationAsHint: false)', async () => { + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.OpenFiles, + analyzerScope: AnalysisSetting.OpenFiles, + reportInformationAsHint: false, + }); + + await waitForExpectedFileDiagnostics((diagnostics) => { + expect(diagnostics).toHaveLength(5); + + expect(getCode(diagnostics[0])).toBe('IDE0005'); + expect(diagnostics[0].message).toBe('Using directive is unnecessary.'); + expect(diagnostics[0].range).toEqual(new vscode.Range(0, 0, 0, 16)); + expect(diagnostics[0].severity).toBe(vscode.DiagnosticSeverity.Hint); + + expect(getCode(diagnostics[1])).toBe('IDE0130'); + expect(diagnostics[1].message).toBe('Namespace "Foo" does not match folder structure, expected "app"'); + expect(diagnostics[1].range).toEqual(new vscode.Range(2, 10, 2, 13)); + expect(diagnostics[1].severity).toBe(vscode.DiagnosticSeverity.Information); + + expect(getCode(diagnostics[2])).toBe('CA1822'); + expect(diagnostics[2].message).toBe( + "Member 'FooBarBar' does not access instance data and can be marked as static" + ); + expect(diagnostics[2].range).toEqual(new vscode.Range(6, 20, 6, 29)); + expect(diagnostics[2].severity).toBe(vscode.DiagnosticSeverity.Information); + + expect(getCode(diagnostics[3])).toBe('CS0219'); + expect(diagnostics[3].message).toBe("The variable 'notUsed' is assigned but its value is never used"); + expect(diagnostics[3].range).toEqual(new vscode.Range(8, 16, 8, 23)); + expect(diagnostics[3].severity).toBe(vscode.DiagnosticSeverity.Warning); + + expect(getCode(diagnostics[4])).toBe('IDE0059'); + expect(diagnostics[4].message).toBe("Unnecessary assignment of a value to 'notUsed'"); + expect(diagnostics[4].range).toEqual(new vscode.Range(8, 16, 8, 23)); + expect(diagnostics[4].severity).toBe(vscode.DiagnosticSeverity.Information); + }, file); + }); + test('Compiler diagnostics reported for open file when set to FullSolution', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.FullSolution, - analyzer: AnalysisSetting.OpenFiles, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.FullSolution, + analyzerScope: AnalysisSetting.OpenFiles, + reportInformationAsHint: true, }); await waitForExpectedFileDiagnostics((diagnostics) => { @@ -91,9 +132,10 @@ describeIfCSharp(`Document Diagnostics Tests`, () => { }); test('No compiler diagnostics reported for open file when set to None', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.None, - analyzer: AnalysisSetting.OpenFiles, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.None, + analyzerScope: AnalysisSetting.OpenFiles, + reportInformationAsHint: true, }); await waitForExpectedFileDiagnostics((diagnostics) => { @@ -104,9 +146,10 @@ describeIfCSharp(`Document Diagnostics Tests`, () => { }); test('Analyzer diagnostics reported for open file when set to FullSolution', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.OpenFiles, - analyzer: AnalysisSetting.FullSolution, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.OpenFiles, + analyzerScope: AnalysisSetting.FullSolution, + reportInformationAsHint: true, }); await waitForExpectedFileDiagnostics((diagnostics) => { @@ -137,9 +180,10 @@ describeIfCSharp(`Document Diagnostics Tests`, () => { }); test('No analyzer diagnostics reported for open file when set to None', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.OpenFiles, - analyzer: AnalysisSetting.None, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.OpenFiles, + analyzerScope: AnalysisSetting.None, + reportInformationAsHint: true, }); await waitForExpectedFileDiagnostics((diagnostics) => { diff --git a/test/lsptoolshost/integrationTests/integrationHelpers.ts b/test/lsptoolshost/integrationTests/integrationHelpers.ts index 1b7401f470..e8a9b79bb2 100644 --- a/test/lsptoolshost/integrationTests/integrationHelpers.ts +++ b/test/lsptoolshost/integrationTests/integrationHelpers.ts @@ -8,7 +8,7 @@ import * as path from 'path'; import * as semver from 'semver'; import { CSharpExtensionExports } from '../../../src/csharpExtensionExports'; import { existsSync } from 'fs'; -import { ServerState } from '../../../src/lsptoolshost/serverStateChange'; +import { ServerState } from '../../../src/lsptoolshost/server/languageServerEvents'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; import { EOL, platform } from 'os'; import { describe, expect, test } from '@jest/globals'; diff --git a/test/lsptoolshost/integrationTests/unitTests.integration.test.ts b/test/lsptoolshost/integrationTests/unitTests.integration.test.ts index ce7ccf03b7..8753a65607 100644 --- a/test/lsptoolshost/integrationTests/unitTests.integration.test.ts +++ b/test/lsptoolshost/integrationTests/unitTests.integration.test.ts @@ -14,7 +14,7 @@ import { getCodeLensesAsync, openFileInWorkspaceAsync, } from './integrationHelpers'; -import { TestProgress } from '../../../src/lsptoolshost/roslynProtocol'; +import { TestProgress } from '../../../src/lsptoolshost/server/roslynProtocol'; describeIfCSharp(`Unit Testing Tests`, () => { beforeAll(async () => { diff --git a/test/lsptoolshost/integrationTests/workspaceDiagnostics.integration.test.ts b/test/lsptoolshost/integrationTests/workspaceDiagnostics.integration.test.ts index 234f87a4c4..50388aa0b7 100644 --- a/test/lsptoolshost/integrationTests/workspaceDiagnostics.integration.test.ts +++ b/test/lsptoolshost/integrationTests/workspaceDiagnostics.integration.test.ts @@ -6,8 +6,8 @@ import * as vscode from 'vscode'; import { describe, test, expect, beforeAll, afterAll } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; -import { AnalysisSetting } from '../../../src/lsptoolshost/buildDiagnosticsService'; -import { getCode, setBackgroundAnalysisScopes, waitForExpectedDiagnostics } from './diagnosticsHelpers'; +import { AnalysisSetting } from '../../../src/lsptoolshost/diagnostics/buildDiagnosticsService'; +import { getCode, setDiagnosticSettings, waitForExpectedDiagnostics } from './diagnosticsHelpers'; import { activateCSharpExtension, describeIfCSharp } from './integrationHelpers'; // Restarting the server is required for these tests, but not supported with C# Dev Kit. @@ -20,11 +20,12 @@ describeIfCSharp(`Workspace Diagnostic Tests`, () => { await testAssetWorkspace.cleanupWorkspace(); }); - describe('Full solution diagnostics', () => { - test('Compiler and analyzer diagnostics reported for closed files when set to FullSolution', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.FullSolution, - analyzer: AnalysisSetting.FullSolution, + describe(`Full solution diagnostics`, () => { + test('Compiler and analyzer diagnostics reported for closed files when set to FullSolution (reportInformationAsHint: true)', async () => { + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.FullSolution, + analyzerScope: AnalysisSetting.FullSolution, + reportInformationAsHint: true, }); await waitForExpectedDiagnostics((diagnostics) => { @@ -63,11 +64,55 @@ describeIfCSharp(`Workspace Diagnostic Tests`, () => { expect(diagnosticsInCompletionCs[0].severity).toBe(vscode.DiagnosticSeverity.Hint); }); }); + test('Compiler and analyzer diagnostics reported for closed files when set to FullSolution (reportInformationAsHint: false)', async () => { + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.FullSolution, + analyzerScope: AnalysisSetting.FullSolution, + reportInformationAsHint: false, + }); + + await waitForExpectedDiagnostics((diagnostics) => { + expect(diagnostics.length).toBeGreaterThan(2); + + const diagnosticsInDiagnosticsCs = diagnostics + .filter(([uri, _]) => uri.fsPath.endsWith('diagnostics.cs')) + .flatMap(([_, diagnostics]) => diagnostics); + const diagnosticsInCompletionCs = diagnostics + .filter(([uri, _]) => uri.fsPath.endsWith('completion.cs')) + .flatMap(([_, diagnostics]) => diagnostics); + + expect(diagnosticsInDiagnosticsCs).toHaveLength(5); + expect(diagnosticsInCompletionCs).toHaveLength(5); + + // Compiler diagnostic in diagnostics.cs + expect(getCode(diagnosticsInDiagnosticsCs[3])).toBe('CS0219'); + expect(diagnosticsInDiagnosticsCs[3].message).toBe( + "The variable 'notUsed' is assigned but its value is never used" + ); + expect(diagnosticsInDiagnosticsCs[3].range).toEqual(new vscode.Range(8, 16, 8, 23)); + expect(diagnosticsInDiagnosticsCs[3].severity).toBe(vscode.DiagnosticSeverity.Warning); + + // Analyzer diagnostic in diagnostics.cs + expect(getCode(diagnosticsInDiagnosticsCs[2])).toBe('CA1822'); + expect(diagnosticsInDiagnosticsCs[2].message).toBe( + "Member 'FooBarBar' does not access instance data and can be marked as static" + ); + expect(diagnosticsInDiagnosticsCs[2].range).toEqual(new vscode.Range(6, 20, 6, 29)); + expect(diagnosticsInDiagnosticsCs[2].severity).toBe(vscode.DiagnosticSeverity.Information); + + // Analyzer diagnostic in completion.cs + expect(getCode(diagnosticsInCompletionCs[0])).toBe('IDE0005'); + expect(diagnosticsInCompletionCs[0].message).toBe('Using directive is unnecessary.'); + expect(diagnosticsInCompletionCs[0].range).toEqual(new vscode.Range(0, 0, 0, 13)); + expect(diagnosticsInCompletionCs[0].severity).toBe(vscode.DiagnosticSeverity.Hint); + }); + }); test('No compiler diagnostics reported for closed files when set to OpenFiles', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.OpenFiles, - analyzer: AnalysisSetting.FullSolution, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.OpenFiles, + analyzerScope: AnalysisSetting.FullSolution, + reportInformationAsHint: true, }); await waitForExpectedDiagnostics((diagnostics) => { @@ -83,9 +128,10 @@ describeIfCSharp(`Workspace Diagnostic Tests`, () => { }); test('No compiler diagnostics reported for closed files when set to None', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.None, - analyzer: AnalysisSetting.FullSolution, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.None, + analyzerScope: AnalysisSetting.FullSolution, + reportInformationAsHint: true, }); await waitForExpectedDiagnostics((diagnostics) => { @@ -101,9 +147,10 @@ describeIfCSharp(`Workspace Diagnostic Tests`, () => { }); test('No analyzer diagnostics reported for closed files when set to OpenFiles', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.FullSolution, - analyzer: AnalysisSetting.OpenFiles, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.FullSolution, + analyzerScope: AnalysisSetting.OpenFiles, + reportInformationAsHint: true, }); await waitForExpectedDiagnostics((diagnostics) => { @@ -130,9 +177,10 @@ describeIfCSharp(`Workspace Diagnostic Tests`, () => { }); test('No analyzer diagnostics reported for closed files when set to None', async () => { - await setBackgroundAnalysisScopes({ - compiler: AnalysisSetting.FullSolution, - analyzer: AnalysisSetting.None, + await setDiagnosticSettings({ + compilerScope: AnalysisSetting.FullSolution, + analyzerScope: AnalysisSetting.None, + reportInformationAsHint: true, }); await waitForExpectedDiagnostics((diagnostics) => { diff --git a/test/lsptoolshost/unitTests/configurationMiddleware.test.ts b/test/lsptoolshost/unitTests/configurationMiddleware.test.ts index 46b9f41d95..11b4f764ba 100644 --- a/test/lsptoolshost/unitTests/configurationMiddleware.test.ts +++ b/test/lsptoolshost/unitTests/configurationMiddleware.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { readFileSync } from 'fs'; -import { convertServerOptionNameToClientConfigurationName } from '../../../src/lsptoolshost/optionNameConverter'; +import { convertServerOptionNameToClientConfigurationName } from '../../../src/lsptoolshost/options/optionNameConverter'; import { describe, test, expect } from '@jest/globals'; const editorBehaviorSection = 1; diff --git a/test/lsptoolshost/unitTests/languageServerConfigChangeObserver.test.ts b/test/lsptoolshost/unitTests/languageServerConfigChangeObserver.test.ts index e8bf2928df..cea6af83a6 100644 --- a/test/lsptoolshost/unitTests/languageServerConfigChangeObserver.test.ts +++ b/test/lsptoolshost/unitTests/languageServerConfigChangeObserver.test.ts @@ -5,7 +5,7 @@ import { timeout } from 'rxjs/operators'; import { from as observableFrom, Subject, BehaviorSubject } from 'rxjs'; -import { registerLanguageServerOptionChanges } from '../../../src/lsptoolshost/optionChanges'; +import { registerLanguageServerOptionChanges } from '../../../src/lsptoolshost/options/optionChanges'; import { describe, beforeEach, test, expect } from '@jest/globals'; import * as vscode from 'vscode'; diff --git a/test/razor/razorIntegrationTests/completion.integration.test.ts b/test/razor/razorIntegrationTests/completion.integration.test.ts index 0760f1d609..53d056986c 100644 --- a/test/razor/razorIntegrationTests/completion.integration.test.ts +++ b/test/razor/razorIntegrationTests/completion.integration.test.ts @@ -5,11 +5,11 @@ import * as path from 'path'; import * as vscode from 'vscode'; -import { beforeAll, afterAll, test, expect, beforeEach } from '@jest/globals'; +import { beforeAll, afterAll, test, expect, beforeEach, describe } from '@jest/globals'; import testAssetWorkspace from './testAssets/testAssetWorkspace'; import * as integrationHelpers from '../../lsptoolshost/integrationTests/integrationHelpers'; -integrationHelpers.describeIfWindows(`Razor Completion ${testAssetWorkspace.description}`, function () { +describe.skip(`Razor Completion ${testAssetWorkspace.description}`, function () { beforeAll(async function () { if (!integrationHelpers.isRazorWorkspace(vscode.workspace)) { return; diff --git a/test/razor/razorTests/Microsoft.AspNetCore.Razor.VSCode.Grammar.Test/README.md b/test/razor/razorTests/Microsoft.AspNetCore.Razor.VSCode.Grammar.Test/README.md index 056f0779b6..29a18c3969 100644 --- a/test/razor/razorTests/Microsoft.AspNetCore.Razor.VSCode.Grammar.Test/README.md +++ b/test/razor/razorTests/Microsoft.AspNetCore.Razor.VSCode.Grammar.Test/README.md @@ -13,7 +13,7 @@ Run the following from the root of the repo: ```bash -npm run test:razor +npm run test:unit:razor ``` ### Directory Structure @@ -29,7 +29,7 @@ npm run test:razor 1. Add new test suite file in `./tests` (you can copy an existing test suite as a template). 2. Update `./tests/grammarTests.test.ts` with the new test suite. -3. In `testTasks.ts`, modify `runJestTest`'s call to `jest.runCLI` function to include `updateSnapshot: true`. Afterwards, run `npm run test:razor`. +3. In `testTasks.ts`, modify `runJestTest`'s call to `jest.runCLI` function to include `updateSnapshot: true`. Afterwards, run `npm run test:unit:razor`. ### Adding / Updating a Test in an Existing Test Suite diff --git a/test/vscodeLauncher.ts b/test/vscodeLauncher.ts index d941971495..b93e178ec2 100644 --- a/test/vscodeLauncher.ts +++ b/test/vscodeLauncher.ts @@ -32,7 +32,7 @@ export async function prepareVSCodeAndExecuteTests( const extensionsToInstall = [ 'ms-dotnettools.vscode-dotnet-runtime', 'ms-dotnettools.csharp', - 'ms-dotnettools.csdevkit', + 'ms-dotnettools.csdevkit@1.16.6', ]; await installExtensions(extensionsToInstall, cli, args); diff --git a/tsconfig.json b/tsconfig.json index ceea0ebff7..7f3eaaf4bc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,25 @@ "lib": [ "ES2021" ], + "paths": { + "vscode-languageclient": ["./node_modules/vscode-languageclient/lib/common/api"], + "vscode-languageclient/callHierarchy": ["./node_modules/vscode-languageclient/lib/common/callHierarchy"], + "vscode-languageclient/typeHierarchy": ["./node_modules/vscode-languageclient/lib/common/typeHierarchy"], + "vscode-languageclient/notebook": ["./node_modules/vscode-languageclient/lib/common/notebook"], + "vscode-languageclient/diagnostic": ["./node_modules/vscode-languageclient/lib/common/diagnostic"], + "vscode-languageclient/inlineValue": ["./node_modules/vscode-languageclient/lib/common/inlineValue"], + "vscode-languageclient/documentLink": ["./node_modules/vscode-languageclient/lib/common/documentLink"], + "vscode-languageclient/declaration": ["./node_modules/vscode-languageclient/lib/common/declaration"], + "vscode-languageclient/workspaceFolder": ["./node_modules/vscode-languageclient/lib/common/workspaceFolder"], + "vscode-languageclient/colorProvider": ["./node_modules/vscode-languageclient/lib/common/colorProvider"], + "vscode-languageclient/selectionRange": ["./node_modules/vscode-languageclient/lib/common/selectionRange"], + "vscode-languageclient/protocolConverter": ["./node_modules/vscode-languageclient/lib/common/protocolConverter"], + "vscode-languageclient/node": ["./node_modules/vscode-languageclient/lib/node/main"], + "vscode-languageserver-protocol": ["./node_modules/vscode-languageserver-protocol/lib/common/api"], + "vscode-languageserver-protocol/node": ["./node_modules/vscode-languageserver-protocol/lib/node/main"], + "vscode-jsonrpc": ["./node_modules/vscode-jsonrpc/lib/common/api"], + "vscode-jsonrpc/node": ["./node_modules/vscode-jsonrpc/lib/node/main"] + }, "sourceMap": true, "moduleResolution": "node", "moduleDetection": "force", @@ -25,5 +44,5 @@ "__mocks__", "jest.config.ts", "baseJestConfig.ts", - ] + ], } diff --git a/version.json b/version.json index 6819efb3b4..892506df0a 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "2.63", + "version": "2.72", "publicReleaseRefSpec": [ "^refs/heads/release$", "^refs/heads/prerelease$", diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 2ed9ce853a..0000000000 --- a/webpack.config.js +++ /dev/null @@ -1,44 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -// Import statements do not work outside of modules. -// eslint-disable-next-line @typescript-eslint/no-var-requires -const path = require('path'); -/**@type {import('webpack').Configuration}*/ -const config = { - target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ - entry: './src/main.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ - output: { - path: path.resolve(__dirname, 'dist'), - filename: 'extension.js', - libraryTarget: "commonjs2", - devtoolModuleFilenameTemplate: "../[resource-path]", - }, - devtool: 'source-map', - externals: { - vscode: "commonjs vscode", // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ - 'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', // we're not native - '@opentelemetry/tracing': 'commonjs @opentelemetry/tracing', // optional - }, - resolve: { // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader - extensions: ['.ts', '.js'] - }, - node: { - __dirname: false //preserve the default node.js behavior for __dirname - }, - module: { - rules: [{ - test: /\.ts$/, - exclude: /node_modules/, - use: [{ - loader: 'ts-loader', - }] - }] - }, -}; - -module.exports = config;