From 269c0d3e3672ef413a629b4c541e151caf525fa2 Mon Sep 17 00:00:00 2001 From: Colen Garoutte-Carson <49173979+Colengms@users.noreply.github.com> Date: Wed, 26 Mar 2025 14:19:39 -0700 Subject: [PATCH] Merge TypeScript main branch to VC (#13431) --- .github/actions/package-lock.json | 432 ++-- .github/actions/package.json | 6 +- .github/workflows/job-compile-and-test.yml | 8 +- Build/cg/cg.yml | 19 +- Build/package/jobs_package_vsix.yml | 13 +- Extension/.vscodeignore | 3 + Extension/CHANGELOG.md | 150 +- Extension/ThirdPartyNotices.txt | 159 +- Extension/bin/linux.clang.arm.json | 2 - Extension/bin/linux.clang.arm64.json | 2 - Extension/bin/linux.clang.x64.json | 2 - Extension/bin/linux.clang.x86.json | 2 - Extension/bin/linux.gcc.arm.json | 2 - Extension/bin/linux.gcc.arm64.json | 2 - Extension/bin/linux.gcc.x64.json | 2 - Extension/bin/linux.gcc.x86.json | 2 - Extension/bin/macos.clang.arm.json | 2 - Extension/bin/macos.clang.arm64.json | 2 - Extension/bin/macos.clang.x64.json | 2 - Extension/bin/macos.clang.x86.json | 2 - Extension/bin/macos.gcc.arm.json | 2 - Extension/bin/macos.gcc.arm64.json | 2 - Extension/bin/macos.gcc.x64.json | 2 - Extension/bin/macos.gcc.x86.json | 2 - Extension/bin/windows.clang.arm.json | 4 +- Extension/bin/windows.clang.arm64.json | 4 +- Extension/bin/windows.clang.x64.json | 4 +- Extension/bin/windows.clang.x86.json | 4 +- Extension/bin/windows.gcc.arm.json | 2 - Extension/bin/windows.gcc.arm64.json | 2 - Extension/bin/windows.gcc.x64.json | 2 - Extension/bin/windows.gcc.x86.json | 2 - Extension/bin/windows.msvc.arm.json | 2 - Extension/bin/windows.msvc.arm64.json | 2 - Extension/bin/windows.msvc.x64.json | 2 - Extension/bin/windows.msvc.x86.json | 2 - Extension/c_cpp_properties.schema.json | 41 +- Extension/i18n/chs/package.i18n.json | 4 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../chs/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/cht/package.i18n.json | 4 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../cht/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/csy/package.i18n.json | 2 - .../LanguageServer/copilotProviders.i18n.json | 2 +- .../csy/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/deu/package.i18n.json | 2 - .../LanguageServer/copilotProviders.i18n.json | 2 +- .../deu/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/esn/package.i18n.json | 4 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../esn/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/fra/package.i18n.json | 6 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../fra/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/ita/package.i18n.json | 2 - .../LanguageServer/copilotProviders.i18n.json | 2 +- .../ita/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/jpn/package.i18n.json | 4 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../jpn/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/kor/package.i18n.json | 4 +- .../kor/src/LanguageServer/client.i18n.json | 2 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../kor/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/plk/package.i18n.json | 4 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../plk/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/ptb/package.i18n.json | 2 - .../LanguageServer/copilotProviders.i18n.json | 2 +- .../ptb/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/rus/package.i18n.json | 6 +- .../LanguageServer/copilotProviders.i18n.json | 2 +- .../rus/src/LanguageServer/lmTool.i18n.json | 4 +- Extension/i18n/trk/package.i18n.json | 2 - .../LanguageServer/copilotProviders.i18n.json | 2 +- .../trk/src/LanguageServer/lmTool.i18n.json | 4 +- .../install-compiler-windows10.md.i18n.json | 2 +- .../install-compiler-windows11.md.i18n.json | 2 +- Extension/package.json | 68 +- Extension/package.nls.json | 23 +- Extension/src/Debugger/extension.ts | 9 +- .../Providers/CopilotHoverProvider.ts | 16 +- .../Providers/callHierarchyProvider.ts | 2 +- .../Providers/workspaceSymbolProvider.ts | 4 +- Extension/src/LanguageServer/client.ts | 164 +- Extension/src/LanguageServer/codeAnalysis.ts | 2 +- .../src/LanguageServer/configurations.ts | 75 +- .../copilotCompletionContextProvider.ts | 359 +++ .../copilotCompletionContextTelemetry.ts | 121 + .../src/LanguageServer/copilotProviders.ts | 56 +- Extension/src/LanguageServer/extension.ts | 284 +-- Extension/src/LanguageServer/lmTool.ts | 118 +- .../src/LanguageServer/protocolFilter.ts | 1 - Extension/src/LanguageServer/settings.ts | 19 +- Extension/src/LanguageServer/settingsPanel.ts | 21 + .../src/LanguageServer/settingsTracker.ts | 3 +- Extension/src/LanguageServer/ui.ts | 17 +- Extension/src/common.ts | 19 +- Extension/src/cppTools.ts | 9 +- Extension/src/instrumentation.ts | 54 + Extension/src/logger.ts | 37 +- Extension/src/main.ts | 16 +- Extension/src/nativeStrings.json | 3 +- .../tests/inlayhints.test.ts | 10 +- .../tests/copilotProviders.test.ts | 212 +- .../SingleRootProject/tests/lmTool.test.ts | 220 +- Extension/tools/OptionsSchema.json | 14 +- Extension/translations_auto_pr.js | 40 +- Extension/ui/settings.html | 45 +- Extension/ui/settings.ts | 8 + .../install-compiler-windows10.md | 2 +- .../install-compiler-windows11.md | 2 +- Extension/yarn.lock | 2005 ++++++++++------- ExtensionPack/.npmrc | 2 + ExtensionPack/README.md | 1 - ExtensionPack/package.json | 5 +- Themes/.npmrc | 2 + 118 files changed, 2835 insertions(+), 2258 deletions(-) create mode 100644 Extension/src/LanguageServer/copilotCompletionContextProvider.ts create mode 100644 Extension/src/LanguageServer/copilotCompletionContextTelemetry.ts create mode 100644 Extension/src/instrumentation.ts create mode 100644 ExtensionPack/.npmrc create mode 100644 Themes/.npmrc diff --git a/.github/actions/package-lock.json b/.github/actions/package-lock.json index 81f22bcc9..9d7e35227 100644 --- a/.github/actions/package-lock.json +++ b/.github/actions/package-lock.json @@ -9,11 +9,11 @@ "version": "1.0.0", "dependencies": { "@actions/core": "^1.9.1", - "@actions/github": "^5.0.3", - "@octokit/rest": "^19.0.3", + "@actions/github": "^6.0.0", + "@octokit/rest": "^21.1.1", "@slack/web-api": "^6.9.1", "applicationinsights": "^2.5.1", - "axios": "^1.6.8", + "axios": "^1.8.2", "uuid": "^8.3.2" }, "devDependencies": { @@ -49,15 +49,15 @@ } }, "node_modules/@actions/github": { - "version": "5.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha1-QLm54TI6Xvz0/32t0z2OpRZRu8s=", + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha1-ZYg0M/nYFSG3gqZMwf1F7vIZHqc=", "license": "MIT", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" } }, "node_modules/@actions/http-client": { @@ -1269,285 +1269,312 @@ } }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha1-J8N+omwgXyhENAJHf/0mExHyHjY=", + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha1-QNID6oJ7nxf0KinGr7k7d0XvgMc=", "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3" + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha1-M3bLnzAI2bPREDcNkOCh/NX+YIU=", + "version": "5.2.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-5.2.1.tgz", + "integrity": "sha1-WMIaX2ie6B4LiDtap3Vzp/8bTqE=", "license": "MIT", "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha1-O01HpLDnmxAn+4111CIZKLLQVlg=", + "version": "9.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha1-EU2RIQj+aS2LE5z+f8CEbf0RtsA=", "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha1-Zk2bEcDhIRLL944Q9JoFlZqiLMM=", + "version": "7.1.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-7.1.1.tgz", + "integrity": "sha1-ednz0Mlqj9E9ZBhv5cM2BtSLecw=", "license": "MIT", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha1-2lY41k8rkZvKic5mAtBZ8bUtPvA=", + "version": "24.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha1-PVXDLqwNONoacIOpw7DMp3kk99M=", "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha1-fxJTJ5d3VkDbuCJNpXfafcIQyH4=", + "version": "9.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz", + "integrity": "sha1-xRa8SYc2vNqpCVuaHRDZ0FAa6DE=", "license": "MIT", "dependencies": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=2" + "@octokit/core": "5" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha1-XlDtcIOmE4FrHkooruxft/FGLoU=", + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha1-nsLaoAkO64Ze4UdjbgwA9zeQxuU=", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha1-gQD7nu7f4IOq5mRzvZexW2Ku3LI=", "license": "MIT", - "peerDependencies": { - "@octokit/core": ">=3" + "dependencies": { + "@octokit/openapi-types": "^20.0.0" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha1-fui/WG35fdaGjPaPZBNU6QjCU0I=", + "version": "10.4.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", + "integrity": "sha1-QbpHilWLn1VHkwdbLiDNLvlzvhc=", "license": "MIT", "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha1-nsLaoAkO64Ze4UdjbgwA9zeQxuU=", + "license": "MIT" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha1-gQD7nu7f4IOq5mRzvZexW2Ku3LI=", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^20.0.0" } }, "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha1-GaAiUVpbupZawGydEzRRTrUMSLA=", + "version": "8.4.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha1-cVoBXM+ZMIeXfqQ2XER5H8RXJIY=", "license": "MIT", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha1-nhUDV4Mb/HiNE6T9SxkT1gx01nc=", + "version": "5.1.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha1-uSGPnBFm5ou00MibY47cYskzSAU=", "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^13.1.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/rest": { - "version": "19.0.13", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/rest/-/rest-19.0.13.tgz", - "integrity": "sha1-55k5MmTtxtPGfu2p5b14Mtz5dOQ=", + "version": "21.1.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha1-enBFXKRRsdJT5bcG81F4zu+3TeI=", "license": "MIT", "dependencies": { - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^6.1.2", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/rest/node_modules/@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha1-cOlBunQr3StJvbc5PoId6oUgo9s=", + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha1-aKSGcU16f9HfVsubyJqGCg3oZt4=", "license": "MIT", "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/rest/node_modules/@octokit/core": { - "version": "4.2.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-4.2.4.tgz", - "integrity": "sha1-2HaewrQ/83zD6onsRoGiC6WO+Qc=", + "version": "6.1.4", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-6.1.4.tgz", + "integrity": "sha1-9cz5EcyVsc6dr23kJdFmQ5L4Z9s=", "license": "MIT", "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/rest/node_modules/@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha1-eR9l05N1VRQftsCPkdYYp9ZF8eI=", + "version": "10.1.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha1-v+j/LsIT60IWBl53ZUv7ug/G1N4=", "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/rest/node_modules/@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha1-nqxBGsQ1PMxdP8p9dnNuaIjF0kg=", + "version": "8.2.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-8.2.1.tgz", + "integrity": "sha1-DLg2AOa0AJgFrMHFaujgfmyZG3g=", "license": "MIT", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.2.2", + "@octokit/types": "^13.8.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, - "node_modules/@octokit/rest/node_modules/@octokit/openapi-types": { - "version": "18.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", - "integrity": "sha1-Cb39q/2OFtFjJDJtpRSAENdl8Ak=", - "license": "MIT" - }, "node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest": { - "version": "6.1.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", - "integrity": "sha1-+GRWp6H+nlj+xjhahc8bNAcjQfg=", + "version": "11.6.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha1-5en/NTDoZ8ODf9v/lM4VokaKHzc=", "license": "MIT", "dependencies": { - "@octokit/tsconfig": "^1.0.2", - "@octokit/types": "^9.2.3" + "@octokit/types": "^13.10.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=4" + "@octokit/core": ">=6" } }, - "node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", - "integrity": "sha1-N6hLFxpstmWIFsgsQIKsNRICF5c=", + "node_modules/@octokit/rest/node_modules/@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha1-zLddlwXedpsqqCvNEFzJbrDAD2k=", "license": "MIT", - "dependencies": { - "@octokit/types": "^10.0.0" - }, "engines": { - "node": ">= 14" + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": ">=6" } }, - "node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "10.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-10.0.0.tgz", - "integrity": "sha1-fuGcRk6kraMGxD8aRdREAA9Bmko=", + "node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha1-2MjKISOzBVlslZqRNN+osElbC6Y=", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" } }, "node_modules/@octokit/rest/node_modules/@octokit/request": { - "version": "6.2.8", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-6.2.8.tgz", - "integrity": "sha1-qvSAsyqyshDp2t2CcdGHyTFx2Os=", + "version": "9.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha1-dURS7EaS1/3DJDihTgKOug5rLAk=", "license": "MIT", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/rest/node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha1-7z3Qi46WTlPlXUcaz+ALqokrnGk=", + "version": "6.1.7", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha1-RPxZj1zfRZPg5YtRVf4udyMP9to=", "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.6.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, - "node_modules/@octokit/rest/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha1-P1+JkDtp9qLRlteOw1+IjAATysU=", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^18.0.0" - } + "node_modules/@octokit/rest/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha1-1WZaX6i2IpSlqgpJn5M/ShAWGV0=", + "license": "Apache-2.0" }, - "node_modules/@octokit/tsconfig": { - "version": "1.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", - "integrity": "sha1-WbAk1vPA7YLwDQjq1bN1BGkSWvc=", - "license": "MIT" + "node_modules/@octokit/rest/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha1-UufQ6bPcTfBswzyyuf15BBpUgn4=", + "license": "ISC" }, "node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha1-5Y73jXhZbS+335xiWYAkZLX4SgQ=", + "version": "13.10.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha1-PnxrGcAjbCcGVuTqZmFIwrUf0aM=", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@opentelemetry/api": { @@ -2933,9 +2960,9 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.7.7.tgz", - "integrity": "sha1-L1VClvmJKnKsjY5MW3nBSpHQpH8=", + "version": "1.8.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.8.2.tgz", + "integrity": "sha1-+r4G4kHf6DBx1O37yqexw6QPeXk=", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -3292,9 +3319,9 @@ "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "version": "7.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8=", "dev": true, "license": "MIT", "dependencies": { @@ -3709,6 +3736,22 @@ "node": ">=0.8.x" } }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha1-wjYSRTTuLLQnyNjlujWkhWlHhHs=", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4332,15 +4375,6 @@ "node": ">=8" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha1-RCf1CrNCnpAl6n1S6QQ6nvQVk0Q=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-stream/-/is-stream-1.1.0.tgz", @@ -4742,48 +4776,6 @@ "node": ">= 10.13" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha1-0PD6bj4twdJ+/NitmdVQvalNGH0=", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/normalize-path/-/normalize-path-3.0.0.tgz", diff --git a/.github/actions/package.json b/.github/actions/package.json index aebdd8f30..6ada8fda4 100644 --- a/.github/actions/package.json +++ b/.github/actions/package.json @@ -11,11 +11,11 @@ "author": "", "dependencies": { "@actions/core": "^1.9.1", - "@actions/github": "^5.0.3", - "@octokit/rest": "^19.0.3", + "@actions/github": "^6.0.0", + "@octokit/rest": "^21.1.1", "@slack/web-api": "^6.9.1", "applicationinsights": "^2.5.1", - "axios": "^1.6.8", + "axios": "^1.8.2", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/.github/workflows/job-compile-and-test.yml b/.github/workflows/job-compile-and-test.yml index 1756d2986..33d658965 100644 --- a/.github/workflows/job-compile-and-test.yml +++ b/.github/workflows/job-compile-and-test.yml @@ -19,12 +19,12 @@ jobs: runs-on: ${{ inputs.runner-env }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - name: Use Node.js 16 - uses: actions/setup-node@v3 + - name: Use Node.js 20 + uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 20 - name: Install Dependencies run: yarn install ${{ inputs.yarn-args }} diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index fae5d8d91..129262e85 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -84,35 +84,26 @@ extends: inputs: version: 18.x - - task: CmdLine@2 + - script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc displayName: Delete .npmrc if it exists - inputs: - script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc - task: Npm@0 - name: NpmInstall_2 displayName: Install vsce inputs: arguments: --global @vscode/vsce - - task: CmdLine@1 - name: ProcessRunner_11 + - script: mkdir $(Build.ArtifactStagingDirectory)\Extension displayName: Create Extension Staging Directory - inputs: - filename: mkdir - arguments: $(Build.ArtifactStagingDirectory)\Extension - script: yarn run vsix-prepublish displayName: Build files workingDirectory: $(Build.SourcesDirectory)\Extension - - task: CmdLine@1 + - script: | + cd $(Build.SourcesDirectory)\Extension + vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix name: ProcessRunner_12 displayName: Run VSCE to package vsix - inputs: - filename: vsce - arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix - workingFolder: $(Build.SourcesDirectory)\Extension - task: Npm@0 displayName: Uninstall vsce diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index abbc5026d..ec9713ade 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -34,18 +34,13 @@ jobs: - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 displayName: Use Yarn 1.x - - task: CmdLine@1 + - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - inputs: - filename: mkdir - arguments: $(Build.ArtifactStagingDirectory)\vsix - - task: CmdLine@1 + - script: | + cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} + vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }} displayName: Run VSCE to package vsix - inputs: - filename: vsce - arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }} - workingFolder: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - task: Npm@0 displayName: Uninstall vsce diff --git a/Extension/.vscodeignore b/Extension/.vscodeignore index 8cbf739a5..427193a59 100644 --- a/Extension/.vscodeignore +++ b/Extension/.vscodeignore @@ -46,6 +46,9 @@ typings/** import_edge_strings.js localized_string_ids.h translations_auto_pr.js +readme.developer.md +Reinstalling the Extension.md +*.d.ts # ignore i18n language files i18n/** diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index c9f0a4638..9dafdcbc5 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,29 +1,114 @@ # C/C++ for Visual Studio Code Changelog -## Version 1.23.4: January 21, 2025 +## Version 1.24.4: March 27, 2025 +### Enhancements +* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374) +* Turn Copilot hover on by default. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385) +* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds. + ### Bug Fixes -* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090) -* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140) -* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150) -* Fix a potential telemetry issue with Copilot hover. [PR #13158](https://github.com/microsoft/vscode-cpptools/pull/13158) -* Fix a crash when Copilot hover is used on code with no definition file (e.g. literals). -* Update clang-format and clang-tidy from 19.1.6 to 19.1.7. -* Update vsdbg from 17.12.10729.1 to 17.13.20115.1. -* Fix `libiconv.dll` not being signed on Windows. -* Fix incorrect GB2312 decoding on Linux. +* Fix one potential cause of the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358) +* Fix Copilot-related logging appearing when it shouldn't. [PR #13388](https://github.com/microsoft/vscode-cpptools/pull/13388), [PR #13417](https://github.com/microsoft/vscode-cpptools/pull/13417) +* Fix relative compiler paths being expanded in `compile_commands.json`. [#13405](https://github.com/microsoft/vscode-cpptools/issues/13405) +* Fix all caps clang-format logging on Windows. [#13406](https://github.com/microsoft/vscode-cpptools/issues/13406) +* Fix an IntelliSense process crash in `handle_function`. +* Avoid reporting an error due to multiple `didOpen` requests after a crash. -## Version 1.23.3: January 9, 2025 +## Version 1.24.3: March 18, 2025 +### Enhancements +* Add detected test frameworks to the Copilot context when `#cpp` is used. [PR #13285](https://github.com/microsoft/vscode-cpptools/pull/13285) +* Update clang-tidy and clang-format from 19.1.7 to 20.1.0. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348) +* Remove some unnecessary files from the vsix. [PR #13368](https://github.com/microsoft/vscode-cpptools/pull/13368) +* Improve the logging when a non-existent path is used for indexing. [PR #13372](https://github.com/microsoft/vscode-cpptools/pull/13372) +* Remove the `C_Cpp.updateChannel` setting. [PR #13376](https://github.com/microsoft/vscode-cpptools/pull/13376) +* Switch to only passing the root framework to clang-tidy. + +### Bug Fixes +* Fix a bug with symlink resolving with `compile_commands.json`. [#13321](https://github.com/microsoft/vscode-cpptools/issues/13321) +* Fix a performance issue on macOS when processing `compile_commands.json` with a lot of include paths. [#13366](https://github.com/microsoft/vscode-cpptools/issues/13366) +* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373) +* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375) +* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path. +* Fix some potential IntelliSense process crashes when processing Copilot snippets. +* Fix a regression with compiler query caching in the database. + +## Version 1.24.2: March 6, 2025 +### Enhancements +* Various improvements to Copilot snippets. [PR #13296](https://github.com/microsoft/vscode-cpptools/pull/13296) +* Add handling of `-cxx-isystem`, `-stblib++-isystem`, `-isystem-after`, and `--include-barrier` Clang compiler arguments when composing the order of include paths used by IntelliSense. +* Defer building of an include completion cache to another thread, improving performance when a file is opened. + +### Bug Fixes +* Fix the code analysis mode in the Language Status bar not updating after the setting changes. [#13240](https://github.com/microsoft/vscode-cpptools/issues/13240) +* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287) +* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290) +* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297) +* Fix an unnecessary TU reset when a change is detected in a `compile_commands.json` file that is not used by the active configuration. [#13317](https://github.com/microsoft/vscode-cpptools/issues/13317) +* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327) +* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337) +* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times. +* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider. +* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would. +* Fix an issue with include path ordering of paths specified with the `-imsvc` argument. +* Fix a race condition that could result in incorrect include completion results. +* Fix potential IntelliSense process crashes when processing Copilot snippets. +* Fix a crash involving iconv when converting UTF-16 or UTF-32 to UTF-8. +* Fix a potential crash when using the IntelliSense cache. +* Fix an IntelliSense crash if a "bad seq number" occurs. +* Fix processes potentially getting stuck on shutdown. +* Fix a potential crash when saving a file. + +## Version 1.24.1: February 13, 2025 +### Bug Fixes +* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668) +* Fix a crash when processing Copilot snippets. +* Fix a crash when using Copilot hover. + +## Version 1.24.0: February 11, 2025 +### New Feature +* Add experimental support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. This feature is currently off by default and may be subject to A/B experimentation. To opt-out of Copilot Hover experiments, set `C_Cpp.copilotHover` to `disabled`. + +### Enhancement +* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635) + +### Bug Fixes +* Fix an IntelliSense crash in `build_sections`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666), [#12956](https://github.com/microsoft/vscode-cpptools/issues/12956) +* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166) +* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204) +* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209) +* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216) +* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218) +* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247) +* Fix an inaccurate cursor position for IntelliSense update. +* Fix a random crash during code analysis. + +## Version 1.23.6: February 6, 2025 +### Bug Fixes +* Fix a bug with remote attach debugging. [#13137](https://github.com/microsoft/vscode-cpptools/issues/13137) +* Fix symlink-related regression bugs. [#13214](https://github.com/microsoft/vscode-cpptools/issues/13214), [#13228](https://github.com/microsoft/vscode-cpptools/issues/13228) +* Fix a regression bug when using 'Select IntelliSense Configuration'. [#13220](https://github.com/microsoft/vscode-cpptools/issues/13220) +* Fix a regression bug with `files.associations` handling. [#13223](https://github.com/microsoft/vscode-cpptools/issues/13223) + +## Version 1.23.5: January 28, 2025 ### Enhancements * Modifications to the snippet completions to more closely match the snippets provided by TypeScript. [#4482](https://github.com/microsoft/vscode-cpptools/issues/4482) * Enable setting multiple compile commands. [#7029](https://github.com/microsoft/vscode-cpptools/issues/7029) * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12960](https://github.com/microsoft/vscode-cpptools/pull/12960) +* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924) +* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968) +* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979) +* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988) +* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993) + * Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens) * Update clang path setting descriptions. [PR #13071](https://github.com/microsoft/vscode-cpptools/pull/13071) -* Update clang-format and clang-tidy from 19.1.5 to 19.1.6. +* Update clang-format and clang-tidy from 19.1.2 to 19.1.7. * IntelliSense parser updates. ### Bug Fixes +* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126) * Fix `compile_commands.json` no longer being used if the containing folder is deleted and recreated. [#7030](https://github.com/microsoft/vscode-cpptools/issues/7030) * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #13032](https://github.com/microsoft/vscode-cpptools/pull/13032) +* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213) * Fix `C_Cpp.enhancedColorization` not taking effect after it's changed. [#10565](https://github.com/microsoft/vscode-cpptools/issues/10565) * Fix changes to `files.encoding` not triggering a database reset. [#10892](https://github.com/microsoft/vscode-cpptools/issues/10892) * Fix parameter hints interpreting `*` in a comment as markdown. [#11082](https://github.com/microsoft/vscode-cpptools/issues/11082) @@ -32,26 +117,9 @@ * Fix handling of `koi8ru` and `koi8t` file encodings on Windows. [#12272](https://github.com/microsoft/vscode-cpptools/issues/12272) * Fix description of `C_Cpp.preferredPathSeparator`. [#12597](https://github.com/microsoft/vscode-cpptools/issues/12597) * Fix the IntelliSense process launching when it's disabled and the Copilot extension is used. [#12750](https://github.com/microsoft/vscode-cpptools/issues/12750), [#13058](https://github.com/microsoft/vscode-cpptools/issues/13058) -* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016) -* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044) -* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048) -* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066) -* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083) - -### Version 1.23.2: December 5, 2024 -### Enhancements -* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924) -* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968) -* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979) -* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988) -* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993) - * Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens) -* Update clang-format and clang-tidy from 19.1.2 to 19.1.5. - -### Bug Fixes -* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126) -* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213) * Fix casing of path in include completion tooltip on Windows. [#12895](https://github.com/microsoft/vscode-cpptools/issues/12895) +* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905) +* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090) * Fix pattern matching of sections in `.editorConfig` files. [#12933](https://github.com/microsoft/vscode-cpptools/issues/12933) * Fix handling of relative paths passed to cl.exe `/reference` argument. [#12944](https://github.com/microsoft/vscode-cpptools/issues/12944) * Fix a leak of compile command file watchers. [#12946](https://github.com/microsoft/vscode-cpptools/issues/12946) @@ -59,17 +127,19 @@ * Fix a compile commands fallback logic issue. [#12947](https://github.com/microsoft/vscode-cpptools/issues/12947) * Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948) * Fix an issue in which a `didOpen` event was processed before the language client was fully started. [#12954](https://github.com/microsoft/vscode-cpptools/issues/12954) +* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016) +* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044) +* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048) +* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066) +* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083) +* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140) +* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150) +* Fix call hierarchy calls from. [#13200](https://github.com/microsoft/vscode-cpptools/issues/13200) * Fix IntelliSense issues related to large header files (>32K) and encodings other than UTF-8. -* Fix a deadlock. - -### Version 1.23.1: November 6, 2024 -### Bug Fixes -* A potential fix for a crash during process shutdown (in `uv_run`). [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668) -* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905) -* A potential fix for a crash in cpptools (in `report_intellisense_results`). -* Fix a random deadlock with `compiler_info::find_or_create`. -* Fix a random deadlock with `handle_edits`. +* Update vsdbg from 17.12.10729.1 to 17.13.20115.1. * Other internal fixes. +* Fix some deadlocks. +* Fix some crashes. ## Version 1.22.11: November 5, 2024 ### Bug Fixes diff --git a/Extension/ThirdPartyNotices.txt b/Extension/ThirdPartyNotices.txt index 03b140532..a632058e1 100644 --- a/Extension/ThirdPartyNotices.txt +++ b/Extension/ThirdPartyNotices.txt @@ -683,7 +683,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------- -semver 7.6.3 - ISC +semver 7.7.1 - ISC https://github.com/npm/node-semver#readme Copyright Isaac Z. Schlueter @@ -762,11 +762,15 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------- -@microsoft/applicationinsights-channel-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT +@microsoft/1ds-core-js 4.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme +copyright Microsoft 2018 Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC Copyright (c) NevWare21 Solutions LLC and contributors The MIT License (MIT) @@ -791,16 +795,22 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------- --------------------------------------------------------- -@microsoft/applicationinsights-common 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT +@microsoft/1ds-post-js 4.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme +copyright Microsoft 2018 +copyright Microsoft 2020 +copyright Microsoft 2018-2020 +copyright Microsoft 2022 Simple Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC Copyright (c) NevWare21 Solutions LLC and contributors The MIT License (MIT) @@ -825,16 +835,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------- --------------------------------------------------------- -@microsoft/applicationinsights-core-js 3.3.3 - LGPL-2.1-or-later AND LicenseRef-scancode-generic-cla AND MIT +@microsoft/applicationinsights-channel-js 3.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC Copyright (c) NevWare21 Solutions LLC and contributors The MIT License (MIT) @@ -864,13 +876,14 @@ SOFTWARE. --------------------------------------------------------- -@microsoft/1ds-core-js 4.3.3 - MIT +@microsoft/applicationinsights-common 3.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme -copyright Microsoft 2018 Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors -Copyright (c) NevWare21 Solutions LLC and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC The MIT License (MIT) @@ -894,19 +907,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + --------------------------------------------------------- --------------------------------------------------------- -@microsoft/1ds-post-js 4.3.3 - MIT +@microsoft/applicationinsights-core-js 3.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme -copyright Microsoft 2018 -copyright Microsoft 2020 -copyright Microsoft 2018-2020 -copyright Microsoft 2022 Simple Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC Copyright (c) NevWare21 Solutions LLC and contributors The MIT License (MIT) @@ -931,6 +944,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + --------------------------------------------------------- --------------------------------------------------------- @@ -968,11 +982,14 @@ SOFTWARE. --------------------------------------------------------- -@microsoft/applicationinsights-web-basic 3.3.3 - MIT +@microsoft/applicationinsights-web-basic 3.3.5 - MIT https://github.com/microsoft/ApplicationInsights-JS#readme Copyright (c) Microsoft Corporation Copyright (c) Microsoft and contributors +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC Copyright (c) NevWare21 Solutions LLC and contributors The MIT License (MIT) @@ -1036,7 +1053,7 @@ SOFTWARE. --------------------------------------------------------- -@nevware21/ts-async 0.5.2 - MIT +@nevware21/ts-async 0.5.4 - MIT https://github.com/nevware21/ts-async Copyright (c) 2022 NevWare21 Solutions LLC @@ -1071,43 +1088,8 @@ SOFTWARE. --------------------------------------------------------- -@nevware21/ts-utils 0.11.4 - MIT -https://github.com/nevware21/ts-utils - -Copyright (c) 2022 NevWare21 Solutions LLC -Copyright (c) 2023 NevWare21 Solutions LLC -Copyright (c) 2024 NevWare21 Solutions LLC -Copyright (c) NevWare21 Solutions LLC and contributors - -MIT License - -Copyright (c) 2022 NevWare21 Solutions LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- +@vscode/extension-telemetry 0.9.8 - MIT -@vscode/extension-telemetry 0.9.7 - MIT -https://github.com/Microsoft/vscode-extension-telemetry#readme Copyright (c) Microsoft Corporation @@ -1142,8 +1124,8 @@ SOFTWARE. @xmldom/xmldom 0.8.10 - MIT https://github.com/xmldom/xmldom -Copyright 2012 - 2017 jindw and other contributors Copyright 2019 - present Christopher J. Brody and other contributors +Copyright 2012 - 2017 @jindw and other contributors Copyright 2019 - present Christopher J. Brody and other contributors, as listed in: https://github.com/xmldom/xmldom/graphs/contributors Copyright 2012 - 2017 @jindw and other contributors, as listed in: https://github.com/jindw/xmldom/graphs/contributors @@ -1913,7 +1895,7 @@ SOFTWARE. --------------------------------------------------------- -node-loader 2.0.0 - MIT +node-loader 2.1.0 - MIT https://github.com/webpack-contrib/node-loader Copyright JS Foundation and other contributors @@ -2232,7 +2214,7 @@ THE SOFTWARE. --------------------------------------------------------- -shell-quote 1.8.1 - MIT +shell-quote 1.8.2 - MIT https://github.com/ljharb/shell-quote Copyright (c) 2013 James Halliday (mail@substack.net) @@ -2423,6 +2405,28 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +vscode-jsonrpc 8.2.0 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme + +Copyright (c) Microsoft Corporation + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + --------------------------------------------------------- --------------------------------------------------------- @@ -2468,6 +2472,29 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +vscode-languageserver-protocol 3.17.5 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme + +Copyright (c) Microsoft Corporation +Copyright (c) TypeFox, Microsoft and others + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + --------------------------------------------------------- --------------------------------------------------------- @@ -2490,6 +2517,28 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +vscode-languageserver-types 3.17.5 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme + +Copyright (c) Microsoft Corporation + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + --------------------------------------------------------- --------------------------------------------------------- diff --git a/Extension/bin/linux.clang.arm.json b/Extension/bin/linux.clang.arm.json index 0f795aa6a..52bd188d4 100644 --- a/Extension/bin/linux.clang.arm.json +++ b/Extension/bin/linux.clang.arm.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.clang.arm64.json b/Extension/bin/linux.clang.arm64.json index d1532b6cf..00589afb6 100644 --- a/Extension/bin/linux.clang.arm64.json +++ b/Extension/bin/linux.clang.arm64.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.clang.x64.json b/Extension/bin/linux.clang.x64.json index c97f777c2..da855d4bd 100644 --- a/Extension/bin/linux.clang.x64.json +++ b/Extension/bin/linux.clang.x64.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.clang.x86.json b/Extension/bin/linux.clang.x86.json index 6297e6640..4fb1eead0 100644 --- a/Extension/bin/linux.clang.x86.json +++ b/Extension/bin/linux.clang.x86.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.gcc.arm.json b/Extension/bin/linux.gcc.arm.json index f582efccf..e7e0fc818 100644 --- a/Extension/bin/linux.gcc.arm.json +++ b/Extension/bin/linux.gcc.arm.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.gcc.arm64.json b/Extension/bin/linux.gcc.arm64.json index d75b8d805..931b1c6e6 100644 --- a/Extension/bin/linux.gcc.arm64.json +++ b/Extension/bin/linux.gcc.arm64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.gcc.x64.json b/Extension/bin/linux.gcc.x64.json index b09cc36c3..6d6e2a1be 100644 --- a/Extension/bin/linux.gcc.x64.json +++ b/Extension/bin/linux.gcc.x64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/linux.gcc.x86.json b/Extension/bin/linux.gcc.x86.json index d026cd030..8972cce04 100644 --- a/Extension/bin/linux.gcc.x86.json +++ b/Extension/bin/linux.gcc.x86.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-Dunix=1", "-D__unix__=1", "-D__linux__=1", diff --git a/Extension/bin/macos.clang.arm.json b/Extension/bin/macos.clang.arm.json index 6c79a52e3..0ea0f569a 100644 --- a/Extension/bin/macos.clang.arm.json +++ b/Extension/bin/macos.clang.arm.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__arm__=1", diff --git a/Extension/bin/macos.clang.arm64.json b/Extension/bin/macos.clang.arm64.json index d4ebbb73d..80f3c2975 100644 --- a/Extension/bin/macos.clang.arm64.json +++ b/Extension/bin/macos.clang.arm64.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__aarch64__=1", diff --git a/Extension/bin/macos.clang.x64.json b/Extension/bin/macos.clang.x64.json index 8f0647d3e..9aa1ba565 100644 --- a/Extension/bin/macos.clang.x64.json +++ b/Extension/bin/macos.clang.x64.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__x86_64=1", diff --git a/Extension/bin/macos.clang.x86.json b/Extension/bin/macos.clang.x86.json index 83f568c28..a40718d33 100644 --- a/Extension/bin/macos.clang.x86.json +++ b/Extension/bin/macos.clang.x86.json @@ -1,8 +1,6 @@ { "defaults": [ "-D__building_module(x)=0", - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__i386=1", diff --git a/Extension/bin/macos.gcc.arm.json b/Extension/bin/macos.gcc.arm.json index 92823ac52..4722bbaa4 100644 --- a/Extension/bin/macos.gcc.arm.json +++ b/Extension/bin/macos.gcc.arm.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__arm__=1", diff --git a/Extension/bin/macos.gcc.arm64.json b/Extension/bin/macos.gcc.arm64.json index 18721f3eb..bfe134a8b 100644 --- a/Extension/bin/macos.gcc.arm64.json +++ b/Extension/bin/macos.gcc.arm64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__aarch64__=1", diff --git a/Extension/bin/macos.gcc.x64.json b/Extension/bin/macos.gcc.x64.json index d049f22ea..f7286d2f1 100644 --- a/Extension/bin/macos.gcc.x64.json +++ b/Extension/bin/macos.gcc.x64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__x86_64=1", diff --git a/Extension/bin/macos.gcc.x86.json b/Extension/bin/macos.gcc.x86.json index b6189bb0a..b07752292 100644 --- a/Extension/bin/macos.gcc.x86.json +++ b/Extension/bin/macos.gcc.x86.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8", "-D__APPLE__=1", "-D__MACH__=1", "-D__i386=1", diff --git a/Extension/bin/windows.clang.arm.json b/Extension/bin/windows.clang.arm.json index c78d5d304..5f7397c87 100644 --- a/Extension/bin/windows.clang.arm.json +++ b/Extension/bin/windows.clang.arm.json @@ -1,8 +1,6 @@ { "defaults": [ - "-D__building_module(x)=0", - "--pack_alignment", - "8" + "-D__building_module(x)=0" ], "defaults_op": "merge" } diff --git a/Extension/bin/windows.clang.arm64.json b/Extension/bin/windows.clang.arm64.json index c78d5d304..5f7397c87 100644 --- a/Extension/bin/windows.clang.arm64.json +++ b/Extension/bin/windows.clang.arm64.json @@ -1,8 +1,6 @@ { "defaults": [ - "-D__building_module(x)=0", - "--pack_alignment", - "8" + "-D__building_module(x)=0" ], "defaults_op": "merge" } diff --git a/Extension/bin/windows.clang.x64.json b/Extension/bin/windows.clang.x64.json index c78d5d304..5f7397c87 100644 --- a/Extension/bin/windows.clang.x64.json +++ b/Extension/bin/windows.clang.x64.json @@ -1,8 +1,6 @@ { "defaults": [ - "-D__building_module(x)=0", - "--pack_alignment", - "8" + "-D__building_module(x)=0" ], "defaults_op": "merge" } diff --git a/Extension/bin/windows.clang.x86.json b/Extension/bin/windows.clang.x86.json index c78d5d304..5f7397c87 100644 --- a/Extension/bin/windows.clang.x86.json +++ b/Extension/bin/windows.clang.x86.json @@ -1,8 +1,6 @@ { "defaults": [ - "-D__building_module(x)=0", - "--pack_alignment", - "8" + "-D__building_module(x)=0" ], "defaults_op": "merge" } diff --git a/Extension/bin/windows.gcc.arm.json b/Extension/bin/windows.gcc.arm.json index 37e18b926..d5640b09c 100644 --- a/Extension/bin/windows.gcc.arm.json +++ b/Extension/bin/windows.gcc.arm.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8" ], "defaults_op": "merge" } \ No newline at end of file diff --git a/Extension/bin/windows.gcc.arm64.json b/Extension/bin/windows.gcc.arm64.json index dcde29753..2a49e30c0 100644 --- a/Extension/bin/windows.gcc.arm64.json +++ b/Extension/bin/windows.gcc.arm64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8" ], "defaults_op": "merge" } diff --git a/Extension/bin/windows.gcc.x64.json b/Extension/bin/windows.gcc.x64.json index 37e18b926..d5640b09c 100644 --- a/Extension/bin/windows.gcc.x64.json +++ b/Extension/bin/windows.gcc.x64.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8" ], "defaults_op": "merge" } \ No newline at end of file diff --git a/Extension/bin/windows.gcc.x86.json b/Extension/bin/windows.gcc.x86.json index 37e18b926..d5640b09c 100644 --- a/Extension/bin/windows.gcc.x86.json +++ b/Extension/bin/windows.gcc.x86.json @@ -1,7 +1,5 @@ { "defaults": [ - "--pack_alignment", - "8" ], "defaults_op": "merge" } \ No newline at end of file diff --git a/Extension/bin/windows.msvc.arm.json b/Extension/bin/windows.msvc.arm.json index 7bf4b102b..e70ce8853 100644 --- a/Extension/bin/windows.msvc.arm.json +++ b/Extension/bin/windows.msvc.arm.json @@ -5,8 +5,6 @@ "--microsoft_bugs", "--microsoft_version", "1943", - "--pack_alignment", - "8", "-D_MSC_VER=1943", "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", diff --git a/Extension/bin/windows.msvc.arm64.json b/Extension/bin/windows.msvc.arm64.json index a61ed0c00..4fdcce4b3 100644 --- a/Extension/bin/windows.msvc.arm64.json +++ b/Extension/bin/windows.msvc.arm64.json @@ -5,8 +5,6 @@ "--microsoft_bugs", "--microsoft_version", "1943", - "--pack_alignment", - "8", "-D_CPPUNWIND=1", "-D_MSC_VER=1943", "-D_MSC_FULL_VER=194334604", diff --git a/Extension/bin/windows.msvc.x64.json b/Extension/bin/windows.msvc.x64.json index 52aaa3a0e..66b271ed5 100644 --- a/Extension/bin/windows.msvc.x64.json +++ b/Extension/bin/windows.msvc.x64.json @@ -5,8 +5,6 @@ "--microsoft_bugs", "--microsoft_version", "1943", - "--pack_alignment", - "8", "-D_CPPUNWIND=1", "-D_MSC_VER=1943", "-D_MSC_FULL_VER=194334604", diff --git a/Extension/bin/windows.msvc.x86.json b/Extension/bin/windows.msvc.x86.json index 36d6a55aa..0fee26aba 100644 --- a/Extension/bin/windows.msvc.x86.json +++ b/Extension/bin/windows.msvc.x86.json @@ -5,8 +5,6 @@ "--microsoft_bugs", "--microsoft_version", "1943", - "--pack_alignment", - "8", "-D_MSC_VER=1943", "-D_MSC_FULL_VER=194334604", "-D_MSC_BUILD=0", diff --git a/Extension/c_cpp_properties.schema.json b/Extension/c_cpp_properties.schema.json index cd7e174d9..939cb8a34 100644 --- a/Extension/c_cpp_properties.schema.json +++ b/Extension/c_cpp_properties.schema.json @@ -180,7 +180,10 @@ "mergeConfigurations": { "markdownDescription": "Set to `true` to merge include paths, defines, and forced includes with those from a configuration provider.", "descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.", - "type": "boolean" + "type": [ + "boolean", + "string" + ] }, "browse": { "type": "object", @@ -208,6 +211,42 @@ }, "additionalProperties": false }, + "recursiveIncludes": { + "type": "object", + "properties": { + "reduce": { + "markdownDescription": "Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to IntelliSense.", + "descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.", + "type": "string", + "enum": [ + "always", + "never", + "default", + "${default}" + ] + }, + "priority": { + "markdownDescription": "The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.", + "descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.", + "type": "string", + "enum": [ + "beforeSystemIncludes", + "afterSystemIncludes", + "${default}" + ] + }, + "order": { + "markdownDescription": "The order in which subdirectories of recursive includes are searched.", + "type": "string", + "enum": [ + "depthFirst", + "breadthFirst", + "${default}" + ] + } + }, + "additionalProperties": false + }, "customConfigurationVariables": { "type": "object", "markdownDescription": "Custom variables that can be queried through the command `${cpptools:activeConfigCustomVariable}` to use for the input variables in `launch.json` or `tasks.json`.", diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index 0b658d108..08c70aec4 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "要用于系统包含路径的值。如果设置,则其将替换通过 `compilerPath` 和 `compileCommands` 设置获取的系统包含路径。", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "控制扩展是否将报告在 `c_cpp_properties.json` 中检测到的错误。", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "未设置 `customConfigurationVariables` 时要在配置中使用的值,或 `${default}` 在 `customConfigurationVariables` 中作为键存在时要插入的值。", - "c_cpp.configuration.updateChannel.markdownDescription": "设置为 `Insiders` 以自动下载并安装扩展的最新预览体验版本,其中包含即将推出的功能和 bug 修复。", - "c_cpp.configuration.updateChannel.deprecationMessage": "此设置已弃用。预发行版扩展现在可通过市场获得。", "c_cpp.configuration.default.dotConfig.markdownDescription": "未指定 `dotConfig` 时要在配置中使用的值,或 `dotConfig` 中存在 `${default}` 时要插入的值。", "c_cpp.configuration.experimentalFeatures.description": "控制“实验性”功能是否可用。", "c_cpp.configuration.suggestSnippets.markdownDescription": "如果为 `true`,则由语言服务器提供片段。", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "从不包含头文件。", "c_cpp.languageModelTools.configuration.displayName": "C/C++ 配置", "c_cpp.languageModelTools.configuration.userDescription": "活动 C 或 C++ 文件的配置,例如语言标准版本和目标平台。" -} \ No newline at end of file +} diff --git a/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..a5aa81d37 100644 --- a/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "检索结果时出错。原因: {0}" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json index 91d03284d..0f9ed5451 100644 --- a/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/chs/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "检索项目上下文时出错。原因: {0}", + "copilot.cppcontext.error": "检索 #cpp 上下文时出错。" } \ No newline at end of file diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 970894baf..162cb3d51 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "要用於系統包含路徑的值。若設定,會覆寫透過 `compilerPath` 和 `compileCommands` 設定所取得的系統包含路徑。", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "控制延伸模組是否會回報 `c_cpp_properties.json` 中偵測到的錯誤。", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "當未設定 `customConfigurationVariables` 時要在組態中使用的值,或當 `${default}` 在 `customConfigurationVariables` 中顯示為索引鍵時要插入的值。", - "c_cpp.configuration.updateChannel.markdownDescription": "設定為 `Insiders` 以自動下載並安裝最新的延伸模組測試人員組建,其中包括即將推出的功能和錯誤修正。", - "c_cpp.configuration.updateChannel.deprecationMessage": "此設定已過時。發行前版本擴充功能現在可透過 Marketplace 取得。", "c_cpp.configuration.default.dotConfig.markdownDescription": "當 `dotConfig` 未指定時,要在設定中使用的值,或 `dotConfig` 中有 `${default}` 時要插入的值。", "c_cpp.configuration.experimentalFeatures.description": "控制「實驗性」功能是否可用。", "c_cpp.configuration.suggestSnippets.markdownDescription": "若為 `true`,則由語言伺服器提供程式碼片段。", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "永不包含標頭檔案。", "c_cpp.languageModelTools.configuration.displayName": "C/C++ 設定", "c_cpp.languageModelTools.configuration.userDescription": "使用中 C 或 C++ 檔案的設定,例如語言標準版本和目標平台。" -} \ No newline at end of file +} diff --git a/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..974508f52 100644 --- a/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "擷取結果時發生錯誤。原因: {0}" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json index 91d03284d..18ce7edb9 100644 --- a/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/cht/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "擷取項目內容時發生錯誤。原因: {0}", + "copilot.cppcontext.error": "擷取 #cpp 內容時發生錯誤。" } \ No newline at end of file diff --git a/Extension/i18n/csy/package.i18n.json b/Extension/i18n/csy/package.i18n.json index 41d26e7e4..54e8ab519 100644 --- a/Extension/i18n/csy/package.i18n.json +++ b/Extension/i18n/csy/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Hodnota, která se použije pro systémovou cestu pro vložené soubory. Pokud se nastaví, přepíše systémovou cestu pro vložené soubory získanou z nastavení `compilerPath` a `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Určuje, jestli rozšíření ohlásí chyby zjištěné v souboru `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Hodnota, která se použije v konfiguraci, pokud se nenastaví `customConfigurationVariables`, nebo hodnoty, které se mají vložit, pokud se v `customConfigurationVariables` jako klíč nachází `${default}`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Pokud chcete automaticky stahovat a instalovat nejnovější sestavení rozšíření v programu Insider, která zahrnují připravované funkce a opravy chyb, nastavte možnost `Insiders`.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Toto nastavení je zastaralé. Předběžné verze rozšíření jsou teď dostupné přes Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Hodnota, která se použije v konfiguraci, pokud se nezadá `dotConfig`, nebo hodnota, která se má vložit, pokud se v `dotConfig` nachází `${default}`", "c_cpp.configuration.experimentalFeatures.description": "Určuje, jestli je možné použít experimentální funkce.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Pokud se nastaví na `true`, jazykový server poskytne fragmenty kódu.", diff --git a/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..662271a68 100644 --- a/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Při načítání výsledku došlo k chybě. Důvod: {0}" } \ No newline at end of file diff --git a/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json index 91d03284d..e874bfe72 100644 --- a/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/csy/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Při načítání kontextu projektu došlo k chybě. Důvod: {0}", + "copilot.cppcontext.error": "Při načítání kontextu #cpp došlo k chybě." } \ No newline at end of file diff --git a/Extension/i18n/deu/package.i18n.json b/Extension/i18n/deu/package.i18n.json index f058273cd..dc850db93 100644 --- a/Extension/i18n/deu/package.i18n.json +++ b/Extension/i18n/deu/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Der Wert, der für den System-Includepfad verwendet werden soll. Wenn diese Option festgelegt ist, wird der über die Einstellungen `compilerPath` und `compileCommands` abgerufene System-Includepfad überschrieben.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Steuert, ob die Erweiterung in `c_cpp_properties.json` erkannte Fehler meldet.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Der Wert, der in einer Konfiguration verwendet werden soll, wenn `customConfigurationVariables` nicht festgelegt ist, oder die Werte, die eingefügt werden sollen, wenn `${default}` als Schlüssel in `customConfigurationVariables` vorhanden ist.", - "c_cpp.configuration.updateChannel.markdownDescription": "Legen Sie den Wert auf `Insiders` fest, um die neuesten Insiders-Builds der Erweiterung (die neue Features und Bugfixes enthalten) automatisch herunterzuladen und zu installieren.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Diese Einstellung ist veraltet. Erweiterungen der Vorabversionen sind jetzt über den Marketplace verfügbar.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Der Wert, der in einer Konfiguration verwendet werden soll, wenn `dotConfig` nicht angegeben ist, oder der einzufügende Wert, wenn `${default}` in `dotConfig` vorhanden ist.", "c_cpp.configuration.experimentalFeatures.description": "Hiermit wird gesteuert, ob experimentelle Features verwendet werden können.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Wenn `true` festgelegt ist, werden Codeschnipsel vom Sprachserver bereitgestellt.", diff --git a/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..6820b4978 100644 --- a/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Fehler beim Abrufen des Ergebnisses. Grund: {0}" } \ No newline at end of file diff --git a/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json index 91d03284d..263988854 100644 --- a/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/deu/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Fehler beim Abrufen des Projektkontexts. Grund: {0}", + "copilot.cppcontext.error": "Fehler beim Abrufen des #cpp Kontexts." } \ No newline at end of file diff --git a/Extension/i18n/esn/package.i18n.json b/Extension/i18n/esn/package.i18n.json index bfabca2ca..6cc031b81 100644 --- a/Extension/i18n/esn/package.i18n.json +++ b/Extension/i18n/esn/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Valor que debe usarse para la ruta de acceso de inclusión del sistema. Si se establece, invalida la ruta de acceso de inclusión del sistema adquirida a través de las opciones de configuración `compilerPath` y `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Controla si la extensión notificará los errores detectados en `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Valor que debe usarse en una configuración si no se establece `customConfigurationVariables`, o bien los valores que se deben insertar si se especifica `${default}` como clave en `customConfigurationVariables`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Establezca esta opción en `Insiders` para descargar e instalar automáticamente las compilaciones más recientes de Insiders para la extensión, que incluyen nuevas características y correcciones de errores.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Esta configuración está en desuso. Las extensiones de versión preliminar ya están disponibles a través de Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Valor que debe usarse en una configuración si no se especifica `dotConfig`, o bien los valores que se deben insertar si se especifica `${default}` en `dotConfig`.", "c_cpp.configuration.experimentalFeatures.description": "Controla si se pueden usar las características \"experimentales\".", "c_cpp.configuration.suggestSnippets.markdownDescription": "Si se establece en `true`, el servidor de lenguaje proporciona los fragmentos de código.", @@ -253,7 +251,7 @@ "c_cpp.configuration.hover.description": "Si se deshabilita, el servidor de lenguaje ya no proporciona detalles al mantener el puntero.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Habilita los servicios de integración para el [administrador de dependencias de vcpkgs](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Agrega rutas de acceso de inclusión de `nan` y `node-addon-api` cuando sean dependencias.", - "c_cpp.configuration.copilotHover.markdownDescription": "Si está `deshabilitado`, no aparecerá información de Copilot al mantener el puntero.", + "c_cpp.configuration.copilotHover.markdownDescription": "Si está `disabled`, no aparecerá información de Copilot al mantener el puntero.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Si es `true`, 'Cambiar nombre de símbolo' requerirá un identificador de C/C++ válido.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Si es `true`, la opción de autocompletar agregará `(` de forma automática después de las llamadas a funciones, en cuyo caso puede que también se agregue `)`, en función del valor de la configuración de `editor.autoClosingBrackets`.", "c_cpp.configuration.filesExclude.markdownDescription": "Configure patrones globales para excluir carpetas (y archivos si se cambia `#C_Cpp.exclusionPolicy#`). Son específicos de la extensión de C/C++ y se agregan a `#files.exclude#`, pero a diferencia de `#files.exclude#`, también se aplican a las rutas de acceso fuera de la carpeta del área de trabajo actual y no se quitan de la vista del Explorador. Obtenga información sobre [patrones globales](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", diff --git a/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..e8f41986b 100644 --- a/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Error al recuperar el resultado. Motivo: {0}" } \ No newline at end of file diff --git a/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json index 91d03284d..fdd31d1a0 100644 --- a/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/esn/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Error al recuperar el contexto del proyecto. Motivo: {0}", + "copilot.cppcontext.error": "Error al recuperar el contexto de #cpp." } \ No newline at end of file diff --git a/Extension/i18n/fra/package.i18n.json b/Extension/i18n/fra/package.i18n.json index 7bbb1097a..7e5f018d5 100644 --- a/Extension/i18n/fra/package.i18n.json +++ b/Extension/i18n/fra/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Valeur à utiliser pour le chemin d'inclusion système. Si cette option est définie, elle remplace le chemin d'inclusion système obtenu via les paramètres `compilerPath` et `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Contrôle si l'extension signale les erreurs détectées dans `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Valeur à utiliser dans une configuration si `customConfigurationVariables` n'est pas défini, ou valeurs à insérer si `${default}` est présent dans `customConfigurationVariables`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Définissez la valeur `Insiders` pour télécharger et installer automatiquement les dernières builds Insider de l’extension, qui incluent les fonctionnalités à venir et les correctifs de bogues.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Ce paramètre est déconseillé. Les extensions en version préliminaire sont désormais disponibles via marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "La valeur à utiliser dans une configuration si `dotConfig` n'est pas spécifié, ou la valeur à insérer si `${default}` est présent dans `dotConfig`.", "c_cpp.configuration.experimentalFeatures.description": "Contrôle si les fonctionnalités \"expérimentales\" sont utilisables.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Si la valeur est `true`, les extraits de code sont fournis par le serveur de langage.", @@ -421,8 +419,8 @@ "c_cpp.walkthrough.description": "Permet de découvrir la riche expérience de développement C++ de VS Code.", "c_cpp.walkthrough.set.up.title": "Configurer votre environnement C++", "c_cpp.walkthrough.activating.description": "Activation de l’extension C++ pour déterminer si votre environnement C++ a été configuré.\nActivation de l’extension...", - "c_cpp.walkthrough.no.compilers.windows.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Suivez les instructions de droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers ?%22walkthrough%22)", - "c_cpp.walkthrough.no.compilers.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Sélectionnez « Installer un compilateur C++ » pour installer un compilateur pour vous ou suivez les instructions à droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Installer un compilateur C++](command:C_Cpp.InstallCompiler ?%22walkthrough%22)\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers ?%22walkthrough%22)", + "c_cpp.walkthrough.no.compilers.windows.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Suivez les instructions de droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers?%22walkthrough%22)", + "c_cpp.walkthrough.no.compilers.description": "Nous n’avons pas trouvé de compilateur C++ sur votre machine, ce qui est nécessaire pour utiliser l’extension C++. Sélectionnez « Installer un compilateur C++ » pour installer un compilateur pour vous ou suivez les instructions à droite pour en installer un, puis cliquez sur « Rechercher mon nouveau compilateur » ci-dessous.\n[Installer un compilateur C++](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Rechercher mon nouveau compilateur](command:C_Cpp.RescanCompilers?%22walkthrough%22)", "c_cpp.walkthrough.compilers.found.description": "L’extension C++ fonctionne avec un compilateur C++. Sélectionnez-en un parmi ceux déjà présents sur votre ordinateur en cliquant sur le bouton ci-dessous.\n[Sélectionner mon compilateur par défaut](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)", "c_cpp.walkthrough.compilers.found.altText": "Image montrant la sélection d’une sélection rapide de compilateur par défaut et la liste des compilateurs trouvés sur l’ordinateur des utilisateurs, dont l’un est sélectionné.", "c_cpp.walkthrough.create.cpp.file.title": "Créer un fichier C++", diff --git a/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..6e2ea5dc7 100644 --- a/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Erreur lors de la récupération du résultat. Raison : {0}" } \ No newline at end of file diff --git a/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json index 91d03284d..852931cc3 100644 --- a/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/fra/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Erreur lors de la récupération du contexte du projet. Raison : {0}", + "copilot.cppcontext.error": "Erreur lors de la récupération du contexte de #cpp." } \ No newline at end of file diff --git a/Extension/i18n/ita/package.i18n.json b/Extension/i18n/ita/package.i18n.json index 1c56f046e..59c1fb0fb 100644 --- a/Extension/i18n/ita/package.i18n.json +++ b/Extension/i18n/ita/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Valore da usare per il percorso di inclusione di sistema. Se è impostato, esegue l'override del percorso di inclusione di sistema acquisito con le impostazioni `compilerPat` e `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Controlla se l'estensione segnala errori rilevati in `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Valore da usare in una configurazione se `customConfigurationVariables` non è impostato oppure valori da inserire se `${default}` è presente come chiave in `customConfigurationVariables`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Impostare su `Insiders` per scaricare e installare automaticamente le build Insider più recenti dell'estensione, che includono funzionalità in arrivo e correzioni di bug.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Questa impostazione è deprecata. Le versioni preliminari delle estensioni ora sono disponibili tramite il Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Il valore da usare in una configurazione se `dotConfig` non è specificato oppure il valore da inserire se `${default}` è presente in `dotConfig`.", "c_cpp.configuration.experimentalFeatures.description": "Controlla se le funzionalità \"sperimentali\" sono utilizzabili.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Se è `true`, i frammenti vengono forniti dal server di linguaggio.", diff --git a/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..10befe4ed 100644 --- a/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Errore durante il recupero del risultato. Motivo: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json index 91d03284d..4a7bcc892 100644 --- a/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/ita/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Errore durante il recupero del contesto del progetto. Motivo: {0}", + "copilot.cppcontext.error": "Errore durante il recupero del contesto #cpp." } \ No newline at end of file diff --git a/Extension/i18n/jpn/package.i18n.json b/Extension/i18n/jpn/package.i18n.json index 3e6704ee3..59610c88f 100644 --- a/Extension/i18n/jpn/package.i18n.json +++ b/Extension/i18n/jpn/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "システム インクルード パスに使用する値です。これを設定した場合、`compilerPath` および `compileCommands` の設定によって取得されるシステム インクルード パスが上書きされます。", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "拡張機能が、`c_cpp_properties.json` で検出されたエラーを報告するかどうかを制御します。", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "`customConfigurationVariables` が設定されていない場合に構成で使用される値、または `customConfigurationVariables` 内に `${default}` がキーとして存在する場合に挿入される値。", - "c_cpp.configuration.updateChannel.markdownDescription": "`Insider` に設定すると、拡張機能の最新の Insider ビルドが自動的にダウンロードされてインストールされます。これには、次期バージョンの機能とバグ修正が含まれています。", - "c_cpp.configuration.updateChannel.deprecationMessage": "この設定は非推奨です。プレリリース版の拡張機能は、Marketplace で利用できるようになりました。", "c_cpp.configuration.default.dotConfig.markdownDescription": "`dotConfig` が指定されていない場合に構成で使用される値、または `dotConfig` 内に `${default}` が存在する場合に挿入される値。", "c_cpp.configuration.experimentalFeatures.description": "\"experimental\" の機能を使用できるかどうかを制御します。", "c_cpp.configuration.suggestSnippets.markdownDescription": "`true` の場合、スニペットは言語サーバーによって提供されます。", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "ヘッダー ファイルを含めることはありません。", "c_cpp.languageModelTools.configuration.displayName": "C/C++ 構成", "c_cpp.languageModelTools.configuration.userDescription": "言語標準バージョンやターゲット プラットフォームなど、アクティブ C または C++ ファイルの構成。" -} \ No newline at end of file +} diff --git a/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..cff82fcdf 100644 --- a/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "結果の取得中にエラーが発生しました。理由: {0}" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json index 91d03284d..8821f6019 100644 --- a/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/jpn/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "プロジェクト コンテキストの取得中にエラーが発生しました。理由: {0}", + "copilot.cppcontext.error": "#cpp コンテキストの取得中にエラーが発生しました。" } \ No newline at end of file diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index 2c16b29f1..24b87ec42 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "시스템 포함 경로에 사용할 값입니다. 설정하는 경우 `compilerPath` 및 `compileCommands` 설정을 통해 얻은 시스템 포함 경로를 재정의합니다.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "확장이 `c_cpp_properties.json`에서 검색된 오류를 보고하도록 할지를 제어합니다.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "`customConfigurationVariables`가 설정되지 않은 경우 구성에서 사용할 값 또는 `${default}`가 `customConfigurationVariables`에 키로 존재하는 경우 삽입할 값입니다.", - "c_cpp.configuration.updateChannel.markdownDescription": "예정된 기능과 버그 수정을 포함하는 확장의 최신 참가자 빌드를 자동으로 다운로드하여 설치하려면 `Insiders`로 설정합니다.", - "c_cpp.configuration.updateChannel.deprecationMessage": "이 설정은 사용되지 않습니다. 이제 Marketplace를 통해 시험판 확장을 사용할 수 있습니다.", "c_cpp.configuration.default.dotConfig.markdownDescription": "`dotConfig`가 지정되지 않은 경우 구성에서 사용할 값 또는 `${default}`가 `dotConfig`에 있는 경우 삽입할 값입니다.", "c_cpp.configuration.experimentalFeatures.description": "\"실험적\" 기능을 사용할 수 있는지 여부를 제어합니다.", "c_cpp.configuration.suggestSnippets.markdownDescription": "`true`이면 언어 서버에서 코드 조각을 제공합니다.", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "헤더 파일을 포함하지 않습니다.", "c_cpp.languageModelTools.configuration.displayName": "C/C++ 구성", "c_cpp.languageModelTools.configuration.userDescription": "언어 표준 버전 및 대상 플랫폼과 같은 활성 C 또는 C++ 파일의 구성입니다." -} \ No newline at end of file +} diff --git a/Extension/i18n/kor/src/LanguageServer/client.i18n.json b/Extension/i18n/kor/src/LanguageServer/client.i18n.json index c44274113..2bac988ab 100644 --- a/Extension/i18n/kor/src/LanguageServer/client.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/client.i18n.json @@ -29,7 +29,7 @@ "unable.to.provide.configuration": "{0} 은(는) '{1}'에 대한 IntelliSense 구성 정보를 제공할 수 없습니다. '{2}' 구성의 설정이 대신 사용됩니다.", "config.not.found": "요청된 구성 이름을 찾을 수 없음: {0}", "unsupported.client": "지원되지 않는 클라이언트", - "timed.out": "{0} ms 후 시간이 초과되었습니다.", + "timed.out": "{0}ms 후 시간이 초과되었습니다.", "update.intellisense.time": "IntelliSense 시간(초) 업데이트: {0}", "configurations.received": "사용자 지정 구성이 수신됨:", "browse.configuration.received": "사용자 지정 찾아보기 구성이 수신됨: {0}", diff --git a/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..7fedf9ef0 100644 --- a/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "결과를 검색하는 동안 오류가 발생했습니다. 이유: {0}" } \ No newline at end of file diff --git a/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json index 91d03284d..0de8d223e 100644 --- a/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/kor/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "프로젝트 컨텍스트를 검색하는 동안 오류가 발생했습니다. 이유: {0}", + "copilot.cppcontext.error": "#cpp 컨텍스트를 검색하는 동안 오류가 발생했습니다." } \ No newline at end of file diff --git a/Extension/i18n/plk/package.i18n.json b/Extension/i18n/plk/package.i18n.json index 712597c86..476a46a8d 100644 --- a/Extension/i18n/plk/package.i18n.json +++ b/Extension/i18n/plk/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Wartość do użycia na potrzeby ścieżki dołączania systemu. Jeśli jest ustawiona, zastępuje systemową ścieżką dołączania, którą można uzyskać za pomocą ustawień `compilerPath` oraz `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Określa, czy rozszerzenie będzie raportować błędy wykryte w pliku `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Wartość do użycia w konfiguracji, jeśli element `customConfigurationVariables` nie został ustawiony, lub wartości do wstawienia, jeśli element `${default}` istnieje jako klucz w elemencie `customConfigurationVariables`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Ustaw na wartość `Insiders`, aby automatycznie pobierać i instalować najnowsze kompilacje niejawnych testerów rozszerzenia, które zawierają nadchodzące funkcje i poprawki błędów.", - "c_cpp.configuration.updateChannel.deprecationMessage": "To ustawienie jest przestarzałe. Rozszerzenia w wersji wstępnej są teraz dostępne za pomocą witryny Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Wartość do użycia w konfiguracji, jeśli element `dotConfig` nie został określony, lub wartość do wstawienia, jeśli element `${default}` istnieje w elemencie `dotConfig`.", "c_cpp.configuration.experimentalFeatures.description": "Określa, czy można używać funkcji „eksperymentalnych”.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Jeśli wartość to `true`, fragmenty kodu będą dostarczane przez serwer języka.", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "Nigdy nie uwzględniaj pliku nagłówkowego.", "c_cpp.languageModelTools.configuration.displayName": "Konfiguracja języka C/C++", "c_cpp.languageModelTools.configuration.userDescription": "Konfiguracja aktywnego pliku C lub C++, na przykład standardowa wersja języka i platforma docelowa." -} +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..27bc71f99 100644 --- a/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Błąd podczas pobierania wyniku. Przyczyna: {0}" } \ No newline at end of file diff --git a/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json index 91d03284d..63744964c 100644 --- a/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/plk/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Błąd podczas pobierania kontekstu projektu. Przyczyna: {0}", + "copilot.cppcontext.error": "Błąd podczas pobierania kontekstu #cpp." } \ No newline at end of file diff --git a/Extension/i18n/ptb/package.i18n.json b/Extension/i18n/ptb/package.i18n.json index 28e49bd28..a8701c45b 100644 --- a/Extension/i18n/ptb/package.i18n.json +++ b/Extension/i18n/ptb/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "O valor a ser usado para o sistema inclui o caminho. Se definido, ele substitui o sistema inclui o caminho adquirido através das configurações `compilerPath` e `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Controla se a extensão reportará erros detectados em `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "O valor a ser usado em uma configuração se `customConfigurationVariables` não estiver definido, ou os valores a serem inseridos se `${default}` estiver presente como uma chave em `customConfigurationVariables`.", - "c_cpp.configuration.updateChannel.markdownDescription": "Defina como `Insiders` para baixar e instalar automaticamente as compilações mais recentes dos Insiders da extensão, que incluem os próximos recursos e correções de bugs.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Esta configuração foi preterida. As extensões de pré-lançamento agora estão disponíveis por meio do Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "O valor a ser usado em uma configuração se `dotConfig` não for especificado, ou o valor a ser inserido se `${default}` estiver presente em `dotConfig`.", "c_cpp.configuration.experimentalFeatures.description": "Controla se os recursos \"experimentais\" podem ser usados.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Se `true`, os snippets são fornecidos pelo servidor de linguagem.", diff --git a/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..8f2aff41b 100644 --- a/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Erro ao recuperar o resultado. Motivo: {0}" } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json index 91d03284d..3cab80a14 100644 --- a/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/ptb/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Erro ao recuperar o contexto do projeto. Motivo: {0}", + "copilot.cppcontext.error": "Erro ao recuperar o contexto de #cpp rede." } \ No newline at end of file diff --git a/Extension/i18n/rus/package.i18n.json b/Extension/i18n/rus/package.i18n.json index 23b673f01..db07c8ab8 100644 --- a/Extension/i18n/rus/package.i18n.json +++ b/Extension/i18n/rus/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Значение, используемое для системного пути включения. Если этот параметр задан, он переопределяет системный путь включения, полученный с помощью параметров `compilerPath` и `compileCommands`.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Определяет, будет ли расширение сообщать об ошибках, обнаруженных в `c_cpp_properties.json`.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "Значение, используемое в конфигурации, если параметр `customConfigurationVariables` не установлен, или вставляемые значения, если в `customConfigurationVariables` присутствует значение `${default}` в качестве ключа.", - "c_cpp.configuration.updateChannel.markdownDescription": "Задайте значение `Insiders`, чтобы автоматически скачать и установить последние выпуски расширения для предварительной оценки, включающие в себя запланированные функции и исправления ошибок.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Этот параметр не рекомендуется. Предварительные версии расширений теперь доступны через Marketplace.", "c_cpp.configuration.default.dotConfig.markdownDescription": "Значение, используемое в конфигурации, если параметр `dotConfig` не указан, или вставляемое значение, если в `dotConfig` присутствует значение `${default}`.", "c_cpp.configuration.experimentalFeatures.description": "Определяет, можно ли использовать \"экспериментальные\" функции.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Если задано значение `true`, фрагменты кода предоставляются языковым сервером.", @@ -253,7 +251,7 @@ "c_cpp.configuration.hover.description": "Если этот параметр отключен, сведения при наведении курсора больше не предоставляются языковым сервером.", "c_cpp.configuration.vcpkg.enabled.markdownDescription": "Включите службы интеграции для [диспетчера зависимостей vcpkg](https://aka.ms/vcpkg/).", "c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "Добавьте пути включения из `nan` и `node-addon-api`, если они являются зависимостями.", - "c_cpp.configuration.copilotHover.markdownDescription": "Если параметр `отключен`, сведения о Copilot не будут отображаться при наведении указателя мыши.", + "c_cpp.configuration.copilotHover.markdownDescription": "Если параметр `disabled`, сведения о Copilot не будут отображаться при наведении указателя мыши.", "c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "Если этот параметр имеет значение `true`, для операции 'Переименование символа' потребуется указать допустимый идентификатор C/C++.", "c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "Если присвоено значение `true`, автозаполнение автоматически добавит `(` после вызовов функции, при этом также может добавляться `)` в зависимости от значения параметра `#editor.autoClosingBrackets#`.", "c_cpp.configuration.filesExclude.markdownDescription": "Настройка стандартных масок для исключения папок (и файлов, если внесено изменение в `#C_Cpp.exclusionPolicy#`). Они специфичны для расширения C/C++ и дополняют `#files.exclude#`, но в отличие от `#files.exclude#` они применяются также к путям вне папки используемой рабочей области и не удаляются из представления обозревателя. Дополнительные сведения о [шаблонах глобусов](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options).", @@ -450,4 +448,4 @@ "c_cpp.configuration.refactoring.includeHeader.never.description": "Никогда не включать файл заголовка.", "c_cpp.languageModelTools.configuration.displayName": "Конфигурация C/C++", "c_cpp.languageModelTools.configuration.userDescription": "Конфигурация активного файла C или C++, например, версия стандарта языка и целевая платформа." -} \ No newline at end of file +} diff --git a/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..11b870ea2 100644 --- a/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Ошибка при получении результата. Причина: {0}" } \ No newline at end of file diff --git a/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json index 91d03284d..bed351a3f 100644 --- a/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/rus/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Ошибка при получении контекста проекта. Причина: {0}", + "copilot.cppcontext.error": "Ошибка при получении контекста #cpp данных." } \ No newline at end of file diff --git a/Extension/i18n/trk/package.i18n.json b/Extension/i18n/trk/package.i18n.json index 0db522a1a..3157599ec 100644 --- a/Extension/i18n/trk/package.i18n.json +++ b/Extension/i18n/trk/package.i18n.json @@ -238,8 +238,6 @@ "c_cpp.configuration.default.systemIncludePath.markdownDescription": "Sistem ekleme yolu için kullanılacak değer. Ayarlanırsa `compilerPath` ve `compileCommands` ayarları aracılığıyla elde edilen sistem ekleme yolunu geçersiz kılar.", "c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "Uzantının `c_cpp_properties.json` dosyasında algılanan hataları bildirip bildirmeyeceğini denetler.", "c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "`customConfigurationVariables` ayarlanmamışsa bir yapılandırmada kullanılacak değer veya `customConfigurationVariables` içinde anahtar olarak `${default}` varsa eklenecek değerler.", - "c_cpp.configuration.updateChannel.markdownDescription": "Uzantının, gelecek özellikleri ve hata düzeltmelerini de içeren en son Insider üyeleri derlemelerini otomatik olarak indirip yüklemek için `Insider üyeleri` olarak ayarlayın.", - "c_cpp.configuration.updateChannel.deprecationMessage": "Bu ayar kullanım dışı. Yayın öncesi uzantılar artık Market üzerinden kullanılabilir.", "c_cpp.configuration.default.dotConfig.markdownDescription": "`dotConfig` belirtilmemişse bir yapılandırmada kullanılacak değer veya `dotConfig` içinde `${default}` varsa eklenecek değerler.", "c_cpp.configuration.experimentalFeatures.description": "\"Deneysel\" özelliklerin kullanılabilir olup olmadığını denetler.", "c_cpp.configuration.suggestSnippets.markdownDescription": "Değer `true` ise, parçacıklar dil sunucusu tarafından sağlanır.", diff --git a/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json b/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json index a0179ba56..c9a4b2e7d 100644 --- a/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/copilotProviders.i18n.json @@ -4,5 +4,5 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.relatedfilesprovider.error": "Error while retrieving result. Reason: {0}" + "copilot.relatedfilesprovider.error": "Sonuç alınırken hata oluştu. Neden: {0}" } \ No newline at end of file diff --git a/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json b/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json index 91d03284d..277f13d36 100644 --- a/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json +++ b/Extension/i18n/trk/src/LanguageServer/lmTool.i18n.json @@ -4,6 +4,6 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "copilot.projectcontext.error": "Error while retrieving the project context. Reason: {0}", - "copilot.cppcontext.error": "Error while retrieving the #cpp context." + "copilot.projectcontext.error": "Proje bağlamı alınırken hata oluştu. Neden: {0}", + "copilot.cppcontext.error": "İçerik bağlamı alınırken #cpp oluştu." } \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index be4ac4563..ac14715c5 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -18,4 +18,4 @@ "walkthrough.windows.text3": "Windows'tan Linux'u hedefliyorsanız {0}‘a bakın. Veya, {1}.", "walkthrough.windows.link.title1": "VS Code'da Linux için C++’yı ve Windows Alt Sistemi’ni (WSL) kullanma", "walkthrough.windows.link.title2": "MinGW ile Windows’a GCC'yi yükleme" -} +} \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index be4ac4563..ac14715c5 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -18,4 +18,4 @@ "walkthrough.windows.text3": "Windows'tan Linux'u hedefliyorsanız {0}‘a bakın. Veya, {1}.", "walkthrough.windows.link.title1": "VS Code'da Linux için C++’yı ve Windows Alt Sistemi’ni (WSL) kullanma", "walkthrough.windows.link.title2": "MinGW ile Windows’a GCC'yi yükleme" -} +} \ No newline at end of file diff --git a/Extension/package.json b/Extension/package.json index beb9757a5..c8f354ce5 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -2,7 +2,7 @@ "name": "cpptools", "displayName": "C/C++", "description": "C/C++ IntelliSense, debugging, and code browsing.", - "version": "1.23.4-main", + "version": "1.24.4-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", @@ -23,6 +23,9 @@ }, "homepage": "https://github.com/Microsoft/vscode-cpptools", "qna": "https://github.com/Microsoft/vscode-cpptools/issues", + "extensionKind": [ + "workspace" + ], "keywords": [ "C", "C++", @@ -894,6 +897,37 @@ "markdownDescription": "%c_cpp.configuration.default.dotConfig.markdownDescription%", "scope": "resource" }, + "C_Cpp.default.recursiveIncludes.reduce": { + "type": "string", + "enum": [ + "always", + "never", + "default" + ], + "default": "default", + "markdownDescription": "%c_cpp.configuration.default.recursiveIncludes.reduce.markdownDescription%", + "scope": "resource" + }, + "C_Cpp.default.recursiveIncludes.priority": { + "type": "string", + "enum": [ + "beforeSystemIncludes", + "afterSystemIncludes" + ], + "default": "afterSystemIncludes", + "markdownDescription": "%c_cpp.configuration.default.recursiveIncludes.priority.markdownDescription%", + "scope": "resource" + }, + "C_Cpp.default.recursiveIncludes.order": { + "type": "string", + "enum": [ + "depthFirst", + "breadthFirst" + ], + "default": "depthFirst", + "markdownDescription": "%c_cpp.configuration.default.recursiveIncludes.order.markdownDescription%", + "scope": "resource" + }, "C_Cpp.configurationWarnings": { "type": "string", "enum": [ @@ -1861,6 +1895,7 @@ "bugprone-assert-side-effect", "bugprone-assignment-in-if-condition", "bugprone-bad-signal-to-kill-thread", + "bugprone-bitwise-pointer-cast", "bugprone-bool-pointer-implicit-conversion", "bugprone-branch-clone", "bugprone-casting-through-void", @@ -1881,6 +1916,7 @@ "bugprone-inc-dec-in-conditions", "bugprone-incorrect-*", "bugprone-incorrect-enable-if", + "bugprone-incorrect-enable-shared-from-this", "bugprone-incorrect-roundings", "bugprone-infinite-loop", "bugprone-integer-division", @@ -1899,6 +1935,7 @@ "bugprone-narrowing-conversions", "bugprone-no-escape", "bugprone-non-zero-enum-to-bool-conversion", + "bugprone-nondeterministic-pointer-iteration-order", "bugprone-not-null-terminated-result", "bugprone-optional-value-conversion", "bugprone-parent-virtual-call", @@ -1932,6 +1969,7 @@ "bugprone-suspicious-stringview-data-usage", "bugprone-swapped-arguments", "bugprone-switch-missing-default-case", + "bugprone-tagged-union-member-count", "bugprone-terminating-continue", "bugprone-throw-keyword-missing", "bugprone-too-small-loop-variable", @@ -2323,6 +2361,7 @@ "modernize-use-equals-*", "modernize-use-equals-default", "modernize-use-equals-delete", + "modernize-use-integer-sign-comparison", "modernize-use-nodiscard", "modernize-use-noexcept", "modernize-use-nullptr", @@ -2382,6 +2421,7 @@ "portability-restrict-system-includes", "portability-simd-intrinsics", "portability-std-allocator-const", + "portability-template-virtual-member-function", "readability-*", "readability-avoid-*", "readability-avoid-const-params-in-decls", @@ -2515,6 +2555,7 @@ "bugprone-assert-side-effect", "bugprone-assignment-in-if-condition", "bugprone-bad-signal-to-kill-thread", + "bugprone-bitwise-pointer-cast", "bugprone-bool-pointer-implicit-conversion", "bugprone-branch-clone", "bugprone-casting-through-void", @@ -2535,6 +2576,7 @@ "bugprone-inc-dec-in-conditions", "bugprone-incorrect-*", "bugprone-incorrect-enable-if", + "bugprone-incorrect-enable-shared-from-this", "bugprone-incorrect-roundings", "bugprone-infinite-loop", "bugprone-integer-division", @@ -2553,6 +2595,7 @@ "bugprone-narrowing-conversions", "bugprone-no-escape", "bugprone-non-zero-enum-to-bool-conversion", + "bugprone-nondeterministic-pointer-iteration-order", "bugprone-not-null-terminated-result", "bugprone-optional-value-conversion", "bugprone-parent-virtual-call", @@ -2586,6 +2629,7 @@ "bugprone-suspicious-stringview-data-usage", "bugprone-swapped-arguments", "bugprone-switch-missing-default-case", + "bugprone-tagged-union-member-count", "bugprone-terminating-continue", "bugprone-throw-keyword-missing", "bugprone-too-small-loop-variable", @@ -2977,6 +3021,7 @@ "modernize-use-equals-*", "modernize-use-equals-default", "modernize-use-equals-delete", + "modernize-use-integer-sign-comparison", "modernize-use-nodiscard", "modernize-use-noexcept", "modernize-use-nullptr", @@ -3036,6 +3081,7 @@ "portability-restrict-system-includes", "portability-simd-intrinsics", "portability-std-allocator-const", + "portability-template-virtual-member-function", "readability-*", "readability-avoid-*", "readability-avoid-const-params-in-decls", @@ -3294,17 +3340,6 @@ "markdownDescription": "%c_cpp.configuration.preferredPathSeparator.markdownDescription%", "scope": "machine-overridable" }, - "C_Cpp.updateChannel": { - "type": "string", - "enum": [ - "Default", - "Insiders" - ], - "default": "Default", - "markdownDescription": "%c_cpp.configuration.updateChannel.markdownDescription%", - "scope": "application", - "deprecationMessage": "%c_cpp.configuration.updateChannel.deprecationMessage%" - }, "C_Cpp.experimentalFeatures": { "type": "string", "enum": [ @@ -3335,7 +3370,8 @@ "type": "string", "enum": [ "default", - "disabled" + "disabled", + "enabled" ], "default": "default", "markdownDescription": "%c_cpp.configuration.copilotHover.markdownDescription%", @@ -3744,7 +3780,7 @@ }, "svdPath": { "type": "string", - "description": "%c_cpp.debuggers.cppdbg.visualizerFile.description", + "description": "%c_cpp.debuggers.cppdbg.svdPath.description%", "default": "" }, "showDisplayString": { @@ -6542,7 +6578,7 @@ "build": "yarn prep:dts && echo [Building TypeScript code] && tsc --build tsconfig.json" }, "devDependencies": { - "@octokit/rest": "^20.1.1", + "@octokit/rest": "^21.1.1", "@types/glob": "^7.2.0", "@types/mocha": "^10.0.6", "@types/node": "^20.14.2", @@ -6576,7 +6612,6 @@ "gulp-typescript": "^5.0.1", "minimist": "^1.2.8", "mocha": "^10.4.0", - "parse-git-config": "^3.0.0", "parse5": "^7.1.2", "parse5-traverse": "^1.0.3", "proxyquire": "^2.1.3", @@ -6590,6 +6625,7 @@ "xml2js": "^0.6.2" }, "dependencies": { + "@github/copilot-language-server": "^1.266.0", "@vscode/extension-telemetry": "^0.9.6", "chokidar": "^3.6.0", "comment-json": "^4.2.3", diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 67a3bcb3d..6d9d9d2b5 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -682,7 +682,7 @@ ] }, "c_cpp.configuration.default.mergeConfigurations.markdownDescription": { - "message": "Set to `true` to merge include paths, defines, and forced includes with those from a configuration provider.", + "message": "The value to use in a configuration if `mergeConfigurations` is either not specified or set to `${default}`.", "comment": [ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] @@ -723,15 +723,26 @@ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] }, - "c_cpp.configuration.updateChannel.markdownDescription": { - "message": "Set to `Insiders` to automatically download and install the latest Insiders builds of the extension, which include upcoming features and bug fixes.", + "c_cpp.configuration.default.dotConfig.markdownDescription": { + "message": "The value to use in a configuration if `dotConfig` is either not specified or set to `${default}`.", "comment": [ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] }, - "c_cpp.configuration.updateChannel.deprecationMessage": "This setting is deprecated. Pre-release extensions are now available via the Marketplace.", - "c_cpp.configuration.default.dotConfig.markdownDescription": { - "message": "The value to use in a configuration if `dotConfig` is not specified, or the value to insert if `${default}` is present in `dotConfig`.", + "c_cpp.configuration.default.recursiveIncludes.reduce.markdownDescription": { + "message": "The value to use in a configuration if `recursiveIncludes.reduce` is either not specified or set to `${default}`.", + "comment": [ + "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." + ] + }, + "c_cpp.configuration.default.recursiveIncludes.priority.markdownDescription": { + "message": "The value to use in a configuration if `recursiveIncludes.priority` is either not specified or set to `${default}`.", + "comment": [ + "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." + ] + }, + "c_cpp.configuration.default.recursiveIncludes.order.markdownDescription": { + "message": "The value to use in a configuration if `recursiveIncludes.order` is either not specified or set to `${default}`.", "comment": [ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] diff --git a/Extension/src/Debugger/extension.ts b/Extension/src/Debugger/extension.ts index 81770ce34..f784c1382 100644 --- a/Extension/src/Debugger/extension.ts +++ b/Extension/src/Debugger/extension.ts @@ -15,6 +15,7 @@ import { TargetLeafNode, setActiveSshTarget } from '../SSH/TargetsView/targetNod import { sshCommandToConfig } from '../SSH/sshCommandToConfig'; import { getSshConfiguration, getSshConfigurationFiles, parseFailures, writeSshConfiguration } from '../SSH/sshHosts'; import { pathAccessible } from '../common'; +import { instrument } from '../instrumentation'; import { getSshChannel } from '../logger'; import { AttachItemsProvider, AttachPicker, RemoteAttachPicker } from './attachToProcess'; import { ConfigurationAssetProviderFactory, ConfigurationSnippetProvider, DebugConfigurationProvider, IConfigurationAssetProvider } from './configurationProvider'; @@ -46,10 +47,10 @@ export async function initialize(context: vscode.ExtensionContext): Promise enableSshTargetsViewAndRun(addSshTargetImpl))); disposables.push(vscode.commands.registerCommand('C_Cpp.removeSshTarget', (node?: BaseNode) => enableSshTargetsViewAndRun(removeSshTargetImpl, node))); disposables.push(vscode.commands.registerCommand(refreshCppSshTargetsViewCmd, (node?: BaseNode) => enableSshTargetsViewAndRun((node?: BaseNode) => sshTargetsProvider.refresh(node), node))); diff --git a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts index 05a5ecb8c..8a0038b37 100644 --- a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts +++ b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts @@ -5,6 +5,8 @@ import * as vscode from 'vscode'; import { Position, ResponseError } from 'vscode-languageclient'; import * as nls from 'vscode-nls'; +import { modelSelector } from '../../constants'; +import * as telemetry from '../../telemetry'; import { DefaultClient, GetCopilotHoverInfoParams, GetCopilotHoverInfoRequest, GetCopilotHoverInfoResult } from '../client'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; import { CppSettings } from '../settings'; @@ -31,10 +33,22 @@ export class CopilotHoverProvider implements vscode.HoverProvider { await this.client.ready; const settings: CppSettings = new CppSettings(vscode.workspace.getWorkspaceFolder(document.uri)?.uri); - if (settings.hover === "disabled") { + if (settings.hover === "disabled" || + settings.copilotHover === "disabled" || + (settings.copilotHover === "default" && await telemetry.isFlightEnabled("CppCopilotHoverDisabled"))) { + // Either disabled by the user or by the flight. return undefined; } + // Ensure the user has access to Copilot. + const vscodelm = (vscode as any).lm; + if (vscodelm) { + const [model] = await vscodelm.selectChatModels(modelSelector); + if (!model) { + return undefined; + } + } + const newHover = this.isNewHover(document, position); if (newHover) { this.reset(); diff --git a/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts b/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts index 82bcf39ef..6c6d39f07 100644 --- a/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts +++ b/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts @@ -224,7 +224,7 @@ export class CallHierarchyProvider implements vscode.CallHierarchyProvider { let response: CallHierarchyCallsItemResult | undefined; let cancelled: boolean = false; try { - await this.client.languageClient.sendRequest(CallHierarchyCallsFromRequest, params, token); + response = await this.client.languageClient.sendRequest(CallHierarchyCallsFromRequest, params, token); } catch (e: any) { cancelled = e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled); if (!cancelled) { diff --git a/Extension/src/LanguageServer/Providers/workspaceSymbolProvider.ts b/Extension/src/LanguageServer/Providers/workspaceSymbolProvider.ts index 041c7a259..92a53225f 100644 --- a/Extension/src/LanguageServer/Providers/workspaceSymbolProvider.ts +++ b/Extension/src/LanguageServer/Providers/workspaceSymbolProvider.ts @@ -4,7 +4,6 @@ * ------------------------------------------------------------------------------------------ */ import * as vscode from 'vscode'; import { ResponseError } from 'vscode-languageclient'; -import { isExperimentEnabled } from '../../telemetry'; import { DefaultClient, GetSymbolInfoRequest, LocalizeSymbolInformation, SymbolScope, WorkspaceSymbolParams } from '../client'; import { getLocalizedString, getLocalizedSymbolScope } from '../localization'; import { RequestCancelled, ServerCancelled } from '../protocolFilter'; @@ -23,8 +22,7 @@ export class WorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider { } const params: WorkspaceSymbolParams = { - query: query, - experimentEnabled: await isExperimentEnabled('CppTools1') + query: query }; let symbols: LocalizeSymbolInformation[]; diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 7a840a795..807e76201 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -22,6 +22,7 @@ import { SemanticToken, SemanticTokensProvider } from './Providers/semanticToken import { WorkspaceSymbolProvider } from './Providers/workspaceSymbolProvider'; // End provider imports +import { CodeSnippet, Trait } from '@github/copilot-language-server'; import { ok } from 'assert'; import * as fs from 'fs'; import * as os from 'os'; @@ -38,6 +39,7 @@ import { logAndReturn } from '../Utility/Async/returns'; import { is } from '../Utility/System/guards'; import * as util from '../common'; import { isWindows } from '../constants'; +import { instrument, isInstrumentationEnabled } from '../instrumentation'; import { DebugProtocolParams, Logger, ShowWarningParams, getDiagnosticsChannel, getOutputChannelLogger, logDebugProtocol, logLocalized, showWarning } from '../logger'; import { localizedStringCount, lookupString } from '../nativeStrings'; import { SessionState } from '../sessionState'; @@ -54,6 +56,7 @@ import { } from './codeAnalysis'; import { Location, TextEdit, WorkspaceEdit } from './commonTypes'; import * as configs from './configurations'; +import { CopilotCompletionContextFeatures, CopilotCompletionContextProvider } from './copilotCompletionContextProvider'; import { DataBinding } from './dataBinding'; import { cachedEditorConfigSettings, getEditorConfigSettings } from './editorConfig'; import { CppSourceStr, clients, configPrefix, updateLanguageConfigurations, usesCrashHandler, watchForCrashes } from './extension'; @@ -307,7 +310,6 @@ export interface GetDocumentSymbolRequestParams { export interface WorkspaceSymbolParams extends WorkspaceFolderParams { query: string; - experimentEnabled: boolean; } export enum SymbolScope { @@ -552,19 +554,7 @@ export interface ChatContextResult { compiler: string; targetPlatform: string; targetArchitecture: string; -} - -export interface FileContextResult { - compilerArguments: string[]; -} - -export interface ProjectContextResult { - language: string; - standardVersion: string; - compiler: string; - targetPlatform: string; - targetArchitecture: string; - fileContext: FileContextResult; + usedTestFrameworks: string[]; } interface FolderFilesEncodingChanged { @@ -577,6 +567,22 @@ interface FilesEncodingChanged { foldersFilesEncoding: FolderFilesEncodingChanged[]; } +export interface CopilotCompletionContextResult { + requestId: number; + areSnippetsMissing: boolean; + snippets: CodeSnippet[]; + traits: Trait[]; + sourceFileUri: string; + caretOffset: number; + featureFlag: CopilotCompletionContextFeatures; +} + +export interface CopilotCompletionContextParams { + uri: string; + caretOffset: number; + featureFlag: CopilotCompletionContextFeatures; +} + // Requests const PreInitializationRequest: RequestType = new RequestType('cpptools/preinitialize'); const InitializationRequest: RequestType = new RequestType('cpptools/initialize'); @@ -598,7 +604,7 @@ const GenerateDoxygenCommentRequest: RequestType = new RequestType('cpptools/didChangeCppProperties'); const IncludesRequest: RequestType = new RequestType('cpptools/getIncludes'); const CppContextRequest: RequestType = new RequestType('cpptools/getChatContext'); -const ProjectContextRequest: RequestType = new RequestType('cpptools/getProjectContext'); +const CopilotCompletionContextRequest: RequestType = new RequestType('cpptools/getCompletionContext'); // Notifications to the server const DidOpenNotification: NotificationType = new NotificationType('textDocument/didOpen'); @@ -832,11 +838,21 @@ export interface Client { getCopilotHoverProvider(): CopilotHoverProvider | undefined; getIncludes(uri: vscode.Uri, maxDepth: number): Promise; getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise; - getProjectContext(uri: vscode.Uri): Promise; filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void; + getCompletionContext(fileName: vscode.Uri, caretOffset: number, featureFlag: CopilotCompletionContextFeatures, token: vscode.CancellationToken): Promise; } export function createClient(workspaceFolder?: vscode.WorkspaceFolder): Client { + if (isInstrumentationEnabled) { + instrument(vscode.languages, { name: "languages" }); + instrument(vscode.window, { name: "window" }); + instrument(vscode.workspace, { name: "workspace" }); + instrument(vscode.commands, { name: "commands" }); + instrument(vscode.debug, { name: "debug" }); + instrument(vscode.env, { name: "env" }); + instrument(vscode.extensions, { name: "extensions" }); + return instrument(new DefaultClient(workspaceFolder), { ignore: ["enqueue", "onInterval", "logTelemetry"] }); + } return new DefaultClient(workspaceFolder); } @@ -868,6 +884,7 @@ export class DefaultClient implements Client { private configurationProvider?: string; private hoverProvider: HoverProvider | undefined; private copilotHoverProvider: CopilotHoverProvider | undefined; + private copilotCompletionProvider?: CopilotCompletionContextProvider; public lastCustomBrowseConfiguration: PersistentFolderState | undefined; public lastCustomBrowseConfigurationProviderId: PersistentFolderState | undefined; @@ -1136,10 +1153,9 @@ export class DefaultClient implements Client { return ui.ShowConfigureIntelliSenseButton(false, this, ConfigurationType.CompileCommands, showButtonSender); } else { action = "select compiler"; - const newCompiler: string = util.isCl(paths[index]) ? "cl.exe" : paths[index]; - + let newCompiler: string = util.isCl(paths[index]) ? "cl.exe" : paths[index]; + newCompiler = newCompiler.replace(/[\\/]/g, preferredPathSeparator); settings.defaultCompilerPath = newCompiler; - settings.defaultCompilerPath = settings.defaultCompilerPath.replace(/[\\/]/g, preferredPathSeparator); await this.configuration.updateCompilerPathIfSet(newCompiler); void SessionState.trustedCompilerFound.set(true); } @@ -1315,37 +1331,37 @@ export class DefaultClient implements Client { initializedClientCount = 0; this.inlayHintsProvider = new InlayHintsProvider(); this.hoverProvider = new HoverProvider(this); + this.copilotHoverProvider = new CopilotHoverProvider(this); + + this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, instrument(this.copilotHoverProvider))); + this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, instrument(this.hoverProvider))); + this.disposables.push(vscode.languages.registerInlayHintsProvider(util.documentSelector, instrument(this.inlayHintsProvider))); + this.disposables.push(vscode.languages.registerRenameProvider(util.documentSelector, instrument(new RenameProvider(this)))); + this.disposables.push(vscode.languages.registerReferenceProvider(util.documentSelector, instrument(new FindAllReferencesProvider(this)))); + this.disposables.push(vscode.languages.registerWorkspaceSymbolProvider(instrument(new WorkspaceSymbolProvider(this)))); + this.disposables.push(vscode.languages.registerDocumentSymbolProvider(util.documentSelector, instrument(new DocumentSymbolProvider()), undefined)); + this.disposables.push(vscode.languages.registerCodeActionsProvider(util.documentSelector, instrument(new CodeActionProvider(this)), undefined)); + this.disposables.push(vscode.languages.registerCallHierarchyProvider(util.documentSelector, instrument(new CallHierarchyProvider(this)))); - const settings: CppSettings = new CppSettings(); - this.currentCopilotHoverEnabled = new PersistentWorkspaceState("cpp.copilotHover", settings.copilotHover); - if (settings.copilotHover === "enabled" || - (settings.copilotHover === "default" && await telemetry.isFlightEnabled("CppCopilotHover"))) { - this.copilotHoverProvider = new CopilotHoverProvider(this); - this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, this.copilotHoverProvider)); - } - this.disposables.push(vscode.languages.registerHoverProvider(util.documentSelector, this.hoverProvider)); - this.disposables.push(vscode.languages.registerInlayHintsProvider(util.documentSelector, this.inlayHintsProvider)); - this.disposables.push(vscode.languages.registerRenameProvider(util.documentSelector, new RenameProvider(this))); - this.disposables.push(vscode.languages.registerReferenceProvider(util.documentSelector, new FindAllReferencesProvider(this))); - this.disposables.push(vscode.languages.registerWorkspaceSymbolProvider(new WorkspaceSymbolProvider(this))); - this.disposables.push(vscode.languages.registerDocumentSymbolProvider(util.documentSelector, new DocumentSymbolProvider(), undefined)); - this.disposables.push(vscode.languages.registerCodeActionsProvider(util.documentSelector, new CodeActionProvider(this), undefined)); - this.disposables.push(vscode.languages.registerCallHierarchyProvider(util.documentSelector, new CallHierarchyProvider(this))); // Because formatting and codeFolding can vary per folder, we need to register these providers once // and leave them registered. The decision of whether to provide results needs to be made on a per folder basis, // within the providers themselves. - this.documentFormattingProviderDisposable = vscode.languages.registerDocumentFormattingEditProvider(util.documentSelector, new DocumentFormattingEditProvider(this)); - this.formattingRangeProviderDisposable = vscode.languages.registerDocumentRangeFormattingEditProvider(util.documentSelector, new DocumentRangeFormattingEditProvider(this)); - this.onTypeFormattingProviderDisposable = vscode.languages.registerOnTypeFormattingEditProvider(util.documentSelector, new OnTypeFormattingEditProvider(this), ";", "}", "\n"); + this.documentFormattingProviderDisposable = vscode.languages.registerDocumentFormattingEditProvider(util.documentSelector, instrument(new DocumentFormattingEditProvider(this))); + this.formattingRangeProviderDisposable = vscode.languages.registerDocumentRangeFormattingEditProvider(util.documentSelector, instrument(new DocumentRangeFormattingEditProvider(this))); + this.onTypeFormattingProviderDisposable = vscode.languages.registerOnTypeFormattingEditProvider(util.documentSelector, instrument(new OnTypeFormattingEditProvider(this)), ";", "}", "\n"); this.codeFoldingProvider = new FoldingRangeProvider(this); - this.codeFoldingProviderDisposable = vscode.languages.registerFoldingRangeProvider(util.documentSelector, this.codeFoldingProvider); + this.codeFoldingProviderDisposable = vscode.languages.registerFoldingRangeProvider(util.documentSelector, instrument(this.codeFoldingProvider)); + const settings: CppSettings = new CppSettings(); if (settings.isEnhancedColorizationEnabled && semanticTokensLegend) { - this.semanticTokensProvider = new SemanticTokensProvider(); + this.semanticTokensProvider = instrument(new SemanticTokensProvider()); this.semanticTokensProviderDisposable = vscode.languages.registerDocumentSemanticTokensProvider(util.documentSelector, this.semanticTokensProvider, semanticTokensLegend); } + this.copilotCompletionProvider = await CopilotCompletionContextProvider.Create(); + this.disposables.push(this.copilotCompletionProvider); + // Listen for messages from the language server. this.registerNotifications(); @@ -1722,8 +1738,7 @@ export class DefaultClient implements Client { const oldLoggingLevelLogged: boolean = this.loggingLevel > 1; this.loggingLevel = util.getNumericLoggingLevel(changedSettings.loggingLevel); if (oldLoggingLevelLogged || this.loggingLevel > 1) { - const out: Logger = getOutputChannelLogger(); - out.appendLine(localize({ key: "loggingLevel.changed", comment: ["{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'"] }, "{0} has changed to: {1}", "loggingLevel", changedSettings.loggingLevel)); + getOutputChannelLogger().appendLine(localize({ key: "loggingLevel.changed", comment: ["{0} is the setting name 'loggingLevel', {1} is a string value such as 'Debug'"] }, "{0} has changed to: {1}", "loggingLevel", changedSettings.loggingLevel)); } } const settings: CppSettings = new CppSettings(); @@ -1756,6 +1771,10 @@ export class DefaultClient implements Client { }); } + if (changedSettings['codeAnalysis.runAutomatically'] !== undefined || changedSettings['codeAnalysis.clangTidy.enabled'] !== undefined) { + ui.refreshCodeAnalysisText(this.model.isRunningCodeAnalysis.Value); + } + const showButtonSender: string = "settingsChanged"; if (changedSettings["default.configurationProvider"] !== undefined) { void ui.ShowConfigureIntelliSenseButton(false, this, ConfigurationType.ConfigProvider, showButtonSender); @@ -1842,7 +1861,8 @@ export class DefaultClient implements Client { public onDidChangeTextDocument(textDocumentChangeEvent: vscode.TextDocumentChangeEvent): void { if (util.isCpp(textDocumentChangeEvent.document)) { // If any file has changed, we need to abort the current rename operation - if (workspaceReferences.renamePending) { + if (workspaceReferences !== undefined // Occurs when a document changes before cpptools starts. + && workspaceReferences.renamePending) { workspaceReferences.cancelCurrentReferenceRequest(refs.CancellationSender.User); } @@ -1877,6 +1897,7 @@ export class DefaultClient implements Client { if (diagnosticsCollectionIntelliSense) { diagnosticsCollectionIntelliSense.delete(document.uri); } + this.copilotCompletionProvider?.removeFile(uri); openFileVersions.delete(uri); } @@ -2258,7 +2279,6 @@ export class DefaultClient implements Client { return util.extractCompilerPathAndArgs(!!settings.legacyCompilerArgsBehavior, this.configuration.CurrentConfiguration?.compilerPath, this.configuration.CurrentConfiguration?.compilerArgs); - } public async getVcpkgInstalled(): Promise { @@ -2314,12 +2334,6 @@ export class DefaultClient implements Client { return this.languageClient.sendRequest(IncludesRequest, params); } - public async getProjectContext(uri: vscode.Uri): Promise { - const params: TextDocumentIdentifier = { uri: uri.toString() }; - await this.ready; - return this.languageClient.sendRequest(ProjectContextRequest, params); - } - public async getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise { const params: TextDocumentIdentifier = { uri: uri.toString() }; await withCancellation(this.ready, token); @@ -2327,6 +2341,14 @@ export class DefaultClient implements Client { () => this.languageClient.sendRequest(CppContextRequest, params, token), token); } + public async getCompletionContext(file: vscode.Uri, caretOffset: number, featureFlag: CopilotCompletionContextFeatures, + token: vscode.CancellationToken): Promise { + await withCancellation(this.ready, token); + return DefaultClient.withLspCancellationHandling( + () => this.languageClient.sendRequest(CopilotCompletionContextRequest, + { uri: file.toString(), caretOffset, featureFlag }, token), token); + } + /** * a Promise that can be awaited to know when it's ok to proceed. * @@ -2730,12 +2752,7 @@ export class DefaultClient implements Client { const status: IntelliSenseStatus = { status: Status.IntelliSenseCompiling }; testHook.updateStatus(status); } else if (message.endsWith("IntelliSense done")) { - const settings: CppSettings = new CppSettings(); - if (util.getNumericLoggingLevel(settings.loggingLevel) >= 6) { - const out: Logger = getOutputChannelLogger(); - const duration: number = Date.now() - timeStamp; - out.appendLine(localize("update.intellisense.time", "Update IntelliSense time (sec): {0}", duration / 1000)); - } + getOutputChannelLogger().appendLineAtLevel(6, localize("update.intellisense.time", "Update IntelliSense time (sec): {0}", (Date.now() - timeStamp) / 1000)); this.model.isUpdatingIntelliSense.Value = false; const status: IntelliSenseStatus = { status: Status.IntelliSenseReady }; testHook.updateStatus(status); @@ -2914,16 +2931,22 @@ export class DefaultClient implements Client { const settings: CppSettings = new CppSettings(this.RootUri); if (settings.useVcFormat(editor.document)) { const editorConfigSettings: any = getEditorConfigSettings(editor.document.uri.fsPath); - if (editorConfigSettings.indent_style === "space" || editorConfigSettings.indent_style === "tab") { - editor.options.insertSpaces = editorConfigSettings.indent_style === "space"; + if (editorConfigSettings.indent_style === "tab") { + editor.options.insertSpaces = false; + } else if (editorConfigSettings.indent_style === "space") { + editor.options.insertSpaces = true; + } + if (editorConfigSettings.indent_size !== undefined) { if (editorConfigSettings.indent_size === "tab") { - if (!editorConfigSettings.tab_width !== undefined) { - editor.options.tabSize = editorConfigSettings.tab_width; - } - } else if (editorConfigSettings.indent_size !== undefined) { + editor.options.indentSize = "tabSize"; + } else { + editor.options.indentSize = editorConfigSettings.indent_size; editor.options.tabSize = editorConfigSettings.indent_size; } } + if (editorConfigSettings.tab_width !== undefined) { + editor.options.tabSize = editorConfigSettings.tab_width; + } if (editorConfigSettings.end_of_line !== undefined) { void editor.edit((edit) => { edit.setEndOfLine(editorConfigSettings.end_of_line === "lf" ? vscode.EndOfLine.LF : vscode.EndOfLine.CRLF); @@ -3161,11 +3184,8 @@ export class DefaultClient implements Client { return; } - const settings: CppSettings = new CppSettings(); const out: Logger = getOutputChannelLogger(); - if (util.getNumericLoggingLevel(settings.loggingLevel) >= 6) { - out.appendLine(localize("configurations.received", "Custom configurations received:")); - } + out.appendLineAtLevel(6, localize("configurations.received", "Custom configurations received:")); const sanitized: SourceFileConfigurationItemAdapter[] = []; configs.forEach(item => { if (this.isSourceFileConfigurationItem(item, providerVersion)) { @@ -3177,10 +3197,8 @@ export class DefaultClient implements Client { uri = item.uri.toString(); } this.configurationLogging.set(uri, JSON.stringify(item.configuration, null, 4)); - if (util.getNumericLoggingLevel(settings.loggingLevel) >= 6) { - out.appendLine(` uri: ${uri}`); - out.appendLine(` config: ${JSON.stringify(item.configuration, null, 2)}`); - } + out.appendLineAtLevel(6, ` uri: ${uri}`); + out.appendLineAtLevel(6, ` config: ${JSON.stringify(item.configuration, null, 2)}`); if (item.configuration.includePath.some(path => path.endsWith('**'))) { console.warn("custom include paths should not use recursive includes ('**')"); } @@ -3284,11 +3302,7 @@ export class DefaultClient implements Client { return; } - const settings: CppSettings = new CppSettings(); - if (util.getNumericLoggingLevel(settings.loggingLevel) >= 6) { - const out: Logger = getOutputChannelLogger(); - out.appendLine(localize("browse.configuration.received", "Custom browse configuration received: {0}", JSON.stringify(sanitized, null, 2))); - } + getOutputChannelLogger().appendLineAtLevel(6, localize("browse.configuration.received", "Custom browse configuration received: {0}", JSON.stringify(sanitized, null, 2))); // Separate compiler path and args before sending to language client if (util.isString(sanitized.compilerPath)) { @@ -4253,6 +4267,6 @@ class NullClient implements Client { getCopilotHoverProvider(): CopilotHoverProvider | undefined { return undefined; } getIncludes(uri: vscode.Uri, maxDepth: number): Promise { return Promise.resolve({} as GetIncludesResult); } getChatContext(uri: vscode.Uri, token: vscode.CancellationToken): Promise { return Promise.resolve({} as ChatContextResult); } - getProjectContext(uri: vscode.Uri): Promise { return Promise.resolve({} as ProjectContextResult); } filesEncodingChanged(filesEncodingChanged: FilesEncodingChanged): void { } + getCompletionContext(file: vscode.Uri, caretOffset: number, featureFlag: CopilotCompletionContextFeatures, token: vscode.CancellationToken): Promise { return Promise.resolve({} as CopilotCompletionContextResult); } } diff --git a/Extension/src/LanguageServer/codeAnalysis.ts b/Extension/src/LanguageServer/codeAnalysis.ts index 155f9fad3..64a00247c 100644 --- a/Extension/src/LanguageServer/codeAnalysis.ts +++ b/Extension/src/LanguageServer/codeAnalysis.ts @@ -379,7 +379,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno docPage = `checks${checksGroup}/${checksPage}.html`; } // TODO: This should be checking the clang-tidy version used to better support usage of older versions. - const primaryDocUri: vscode.Uri = vscode.Uri.parse(`https://releases.llvm.org/19.1.0/tools/clang/tools/extra/docs/clang-tidy/${docPage}`); + const primaryDocUri: vscode.Uri = vscode.Uri.parse(`https://releases.llvm.org/20.1.0/tools/clang/tools/extra/docs/clang-tidy/${docPage}`); diagnostic.code = { value: identifier.code, target: primaryDocUri }; if (new CppSettings().clangTidyCodeActionShowDocumentation) { diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index 62718852a..ccd7723f9 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -83,8 +83,9 @@ export interface Configuration { forcedInclude?: string[]; configurationProviderInCppPropertiesJson?: string; configurationProvider?: string; - mergeConfigurations?: boolean; + mergeConfigurations?: boolean | string; browse?: Browse; + recursiveIncludes?: RecursiveIncludes; customConfigurationVariables?: { [key: string]: string }; } @@ -107,6 +108,12 @@ export interface Browse { databaseFilename?: string; } +export interface RecursiveIncludes { + reduce?: string; + priority?: string; + order?: string; +} + export interface KnownCompiler { path: string; isC: boolean; @@ -120,8 +127,6 @@ export interface CompilerDefaults { knownCompilers: KnownCompiler[]; cStandard: string; cppStandard: string; - includes: string[]; - frameworks: string[]; windowsSdkVersion: string; intelliSenseMode: string; trustedCompilerFound: boolean; @@ -143,8 +148,6 @@ export class CppProperties { private knownCompilers?: KnownCompiler[]; private defaultCStandard: string | null = null; private defaultCppStandard: string | null = null; - private defaultIncludes: string[] | null = null; - private defaultFrameworks?: string[]; private defaultWindowsSdkVersion: string | null = null; private isCppPropertiesJsonVisible: boolean = false; private vcpkgIncludes: string[] = []; @@ -295,8 +298,6 @@ export class CppProperties { this.knownCompilers = compilerDefaults.knownCompilers; this.defaultCStandard = compilerDefaults.cStandard; this.defaultCppStandard = compilerDefaults.cppStandard; - this.defaultIncludes = compilerDefaults.includes; - this.defaultFrameworks = compilerDefaults.frameworks; this.defaultWindowsSdkVersion = compilerDefaults.windowsSdkVersion; this.defaultIntelliSenseMode = compilerDefaults.intelliSenseMode !== "" ? compilerDefaults.intelliSenseMode : undefined; this.trustedCompilerFound = compilerDefaults.trustedCompilerFound; @@ -349,7 +350,7 @@ export class CppProperties { } private async applyDefaultIncludePathsAndFrameworks() { - if (this.configurationIncomplete && this.defaultIncludes && this.defaultFrameworks && this.vcpkgPathReady) { + if (this.configurationIncomplete && this.vcpkgPathReady) { const configuration: Configuration | undefined = this.CurrentConfiguration; if (configuration) { this.applyDefaultConfigurationValues(configuration); @@ -382,9 +383,6 @@ export class CppProperties { if (isUnset(settings.defaultDefines)) { configuration.defines = (process.platform === 'win32') ? ["_DEBUG", "UNICODE", "_UNICODE"] : []; } - if (isUnset(settings.defaultMacFrameworkPath) && process.platform === 'darwin') { - configuration.macFrameworkPath = this.defaultFrameworks; - } if ((isUnset(settings.defaultWindowsSdkVersion) || settings.defaultWindowsSdkVersion === "") && this.defaultWindowsSdkVersion && process.platform === 'win32') { configuration.windowsSdkVersion = this.defaultWindowsSdkVersion; } @@ -822,13 +820,16 @@ export class CppProperties { return resolvedGlob; } - private updateConfigurationString(property: string | undefined | null, defaultValue: string | undefined | null, env: Environment, acceptBlank?: boolean): string | undefined { + private updateConfigurationString(property: string | undefined | null, defaultValue: string | undefined | null, env?: Environment, acceptBlank?: boolean): string | undefined { if (property === null || property === undefined || property === "${default}") { property = defaultValue; } if (property === null || property === undefined || (acceptBlank !== true && property === "")) { return undefined; } + if (env === undefined) { + return property; + } return util.resolveVariables(property, env); } @@ -852,21 +853,8 @@ export class CppProperties { return paths; } - private updateConfigurationStringOrBoolean(property: string | boolean | undefined | null, defaultValue: boolean | undefined | null, env: Environment): string | boolean | undefined { - if (!property || property === "${default}") { - property = defaultValue; - } - if (!property || property === "") { - return undefined; - } - if (typeof property === "boolean") { - return property; - } - return util.resolveVariables(property, env); - } - - private updateConfigurationBoolean(property: boolean | undefined | null, defaultValue: boolean | undefined | null): boolean | undefined { - if (property === null || property === undefined) { + private updateConfigurationBoolean(property: boolean | string | undefined | null, defaultValue: boolean | undefined | null): boolean | undefined { + if (property === null || property === undefined || property === "${default}") { property = defaultValue; } @@ -874,7 +862,7 @@ export class CppProperties { return undefined; } - return property; + return property === true || property === "true"; } private updateConfigurationStringDictionary(property: { [key: string]: string } | undefined, defaultValue: { [key: string]: string } | undefined, env: Environment): { [key: string]: string } | undefined { @@ -948,6 +936,12 @@ export class CppProperties { configuration.cStandardIsExplicit = configuration.cStandardIsExplicit || settings.defaultCStandard !== ""; configuration.cppStandardIsExplicit = configuration.cppStandardIsExplicit || settings.defaultCppStandard !== ""; configuration.mergeConfigurations = this.updateConfigurationBoolean(configuration.mergeConfigurations, settings.defaultMergeConfigurations); + if (!configuration.recursiveIncludes) { + configuration.recursiveIncludes = {}; + } + configuration.recursiveIncludes.reduce = this.updateConfigurationString(configuration.recursiveIncludes.reduce, settings.defaultRecursiveIncludesReduce); + configuration.recursiveIncludes.priority = this.updateConfigurationString(configuration.recursiveIncludes.priority, settings.defaultRecursiveIncludesPriority); + configuration.recursiveIncludes.order = this.updateConfigurationString(configuration.recursiveIncludes.order, settings.defaultRecursiveIncludesOrder); if (!configuration.compileCommands) { // compile_commands.json already specifies a compiler. compilerPath overrides the compile_commands.json compiler so // don't set a default when compileCommands is in use. @@ -972,13 +966,6 @@ export class CppProperties { if (!configuration.windowsSdkVersion && !!this.defaultWindowsSdkVersion) { configuration.windowsSdkVersion = this.defaultWindowsSdkVersion; } - if (!origIncludePath && !!this.defaultIncludes) { - const includePath: string[] = configuration.includePath || []; - configuration.includePath = includePath.concat(this.defaultIncludes); - } - if (!configuration.macFrameworkPath && !!this.defaultFrameworks) { - configuration.macFrameworkPath = this.defaultFrameworks; - } } } else { // add compiler to list of trusted compilers @@ -1011,22 +998,14 @@ export class CppProperties { if (!configuration.browse.path) { if (settings.defaultBrowsePath) { configuration.browse.path = settings.defaultBrowsePath; - } else if (configuration.includePath) { - // If the user doesn't set browse.path, copy the includePath over. Make sure ${workspaceFolder} is in there though... - configuration.browse.path = configuration.includePath.slice(0); - if (configuration.includePath.findIndex((value: string) => - !!value.match(/^\$\{(workspaceRoot|workspaceFolder)\}(\\\*{0,2}|\/\*{0,2})?$/g)) === -1 - ) { - configuration.browse.path.push("${workspaceFolder}"); - } - } else { - configuration.browse.path = ["${workspaceFolder}"]; } + // Otherwise, if the browse path is not set, let the native process populate it + // with include paths, including any parsed from compilerArgs. } else { configuration.browse.path = this.updateConfigurationPathsArray(configuration.browse.path, settings.defaultBrowsePath, env); } - configuration.browse.limitSymbolsToIncludedHeaders = this.updateConfigurationStringOrBoolean(configuration.browse.limitSymbolsToIncludedHeaders, settings.defaultLimitSymbolsToIncludedHeaders, env); + configuration.browse.limitSymbolsToIncludedHeaders = this.updateConfigurationBoolean(configuration.browse.limitSymbolsToIncludedHeaders, settings.defaultLimitSymbolsToIncludedHeaders); configuration.browse.databaseFilename = this.updateConfigurationString(configuration.browse.databaseFilename, settings.defaultDatabaseFilename, env); if (i === this.CurrentConfigurationIndex) { @@ -1590,9 +1569,11 @@ export class CppProperties { quoted = true; result = result.slice(1, -1); } + // On Windows, isAbsolute does not handle root paths without a slash, such as "C:" + const isWindowsRootPath: boolean = process.platform === 'win32' && /^[a-zA-Z]:$/.test(result); // Make sure all paths result to an absolute path. // Do not add the root path to an unresolved env variable. - if (!result.includes("env:") && !path.isAbsolute(result) && this.rootUri) { + if (!isWindowsRootPath && !result.includes("env:") && !path.isAbsolute(result) && this.rootUri) { result = path.join(this.rootUri.fsPath, result); } if (quoted) { diff --git a/Extension/src/LanguageServer/copilotCompletionContextProvider.ts b/Extension/src/LanguageServer/copilotCompletionContextProvider.ts new file mode 100644 index 000000000..17ec88028 --- /dev/null +++ b/Extension/src/LanguageServer/copilotCompletionContextProvider.ts @@ -0,0 +1,359 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import { ContextResolver, ResolveRequest, SupportedContextItem } from '@github/copilot-language-server'; +import { randomUUID } from 'crypto'; +import * as vscode from 'vscode'; +import { DocumentSelector } from 'vscode-languageserver-protocol'; +import { isNumber, isString } from '../common'; +import { getOutputChannelLogger, Logger } from '../logger'; +import * as telemetry from '../telemetry'; +import { CopilotCompletionContextResult } from './client'; +import { CopilotCompletionContextTelemetry } from './copilotCompletionContextTelemetry'; +import { getCopilotApi } from './copilotProviders'; +import { clients } from './extension'; +import { CppSettings } from './settings'; + +class DefaultValueFallback extends Error { + static readonly DefaultValue = "DefaultValue"; + constructor() { super(DefaultValueFallback.DefaultValue); } +} + +class CancellationError extends Error { + static readonly Canceled = "Canceled"; + constructor() { + super(CancellationError.Canceled); + this.name = this.message; + } +} + +class InternalCancellationError extends CancellationError { +} + +class CopilotCancellationError extends CancellationError { +} + +class CopilotContextProviderException extends Error { +} + +class WellKnownErrors extends Error { + static readonly ClientNotFound = "ClientNotFound"; + private constructor(message: string) { super(message); } + public static clientNotFound(): Error { + return new WellKnownErrors(WellKnownErrors.ClientNotFound); + } +} + +// A bit mask for enabling features in the completion context. +export enum CopilotCompletionContextFeatures { + None = 0, + Instant = 1, + Deferred = 2, +} + +// Mutually exclusive values for the kind of returned completion context. They either are: +// - computed. +// - obtained from the cache. +// - available in cache but stale (e.g. actual context is far away). +// - missing since the computation took too long and no cache is present (cache miss). The value +// is asynchronously computed and stored in cache. +// - the token is signaled as cancelled, in which case all the operations are aborted. +// - an unknown state. +export enum CopilotCompletionKind { + Computed = 'computed', + GotFromCache = 'gotFromCacheHit', + StaleCacheHit = 'staleCacheHit', + MissingCacheMiss = 'missingCacheMiss', + Canceled = 'canceled', + Unknown = 'unknown' +} + +type CacheEntry = [string, CopilotCompletionContextResult]; + +export class CopilotCompletionContextProvider implements ContextResolver { + private static readonly providerId = 'ms-vscode.cpptools'; + private readonly completionContextCache: Map = new Map(); + private static readonly defaultCppDocumentSelector: DocumentSelector = [{ language: 'cpp' }, { language: 'c' }, { language: 'cuda-cpp' }]; + // A percentage expressed as an integer number, i.e. 50 means 50%. + private static readonly defaultTimeBudgetFactor: number = 50; + private static readonly defaultMaxCaretDistance = 4096; + private completionContextCancellation = new vscode.CancellationTokenSource(); + private contextProviderDisposable: vscode.Disposable | undefined; + + constructor(private readonly logger: Logger) { + } + + private async waitForCompletionWithTimeoutAndCancellation(promise: Promise, defaultValue: T | undefined, + timeout: number, copilotToken: vscode.CancellationToken): Promise<[T | undefined, CopilotCompletionKind]> { + const defaultValuePromise = new Promise((_resolve, reject) => setTimeout(() => { + if (copilotToken.isCancellationRequested) { + reject(new CancellationError()); + } else { + reject(new DefaultValueFallback()); + } + }, timeout)); + const cancellationPromise = new Promise((_, reject) => { + copilotToken.onCancellationRequested(() => { + reject(new CancellationError()); + }); + }); + let snippetsOrNothing: T | undefined; + try { + snippetsOrNothing = await Promise.race([promise, cancellationPromise, defaultValuePromise]); + } catch (e) { + if (e instanceof DefaultValueFallback) { + return [defaultValue, defaultValue !== undefined ? CopilotCompletionKind.GotFromCache : CopilotCompletionKind.MissingCacheMiss]; + } else if (e instanceof CancellationError) { + return [undefined, CopilotCompletionKind.Canceled]; + } else { + throw e; + } + } + + return [snippetsOrNothing, CopilotCompletionKind.Computed]; + } + + private static normalizeFeatureFlag(featureFlag: CopilotCompletionContextFeatures): CopilotCompletionContextFeatures { + // eslint-disable-next-line no-bitwise + if ((featureFlag & CopilotCompletionContextFeatures.Instant) === CopilotCompletionContextFeatures.Instant) { return CopilotCompletionContextFeatures.Instant; } + // eslint-disable-next-line no-bitwise + if ((featureFlag & CopilotCompletionContextFeatures.Deferred) === CopilotCompletionContextFeatures.Deferred) { return CopilotCompletionContextFeatures.Deferred; } + return CopilotCompletionContextFeatures.None; + } + + // Get the completion context with a timeout and a cancellation token. + // The cancellationToken indicates that the value should not be returned nor cached. + private async getCompletionContextWithCancellation(context: ResolveRequest, featureFlag: CopilotCompletionContextFeatures, + startTime: number, telemetry: CopilotCompletionContextTelemetry, internalToken: vscode.CancellationToken): + Promise { + const documentUri = context.documentContext.uri; + const caretOffset = context.documentContext.offset; + let logMessage = `Copilot: getCompletionContext(${documentUri}:${caretOffset}):`; + try { + const snippetsFeatureFlag = CopilotCompletionContextProvider.normalizeFeatureFlag(featureFlag); + telemetry.addRequestMetadata(documentUri, caretOffset, context.completionId, + context.documentContext.languageId, { featureFlag: snippetsFeatureFlag }); + const docUri = vscode.Uri.parse(documentUri); + const getClientForTime = performance.now(); + const client = clients.getClientFor(docUri); + const getClientForDuration = CopilotCompletionContextProvider.getRoundedDuration(getClientForTime); + telemetry.addGetClientForElapsed(getClientForDuration); + if (!client) { throw WellKnownErrors.clientNotFound(); } + const getCompletionContextStartTime = performance.now(); + + const copilotCompletionContext: CopilotCompletionContextResult = + await client.getCompletionContext(docUri, caretOffset, snippetsFeatureFlag, internalToken); + telemetry.addRequestId(copilotCompletionContext.requestId); + logMessage += `(id:${copilotCompletionContext.requestId}) (getClientFor elapsed:${getClientForDuration}ms)`; + if (!copilotCompletionContext.areSnippetsMissing) { + const resultMismatch = copilotCompletionContext.sourceFileUri !== docUri.toString(); + if (resultMismatch) { logMessage += ` (mismatch TU vs result)`; } + } + const cacheEntryId = randomUUID().toString(); + this.completionContextCache.set(copilotCompletionContext.sourceFileUri, [cacheEntryId, copilotCompletionContext]); + const duration = CopilotCompletionContextProvider.getRoundedDuration(startTime); + telemetry.addCacheComputedData(duration, cacheEntryId); + logMessage += ` cached in ${duration}ms ${copilotCompletionContext.traits.length} trait(s)`; + if (copilotCompletionContext.areSnippetsMissing) { logMessage += ` (missing code-snippets) `; } + else { + logMessage += ` and ${copilotCompletionContext.snippets.length} snippet(s)`; + logMessage += `, response.featureFlag:${copilotCompletionContext.featureFlag}, \ +response.uri:${copilotCompletionContext.sourceFileUri || ""}:${copilotCompletionContext.caretOffset} `; + } + + telemetry.addResponseMetadata(copilotCompletionContext.areSnippetsMissing, copilotCompletionContext.snippets.length, + copilotCompletionContext.traits.length, copilotCompletionContext.caretOffset, copilotCompletionContext.featureFlag); + telemetry.addComputeContextElapsed(CopilotCompletionContextProvider.getRoundedDuration(getCompletionContextStartTime)); + + return copilotCompletionContext; + } catch (e: any) { + if (e instanceof vscode.CancellationError || e.message === CancellationError.Canceled) { + telemetry.addInternalCanceled(CopilotCompletionContextProvider.getRoundedDuration(startTime)); + logMessage += ` (internal cancellation) `; + throw InternalCancellationError; + } + + if (e instanceof WellKnownErrors) { + telemetry.addWellKnownError(e.message); + } + + telemetry.addError(); + this.logger.appendLineAtLevel(7, `Copilot: getCompletionContextWithCancellation(${documentUri}: ${caretOffset}): Error: '${e}'`); + return undefined; + } finally { + this.logger. + appendLineAtLevel(7, logMessage); + telemetry.send("cache"); + } + } + static readonly CppCodeSnippetsEnabledFeatures = 'CppCodeSnippetsEnabledFeatures'; + static readonly CppCodeSnippetsTimeBudgetFactor = 'CppCodeSnippetsTimeBudgetFactor'; + static readonly CppCodeSnippetsMaxDistanceToCaret = 'CppCodeSnippetsMaxDistanceToCaret'; + + private async fetchTimeBudgetFactor(context: ResolveRequest): Promise { + try { + const budgetFactor = context.activeExperiments.get(CopilotCompletionContextProvider.CppCodeSnippetsTimeBudgetFactor); + return (isNumber(budgetFactor) ? budgetFactor : CopilotCompletionContextProvider.defaultTimeBudgetFactor) / 100.0; + } catch (e) { + console.warn(`fetchTimeBudgetFactor(): error fetching ${CopilotCompletionContextProvider.CppCodeSnippetsTimeBudgetFactor}, using default: `, e); + return CopilotCompletionContextProvider.defaultTimeBudgetFactor; + } + } + + private async fetchMaxDistanceToCaret(context: ResolveRequest): Promise { + try { + const maxDistance = context.activeExperiments.get(CopilotCompletionContextProvider.CppCodeSnippetsMaxDistanceToCaret); + return isNumber(maxDistance) ? maxDistance : CopilotCompletionContextProvider.defaultMaxCaretDistance; + } catch (e) { + console.warn(`fetchMaxDistanceToCaret(): error fetching ${CopilotCompletionContextProvider.CppCodeSnippetsMaxDistanceToCaret}, using default: `, e); + return CopilotCompletionContextProvider.defaultMaxCaretDistance; + } + } + + private async getEnabledFeatureNames(context: ResolveRequest): Promise { + try { + const enabledFeatureNames = new CppSettings().cppCodeSnippetsFeatureNames ?? context.activeExperiments.get(CopilotCompletionContextProvider.CppCodeSnippetsEnabledFeatures); + if (isString(enabledFeatureNames)) { + return enabledFeatureNames.split(',').map(s => s.trim()); + } + } catch (e) { + console.warn(`getEnabledFeatures(): error fetching ${CopilotCompletionContextProvider.CppCodeSnippetsEnabledFeatures}: `, e); + } + return undefined; + } + + private async getEnabledFeatureFlag(context: ResolveRequest): Promise { + let result; + for (const featureName of await this.getEnabledFeatureNames(context) ?? []) { + const flag = CopilotCompletionContextFeatures[featureName as keyof typeof CopilotCompletionContextFeatures]; + if (flag !== undefined) { result = (result ?? 0) + flag; } + } + return result; + } + + private static getRoundedDuration(startTime: number): number { + return Math.round(performance.now() - startTime); + } + + public static async Create() { + const copilotCompletionProvider = new CopilotCompletionContextProvider(getOutputChannelLogger()); + await copilotCompletionProvider.registerCopilotContextProvider(); + return copilotCompletionProvider; + } + + public dispose(): void { + this.completionContextCancellation.cancel(); + this.contextProviderDisposable?.dispose(); + } + + public removeFile(fileUri: string): void { + this.completionContextCache.delete(fileUri); + } + + public async resolve(context: ResolveRequest, copilotCancel: vscode.CancellationToken): Promise { + const resolveStartTime = performance.now(); + let logMessage = `Copilot: resolve(${context.documentContext.uri}:${context.documentContext.offset}):`; + const timeBudgetFactor = await this.fetchTimeBudgetFactor(context); + const maxCaretDistance = await this.fetchMaxDistanceToCaret(context); + const telemetry = new CopilotCompletionContextTelemetry(); + let copilotCompletionContext: CopilotCompletionContextResult | undefined; + let copilotCompletionContextKind: CopilotCompletionKind = CopilotCompletionKind.Unknown; + let featureFlag: CopilotCompletionContextFeatures | undefined; + const docUri = context.documentContext.uri; + const docOffset = context.documentContext.offset; + try { + featureFlag = await this.getEnabledFeatureFlag(context); + telemetry.addRequestMetadata(context.documentContext.uri, context.documentContext.offset, + context.completionId, context.documentContext.languageId, { featureFlag, timeBudgetFactor, maxCaretDistance }); + if (featureFlag === undefined) { return []; } + this.completionContextCancellation.cancel(); + this.completionContextCancellation = new vscode.CancellationTokenSource(); + const cacheEntry: CacheEntry | undefined = this.completionContextCache.get(docUri.toString()); + const defaultValue = cacheEntry?.[1]; + const computeSnippetsPromise = this.getCompletionContextWithCancellation(context, featureFlag, + resolveStartTime, telemetry.fork(), this.completionContextCancellation.token); + [copilotCompletionContext, copilotCompletionContextKind] = await this.waitForCompletionWithTimeoutAndCancellation( + computeSnippetsPromise, defaultValue, context.timeBudget * timeBudgetFactor, copilotCancel); + // Fix up copilotCompletionContextKind accounting for stale-cache-hits. + if (copilotCompletionContextKind === CopilotCompletionKind.GotFromCache && + copilotCompletionContext && cacheEntry) { + telemetry.addCacheHitEntryGuid(cacheEntry[0]); + const cachedData = cacheEntry[1]; + if (Math.abs(cachedData.caretOffset - context.documentContext.offset) > maxCaretDistance) { + copilotCompletionContextKind = CopilotCompletionKind.StaleCacheHit; + copilotCompletionContext.snippets = []; + } + } + telemetry.addCompletionContextKind(copilotCompletionContextKind); + // Handle cancellation. + if (copilotCompletionContextKind === CopilotCompletionKind.Canceled) { + const duration: number = CopilotCompletionContextProvider.getRoundedDuration(resolveStartTime); + telemetry.addCopilotCanceled(duration); + throw new CopilotCancellationError(); + } + logMessage += ` (id:${copilotCompletionContext?.requestId}) `; + return [...copilotCompletionContext?.snippets ?? [], ...copilotCompletionContext?.traits ?? []] as SupportedContextItem[]; + } catch (e: any) { + if (e instanceof CopilotCancellationError) { + telemetry.addCopilotCanceled(CopilotCompletionContextProvider.getRoundedDuration(resolveStartTime)); + logMessage += ` (copilot cancellation) `; + throw e; + } + if (e instanceof InternalCancellationError) { + telemetry.addInternalCanceled(CopilotCompletionContextProvider.getRoundedDuration(resolveStartTime)); + logMessage += ` (internal cancellation) `; + throw e; + } + if (e instanceof CancellationError) { throw e; } + + // For any other exception's type, it is an error. + telemetry.addError(); + throw e; + } finally { + const duration: number = CopilotCompletionContextProvider.getRoundedDuration(resolveStartTime); + logMessage += `featureFlag:${featureFlag?.toString()},`; + if (copilotCompletionContext === undefined) { + logMessage += ` result is undefined and no snippets provided (${copilotCompletionContextKind.toString()}), elapsed time:${duration}ms`; + } else { + logMessage += ` for ${docUri}:${docOffset} provided ${copilotCompletionContext.snippets.length} code-snippet(s) (${copilotCompletionContextKind.toString()}\ +${copilotCompletionContext?.areSnippetsMissing ? ", missing code-snippets" : ""}) and ${copilotCompletionContext.traits.length} trait(s), elapsed time:${duration}ms`; + } + telemetry.addResponseMetadata(copilotCompletionContext?.areSnippetsMissing ?? true, + copilotCompletionContext?.snippets.length, copilotCompletionContext?.traits.length, + copilotCompletionContext?.caretOffset, copilotCompletionContext?.featureFlag); + telemetry.addResolvedElapsed(duration); + telemetry.addCacheSize(this.completionContextCache.size); + telemetry.send(); + this.logger.appendLineAtLevel(7, logMessage); + } + } + + public async registerCopilotContextProvider(): Promise { + const properties: Record = {}; + const registerCopilotContextProvider = 'registerCopilotContextProvider'; + try { + const copilotApi = await getCopilotApi(); + if (!copilotApi) { throw new CopilotContextProviderException("getCopilotApi() returned null, Copilot is missing or inactive."); } + const hasGetContextProviderAPI = "getContextProviderAPI" in copilotApi; + if (!hasGetContextProviderAPI) { throw new CopilotContextProviderException("getContextProviderAPI() is not available."); } + const contextAPI = await copilotApi.getContextProviderAPI("v1"); + if (!contextAPI) { throw new CopilotContextProviderException("getContextProviderAPI(v1) returned null."); } + this.contextProviderDisposable = contextAPI.registerContextProvider({ + id: CopilotCompletionContextProvider.providerId, + selector: CopilotCompletionContextProvider.defaultCppDocumentSelector, + resolver: this + }); + properties["cppCodeSnippetsProviderRegistered"] = "true"; + } catch (e) { + console.debug("Failed to register the Copilot Context Provider."); + properties["error"] = "Failed to register the Copilot Context Provider"; + if (e instanceof CopilotContextProviderException) { + properties["error"] += `: ${e.message}`; + } + } finally { + telemetry.logCopilotEvent(registerCopilotContextProvider, { ...properties }); + } + } +} + diff --git a/Extension/src/LanguageServer/copilotCompletionContextTelemetry.ts b/Extension/src/LanguageServer/copilotCompletionContextTelemetry.ts new file mode 100644 index 000000000..26ecc7537 --- /dev/null +++ b/Extension/src/LanguageServer/copilotCompletionContextTelemetry.ts @@ -0,0 +1,121 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import { randomUUID } from 'crypto'; +import * as telemetry from '../telemetry'; +import { CopilotCompletionContextFeatures, CopilotCompletionKind } from './copilotCompletionContextProvider'; + +export class CopilotCompletionContextTelemetry { + private static readonly correlationIdKey = 'correlationId'; + private static readonly copilotEventName = 'copilotContextProvider'; + private readonly metrics: Record = {}; + private readonly properties: Record = {}; + private readonly id: string; + + constructor(correlationId?: string) { + this.id = correlationId ?? randomUUID().toString(); + } + + private addMetric(key: string, value: number): void { + this.metrics[key] = value; + } + + private addProperty(key: string, value: string): void { + this.properties[key] = value; + } + + public addInternalCanceled(duration?: number): void { + this.addProperty('internalCanceled', 'true'); + this.addMetric('canceledElapsedMs', duration ?? -1); + } + + public addCopilotCanceled(duration?: number): void { + this.addProperty('copilotCanceled', 'true'); + this.addMetric('canceledElapsedMs', duration ?? -1); + } + + public addError(): void { + this.addProperty('error', 'true'); + } + + public addWellKnownError(message: string): void { + this.addProperty('wellKnownError', message); + } + + public addCompletionContextKind(completionKind: CopilotCompletionKind): void { + this.addProperty('completionContextKind', completionKind.toString()); + } + + public addCacheHitEntryGuid(cacheEntryGuid: string): void { + this.addProperty('usedCacheEntryId', cacheEntryGuid); + } + + public addResolvedElapsed(duration: number): void { + this.addMetric('overallResolveElapsedMs', duration); + } + + public addCacheSize(size: number): void { + this.addMetric('cacheSize', size); + } + + public addCacheComputedData(duration: number, id: string): void { + this.addMetric('cacheComputedElapsedMs', duration); + this.addProperty('createdCacheEntryId', id); + } + + public addRequestId(id: number): void { + this.addProperty('response.requestId', id.toString()); + } + + public addComputeContextElapsed(duration: number): void { + this.addMetric('computeContextElapsedMs', duration); + } + + public addGetClientForElapsed(duration: number): void { + this.addMetric('getClientForElapsedMs', duration); + } + + public addResponseMetadata(areSnippetsMissing: boolean, codeSnippetsCount?: number, traitsCount?: number, caretOffset?: number, + featureFlag?: CopilotCompletionContextFeatures): void { + this.addProperty('response.areCodeSnippetsMissing', areSnippetsMissing.toString()); + // Args can be undefined, in which case the value is set to a + // special value (e.g. -1) to indicate data is not set. + this.addMetric('response.caretOffset', caretOffset ?? -1); + this.addProperty('response.featureFlag', featureFlag?.toString() ?? ''); + this.addMetric('response.codeSnippetsCount', codeSnippetsCount ?? -1); + this.addMetric('response.traitsCount', traitsCount ?? -1); + } + + public addRequestMetadata(uri: string, caretOffset: number, completionId: string, + languageId: string, { featureFlag, timeBudgetFactor, maxCaretDistance }: { + featureFlag?: CopilotCompletionContextFeatures; + timeBudgetFactor?: number; maxCaretDistance?: number; + } = {}): void { + this.addProperty('request.completionId', completionId); + this.addProperty('request.languageId', languageId); + this.addMetric('request.caretOffset', caretOffset); + this.addProperty('request.featureFlag', featureFlag?.toString() ?? ''); + if (timeBudgetFactor !== undefined) { this.addMetric('request.timeBudgetFactor', timeBudgetFactor); } + if (maxCaretDistance !== undefined) { this.addMetric('request.maxCaretDistance', maxCaretDistance); } + } + + public addCppStandardVersionMetadata(standardVersion: string, elapsedMs: number): void { + this.addProperty('response.cppStandardVersion', standardVersion); + this.addMetric('response.cppStandardVersionElapsedMs', elapsedMs); + } + + public send(postfix?: string): void { + try { + const eventName = CopilotCompletionContextTelemetry.copilotEventName + (postfix ? `/${postfix}` : ''); + this.properties[CopilotCompletionContextTelemetry.correlationIdKey] = this.id; + telemetry.logCopilotEvent(eventName, this.properties, this.metrics); + } catch (error) { + console.error('Error logging copilot telemetry event', error); + } + } + + public fork(): CopilotCompletionContextTelemetry { + return new CopilotCompletionContextTelemetry(this.id); + } +} diff --git a/Extension/src/LanguageServer/copilotProviders.ts b/Extension/src/LanguageServer/copilotProviders.ts index d955356c8..32a63013e 100644 --- a/Extension/src/LanguageServer/copilotProviders.ts +++ b/Extension/src/LanguageServer/copilotProviders.ts @@ -4,6 +4,7 @@ * ------------------------------------------------------------------------------------------ */ 'use strict'; +import { ContextProviderApiV1 } from '@github/copilot-language-server'; import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; import * as util from '../common'; @@ -11,7 +12,7 @@ import * as logger from '../logger'; import * as telemetry from '../telemetry'; import { GetIncludesResult } from './client'; import { getClients } from './extension'; -import { getCompilerArgumentFilterMap, getProjectContext } from './lmTool'; +import { getProjectContext } from './lmTool'; nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); const localize: nls.LocalizeFunc = nls.loadMessageBundle(); @@ -32,6 +33,7 @@ export interface CopilotApi { cancellationToken: vscode.CancellationToken ) => Promise<{ entries: vscode.Uri[]; traits?: CopilotTrait[] }> ): Disposable; + getContextProviderAPI(version: string): Promise; } export async function registerRelatedFilesProvider(): Promise { @@ -41,23 +43,20 @@ export async function registerRelatedFilesProvider(): Promise { for (const languageId of ['c', 'cpp', 'cuda-cpp']) { api.registerRelatedFilesProvider( { extensionId: util.extensionContext.extension.id, languageId }, - async (uri: vscode.Uri, context: { flags: Record }) => { + async (uri: vscode.Uri, context: { flags: Record }, cancellationToken: vscode.CancellationToken) => { const start = performance.now(); const telemetryProperties: Record = {}; const telemetryMetrics: Record = {}; try { const getIncludesHandler = async () => (await getIncludes(uri, 1))?.includedFiles.map(file => vscode.Uri.file(file)) ?? []; const getTraitsHandler = async () => { - const projectContext = await getProjectContext(uri, context, telemetryProperties, telemetryMetrics); + const projectContext = await getProjectContext(uri, context, cancellationToken, telemetryProperties, telemetryMetrics); if (!projectContext) { return undefined; } - let traits: CopilotTrait[] = [ - { name: "intelliSenseDisclaimer", value: '', includeInPrompt: true, promptTextOverride: `IntelliSense is currently configured with the following compiler information. It reflects the active configuration, and the project may have more configurations targeting different platforms.` }, - { name: "intelliSenseDisclaimerBeginning", value: '', includeInPrompt: true, promptTextOverride: `Beginning of IntelliSense information.` } - ]; + let traits: CopilotTrait[] = []; if (projectContext.language) { traits.push({ name: "language", value: projectContext.language, includeInPrompt: true, promptTextOverride: `The language is ${projectContext.language}.` }); } @@ -74,49 +73,6 @@ export async function registerRelatedFilesProvider(): Promise { traits.push({ name: "targetArchitecture", value: projectContext.targetArchitecture, includeInPrompt: true, promptTextOverride: `This build targets ${projectContext.targetArchitecture}.` }); } - if (projectContext.compiler) { - // We will process compiler arguments based on copilotcppXXXCompilerArgumentFilters and copilotcppCompilerArgumentDirectAskMap feature flags. - // The copilotcppXXXCompilerArgumentFilters are maps. The keys are regex strings for filtering and the values, if not empty, - // are the prompt text to use when no arguments are found. - // copilotcppCompilerArgumentDirectAskMap map individual matched argument to a prompt text. - // For duplicate matches, the last one will be used. - const filterMap = getCompilerArgumentFilterMap(projectContext.compiler, context); - if (filterMap !== undefined) { - const directAskMap: Record = context.flags.copilotcppCompilerArgumentDirectAskMap ? JSON.parse(context.flags.copilotcppCompilerArgumentDirectAskMap as string) : {}; - let directAsks: string = ''; - const remainingArguments: string[] = []; - - for (const key in filterMap) { - if (!key) { - continue; - } - - const matchedArgument = projectContext.compilerArguments[key] as string; - if (matchedArgument?.length > 0) { - if (directAskMap[matchedArgument]) { - directAsks += `${directAskMap[matchedArgument]} `; - } else { - remainingArguments.push(matchedArgument); - } - } else if (filterMap[key]) { - // Use the prompt text in the absence of argument. - directAsks += `${filterMap[key]} `; - } - } - - if (remainingArguments.length > 0) { - const compilerArgumentsValue = remainingArguments.join(", "); - traits.push({ name: "compilerArguments", value: compilerArgumentsValue, includeInPrompt: true, promptTextOverride: `The compiler arguments include: ${compilerArgumentsValue}.` }); - } - - if (directAsks) { - traits.push({ name: "directAsks", value: directAsks, includeInPrompt: true, promptTextOverride: directAsks }); - } - } - } - - traits.push({ name: "intelliSenseDisclaimerEnd", value: '', includeInPrompt: true, promptTextOverride: `End of IntelliSense information.` }); - const includeTraitsArray = context.flags.copilotcppIncludeTraits ? context.flags.copilotcppIncludeTraits as string[] : []; const includeTraits = new Set(includeTraitsArray); telemetryProperties["includeTraits"] = includeTraitsArray.join(','); diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index a7fbecb07..d1ff1e738 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -18,6 +18,7 @@ import * as which from 'which'; import { logAndReturn } from '../Utility/Async/returns'; import * as util from '../common'; import { modelSelector } from '../constants'; +import { instrument } from '../instrumentation'; import { getCrashCallStacksChannel } from '../logger'; import { PlatformInformation } from '../platform'; import * as telemetry from '../telemetry'; @@ -172,14 +173,18 @@ export async function activate(): Promise { getCustomConfigProviders().forEach(provider => void client.onRegisterCustomConfigurationProvider(provider)); }); - disposables.push(vscode.workspace.onDidChangeConfiguration(onDidChangeSettings)); + // These handlers for didChangeTextDocument and didOpenTextDocument are intentionally synchronous and are + // intended primarily to maintain openFileVersions with the most recent versions of files, as quickly as + // possible, without being delayed by awaits or queued behind other LSP messages, etc.. disposables.push(vscode.workspace.onDidChangeTextDocument(onDidChangeTextDocument)); + disposables.push(vscode.workspace.onDidOpenTextDocument(onDidOpenTextDocument)); + + disposables.push(vscode.workspace.onDidChangeConfiguration(onDidChangeSettings)); disposables.push(vscode.window.onDidChangeTextEditorVisibleRanges((e) => clients.ActiveClient.enqueue(async () => onDidChangeTextEditorVisibleRanges(e)))); disposables.push(vscode.window.onDidChangeActiveTextEditor((e) => clients.ActiveClient.enqueue(async () => onDidChangeActiveTextEditor(e)))); ui.didChangeActiveEditor(); // Handle already active documents (for non-cpp files that we don't register didOpen). disposables.push(vscode.window.onDidChangeTextEditorSelection((e) => clients.ActiveClient.enqueue(async () => onDidChangeTextEditorSelection(e)))); disposables.push(vscode.window.onDidChangeVisibleTextEditors((e) => clients.ActiveClient.enqueue(async () => onDidChangeVisibleTextEditors(e)))); - updateLanguageConfigurations(); reportMacCrashes(); @@ -218,7 +223,7 @@ export async function activate(): Promise { { scheme: 'file', language: 'cpp' }, { scheme: 'file', language: 'cuda-cpp' } ]; - codeActionProvider = vscode.languages.registerCodeActionsProvider(selector, { + codeActionProvider = vscode.languages.registerCodeActionsProvider(selector, instrument({ provideCodeActions: async (document: vscode.TextDocument, range: vscode.Range, context: vscode.CodeActionContext): Promise => { if (!await clients.ActiveClient.getVcpkgEnabled()) { @@ -244,7 +249,7 @@ export async function activate(): Promise { const actions: vscode.CodeAction[] = ports.map(getVcpkgClipboardInstallAction); return actions; } - }); + })); await vscode.commands.executeCommand('setContext', 'cpptools.msvcEnvironmentFound', util.hasMsvcEnvironment()); @@ -282,27 +287,23 @@ export function updateLanguageConfigurations(): void { * workspace events */ async function onDidChangeSettings(event: vscode.ConfigurationChangeEvent): Promise { - const client: Client = clients.getDefaultClient(); - if (client instanceof DefaultClient) { - const defaultClient: DefaultClient = client as DefaultClient; - const changedDefaultClientSettings: Record = await defaultClient.onDidChangeSettings(event); - clients.forEach(client => { - if (client !== defaultClient) { - void client.onDidChangeSettings(event).catch(logAndReturn.undefined); - } - }); - const newUpdateChannel: string = changedDefaultClientSettings.updateChannel; - if (newUpdateChannel || event.affectsConfiguration("extensions.autoUpdate")) { - UpdateInsidersAccess(); + clients.forEach(client => { + if (client instanceof DefaultClient) { + void client.onDidChangeSettings(event).catch(logAndReturn.undefined); } - } + }); } -async function onDidChangeTextDocument(event: vscode.TextDocumentChangeEvent): Promise { +function onDidChangeTextDocument(event: vscode.TextDocumentChangeEvent): void { const me: Client = clients.getClientFor(event.document.uri); me.onDidChangeTextDocument(event); } +function onDidOpenTextDocument(document: vscode.TextDocument): void { + const me: Client = clients.getClientFor(document.uri); + me.onDidOpenTextDocument(document); +} + let noActiveEditorTimeout: NodeJS.Timeout | undefined; async function onDidChangeTextEditorVisibleRanges(event: vscode.TextEditorVisibleRangesChangeEvent): Promise { @@ -1038,13 +1039,16 @@ export function watchForCrashes(crashDirectory: string): void { let previousCrashData: string; let previousCrashCount: number = 0; -function logCrashTelemetry(data: string, type: string, offsetData?: string): void { +function logCrashTelemetry(data: string, type: string, offsetData?: string, crashLog?: string): void { const crashObject: Record = {}; const crashCountObject: Record = {}; crashObject.CrashingThreadCallStack = data; if (offsetData !== undefined) { crashObject.CrashingThreadCallStackOffsets = offsetData; } + if (crashLog !== undefined) { + crashObject.CrashLog = crashLog; + } previousCrashCount = data === previousCrashData ? previousCrashCount + 1 : 0; previousCrashData = data; crashCountObject.CrashCount = previousCrashCount + 1; @@ -1055,8 +1059,8 @@ function logMacCrashTelemetry(data: string): void { logCrashTelemetry(data, "MacCrash"); } -function logCppCrashTelemetry(data: string, offsetData?: string): void { - logCrashTelemetry(data, "CppCrash", offsetData); +function logCppCrashTelemetry(data: string, offsetData?: string, crashLog?: string): void { + logCrashTelemetry(data, "CppCrash", offsetData, crashLog); } function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, data: string): void { @@ -1157,6 +1161,11 @@ function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, d logMacCrashTelemetry(data); } +const regex: RegExp = /(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i; +function containsFilteredTelemetryData(str: string): boolean { + return regex.test(str); +} + async function handleCrashFileRead(crashDirectory: string, crashFile: string, crashDate: Date, err: NodeJS.ErrnoException | undefined | null, data: string): Promise { if (err) { if (err.code === "ENOENT") { @@ -1166,7 +1175,7 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr } const lines: string[] = data.split("\n"); - let addressData: string = ".\n."; + let addressData: string = ".\n"; const isCppToolsSrv: boolean = crashFile.startsWith("cpptools-srv"); const telemetryHeader: string = (isCppToolsSrv ? "cpptools-srv.txt" : crashFile) + "\n"; const filtPath: string | null = which.sync("c++filt", { nothrow: true }); @@ -1174,109 +1183,145 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr const startStr: string = isMac ? " _" : "<"; const offsetStr: string = isMac ? " + " : "+"; const endOffsetStr: string = isMac ? " " : " <"; - const dotStr: string = "\n…"; + const dotStr: string = "…\n"; let signalType: string; - if (lines[0].startsWith("SIG")) { - signalType = lines[0]; + let crashLog: string = ""; + let crashStackStartLine: number = 0; + if (lines[0] === "LOG") { + let crashLogLine: number = 1; + for (; crashLogLine < lines.length; ++crashLogLine) { + let pendingCrashLogLine = lines[crashLogLine]; + if (pendingCrashLogLine === "ENDLOG") { + break; + } + pendingCrashLogLine += "\n"; + if (containsFilteredTelemetryData(pendingCrashLogLine)) { + crashLog += "?\n"; + } else { + crashLog += pendingCrashLogLine; + } + } + crashLog = crashLog.trimEnd(); + crashStackStartLine = ++crashLogLine; + } + if (lines[crashStackStartLine].startsWith("SIG")) { + signalType = lines[crashStackStartLine] + "\n"; } else { // The signal type may fail to be written. signalType = "SIG-??\n"; // Intentionally different from SIG-? from cpptools. } + data = telemetryHeader + signalType; let crashCallStack: string = ""; let validFrameFound: boolean = false; - for (let lineNum: number = 0; lineNum < lines.length - 3; ++lineNum) { // skip last lines + for (let lineNum: number = crashStackStartLine + 1; lineNum < lines.length - 3; ++lineNum) { // skip last lines const line: string = lines[lineNum]; const startPos: number = line.indexOf(startStr); + let pendingCallStack: string = ""; if (startPos === -1 || line[startPos + (isMac ? 1 : 4)] === "+") { - if (!validFrameFound) { - continue; // Skip extra … at the start. - } - crashCallStack += dotStr; + pendingCallStack = dotStr; const startAddressPos: number = line.indexOf("0x"); const endAddressPos: number = line.indexOf(endOffsetStr, startAddressPos + 2); - addressData += "\n"; if (startAddressPos === -1 || endAddressPos === -1 || startAddressPos >= endAddressPos) { - addressData += "Unexpected offset"; + addressData += "Unexpected offset\n"; } else { - addressData += line.substring(startAddressPos, endAddressPos); - } - continue; - } - const offsetPos: number = line.indexOf(offsetStr, startPos + startStr.length); - if (offsetPos === -1) { - crashCallStack += "\nMissing offsetStr"; - addressData += "\n"; - continue; // unexpected - } - const startPos2: number = startPos + 1; - let funcStr: string = line.substring(startPos2, offsetPos); - if (filtPath && filtPath.length !== 0) { - let ret: util.ProcessReturnType | undefined = await util.spawnChildProcess(filtPath, ["--no-strip-underscore", funcStr], undefined, true).catch(logAndReturn.undefined); - if (ret?.output === funcStr) { - ret = await util.spawnChildProcess(filtPath, [funcStr], undefined, true).catch(logAndReturn.undefined); - } - if (ret !== undefined && ret.succeeded) { - funcStr = ret.output; - funcStr = funcStr.replace(/std::(?:__1|__cxx11)/g, "std"); // simplify std namespaces. - funcStr = funcStr.replace(/std::basic_/g, "std::"); - funcStr = funcStr.replace(/ >/g, ">"); - funcStr = funcStr.replace(/, std::(?:allocator|char_traits)/g, ""); - funcStr = funcStr.replace(//g, ""); - funcStr = funcStr.replace(/, std::allocator/g, ""); - } - } - if (funcStr.includes("/")) { - funcStr = ""; - } else if (!validFrameFound && (funcStr.startsWith("crash_handler(") || funcStr.startsWith("_sigtramp"))) { - continue; // Skip these on early frames. - } - validFrameFound = true; - crashCallStack += "\n"; - addressData += "\n"; - crashCallStack += funcStr + offsetStr; - const offsetPos2: number = offsetPos + offsetStr.length; - if (isMac) { - const pendingOffset: string = line.substring(offsetPos2); - if (!pendingOffset.includes("/")) { - crashCallStack += pendingOffset; - } - const startAddressPos: number = line.indexOf("0x"); - if (startAddressPos === -1 || startAddressPos >= startPos) { - // unexpected - crashCallStack += ""; - continue; + let pendingAddressData: string = line.substring(startAddressPos, endAddressPos) + "\n"; + if (containsFilteredTelemetryData(pendingAddressData)) { + pendingAddressData = "?\n"; + } + addressData += pendingAddressData; } - addressData += `${line.substring(startAddressPos, startPos)}`; } else { - const endPos: number = line.indexOf(">", offsetPos2); - if (endPos === -1) { - crashCallStack += " >"; - continue; // unexpected - } - const pendingOffset: string = line.substring(offsetPos2, endPos); - if (!pendingOffset.includes("/")) { - crashCallStack += pendingOffset; + const offsetPos: number = line.indexOf(offsetStr, startPos + startStr.length); + if (offsetPos === -1) { + pendingCallStack = "Missing offsetStr\n"; + addressData += "\n"; + } else { + const startPos2: number = startPos + 1; + let funcStr: string = line.substring(startPos2, offsetPos); + let origFuncStr: string = ""; + if (filtPath && filtPath.length !== 0) { + let ret: util.ProcessReturnType | undefined = await util.spawnChildProcess(filtPath, ["--no-strip-underscore", funcStr], undefined, true).catch(logAndReturn.undefined); + if (ret?.output === funcStr) { + ret = await util.spawnChildProcess(filtPath, [funcStr], undefined, true).catch(logAndReturn.undefined); + } + if (ret !== undefined && ret.succeeded && !ret.output.startsWith("Could not open input file")) { + origFuncStr = funcStr; + funcStr = ret.output; + funcStr = funcStr.replace(/std::(?:__1|__cxx11)/g, "std"); // simplify std namespaces. + funcStr = funcStr.replace(/std::basic_/g, "std::"); + funcStr = funcStr.replace(/ >/g, ">"); + funcStr = funcStr.replace(/, std::(?:allocator|char_traits)/g, ""); + funcStr = funcStr.replace(//g, ""); + funcStr = funcStr.replace(/, std::allocator/g, ""); + } + } + if (!validFrameFound && (funcStr.startsWith("crash_handler(") || funcStr.startsWith("_sigtramp"))) { + continue; // Skip these on early frames. + } + validFrameFound = true; + + let pendingOffset: string = offsetStr; + const offsetPos2: number = offsetPos + offsetStr.length; + // Compute pendingOffset. + if (isMac) { + pendingOffset += line.substring(offsetPos2); + const startAddressPos: number = line.indexOf("0x"); + if (startAddressPos === -1 || startAddressPos >= startPos) { + // unexpected + pendingOffset += ""; + addressData += "\n"; + } else { + let pendingAddressData: string = line.substring(startAddressPos, startPos) + "\n"; + if (containsFilteredTelemetryData(pendingAddressData)) { + pendingAddressData = "?\n"; + } + addressData += pendingAddressData; + } + } else { + const endPos: number = line.indexOf(">", offsetPos2); + if (endPos === -1) { + pendingOffset += " >"; // unexpected + } else { + pendingOffset += line.substring(offsetPos2, endPos); + } + addressData += "\n"; + // TODO: It seems like addressData should be obtained on Linux in case the function is filtered. + } + pendingOffset += "\n"; + pendingCallStack = funcStr + pendingOffset; + if (containsFilteredTelemetryData(pendingCallStack)) { + if (origFuncStr.length > 0 && origFuncStr !== funcStr) { + pendingCallStack = origFuncStr + pendingOffset; + if (containsFilteredTelemetryData(pendingCallStack)) { + pendingCallStack = "?\n"; + } + } else { + pendingCallStack = "?\n"; + } + } } } + if (data.length + crashCallStack.length + pendingCallStack.length > 8191) { // The API has an 8k limit. + crashCallStack += "…"; + break; + } + crashCallStack += pendingCallStack; } + crashCallStack = crashCallStack.trimEnd(); + addressData = addressData.trimEnd(); + if (crashCallStack !== prevCppCrashCallStackData) { prevCppCrashCallStackData = crashCallStack; - const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null); - if (lines.length >= 6 && util.getNumericLoggingLevel(settings.get("loggingLevel")) >= 1) { - const out: vscode.OutputChannel = getCrashCallStacksChannel(); - out.appendLine(`\n${isCppToolsSrv ? "cpptools-srv" : "cpptools"}\n${crashDate.toLocaleString()}\n${signalType}${crashCallStack}`); + if (lines.length >= 6 && util.getLoggingLevel() >= 1) { + getCrashCallStacksChannel().appendLine(`\n${isCppToolsSrv ? "cpptools-srv" : "cpptools"}\n${crashDate.toLocaleString()}\n${signalType}${crashCallStack}${crashLog.length > 0 ? "\n\n" + crashLog : ""}`); } } - data = telemetryHeader + signalType + crashCallStack; - - if (data.length > 8192) { // The API has an 8k limit. - data = data.substring(0, 8191) + "…"; - } + data += crashCallStack; - logCppCrashTelemetry(data, addressData); + logCppCrashTelemetry(data, addressData, crashLog); await util.deleteFile(path.resolve(crashDirectory, crashFile)).catch(logAndReturn.undefined); if (crashFile === "cpptools.txt") { @@ -1310,45 +1355,6 @@ export function getActiveClient(): Client { return clients.ActiveClient; } -export function UpdateInsidersAccess(): void { - let installPrerelease: boolean = false; - - // Only move them to the new prerelease mechanism if using updateChannel of Insiders. - const settings: CppSettings = new CppSettings(); - const migratedInsiders: PersistentState = new PersistentState("CPP.migratedInsiders", false); - if (settings.updateChannel === "Insiders") { - // Don't do anything while the user has autoUpdate disabled, so we do not cause the extension to be updated. - if (!migratedInsiders.Value && vscode.workspace.getConfiguration("extensions", null).get("autoUpdate")) { - installPrerelease = true; - migratedInsiders.Value = true; - } - } else { - // Reset persistent value, so we register again if they switch to "Insiders" again. - if (migratedInsiders.Value) { - migratedInsiders.Value = false; - } - } - - // Mitigate an issue with VS Code not recognizing a programmatically installed VSIX as Prerelease. - // If using VS Code Insiders, and updateChannel is not explicitly set, default to Prerelease. - // Only do this once. If the user manually switches to Release, we don't want to switch them back to Prerelease again. - if (util.isVsCodeInsiders()) { - const insidersMitigationDone: PersistentState = new PersistentState("CPP.insidersMitigationDone", false); - if (!insidersMitigationDone.Value) { - if (vscode.workspace.getConfiguration("extensions", null).get("autoUpdate")) { - if (settings.getStringWithUndefinedDefault("updateChannel") === undefined) { - installPrerelease = true; - } - } - insidersMitigationDone.Value = true; - } - } - - if (installPrerelease) { - void vscode.commands.executeCommand("workbench.extensions.installExtension", "ms-vscode.cpptools", { installPreReleaseVersion: true }).then(undefined, logAndReturn.undefined); - } -} - export async function preReleaseCheck(): Promise { const displayedPreReleasePrompt: PersistentState = new PersistentState("CPP.displayedPreReleasePrompt", false); const isOnPreRelease: PersistentState = new PersistentState("CPP.isOnPreRelease", false); @@ -1459,10 +1465,10 @@ async function onCopilotHover(): Promise { vscode.LanguageModelChatMessage .User(requestInfo.content + locale)]; - const [model] = await vscodelm.selectChatModels(modelSelector); - let chatResponse: vscode.LanguageModelChatResponse | undefined; try { + const [model] = await vscodelm.selectChatModels(modelSelector); + chatResponse = await model.sendRequest( messages, {}, diff --git a/Extension/src/LanguageServer/lmTool.ts b/Extension/src/LanguageServer/lmTool.ts index 1ede1d026..1802034e1 100644 --- a/Extension/src/LanguageServer/lmTool.ts +++ b/Extension/src/LanguageServer/lmTool.ts @@ -9,7 +9,7 @@ import * as nls from 'vscode-nls'; import * as util from '../common'; import * as logger from '../logger'; import * as telemetry from '../telemetry'; -import { ChatContextResult, ProjectContextResult } from './client'; +import { ChatContextResult } from './client'; import { getClients } from './extension'; import { checkDuration } from './utils'; @@ -51,7 +51,7 @@ const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: str } }; -function formatChatContext(context: ChatContextResult | ProjectContextResult): void { +function formatChatContext(context: ChatContextResult): void { type KnownKeys = 'language' | 'standardVersion' | 'compiler' | 'targetPlatform'; for (const key in knownValues) { const knownKey = key as KnownKeys; @@ -68,115 +68,48 @@ export interface ProjectContext { compiler: string; targetPlatform: string; targetArchitecture: string; - compilerArguments: Record; } -export function getCompilerArgumentFilterMap(compiler: string, context: { flags: Record }): Record | undefined { - // The copilotcppXXXCompilerArgumentFilters are maps. - // The keys are regex strings and the values, if not empty, are the prompt text to use when no arguments are found. - let filterMap: Record | undefined; +export async function getProjectContext(uri: vscode.Uri, context: { flags: Record }, cancellationToken: vscode.CancellationToken, telemetryProperties: Record, telemetryMetrics: Record): Promise { try { - switch (compiler) { - case MSVC: - if (context.flags.copilotcppMsvcCompilerArgumentFilter !== undefined) { - filterMap = JSON.parse(context.flags.copilotcppMsvcCompilerArgumentFilter as string); - } - break; - case Clang: - if (context.flags.copilotcppClangCompilerArgumentFilter !== undefined) { - filterMap = JSON.parse(context.flags.copilotcppClangCompilerArgumentFilter as string); - } - break; - case GCC: - if (context.flags.copilotcppGccCompilerArgumentFilter !== undefined) { - filterMap = JSON.parse(context.flags.copilotcppGccCompilerArgumentFilter as string); - } - break; - } - } - catch { - // Intentionally swallow any exception. - } - return filterMap; -} - -function filterCompilerArguments(compiler: string, compilerArguments: string[], context: { flags: Record }, telemetryProperties: Record): Record { - const filterMap = getCompilerArgumentFilterMap(compiler, context); - if (filterMap === undefined) { - return {}; - } - - const combinedArguments = compilerArguments.join(' '); - const result: Record = {}; - const filteredCompilerArguments: string[] = []; - for (const key in filterMap) { - if (!key) { - continue; - } - const filter = new RegExp(key, 'g'); - const filtered = combinedArguments.match(filter); - if (filtered) { - filteredCompilerArguments.push(...filtered); - result[key] = filtered[filtered.length - 1]; - } - } - - if (filteredCompilerArguments.length > 0) { - // Telemetry to learn about the argument distribution. The filtered arguments are expected to be non-PII. - telemetryProperties["filteredCompilerArguments"] = filteredCompilerArguments.join(','); - } - - const filters = Object.keys(filterMap).filter(filter => !!filter).join(','); - if (filters) { - telemetryProperties["filters"] = filters; - } - - return result; -} - -export async function getProjectContext(uri: vscode.Uri, context: { flags: Record }, telemetryProperties: Record, telemetryMetrics: Record): Promise { - try { - const projectContext = await checkDuration(async () => await getClients()?.ActiveClient?.getProjectContext(uri) ?? undefined); - telemetryMetrics["projectContextDuration"] = projectContext.duration; - if (!projectContext.result) { + const chatContext = await checkDuration(async () => await getClients()?.ActiveClient?.getChatContext(uri, cancellationToken) ?? undefined); + telemetryMetrics["projectContextDuration"] = chatContext.duration; + if (!chatContext.result) { return undefined; } - const originalStandardVersion = projectContext.result.standardVersion; + const originalStandardVersion = chatContext.result.standardVersion; - formatChatContext(projectContext.result); + formatChatContext(chatContext.result); const result: ProjectContext = { - language: projectContext.result.language, - standardVersion: projectContext.result.standardVersion, - compiler: projectContext.result.compiler, - targetPlatform: projectContext.result.targetPlatform, - targetArchitecture: projectContext.result.targetArchitecture, - compilerArguments: {} + language: chatContext.result.language, + standardVersion: chatContext.result.standardVersion, + compiler: chatContext.result.compiler, + targetPlatform: chatContext.result.targetPlatform, + targetArchitecture: chatContext.result.targetArchitecture }; - if (projectContext.result.language) { - telemetryProperties["language"] = projectContext.result.language; + if (result.language) { + telemetryProperties["language"] = result.language; } - if (projectContext.result.compiler) { - telemetryProperties["compiler"] = projectContext.result.compiler; + if (result.compiler) { + telemetryProperties["compiler"] = result.compiler; } - if (projectContext.result.standardVersion) { - telemetryProperties["standardVersion"] = projectContext.result.standardVersion; + if (result.standardVersion) { + telemetryProperties["standardVersion"] = result.standardVersion; } else { if (originalStandardVersion) { telemetryProperties["originalStandardVersion"] = originalStandardVersion; } } - if (projectContext.result.targetPlatform) { - telemetryProperties["targetPlatform"] = projectContext.result.targetPlatform; + if (result.targetPlatform) { + telemetryProperties["targetPlatform"] = result.targetPlatform; } - if (projectContext.result.targetArchitecture) { - telemetryProperties["targetArchitecture"] = projectContext.result.targetArchitecture; + if (result.targetArchitecture) { + telemetryProperties["targetArchitecture"] = result.targetArchitecture; } - telemetryMetrics["compilerArgumentCount"] = projectContext.result.fileContext.compilerArguments.length; - result.compilerArguments = filterCompilerArguments(projectContext.result.compiler, projectContext.result.fileContext.compilerArguments, context, telemetryProperties); return result; } @@ -235,7 +168,10 @@ export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTo contextString += `The project targets the ${chatContext.targetArchitecture} architecture. `; telemetryProperties["targetArchitecture"] = chatContext.targetArchitecture; } - + if (chatContext.usedTestFrameworks.length > 0) { + contextString += `The project uses the following C++ test frameworks: ${chatContext.usedTestFrameworks.join(', ')}. `; + telemetryProperties["testFrameworks"] = chatContext.usedTestFrameworks.join(', '); + } return contextString; } catch { diff --git a/Extension/src/LanguageServer/protocolFilter.ts b/Extension/src/LanguageServer/protocolFilter.ts index 9829f0a13..372d62e3a 100644 --- a/Extension/src/LanguageServer/protocolFilter.ts +++ b/Extension/src/LanguageServer/protocolFilter.ts @@ -38,7 +38,6 @@ export function createProtocolFilter(): Middleware { return; } // client.takeOwnership() will call client.TrackedDocuments.add() again, but that's ok. It's a Set. - client.onDidOpenTextDocument(document); client.takeOwnership(document); void sendMessage(document); } diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 8b682f483..fb8b3c458 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -392,7 +392,6 @@ export class CppSettings extends Settings { } public get isConfigurationWarningsEnabled(): boolean { return this.getAsString("configurationWarnings").toLowerCase() === "enabled"; } public get preferredPathSeparator(): string { return this.getAsString("preferredPathSeparator"); } - public get updateChannel(): string { return this.getAsString("updateChannel"); } public get vcpkgEnabled(): boolean { return this.getAsBoolean("vcpkg.enabled"); } public get addNodeAddonIncludePaths(): boolean { return this.getAsBoolean("addNodeAddonIncludePaths"); } public get renameRequiresIdentifier(): boolean { return this.getAsBoolean("renameRequiresIdentifier"); } @@ -445,6 +444,9 @@ export class CppSettings extends Settings { public get defaultBrowsePath(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.browse.path"); } public get defaultDatabaseFilename(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("default.browse.databaseFilename")); } public get defaultLimitSymbolsToIncludedHeaders(): boolean { return this.getAsBoolean("default.browse.limitSymbolsToIncludedHeaders"); } + public get defaultRecursiveIncludesReduce(): string { return this.getAsString("default.recursiveIncludes.reduce"); } + public get defaultRecursiveIncludesPriority(): string { return this.getAsString("default.recursiveIncludes.priority"); } + public get defaultRecursiveIncludesOrder(): string { return this.getAsString("default.recursiveIncludes.order"); } public get defaultSystemIncludePath(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.systemIncludePath"); } public get defaultEnableConfigurationSquiggles(): boolean { return this.getAsBoolean("default.enableConfigurationSquiggles"); } public get defaultCustomConfigurationVariables(): Associations | undefined { return this.getAsAssociations("default.customConfigurationVariables", true) ?? undefined; } @@ -471,13 +473,18 @@ export class CppSettings extends Settings { if (!(vscode as any).lm) { return "disabled"; } - const val = super.Section.get("copilotHover"); - if (val === undefined) { - return "default"; + if (super.Section.get("copilotHover") === "enabled") { + return "enabled"; } - return val as string; + return this.getAsString("copilotHover"); + } + public get cppCodeSnippetsFeatureNames(): string | undefined { + const value = super.Section.get("cppCodeSnippetsFeatureNames"); + if (isString(value)) { + return value; + } + return undefined; } - public get formattingEngine(): string { return this.getAsString("formatting"); } public get vcFormatIndentBraces(): boolean { return this.getAsBoolean("vcFormat.indent.braces"); } public get vcFormatIndentMultiLineRelativeTo(): string { return this.getAsString("vcFormat.indent.multiLineRelativeTo"); } diff --git a/Extension/src/LanguageServer/settingsPanel.ts b/Extension/src/LanguageServer/settingsPanel.ts index a13ef8109..6352e428f 100644 --- a/Extension/src/LanguageServer/settingsPanel.ts +++ b/Extension/src/LanguageServer/settingsPanel.ts @@ -52,6 +52,9 @@ const elementId: { [key: string]: string } = { mergeConfigurations: "mergeConfigurations", configurationProvider: "configurationProvider", forcedInclude: "forcedInclude", + recursiveIncludesReduce: "recursiveIncludes.reduce", + recursiveIncludesPriority: "recursiveIncludes.priority", + recursiveIncludesOrder: "recursiveIncludes.order", // Browse properties browsePath: "browsePath", @@ -351,6 +354,24 @@ export class SettingsPanel { case elementId.forcedInclude: this.configValues.forcedInclude = splitEntries(message.value); break; + case elementId.recursiveIncludesReduce: + if (!this.configValues.recursiveIncludes) { + this.configValues.recursiveIncludes = {}; + } + this.configValues.recursiveIncludes.reduce = message.value; + break; + case elementId.recursiveIncludesPriority: + if (!this.configValues.recursiveIncludes) { + this.configValues.recursiveIncludes = {}; + } + this.configValues.recursiveIncludes.priority = message.value; + break; + case elementId.recursiveIncludesOrder: + if (!this.configValues.recursiveIncludes) { + this.configValues.recursiveIncludes = {}; + } + this.configValues.recursiveIncludes.order = message.value; + break; case elementId.browsePath: if (!this.configValues.browse) { this.configValues.browse = {}; diff --git a/Extension/src/LanguageServer/settingsTracker.ts b/Extension/src/LanguageServer/settingsTracker.ts index fef9ae2fe..6cc37f45b 100644 --- a/Extension/src/LanguageServer/settingsTracker.ts +++ b/Extension/src/LanguageServer/settingsTracker.ts @@ -104,7 +104,8 @@ export class SettingsTracker { } const curEnum: any[] = curSetting["enum"]; if (curEnum && curEnum.indexOf(val) === -1 - && (key !== "loggingLevel" || util.getNumericLoggingLevel(val) === -1)) { + && (key !== "loggingLevel" || util.getNumericLoggingLevel(val) === -1) + && (key !== "copilotHover" || val !== "enabled")) { return ""; } return val; diff --git a/Extension/src/LanguageServer/ui.ts b/Extension/src/LanguageServer/ui.ts index 056645a29..bd976ed8b 100644 --- a/Extension/src/LanguageServer/ui.ts +++ b/Extension/src/LanguageServer/ui.ts @@ -200,8 +200,8 @@ export class LanguageStatusUI { if (this.isParsingWorkspacePaused) { const displayTwoStatus: boolean = this.isParsingFiles && this.isParsingWorkspace; return (this.isParsingFiles ? this.parsingFilesTooltip : "") - + (displayTwoStatus ? " | " : "") - + (this.isParsingWorkspace ? this.workspaceParsingPausedText : ""); + + (displayTwoStatus ? " | " : "") + + (this.isParsingWorkspace ? this.workspaceParsingPausedText : ""); } else { return this.isParsingWorkspace ? this.workspaceParsingRunningText : this.parsingFilesTooltip; } @@ -260,6 +260,13 @@ export class LanguageStatusUI { }; return item; } + + public refreshCodeAnalysisText(isRunningCodeAnalysis: boolean) { + const activeText: string = this.isCodeAnalysisPaused ? this.codeAnalysisPausedText : this.codeAnalysisRunningText; + const idleText: string = this.codeAnalysisModePrefix + this.codeAnalysisCurrentMode(); + this.codeAnalysisStatusItem.text = isRunningCodeAnalysis ? activeText : idleText; + } + private setIsCodeAnalysisPaused(val: boolean): void { if (!this.isRunningCodeAnalysis) { return; @@ -286,9 +293,7 @@ export class LanguageStatusUI { } this.isRunningCodeAnalysis = val; this.codeAnalysisStatusItem.busy = val; - const activeText: string = this.isCodeAnalysisPaused ? this.codeAnalysisPausedText : this.codeAnalysisRunningText; - const idleText: string = this.codeAnalysisModePrefix + this.codeAnalysisCurrentMode(); - this.codeAnalysisStatusItem.text = val ? activeText : idleText; + this.refreshCodeAnalysisText(val); this.codeAnalysisStatusItem.command = val ? { command: "C_Cpp.ShowActiveCodeAnalysisCommands", title: localize("c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions", "Options"), @@ -497,7 +502,7 @@ export class LanguageStatusUI { // TODO: Check some "AlwaysShow" setting here. this.ShowConfiguration = isCppOrRelated || (util.getWorkspaceIsCpp() && (activeEditor.document.fileName.endsWith("tasks.json") || - activeEditor.document.fileName.endsWith("launch.json"))); + activeEditor.document.fileName.endsWith("launch.json"))); if (this.showConfigureIntelliSenseButton) { if (isCppOrRelated && !!this.currentClient && this.currentClient.getShowConfigureIntelliSenseButton()) { diff --git a/Extension/src/common.ts b/Extension/src/common.ts index dbd0bcdd6..8817767b1 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -759,10 +759,7 @@ export interface ProcessReturnType { export async function spawnChildProcess(program: string, args: string[] = [], continueOn?: string, skipLogging?: boolean, cancellationToken?: vscode.CancellationToken): Promise { // Do not use CppSettings to avoid circular require() if (skipLogging === undefined || !skipLogging) { - const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null); - if (getNumericLoggingLevel(settings.get("loggingLevel")) >= 5) { - getOutputChannelLogger().appendLine(`$ ${program} ${args.join(' ')}`); - } + getOutputChannelLogger().appendLineAtLevel(5, `$ ${program} ${args.join(' ')}`); } const programOutput: ProcessOutput = await spawnChildProcessImpl(program, args, continueOn, skipLogging, cancellationToken); const exitCode: number | NodeJS.Signals | undefined = programOutput.exitCode; @@ -789,10 +786,6 @@ interface ProcessOutput { async function spawnChildProcessImpl(program: string, args: string[], continueOn?: string, skipLogging?: boolean, cancellationToken?: vscode.CancellationToken): Promise { const result = new ManualPromise(); - // Do not use CppSettings to avoid circular require() - const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null); - const loggingLevel: number = (skipLogging === undefined || !skipLogging) ? getNumericLoggingLevel(settings.get("loggingLevel")) : 0; - let proc: child_process.ChildProcess; if (await isExecutable(program)) { proc = child_process.spawn(`.${isWindows ? '\\' : '/'}${path.basename(program)}`, args, { shell: true, cwd: path.dirname(program) }); @@ -817,8 +810,8 @@ async function spawnChildProcessImpl(program: string, args: string[], continueOn if (proc.stdout) { proc.stdout.on('data', data => { const str: string = data.toString(); - if (loggingLevel > 0) { - getOutputChannelLogger().append(str); + if (skipLogging === undefined || !skipLogging) { + getOutputChannelLogger().appendAtLevel(1, str); } stdout += str; if (continueOn) { @@ -1450,7 +1443,7 @@ export function findPowerShell(): string | undefined { return name; } } catch (e) { - return undefined; + // ignore, try next candidate } } } @@ -1576,6 +1569,10 @@ function isIntegral(str: string): boolean { return regex.test(str); } +export function getLoggingLevel() { + return getNumericLoggingLevel(vscode.workspace.getConfiguration("C_Cpp", null).get("loggingLevel")); +} + export function getNumericLoggingLevel(loggingLevel: string | undefined): number { if (!loggingLevel) { return 1; diff --git a/Extension/src/cppTools.ts b/Extension/src/cppTools.ts index ca6bb9861..21152f8bc 100644 --- a/Extension/src/cppTools.ts +++ b/Extension/src/cppTools.ts @@ -9,9 +9,7 @@ import { CppToolsTestApi, CppToolsTestHook } from 'vscode-cpptools/out/testApi'; import * as nls from 'vscode-nls'; import { CustomConfigurationProvider1, CustomConfigurationProviderCollection, getCustomConfigProviders } from './LanguageServer/customProviders'; import * as LanguageServer from './LanguageServer/extension'; -import { CppSettings } from './LanguageServer/settings'; -import { getNumericLoggingLevel } from './common'; -import { getOutputChannel } from './logger'; +import { getOutputChannelLogger } from './logger'; import * as test from './testHook'; nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); @@ -61,10 +59,7 @@ export class CppTools implements CppToolsTestApi { if (providers.add(provider, this.version)) { const added: CustomConfigurationProvider1 | undefined = providers.get(provider); if (added) { - const settings: CppSettings = new CppSettings(); - if (getNumericLoggingLevel(settings.loggingLevel) >= 5) { - getOutputChannel().appendLine(localize("provider.registered", "Custom configuration provider '{0}' registered", added.name)); - } + getOutputChannelLogger().appendLineAtLevel(5, localize("provider.registered", "Custom configuration provider '{0}' registered", added.name)); this.providers.push(added); LanguageServer.getClients().forEach(client => void client.onRegisterCustomConfigurationProvider(added)); this.addNotifyReadyTimer(added); diff --git a/Extension/src/instrumentation.ts b/Extension/src/instrumentation.ts new file mode 100644 index 000000000..360d903eb --- /dev/null +++ b/Extension/src/instrumentation.ts @@ -0,0 +1,54 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +'use strict'; + +/* eslint @typescript-eslint/no-var-requires: "off" */ + +export interface PerfMessage | undefined> { + /** this is the 'name' of the event */ + name: string; + + /** this indicates the context or origin of the message */ + context: Record>; + + /** if the message contains complex data, it should be in here */ + data?: TInput; + + /** if the message is just a text message, this is the contents of the message */ + text?: string; + + /** the message can have a numeric value that indicates the 'level' or 'severity' etc */ + level?: number; +} + +const services = { + instrument: >(instance: T, _options?: { ignore?: string[]; name?: string }): T => instance, + message: (_message: PerfMessage) => { }, + init: (_vscode: any) => { } +}; + +/** Adds instrumentation to all the members of an object when instrumentation is enabled */ +export function instrument>(instance: T, options?: { ignore?: string[]; name?: string }): T { + return services.instrument(instance, options); +} + +/** sends a perf message to the monitor */ +export function sendInstrumentation(message: PerfMessage): void { + services.message(message); +} + +/** verifies that the instrumentation is loaded into the global namespace */ +export const isInstrumentationEnabled = !!(global as any).instrumentation; + +// If the instrumentation is enabled, then ensure the functions are wired up. +if (isInstrumentationEnabled) { + // Instrumentation services provided by the tool. + services.instrument = (global as any).instrumentation.instrument; + services.message = (global as any).instrumentation.message; + services.init = (global as any).instrumentation.init; + + // Passes the specific vscode object for this extension to the init routine. + services.init(require('vscode')); +} diff --git a/Extension/src/logger.ts b/Extension/src/logger.ts index 4dba0e1d3..d14bb531f 100644 --- a/Extension/src/logger.ts +++ b/Extension/src/logger.ts @@ -7,7 +7,8 @@ import * as os from 'os'; import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; -import { getNumericLoggingLevel } from './common'; +import { getLoggingLevel } from './common'; +import { sendInstrumentation } from './instrumentation'; import { CppSourceStr } from './LanguageServer/extension'; import { getLocalizedString, LocalizeStringParams } from './LanguageServer/localization'; @@ -27,18 +28,26 @@ export class Logger { this.writer = writer; } - public append(message: string): void { - this.writer(message); - if (Subscriber) { - Subscriber(message); + public appendAtLevel(level: number, message: string): void { + if (getLoggingLevel() >= level) { + this.writer(message); + if (Subscriber) { + Subscriber(message); + } } + sendInstrumentation({ name: 'log', text: message, context: { channel: 'log', source: 'extension' }, level }); + } + + public append(message: string): void { + this.appendAtLevel(0, message); + } + + public appendLineAtLevel(level: number, message: string): void { + this.appendAtLevel(level, message + os.EOL); } public appendLine(message: string): void { - this.writer(message + os.EOL); - if (Subscriber) { - Subscriber(message + os.EOL); - } + this.appendAtLevel(0, message + os.EOL); } // We should not await on this function. @@ -83,9 +92,8 @@ export function getOutputChannel(): vscode.OutputChannel { if (!outputChannel) { outputChannel = vscode.window.createOutputChannel(CppSourceStr); // Do not use CppSettings to avoid circular require() - const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null); - const loggingLevel: string | undefined = settings.get("loggingLevel"); - if (getNumericLoggingLevel(loggingLevel) > 1) { + const loggingLevel = getLoggingLevel(); + if (loggingLevel > 1) { outputChannel.appendLine(`loggingLevel: ${loggingLevel}`); } } @@ -130,10 +138,7 @@ export function getOutputChannelLogger(): Logger { } export function log(output: string): void { - if (!outputChannel) { - outputChannel = getOutputChannel(); - } - outputChannel.appendLine(`${output}`); + getOutputChannel().appendLine(`${output}`); } export interface DebugProtocolParams { diff --git a/Extension/src/main.ts b/Extension/src/main.ts index f8d5bcd33..2f47e0ef3 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -23,6 +23,7 @@ import { CppSettings } from './LanguageServer/settings'; import { logAndReturn, returns } from './Utility/Async/returns'; import { CppTools1 } from './cppTools1'; import { logMachineIdMappings } from './id'; +import { instrument, sendInstrumentation } from './instrumentation'; import { disposeOutputChannels, log } from './logger'; import { PlatformInformation } from './platform'; @@ -35,6 +36,11 @@ let reloadMessageShown: boolean = false; const disposables: vscode.Disposable[] = []; export async function activate(context: vscode.ExtensionContext): Promise { + sendInstrumentation({ + name: "activate", + context: { cpptools: '', start: '' } + }); + util.setExtensionContext(context); Telemetry.activate(); util.setProgress(0); @@ -54,7 +60,7 @@ export async function activate(context: vscode.ExtensionContext): Promise("ignoreRecommendations"); if (ignoreRecommendations !== true) { @@ -127,7 +132,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { if (event.execution.task.definition.type === CppBuildTaskProvider.CppBuildScriptType @@ -152,6 +157,11 @@ export async function activate(context: vscode.ExtensionContext): Promise { + suiteSetup(async function (): Promise { await testHelpers.activateCppExtension(); const cpptools = await apit.getCppToolsTestApi(api.Version.latest) ?? assert.fail("Could not get cpptools test api"); @@ -74,7 +75,7 @@ suite("[Inlay hints test]", function(): void { await useDefaultSettings(); }); - suiteTeardown(async function(): Promise { + suiteTeardown(async function (): Promise { await restoreOriginalSettings(); disposables.forEach(d => d.dispose()); }); @@ -298,6 +299,9 @@ suite("[Inlay hints test]", function(): void { await inlayHintSettings.update(inlayHintSetting, valueNew, vscode.ConfigurationTarget.Global); const valueAfterChange: any = inlayHintSettings.inspect(inlayHintSetting)!.globalValue; assert.strictEqual(valueAfterChange, valueNew, `Unable to change setting: ${inlayHintSetting}`); + // TODO: We need a way to synchronize with native process having completely processed the setting change + // and any changes in behavior being fully applied. + await sleep(5000); } } diff --git a/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts b/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts index 31b7615a4..ba466323d 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/copilotProviders.test.ts @@ -3,6 +3,7 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ +import { ContextProviderApiV1 } from '@github/copilot-language-server'; import { ok } from 'assert'; import { afterEach, beforeEach, describe, it } from 'mocha'; import * as proxyquire from 'proxyquire'; @@ -58,6 +59,9 @@ describe('copilotProviders Tests', () => { [Symbol.dispose]: () => { } }; } + public getContextProviderAPI(_version: string): Promise { + throw new Error('Method not implemented.'); + } } mockCopilotApi = sinon.createStubInstance(MockCopilotApi); vscodeExtension = { @@ -141,20 +145,19 @@ describe('copilotProviders Tests', () => { ok(result.traits === undefined, 'result.traits should be undefined'); }); - const projectContextNoArgs: ProjectContext = { + const projectContext: ProjectContext = { language: 'C++', standardVersion: 'C++20', compiler: 'MSVC', targetPlatform: 'Windows', - targetArchitecture: 'x64', - compilerArguments: {} + targetArchitecture: 'x64' }; it('provides standardVersion trait by default.', async () => { arrange({ vscodeExtension: vscodeExtension, getIncludeFiles: { includedFiles }, - projectContext: projectContextNoArgs, + projectContext: projectContext, rootUri, flags: {} }); @@ -169,15 +172,21 @@ describe('copilotProviders Tests', () => { ok(result.traits.find((trait) => trait.name === 'standardVersion')?.value === 'C++20', 'result.traits should have a standardVersion trait with value "C++20"'); ok(result.traits.find((trait) => trait.name === 'standardVersion')?.includeInPrompt, 'result.traits should have a standardVersion trait with includeInPrompt true'); ok(result.traits.find((trait) => trait.name === 'standardVersion')?.promptTextOverride === 'This project uses the C++20 language standard.', 'result.traits should have a standardVersion trait with promptTextOverride'); + ok(telemetryStub.calledOnce, 'Telemetry should be called once'); + ok(telemetryStub.calledWithMatch('RelatedFilesProvider', sinon.match({ + 'traits': 'standardVersion' + }), sinon.match({ + 'duration': sinon.match.number + }))); }); it('provides traits per copilotcppIncludeTraits.', async () => { arrange({ vscodeExtension: vscodeExtension, getIncludeFiles: { includedFiles }, - projectContext: projectContextNoArgs, + projectContext: projectContext, rootUri, - flags: { copilotcppIncludeTraits: ['intelliSenseDisclaimer', 'intelliSenseDisclaimerBeginning', 'language', 'compiler', 'targetPlatform', 'targetArchitecture', 'intelliSenseDisclaimerEnd'] } + flags: { copilotcppIncludeTraits: ['language', 'compiler', 'targetPlatform', 'targetArchitecture'] } }); await moduleUnderTest.registerRelatedFilesProvider(); @@ -185,13 +194,7 @@ describe('copilotProviders Tests', () => { ok(result, 'result should be defined'); ok(result.traits, 'result.traits should be defined'); - ok(result.traits.length === 8, 'result.traits should have 8 traits if none are excluded'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer'), 'result.traits should have a intellisense trait'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer')?.includeInPrompt, 'result.traits should have a intellisense trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimer')?.promptTextOverride === 'IntelliSense is currently configured with the following compiler information. It reflects the active configuration, and the project may have more configurations targeting different platforms.', 'result.traits should have a intellisense trait with promptTextOverride'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning'), 'result.traits should have a intellisenseBegin trait'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning')?.includeInPrompt, 'result.traits should have a intellisenseBegin trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerBeginning')?.promptTextOverride === 'Beginning of IntelliSense information.', 'result.traits should have a intellisenseBegin trait with promptTextOverride'); + ok(result.traits.length === 5, 'result.traits should have 5 traits if none are excluded'); ok(result.traits.find((trait) => trait.name === 'language'), 'result.traits should have a language trait'); ok(result.traits.find((trait) => trait.name === 'language')?.value === 'C++', 'result.traits should have a language trait with value "C++"'); ok(result.traits.find((trait) => trait.name === 'language')?.includeInPrompt, 'result.traits should have a language trait with includeInPrompt true'); @@ -200,10 +203,6 @@ describe('copilotProviders Tests', () => { ok(result.traits.find((trait) => trait.name === 'compiler')?.value === 'MSVC', 'result.traits should have a compiler trait with value "MSVC"'); ok(result.traits.find((trait) => trait.name === 'compiler')?.includeInPrompt, 'result.traits should have a compiler trait with includeInPrompt true'); ok(result.traits.find((trait) => trait.name === 'compiler')?.promptTextOverride === 'This project compiles using MSVC.', 'result.traits should have a compiler trait with promptTextOverride'); - ok(result.traits.find((trait) => trait.name === 'standardVersion'), 'result.traits should have a standardVersion trait'); - ok(result.traits.find((trait) => trait.name === 'standardVersion')?.value === 'C++20', 'result.traits should have a standardVersion trait with value "C++20"'); - ok(result.traits.find((trait) => trait.name === 'standardVersion')?.includeInPrompt, 'result.traits should have a standardVersion trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'standardVersion')?.promptTextOverride === 'This project uses the C++20 language standard.', 'result.traits should have a standardVersion trait with promptTextOverride'); ok(result.traits.find((trait) => trait.name === 'targetPlatform'), 'result.traits should have a targetPlatform trait'); ok(result.traits.find((trait) => trait.name === 'targetPlatform')?.value === 'Windows', 'result.traits should have a targetPlatform trait with value "Windows"'); ok(result.traits.find((trait) => trait.name === 'targetPlatform')?.includeInPrompt, 'result.traits should have a targetPlatform trait with includeInPrompt true'); @@ -212,187 +211,20 @@ describe('copilotProviders Tests', () => { ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.value === 'x64', 'result.traits should have a targetArchitecture trait with value "x64"'); ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.includeInPrompt, 'result.traits should have a targetArchitecture trait with includeInPrompt true'); ok(result.traits.find((trait) => trait.name === 'targetArchitecture')?.promptTextOverride === 'This build targets x64.', 'result.traits should have a targetArchitecture trait with promptTextOverride'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd'), 'result.traits should have a intellisenseEnd trait'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd')?.includeInPrompt, 'result.traits should have a intellisenseEnd trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'intelliSenseDisclaimerEnd')?.promptTextOverride === 'End of IntelliSense information.', 'result.traits should have a intellisenseEnd trait with promptTextOverride'); - }); - - it('handles errors during provider registration.', async () => { - arrange({}); - - await moduleUnderTest.registerRelatedFilesProvider(); - - ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); - ok(mockCopilotApi.registerRelatedFilesProvider.notCalled, 'registerRelatedFilesProvider should not be called'); - }); - - const projectContext: ProjectContext = { - language: 'C++', - standardVersion: 'C++17', - compiler: 'MSVC', - targetPlatform: 'Windows', - targetArchitecture: 'x64', - compilerArguments: { "/std:c++\d+": '/std:c++17', "/GR-?": '/GR-', "/EH[ascr-]+": '/EHs-c-', "/await": '/await' } - }; - - it('provides compiler argument traits.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: projectContext, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['compilerArguments'], - copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/GR-?": "", "/EH[ascr-]+": "", "/await": ""}' - } - }); - await moduleUnderTest.registerRelatedFilesProvider(); - - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++17, /GR-, /EHs-c-, /await', 'result.traits should have a compiler arguments trait with value "/std:c++17, /GR-, /EHs-c-, /await"'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++17, /GR-, /EHs-c-, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); - ok(!result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should not have a direct asks trait'); - }); - - it('provide direct ask traits of compiler arguments.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: projectContext, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['directAsks', 'compilerArguments'], - copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": "", "/GR-?": "", "/EH[ascr-]+": ""}', - copilotcppCompilerArgumentDirectAskMap: '{"/GR-": "Do not generate code using RTTI keywords.", "/EHs-c-": "Do not generate code using exception handling keywords."}' - } - }); - await moduleUnderTest.registerRelatedFilesProvider(); - - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++17, /await', 'result.traits should have a compiler arguments trait with value "/std:c++17, /await"'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++17, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); - ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.value === 'Do not generate code using RTTI keywords. Do not generate code using exception handling keywords. ', 'result.traits should have a direct asks value'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.includeInPrompt, 'result.traits should have a direct asks trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.promptTextOverride === 'Do not generate code using RTTI keywords. Do not generate code using exception handling keywords. ', 'result.traits should have a direct ask trait with promptTextOverride'); - ok(telemetryStub.calledOnce, 'Telemetry should be called once'); ok(telemetryStub.calledWithMatch('RelatedFilesProvider', sinon.match({ - "includeTraits": 'directAsks,compilerArguments', - 'traits': 'standardVersion,compilerArguments,directAsks' + 'includeTraits': 'language,compiler,targetPlatform,targetArchitecture', + 'traits': 'language,compiler,standardVersion,targetPlatform,targetArchitecture' }), sinon.match({ 'duration': sinon.match.number }))); }); - it('ignore compilerArguments trait if empty.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: projectContext, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['directAsks', 'compilerArguments'], - copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": "", "/GR-?": "", "/EH[ascr-]+": ""}', - copilotcppCompilerArgumentDirectAskMap: '{"/GR-": "abc.", "/EHs-c-": "def.", "/std:c++17": "ghi.", "/await": "jkl."}' - } - }); - await moduleUnderTest.registerRelatedFilesProvider(); - - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments') === undefined, 'result.traits should not have a compiler arguments trait'); - ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); - ok(telemetryStub.calledOnce, 'Telemetry should be called once'); - ok(telemetryStub.calledWithMatch('RelatedFilesProvider', sinon.match({ - "includeTraits": 'directAsks,compilerArguments', - 'traits': 'standardVersion,directAsks' - }))); - }); - - it('uses only last argument from the duplicates.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: { - language: 'C++', - standardVersion: 'C++20', - compiler: 'MSVC', - targetPlatform: 'Windows', - targetArchitecture: 'x64', - compilerArguments: { "/std:c++\d+": '/std:c++20', "/await": '/await' } - }, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['compilerArguments'], - copilotcppMsvcCompilerArgumentFilter: '{"/std:c++\d+": "", "/await": ""}' - } - }); - await moduleUnderTest.registerRelatedFilesProvider(); - - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments'), 'result.traits should have a compiler arguments trait'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.value === '/std:c++20, /await', 'result.traits should have a compiler arguments trait with value "/std:c++20, /await"'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.includeInPrompt, 'result.traits should have a compiler arguments trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'compilerArguments')?.promptTextOverride === 'The compiler arguments include: /std:c++20, /await.', 'result.traits should have a compiler arguments trait with promptTextOverride'); - }); - - it('provides direct asks trait for absence of arguments.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: projectContextNoArgs, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['directAsks'], - copilotcppMsvcCompilerArgumentFilter: - '{"/FOO": "/FOO is not set.", "/BAR": "/BAR is not set."}' - } - }); - await moduleUnderTest.registerRelatedFilesProvider(); - - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'directAsks'), 'result.traits should have a direct asks trait'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.value === '/FOO is not set. /BAR is not set. ', 'result.traits should have a direct asks value'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.includeInPrompt, 'result.traits should have a direct asks trait with includeInPrompt true'); - ok(result.traits.find((trait) => trait.name === 'directAsks')?.promptTextOverride === "/FOO is not set. /BAR is not set. ", 'result.traits should have a direct ask trait with promptTextOverride'); - }); + it('handles errors during provider registration.', async () => { + arrange({}); - it('does not accept empty regex.', async () => { - arrange({ - vscodeExtension: vscodeExtension, - getIncludeFiles: { includedFiles: ['c:\\system\\include\\vector', 'c:\\system\\include\\string', 'C:\\src\\my_project\\foo.h'] }, - projectContext: projectContextNoArgs, - rootUri: vscode.Uri.file('C:\\src\\my_project'), - flags: { - copilotcppIncludeTraits: ['directAsks'], - copilotcppMsvcCompilerArgumentFilter: - '{"": "Empty regex not allowed."}' - } - }); await moduleUnderTest.registerRelatedFilesProvider(); - const result = await callbackPromise; - - ok(result, 'result should be defined'); - ok(result.traits, 'result.traits should be defined'); - ok(result.traits.find((trait) => trait.name === 'directAsks') === undefined, 'result.traits should not have a direct asks trait'); + ok(vscodeGetExtensionsStub.calledOnce, 'vscode.extensions.getExtension should be called once'); + ok(mockCopilotApi.registerRelatedFilesProvider.notCalled, 'registerRelatedFilesProvider should not be called'); }); }); diff --git a/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts index 01f55c98b..3b45b308e 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts @@ -8,7 +8,7 @@ import { afterEach, beforeEach, describe, it } from 'mocha'; import * as sinon from 'sinon'; import * as vscode from 'vscode'; import * as util from '../../../../src/common'; -import { ChatContextResult, DefaultClient, ProjectContextResult } from '../../../../src/LanguageServer/client'; +import { ChatContextResult, DefaultClient } from '../../../../src/LanguageServer/client'; import { ClientCollection } from '../../../../src/LanguageServer/clientCollection'; import * as extension from '../../../../src/LanguageServer/extension'; import { CppConfigurationLanguageModelTool, getProjectContext } from '../../../../src/LanguageServer/lmTool'; @@ -130,23 +130,14 @@ describe('CppConfigurationLanguageModelTool Tests', () => { }); const arrangeChatContextFromCppTools = ({ chatContextFromCppTools, isCpp, isHeaderFile }: - { chatContextFromCppTools?: ChatContextResult; isCpp?: boolean; isHeaderFile?: boolean } = - { chatContextFromCppTools: undefined, isCpp: undefined, isHeaderFile: false } + { chatContextFromCppTools?: ChatContextResult; isCpp?: boolean; isHeaderFile?: boolean } = + { chatContextFromCppTools: undefined, isCpp: undefined, isHeaderFile: false } ) => { activeClientStub.getChatContext.resolves(chatContextFromCppTools); sinon.stub(util, 'isCpp').returns(isCpp ?? true); sinon.stub(util, 'isHeaderFile').returns(isHeaderFile ?? false); }; - const arrangeProjectContextFromCppTools = ({ projectContextFromCppTools, isCpp, isHeaderFile }: - { projectContextFromCppTools?: ProjectContextResult; isCpp?: boolean; isHeaderFile?: boolean } = - { projectContextFromCppTools: undefined, isCpp: undefined, isHeaderFile: false } - ) => { - activeClientStub.getProjectContext.resolves(projectContextFromCppTools); - sinon.stub(util, 'isCpp').returns(isCpp ?? true); - sinon.stub(util, 'isHeaderFile').returns(isHeaderFile ?? false); - }; - it('should log telemetry and provide #cpp chat context.', async () => { arrangeChatContextFromCppTools({ chatContextFromCppTools: { @@ -154,7 +145,8 @@ describe('CppConfigurationLanguageModelTool Tests', () => { standardVersion: 'c++20', compiler: 'msvc', targetPlatform: 'windows', - targetArchitecture: 'x64' + targetArchitecture: 'x64', + usedTestFrameworks: ['GTest', 'Catch2'] } }); @@ -166,45 +158,41 @@ describe('CppConfigurationLanguageModelTool Tests', () => { "compiler": 'MSVC', "standardVersion": 'C++20', "targetPlatform": 'Windows', - "targetArchitecture": 'x64' + "targetArchitecture": 'x64', + 'testFrameworks': 'GTest, Catch2' }))); ok(result, 'result should not be undefined'); const text = result.content[0] as vscode.LanguageModelTextPart; ok(text, 'result should contain a text part'); - ok(text.value === 'The user is working on a C++ project. The project uses language version C++20. The project compiles using the MSVC compiler. The project targets the Windows platform. The project targets the x64 architecture. '); + const traits_text = `The user is working on a C++ project. The project uses language version C++20. The project compiles using the MSVC compiler. The project targets the Windows platform. The project targets the x64 architecture. The project uses the following C++ test frameworks: GTest, Catch2. `; + ok(text.value === traits_text); }); const testGetProjectContext = async ({ compiler, expectedCompiler, context, - compilerArguments: compilerArguments, - expectedCompilerArguments, telemetryProperties, telemetryMetrics }: { compiler: string; expectedCompiler: string; context: { flags: Record }; - compilerArguments: string[]; - expectedCompilerArguments: Record; telemetryProperties: Record; telemetryMetrics: Record; }) => { - arrangeProjectContextFromCppTools({ - projectContextFromCppTools: { + arrangeChatContextFromCppTools({ + chatContextFromCppTools: { language: 'cpp', standardVersion: 'c++20', compiler: compiler, targetPlatform: 'windows', targetArchitecture: 'x64', - fileContext: { - compilerArguments: compilerArguments - } + usedTestFrameworks: [] } }); - const result = await getProjectContext(mockTextDocumentStub.uri, context, telemetryProperties, telemetryMetrics); + const result = await getProjectContext(mockTextDocumentStub.uri, context, new vscode.CancellationTokenSource().token, telemetryProperties, telemetryMetrics); ok(result, 'result should not be undefined'); ok(result.language === 'C++'); @@ -212,177 +200,15 @@ describe('CppConfigurationLanguageModelTool Tests', () => { ok(result.standardVersion === 'C++20'); ok(result.targetPlatform === 'Windows'); ok(result.targetArchitecture === 'x64'); - ok(JSON.stringify(result.compilerArguments) === JSON.stringify(expectedCompilerArguments)); }; - it('should provide compilerArguments based on copilotcppMsvcCompilerArgumentFilter.', async () => { - await testGetProjectContext({ - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": ""}' } }, - compilerArguments: ['foo', 'bar', 'abc', 'foo-'], - expectedCompilerArguments: { 'foo-?': 'foo-' }, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should provide compilerArguments based on copilotcppClangCompilerArgumentFilter.', async () => { - await testGetProjectContext({ - compiler: 'clang', - expectedCompiler: 'Clang', - context: { flags: { copilotcppClangCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, - compilerArguments: ['foo', 'bar', 'abc'], - expectedCompilerArguments: { 'foo': 'foo', 'bar': 'bar' }, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should support spaces between argument and value.', async () => { - await testGetProjectContext({ - compiler: 'clang', - expectedCompiler: 'Clang', - context: { flags: { copilotcppClangCompilerArgumentFilter: '{"-std\\\\sc\\\\+\\\\+\\\\d+": ""}' } }, - compilerArguments: ['-std', 'c++17', '-std', 'foo', '-std', 'c++11', '-std', 'bar'], - expectedCompilerArguments: { '-std\\sc\\+\\+\\d+': '-std c++11' }, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should provide compilerArguments based on copilotcppGccCompilerArgumentFilter.', async () => { - await testGetProjectContext({ - compiler: 'gcc', - expectedCompiler: 'GCC', - context: { flags: { copilotcppGccCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, - compilerArguments: ['foo', 'bar', 'abc', 'bar', 'foo', 'bar'], - expectedCompilerArguments: { 'foo': 'foo', 'bar': 'bar' }, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should provide empty array for each regex if nothing matches.', async () => { - await testGetProjectContext({ - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo": "", "bar": ""}' } }, - compilerArguments: [], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should filter out all compilerArguments by default.', async () => { - await testGetProjectContext({ - compiler: 'gcc', - expectedCompiler: 'GCC', - context: { flags: {} }, - compilerArguments: ['foo', 'bar'], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should filter out all compilerArguments for empty regex.', async () => { - await testGetProjectContext({ - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"": ""}' } }, - compilerArguments: ['foo', 'bar'], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should filter out all compilerArguments for empty copilotcppMsvcCompilerArgumentFilter.', async () => { - await testGetProjectContext({ - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { - flags: { - copilotcppMsvcCompilerArgumentFilter: '' - } - }, - compilerArguments: ['foo', 'bar'], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should filter out all compilerArguments for invalid copilotcppMsvcCompilerArgumentFilter.', async () => { - await testGetProjectContext({ - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { - flags: { - copilotcppMsvcCompilerArgumentFilter: 'Not a map' - } - }, - compilerArguments: ['foo', 'bar'], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - - it('should filter out all compilerArguments for unknown compilers.', async () => { - await testGetProjectContext({ - compiler: 'unknown', - expectedCompiler: '', - context: { - flags: { - copilotcppMsvcCompilerArgumentFilter: '{"(foo|bar)": ""}', - copilotcppClangCompilerArgumentFilter: '{"(foo|bar)": ""}', - copilotcppGccCompilerArgumentFilter: '{"(foo|bar)": ""}' - } - }, - compilerArguments: ['foo', 'bar'], - expectedCompilerArguments: {}, - telemetryProperties: {}, - telemetryMetrics: {} - }); - }); - it('should send telemetry.', async () => { const telemetryProperties: Record = {}; const telemetryMetrics: Record = {}; const input = { compiler: 'msvc', expectedCompiler: 'MSVC', - context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } }, - compilerArguments: ['foo', 'bar', 'foo-', 'abc'], - expectedCompilerArguments: { 'foo-?': 'foo-', 'bar': 'bar' }, - telemetryProperties, - telemetryMetrics - }; - await testGetProjectContext(input); - - ok(telemetryProperties['language'] === 'C++'); - ok(telemetryProperties['compiler'] === input.expectedCompiler); - ok(telemetryProperties['standardVersion'] === 'C++20'); - ok(telemetryProperties['targetPlatform'] === 'Windows'); - ok(telemetryProperties['targetArchitecture'] === 'x64'); - ok(telemetryProperties['filteredCompilerArguments'] === 'foo,foo-,bar'); - ok(telemetryProperties['filters'] === 'foo-?,bar,xyz'); - ok(telemetryMetrics['compilerArgumentCount'] === input.compilerArguments.length); - ok(telemetryMetrics['projectContextDuration'] !== undefined); - }); - - it('should send filter telemetry if available.', async () => { - const telemetryProperties: Record = {}; - const telemetryMetrics: Record = {}; - const input = { - compiler: 'msvc', - expectedCompiler: 'MSVC', - context: { flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } }, - compilerArguments: ['abc'], - expectedCompilerArguments: {}, + context: { flags: {} }, telemetryProperties, telemetryMetrics }; @@ -393,46 +219,38 @@ describe('CppConfigurationLanguageModelTool Tests', () => { ok(telemetryProperties['standardVersion'] === 'C++20'); ok(telemetryProperties['targetPlatform'] === 'Windows'); ok(telemetryProperties['targetArchitecture'] === 'x64'); - ok(telemetryProperties['filteredCompilerArguments'] === undefined); - ok(telemetryProperties['filters'] === 'foo-?,bar,xyz'); - ok(telemetryMetrics['compilerArgumentCount'] === input.compilerArguments.length); ok(telemetryMetrics['projectContextDuration'] !== undefined); }); it('should not send telemetry for unknown values', async () => { - arrangeProjectContextFromCppTools({ - projectContextFromCppTools: { + arrangeChatContextFromCppTools({ + chatContextFromCppTools: { language: 'java', standardVersion: 'gnu++17', compiler: 'javac', targetPlatform: 'arduino', targetArchitecture: 'bar', - fileContext: { - compilerArguments: [] - } + usedTestFrameworks: [] } }); const telemetryProperties: Record = {}; const telemetryMetrics: Record = {}; const result = await getProjectContext(mockTextDocumentStub.uri, { - flags: { copilotcppMsvcCompilerArgumentFilter: '{"foo-?": "", "": "", "bar": "", "xyz": ""}' } - }, telemetryProperties, telemetryMetrics); + flags: {} + }, new vscode.CancellationTokenSource().token, telemetryProperties, telemetryMetrics); ok(telemetryProperties["targetArchitecture"] === 'bar'); - ok(telemetryProperties["filters"] === undefined); ok(telemetryProperties["language"] === undefined); ok(telemetryProperties["compiler"] === undefined); ok(telemetryProperties["standardVersion"] === undefined); ok(telemetryProperties["originalStandardVersion"] === 'gnu++17'); ok(telemetryProperties["targetPlatform"] === undefined); - ok(telemetryMetrics["compilerArgumentCount"] === 0); ok(result, 'result should not be undefined'); ok(result.language === ''); ok(result.compiler === ''); ok(result.standardVersion === ''); ok(result.targetPlatform === ''); ok(result.targetArchitecture === 'bar'); - ok(Object.keys(result.compilerArguments).length === 0); }); }); diff --git a/Extension/tools/OptionsSchema.json b/Extension/tools/OptionsSchema.json index 0a85f18c0..77cc7f2d3 100644 --- a/Extension/tools/OptionsSchema.json +++ b/Extension/tools/OptionsSchema.json @@ -477,7 +477,11 @@ "allOf": [ { "if": { - "properties": { "type": { "const": "scp" } } + "properties": { + "type": { + "const": "scp" + } + } }, "then": { "properties": { @@ -491,7 +495,11 @@ }, { "if": { - "properties": { "type": { "const": "rsync" } } + "properties": { + "type": { + "const": "rsync" + } + } }, "then": { "properties": { @@ -672,7 +680,7 @@ }, "svdPath": { "type": "string", - "description": "%c_cpp.debuggers.cppdbg.visualizerFile.description", + "description": "%c_cpp.debuggers.cppdbg.svdPath.description%", "default": "" }, "showDisplayString": { diff --git a/Extension/translations_auto_pr.js b/Extension/translations_auto_pr.js index eee13392f..05c9229bd 100644 --- a/Extension/translations_auto_pr.js +++ b/Extension/translations_auto_pr.js @@ -2,9 +2,7 @@ const fs = require("fs-extra"); const cp = require("child_process"); -const Octokit = require('@octokit/rest') const path = require('path'); -const parseGitConfig = require('parse-git-config'); const branchName = 'localization'; const mergeTo = 'main'; @@ -106,8 +104,8 @@ cp.execSync('git fetch'); // Remove old localization branch, if any if (hasBranch("localization")) { - console.log(`Remove old localization branch, if any (git branch -D localization)`); - cp.execSync('git branch -D localization'); + console.log(`Remove old localization branch, if any (git branch -D localization)`); + cp.execSync('git branch -D localization'); } // Check out local branch @@ -129,13 +127,17 @@ if (!hasAnyChanges()) { // Save existing user name and email, in case already set. var existingUserName; var existingUserEmail; -var gitConfigPath = path.resolve(process.cwd(), '../.git/config'); -var config = parseGitConfig.sync({ path: gitConfigPath }); -if (typeof config === 'object' && config.hasOwnProperty('user')) { - existingUserName = config.user.name; - existingUserEmail = config.user.email; +try { + existingUserName = cp.execSync('git config --local user.name', { encoding: 'utf8', cwd: process.cwd() }).trim() || undefined +} catch { +} + +try { + existingUserEmail = cp.execSync('git config --local user.email', { encoding: 'utf8', cwd: process.cwd() }).trim() || undefined +} catch { } + if (existingUserName === undefined) { console.log(`Existing user name: undefined`); } else { @@ -179,23 +181,21 @@ if (existingUserEmail === undefined) { cp.execSync(`git config --local user.email "${existingUserEmail}"`); } -console.log(`pushing to remove branch (git push -f origin ${branchName})`); +console.log(`pushing to remote branch (git push -f origin ${branchName})`); cp.execSync(`git push -f origin ${branchName}`); console.log("Checking if there is already a pull request..."); -const octokit = new Octokit.Octokit({auth: authToken}); -octokit.pulls.list({ owner: repoOwner, repo: repoName }).then(({data}) => { - let alreadyHasPullRequest = false; - if (data) { - data.forEach((pr) => { - alreadyHasPullRequest = alreadyHasPullRequest || (pr.title === pullRequestTitle); - }); - } + +(async function() { + const { Octokit } = await import("@octokit/rest"); + const octokit = new Octokit({ auth: authToken }); + const { data } = await octokit.pulls.list({ owner: repoOwner, repo: repoName }); + let alreadyHasPullRequest = data && data.some(pr => pr.title === pullRequestTitle); // If not already present, create a PR against our remote branch. if (!alreadyHasPullRequest) { console.log("There is not already a pull request. Creating one."); - octokit.pulls.create({ body:"", owner: repoOwner, repo: repoName, title: pullRequestTitle, head: branchName, base: mergeTo }); + await octokit.pulls.create({ body:"", owner: repoOwner, repo: repoName, title: pullRequestTitle, head: branchName, base: mergeTo }); } else { console.log("There is already a pull request."); } @@ -212,4 +212,4 @@ octokit.pulls.list({ owner: repoOwner, repo: repoName }).then(({data}) => { console.log(`Remove localization branch (git branch -D localization)`); cp.execSync('git branch -D localization'); -}); +})(); diff --git a/Extension/ui/settings.html b/Extension/ui/settings.html index 8abe8ef48..a8deeb3c3 100644 --- a/Extension/ui/settings.html +++ b/Extension/ui/settings.html @@ -426,7 +426,7 @@
- Learn more about the C/C++ properties by going to C/C++ Properties Schema Reference.
+ Learn more about the C/C++ properties by going to C/C++ Properties Schema Reference.
@@ -722,6 +722,49 @@ +
+
Recursive includes: priority
+
+ Set to always to reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which files are included. Set to never to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. +
+
+ +
+
+ +
+
Recursive includes: priority
+
+ The priority of recursive include paths. If set to beforeSystemIncludes, the recursive include paths will be searched before system include paths. If set to afterSystemIncludes, the recursive include paths will be searched after system include paths. +
+
+ +
+
+ +
+
Recursive includes: priority
+
+ The order in which subdirectories under recursive include paths are searched. +
+
+ +
+
+ diff --git a/Extension/ui/settings.ts b/Extension/ui/settings.ts index fc75f4cbd..ce5a23ab2 100644 --- a/Extension/ui/settings.ts +++ b/Extension/ui/settings.ts @@ -42,6 +42,9 @@ const elementId: { [key: string]: string } = { mergeConfigurations: "mergeConfigurations", dotConfig: "dotConfig", dotConfigInvalid: "dotConfigInvalid", + recursiveIncludesReduce: "recursiveIncludes.reduce", + recursiveIncludesPriority: "recursiveIncludes.priority", + recursiveIncludesOrder: "recursiveIncludes.order", // Browse properties browsePath: "browsePath", @@ -300,6 +303,11 @@ class SettingsApp { (document.getElementById(elementId.configurationProvider)).value = config.configurationProvider ? config.configurationProvider : ""; (document.getElementById(elementId.forcedInclude)).value = joinEntries(config.forcedInclude); (document.getElementById(elementId.dotConfig)).value = config.dotConfig ? config.dotConfig : ""; + if (config.recursiveIncludes) { + (document.getElementById(elementId.recursiveIncludesReduce)).value = config.recursiveIncludes.reduce; + (document.getElementById(elementId.recursiveIncludesPriority)).value = config.recursiveIncludes.priority; + (document.getElementById(elementId.recursiveIncludesOrder)).value = config.recursiveIncludes.order; + } if (config.browse) { (document.getElementById(elementId.browsePath)).value = joinEntries(config.browse.path); diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows10.md b/Extension/walkthrough/installcompiler/install-compiler-windows10.md index 1bcae2d9a..5ae6ebadd 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows10.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows10.md @@ -2,7 +2,7 @@

If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler.

  1. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command: -

    winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK"
    +
    winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.20348"
  2. Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

    diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows11.md b/Extension/walkthrough/installcompiler/install-compiler-windows11.md index d711b8d9e..ae48333f6 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows11.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows11.md @@ -2,7 +2,7 @@

    If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler.

    1. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command: -

      winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.22000"
      +
      winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
    2. Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

      diff --git a/Extension/yarn.lock b/Extension/yarn.lock index 3c5fdaa19..c35c50027 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -24,16 +24,16 @@ jsdoc-type-pratt-parser "~4.0.0" "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha1-ojUU6Pua8SadX3eIqlVnmNYca1k= + version "4.4.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" + integrity sha1-0RRb8sIBMtZABJXW30v1k2L9nVY= dependencies: - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.11.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" - integrity sha1-pUe638cZ6z5fS1VjJeVC++nXoY8= + version "4.12.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha1-z8bP/jnfOQo4Qc3iq8z5Lqp64OA= "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -55,6 +55,13 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha1-3mM9s+wu9qPIni8ZA4Bj6KEi4sI= +"@github/copilot-language-server@^1.266.0": + version "1.273.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@github/copilot-language-server/-/copilot-language-server-1.273.0.tgz#561094fc0d832acae173c40549cd95d27a648fbc" + integrity sha1-VhCU/A2DKsrhc8QFSc2V0npkj7w= + dependencies: + vscode-languageserver-protocol "^3.17.5" + "@gulp-sourcemaps/identity-map@^2.0.1": version "2.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz#a6e8b1abec8f790ec6be2b8c500e6e68037c0019" @@ -106,9 +113,9 @@ integrity sha1-Siho111taWPkI7z5C3/RvjQ0CdM= "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha1-3M5q/3S99trRqVgCtpsEovyx+zY= + version "0.3.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha1-Tw4GNi4BNi+CPTSPGHKwj2ZtgUI= dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -145,7 +152,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha1-FfGQ6YiV8/wjJ27hS8drZ1wuUPA= @@ -153,59 +160,59 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@microsoft/1ds-core-js@4.3.3", "@microsoft/1ds-core-js@^4.3.0": - version "4.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/1ds-core-js/-/1ds-core-js-4.3.3.tgz#f8702418ddef79b1417f040d946a49e173a50454" - integrity sha1-+HAkGN3vebFBfwQNlGpJ4XOlBFQ= +"@microsoft/1ds-core-js@4.3.5", "@microsoft/1ds-core-js@^4.3.4": + version "4.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/1ds-core-js/-/1ds-core-js-4.3.5.tgz#6ff1942850be7c1029f3b6a7108c79d08443e3c7" + integrity sha1-b/GUKFC+fBAp87anEIx50IRD48c= dependencies: - "@microsoft/applicationinsights-core-js" "3.3.3" + "@microsoft/applicationinsights-core-js" "3.3.5" "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-async" ">= 0.5.2 < 2.x" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-async" ">= 0.5.4 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" -"@microsoft/1ds-post-js@^4.3.0": - version "4.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/1ds-post-js/-/1ds-post-js-4.3.3.tgz#151f5a743d5998e802919208ef0a9c5f55eff874" - integrity sha1-FR9adD1ZmOgCkZII7wqcX1Xv+HQ= +"@microsoft/1ds-post-js@^4.3.4": + version "4.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/1ds-post-js/-/1ds-post-js-4.3.5.tgz#42d34929286c9a97f26b78e5325d333191817bd6" + integrity sha1-QtNJKShsmpfya3jlMl0zMZGBe9Y= dependencies: - "@microsoft/1ds-core-js" "4.3.3" + "@microsoft/1ds-core-js" "4.3.5" "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-async" ">= 0.5.2 < 2.x" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-async" ">= 0.5.4 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" -"@microsoft/applicationinsights-channel-js@3.3.3": - version "3.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.3.3.tgz#6ee90f9fb5b1333320331353b3f541385334718e" - integrity sha1-bukPn7WxMzMgMxNTs/VBOFM0cY4= +"@microsoft/applicationinsights-channel-js@3.3.5": + version "3.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.3.5.tgz#9c4711bdb73c78637356363a0c8e8adb3efb61cf" + integrity sha1-nEcRvbc8eGNzVjY6DI6K2z77Yc8= dependencies: - "@microsoft/applicationinsights-common" "3.3.3" - "@microsoft/applicationinsights-core-js" "3.3.3" + "@microsoft/applicationinsights-common" "3.3.5" + "@microsoft/applicationinsights-core-js" "3.3.5" "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-async" ">= 0.5.2 < 2.x" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-async" ">= 0.5.4 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" -"@microsoft/applicationinsights-common@3.3.3": - version "3.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-common/-/applicationinsights-common-3.3.3.tgz#8c4709ec0a9800dc70ad92580fd73b1c264e3954" - integrity sha1-jEcJ7AqYANxwrZJYD9c7HCZOOVQ= +"@microsoft/applicationinsights-common@3.3.5": + version "3.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-common/-/applicationinsights-common-3.3.5.tgz#a83b4a5a5fb81656f6384a9cd10e60a9dad7d20a" + integrity sha1-qDtKWl+4Flb2OEqc0Q5gqdrX0go= dependencies: - "@microsoft/applicationinsights-core-js" "3.3.3" + "@microsoft/applicationinsights-core-js" "3.3.5" "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" -"@microsoft/applicationinsights-core-js@3.3.3": - version "3.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.3.3.tgz#67e0bacbb830bfb758cc4a37061a82df52a40914" - integrity sha1-Z+C6y7gwv7dYzEo3BhqC31KkCRQ= +"@microsoft/applicationinsights-core-js@3.3.5": + version "3.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.3.5.tgz#9dc1bebbfdafa31620b0c2a43b4fac39961c3471" + integrity sha1-ncG+u/2voxYgsMKkO0+sOZYcNHE= dependencies: "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-async" ">= 0.5.2 < 2.x" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-async" ">= 0.5.4 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" "@microsoft/applicationinsights-shims@3.0.1": version "3.0.1" @@ -214,18 +221,18 @@ dependencies: "@nevware21/ts-utils" ">= 0.9.4 < 2.x" -"@microsoft/applicationinsights-web-basic@^3.3.0": - version "3.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.3.3.tgz#b70426779173cd3fce745da4fc062b99d50014c0" - integrity sha1-twQmd5FzzT/OdF2k/AYrmdUAFMA= +"@microsoft/applicationinsights-web-basic@^3.3.4": + version "3.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.3.5.tgz#a502b1ba50094dc31a310f5fa5af9b98084bd359" + integrity sha1-pQKxulAJTcMaMQ9fpa+bmAhL01k= dependencies: - "@microsoft/applicationinsights-channel-js" "3.3.3" - "@microsoft/applicationinsights-common" "3.3.3" - "@microsoft/applicationinsights-core-js" "3.3.3" + "@microsoft/applicationinsights-channel-js" "3.3.5" + "@microsoft/applicationinsights-common" "3.3.5" + "@microsoft/applicationinsights-core-js" "3.3.5" "@microsoft/applicationinsights-shims" "3.0.1" "@microsoft/dynamicproto-js" "^2.0.3" - "@nevware21/ts-async" ">= 0.5.2 < 2.x" - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-async" ">= 0.5.4 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" "@microsoft/dynamicproto-js@^2.0.3": version "2.0.3" @@ -234,17 +241,17 @@ dependencies: "@nevware21/ts-utils" ">= 0.10.4 < 2.x" -"@nevware21/ts-async@>= 0.5.2 < 2.x": - version "0.5.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-async/-/ts-async-0.5.2.tgz#a41883dc6ccc4666bdf156e92f35f3003fd3f6f0" - integrity sha1-pBiD3GzMRma98VbpLzXzAD/T9vA= +"@nevware21/ts-async@>= 0.5.4 < 2.x": + version "0.5.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-async/-/ts-async-0.5.4.tgz#52f8449dd0b3b16aa317a18b4662f6fb13a135f1" + integrity sha1-UvhEndCzsWqjF6GLRmL2+xOhNfE= dependencies: - "@nevware21/ts-utils" ">= 0.11.3 < 2.x" + "@nevware21/ts-utils" ">= 0.11.6 < 2.x" -"@nevware21/ts-utils@>= 0.10.4 < 2.x", "@nevware21/ts-utils@>= 0.11.3 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x": - version "0.11.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-utils/-/ts-utils-0.11.4.tgz#b0b7ea46cff13b9d65ac531b59e6dcd8dec01869" - integrity sha1-sLfqRs/xO51lrFMbWebc2N7AGGk= +"@nevware21/ts-utils@>= 0.10.4 < 2.x", "@nevware21/ts-utils@>= 0.11.6 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x": + version "0.11.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-utils/-/ts-utils-0.11.7.tgz#d7e67f8bafd4d81e9bec9599800a15fd08467055" + integrity sha1-1+Z/i6/U2B6b7JWZgAoV/QhGcFU= "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -267,100 +274,99 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" - integrity sha1-QNID6oJ7nxf0KinGr7k7d0XvgMc= - -"@octokit/core@^5.0.2": - version "5.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" - integrity sha1-3b6u/GtEo5g04bsuWKSaEXZyp+o= - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.1.0" - "@octokit/request" "^8.3.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^9.0.1": - version "9.0.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" - integrity sha1-5sDuaE4wdhTAL8asEidMUNpGXEQ= - dependencies: - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.1.0": - version "7.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" - integrity sha1-m8HF3pLwJmSBMfBBAcq5Se7/5OA= - dependencies: - "@octokit/request" "^8.3.0" - "@octokit/types" "^13.0.0" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^22.2.0": - version "22.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" - integrity sha1-dap9zUQIIdmd72pgtfAUIHrklo4= - -"@octokit/plugin-paginate-rest@11.3.1": - version "11.3.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz#fe92d04b49f134165d6fbb716e765c2f313ad364" - integrity sha1-/pLQS0nxNBZdb7txbnZcLzE602Q= - dependencies: - "@octokit/types" "^13.5.0" - -"@octokit/plugin-request-log@^4.0.0": - version "4.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz#98a3ca96e0b107380664708111864cb96551f958" - integrity sha1-mKPKluCxBzgGZHCBEYZMuWVR+Vg= - -"@octokit/plugin-rest-endpoint-methods@13.2.2": - version "13.2.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz#af8e5dd2cddfea576f92ffaf9cb84659f302a638" - integrity sha1-r45d0s3f6ldvkv+vnLhGWfMCpjg= - dependencies: - "@octokit/types" "^13.5.0" - -"@octokit/request-error@^5.1.0": - version "5.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" - integrity sha1-7kE4U40IyBpgvj8yDNcQYwZKOzA= - dependencies: - "@octokit/types" "^13.1.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": - version "8.4.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" - integrity sha1-f0t7Hao9H0jAl3rY//osGK3viXQ= - dependencies: - "@octokit/endpoint" "^9.0.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/rest@^20.1.1": - version "20.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/rest/-/rest-20.1.1.tgz#ec775864f53fb42037a954b9a40d4f5275b3dc95" - integrity sha1-7HdYZPU/tCA3qVS5pA1PUnWz3JU= +"@octokit/auth-token@^5.0.0": + version "5.1.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/auth-token/-/auth-token-5.1.2.tgz#68a486714d7a7fd1df56cb9bc89a860a0de866de" + integrity sha1-aKSGcU16f9HfVsubyJqGCg3oZt4= + +"@octokit/core@^6.1.4": + version "6.1.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/core/-/core-6.1.4.tgz#f5ccf911cc95b1ce9daf6de425d1664392f867db" + integrity sha1-9cz5EcyVsc6dr23kJdFmQ5L4Z9s= + dependencies: + "@octokit/auth-token" "^5.0.0" + "@octokit/graphql" "^8.1.2" + "@octokit/request" "^9.2.1" + "@octokit/request-error" "^6.1.7" + "@octokit/types" "^13.6.2" + before-after-hook "^3.0.2" + universal-user-agent "^7.0.0" + +"@octokit/endpoint@^10.1.3": + version "10.1.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/endpoint/-/endpoint-10.1.3.tgz#bfe8ff2ec213eb4216065e77654bfbba0fc6d4de" + integrity sha1-v+j/LsIT60IWBl53ZUv7ug/G1N4= + dependencies: + "@octokit/types" "^13.6.2" + universal-user-agent "^7.0.2" + +"@octokit/graphql@^8.1.2": + version "8.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/graphql/-/graphql-8.2.1.tgz#0cb83600e6b4009805acc1c56ae8e07e6c991b78" + integrity sha1-DLg2AOa0AJgFrMHFaujgfmyZG3g= + dependencies: + "@octokit/request" "^9.2.2" + "@octokit/types" "^13.8.0" + universal-user-agent "^7.0.0" + +"@octokit/openapi-types@^23.0.1": + version "23.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/openapi-types/-/openapi-types-23.0.1.tgz#3721646ecd36b596ddb12650e0e89d3ebb2dd50e" + integrity sha1-NyFkbs02tZbdsSZQ4OidPrst1Q4= + +"@octokit/plugin-paginate-rest@^11.4.2": + version "11.4.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.2.tgz#8f46a1de74c35e016c86701ef4ea0e8ef25a06e0" + integrity sha1-j0ah3nTDXgFshnAe9OoOjvJaBuA= + dependencies: + "@octokit/types" "^13.7.0" + +"@octokit/plugin-request-log@^5.3.1": + version "5.3.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz#ccb75d9705de769b2aa82bcd105cc96eb0c00f69" + integrity sha1-zLddlwXedpsqqCvNEFzJbrDAD2k= + +"@octokit/plugin-rest-endpoint-methods@^13.3.0": + version "13.3.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz#1915976b689662f14d033a16e7d9307c22842234" + integrity sha1-GRWXa2iWYvFNAzoW59kwfCKEIjQ= + dependencies: + "@octokit/types" "^13.8.0" + +"@octokit/request-error@^6.1.7": + version "6.1.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request-error/-/request-error-6.1.7.tgz#44fc598f5cdf4593e0e58b5155fe2e77230ff6da" + integrity sha1-RPxZj1zfRZPg5YtRVf4udyMP9to= + dependencies: + "@octokit/types" "^13.6.2" + +"@octokit/request@^9.2.1", "@octokit/request@^9.2.2": + version "9.2.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/request/-/request-9.2.2.tgz#754452ec4692d7fdc32438a14e028eba0e6b2c09" + integrity sha1-dURS7EaS1/3DJDihTgKOug5rLAk= + dependencies: + "@octokit/endpoint" "^10.1.3" + "@octokit/request-error" "^6.1.7" + "@octokit/types" "^13.6.2" + fast-content-type-parse "^2.0.0" + universal-user-agent "^7.0.2" + +"@octokit/rest@^21.1.1": + version "21.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/rest/-/rest-21.1.1.tgz#7a70455ca451b1d253e5b706f35178ceefb74de2" + integrity sha1-enBFXKRRsdJT5bcG81F4zu+3TeI= dependencies: - "@octokit/core" "^5.0.2" - "@octokit/plugin-paginate-rest" "11.3.1" - "@octokit/plugin-request-log" "^4.0.0" - "@octokit/plugin-rest-endpoint-methods" "13.2.2" + "@octokit/core" "^6.1.4" + "@octokit/plugin-paginate-rest" "^11.4.2" + "@octokit/plugin-request-log" "^5.3.1" + "@octokit/plugin-rest-endpoint-methods" "^13.3.0" -"@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.5.0": - version "13.6.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-13.6.0.tgz#db13d345cc3fe1a0f7c07171c724d90f2b55f410" - integrity sha1-2xPTRcw/4aD3wHFxxyTZDytV9BA= +"@octokit/types@^13.6.2", "@octokit/types@^13.7.0", "@octokit/types@^13.8.0": + version "13.8.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@octokit/types/-/types-13.8.0.tgz#3815885e5abd16ed9ffeea3dced31d37ce3f8a0a" + integrity sha1-OBWIXlq9Fu2f/uo9ztMdN84/igo= dependencies: - "@octokit/openapi-types" "^22.2.0" + "@octokit/openapi-types" "^23.0.1" "@pkgr/core@^0.1.0": version "0.1.1" @@ -380,9 +386,9 @@ type-detect "4.0.8" "@sinonjs/fake-timers@^13.0.1", "@sinonjs/fake-timers@^13.0.2": - version "13.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@sinonjs/fake-timers/-/fake-timers-13.0.2.tgz#3ffe88abb062067a580fdfba706ad00435a0f2a6" - integrity sha1-P/6Iq7BiBnpYD9+6cGrQBDWg8qY= + version "13.0.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz#36b9dbc21ad5546486ea9173d6bea063eb1717d5" + integrity sha1-NrnbwhrVVGSG6pFz1r6gY+sXF9U= dependencies: "@sinonjs/commons" "^3.0.1" @@ -420,7 +426,23 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha1-C5LcwMwcgfbzBqOB8o4xsaVlNuk= -"@types/estree@^1.0.5": +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha1-MQi9XxiwzbJ3yGez3UScntcHmsU= + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha1-1Xla1zLOgXFfJ/ddqRMASlZ1FYQ= + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6": version "1.0.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" integrity sha1-Yo7/7q4gZKG055946B2Ht+X8e1A= @@ -433,7 +455,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha1-WWoXRyM2lNUPatinhp/Lb1bPWEE= @@ -454,29 +476,29 @@ integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= "@types/mocha@^10.0.6": - version "10.0.8" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/mocha/-/mocha-10.0.8.tgz#a7eff5816e070c3b4d803f1d3cd780c4e42934a1" - integrity sha1-p+/1gW4HDDtNgD8dPNeAxOQpNKE= + version "10.0.10" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha1-kfYpBejSPL1mIlMS8jlFSiO+v6A= "@types/node-fetch@^2.6.11": - version "2.6.11" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" - integrity sha1-mzm3hmXa4OgqCPAvSWfWLGb5XSQ= + version "2.6.12" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" + integrity sha1-irXD74Mw8TEAp0eeLNVtM4aDCgM= dependencies: "@types/node" "*" form-data "^4.0.0" "@types/node@*": - version "22.7.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node/-/node-22.7.4.tgz#e35d6f48dca3255ce44256ddc05dee1c23353fcc" - integrity sha1-411vSNyjJVzkQlbdwF3uHCM1P8w= + version "22.13.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node/-/node-22.13.4.tgz#3fe454d77cd4a2d73c214008b3e331bfaaf5038a" + integrity sha1-P+RU13zUotc8IUAIs+Mxv6r1A4o= dependencies: - undici-types "~6.19.2" + undici-types "~6.20.0" "@types/node@^20.14.2": - version "20.16.10" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node/-/node-20.16.10.tgz#0cc3fdd3daf114a4776f54ba19726a01c907ef71" - integrity sha1-DMP909rxFKR3b1S6GXJqAckH73E= + version "20.17.19" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/node/-/node-20.17.19.tgz#0f2869555719bef266ca6e1827fcdca903c1a697" + integrity sha1-DyhpVVcZvvJmym4YJ/zcqQPBppc= dependencies: undici-types "~6.19.2" @@ -619,21 +641,21 @@ eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha1-dWZBrbWHhRtcyz4JXa8nrlgchAY= + version "1.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha1-0Gu7OE689sUF/eHD0O1N3/4Kr/g= "@vscode/debugadapter@^1.65.0": - version "1.67.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/debugadapter/-/debugadapter-1.67.0.tgz#26b9e2ed3ab7e4fccad4d3608677ed65da30bd39" - integrity sha1-Jrni7Tq35PzK1NNghnftZdowvTk= + version "1.68.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/debugadapter/-/debugadapter-1.68.0.tgz#abb23463cb750ca4a6f0834c5d4db659258dc159" + integrity sha1-q7I0Y8t1DKSm8INMXU22WSWNwVk= dependencies: - "@vscode/debugprotocol" "1.67.0" + "@vscode/debugprotocol" "1.68.0" -"@vscode/debugprotocol@1.67.0", "@vscode/debugprotocol@^1.65.0": - version "1.67.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/debugprotocol/-/debugprotocol-1.67.0.tgz#cbeef6f9e8e4b5e9a30468faa6f42c96e4d42040" - integrity sha1-y+72+ejktemjBGj6pvQsluTUIEA= +"@vscode/debugprotocol@1.68.0", "@vscode/debugprotocol@^1.65.0": + version "1.68.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/debugprotocol/-/debugprotocol-1.68.0.tgz#e558ba6affe1be7aff4ec824599f316b61d9a69d" + integrity sha1-5Vi6av/hvnr/TsgkWZ8xa2HZpp0= "@vscode/dts@^0.4.0": version "0.4.1" @@ -645,13 +667,13 @@ prompts "^2.4.2" "@vscode/extension-telemetry@^0.9.6": - version "0.9.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/extension-telemetry/-/extension-telemetry-0.9.7.tgz#386e08c1f98350bd5a368ccf279a501a0cd6dd67" - integrity sha1-OG4IwfmDUL1aNozPJ5pQGgzW3Wc= + version "0.9.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/extension-telemetry/-/extension-telemetry-0.9.8.tgz#109a9db5e09d5b05f9403a3fef60d5963b668fc3" + integrity sha1-EJqdteCdWwX5QDo/72DVljtmj8M= dependencies: - "@microsoft/1ds-core-js" "^4.3.0" - "@microsoft/1ds-post-js" "^4.3.0" - "@microsoft/applicationinsights-web-basic" "^3.3.0" + "@microsoft/1ds-core-js" "^4.3.4" + "@microsoft/1ds-post-js" "^4.3.4" + "@microsoft/applicationinsights-web-basic" "^3.3.4" "@vscode/test-electron@^2.3.10": version "2.4.1" @@ -664,125 +686,125 @@ ora "^7.0.1" semver "^7.6.2" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha1-uxag6LGRT5efRYZMI4Gcw+Pw1Ls= +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha1-qfagfysDyVyNOMRTah/ftSH/VbY= dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha1-2svLla/xNcgmD3f6O0xf6mAKZDE= +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha1-/Moe7dscxOe27tT8eVbWgTshufs= -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha1-YTL2jErNWdzRQcRLGMvrvZ8vp2g= +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha1-4KFhUiSLw42u523X4h8Vxe86sec= -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha1-bfINJy6lQ5vyCrNJK3+3Dpv8s/Y= +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha1-giqbxgMWZTH31d+E5ntb+ZtyuWs= -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha1-y85efgwb0yz0kFrkRO9kzqkZ8bU= +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha1-29kyVI5xGfS4p4d/1ajSDmNJCy0= dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha1-uy69s7g6om2bqtTEbUMVKDrNUek= +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha1-5VYQh1j0SKroTIUOWTzhig6zHgs= -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha1-PaYjIzrhpgQJtQmlKt6bwio3978= +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha1-lindqcRDDqtUtZEFPW3G87oFA0g= dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha1-u2ZckdCxT//OsOOCmMMprwQ8bjo= +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha1-HF6qzh1gatosf9cEXqk1bFnuDbo= dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha1-cOYOXoL5rIERi8JTgaCyg4kyQNc= +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha1-V8XD3rAQXQLOJfo/109OvJ/Qu7A= dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha1-kPi8NMVhWV/hVmA75yU8280Pq1o= - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha1-n58/9SoUyYCTm+DvnV3568Z4rjs= - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha1-plIGAdobVwBEgnNmanGtCkXXhUc= - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha1-nm6BR138+2LatXSsLdo4ImwjK8U= - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha1-xHrLkObwgzkeP6YdETZQ7qHpWTc= - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha1-vOz2YdfRq9r5idg0Gkgz4z4rMaw= - dependencies: - "@webassemblyjs/ast" "1.12.1" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha1-kXog6T9xrVYClmwtaFrgxsIfYPE= + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha1-rGaJ9QIhm1kZjd7ELc1JaxAE1Zc= + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha1-mR5/DAkMsLtiu6yIIHbj0hnalXA= + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha1-5vce18yuRngcIGAX08FMUO+oEGs= + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha1-s+E/GJNgXKeLUsaOVM9qhl+Qufs= + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha1-O7PpY4qK5f2vlhDnoGtNn5qm/gc= + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^2.1.1": @@ -815,11 +837,6 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha1-frFVexugXvGLXtDsZ1kb+rBGiO8= - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -837,24 +854,31 @@ acorn@^6.4.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= -acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha1-cWFr3MviXielRDngBG6JynbfIkg= +acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.14.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha1-Bj4scMrF+09kZ/CxEVLgTGgnlbA= -agent-base@^7.0.2, agent-base@^7.1.0: - version "7.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha1-vb3tffsJa3UaKgh+7rlmRyWy4xc= +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" + integrity sha1-KUNeuCG8QZRjOluJ5bxHA7r8JaE= + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha1-bmaUAGWet0lzu/LjMycYCgmWtSA= dependencies: - debug "^4.3.4" + ajv "^8.0.0" -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha1-adTThaRzPNvqtElkoRcKiPh/DhY= + dependencies: + fast-deep-equal "^3.1.3" -ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.4: version "6.12.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= @@ -864,6 +888,16 @@ ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.0, ajv@^8.9.0: + version "8.17.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha1-N9mlx3ava8ktf0+VEOukwKYNEaY= + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + ansi-colors@^1.0.1: version "1.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -950,13 +984,13 @@ arr-union@^3.1.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha1-HlWD7BZ2NUCieuUu7Zn/iZIjVo8= +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha1-OE0So3KVrsN2mrAirTI6GKUcz4s= dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-differ@^3.0.0: version "3.0.0" @@ -1008,38 +1042,37 @@ array.prototype.findlastindex@^1.2.5: es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha1-FHYhffjP8X1y7o87oGc421s4fRg= + version "1.3.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha1-U0qvnm6N15+2uamRf4Oe8exjr+U= dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha1-yafGgx245xnWzmORkBRsJLvT5Sc= + version "1.3.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha1-cSzHkq5wNwrkBYYmRinjOqtd04s= dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha1-CXly9CVeQbw0JeN9w/ZCHPmu/eY= +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha1-nXYNhNvdBtDL+SyISWFaGnqzGDw= dependencies: array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" arrify@^2.0.1: version "2.0.1" @@ -1067,6 +1100,11 @@ async-done@^2.0.0: once "^1.4.0" stream-exhaust "^1.0.2" +async-function@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha1-UJyfymDq+FA0xoKYOBiOTkyP+ys= + async-settle@^2.0.0: version "2.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/async-settle/-/async-settle-2.0.0.tgz#c695ad14e070f6a755d019d32d6eb38029020287" @@ -1124,19 +1162,19 @@ balanced-match@^1.0.0: integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= bare-events@^2.2.0: - version "2.5.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/bare-events/-/bare-events-2.5.0.tgz#305b511e262ffd8b9d5616b056464f8e1b3329cc" - integrity sha1-MFtRHiYv/YudVhawVkZPjhszKcw= + version "2.5.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/bare-events/-/bare-events-2.5.4.tgz#16143d435e1ed9eafd1ab85f12b89b3357a41745" + integrity sha1-FhQ9Q14e2er9GrhfEribM1ekF0U= base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" - integrity sha1-xR6AnIGk41QIRCK5smutiCScUXw= +before-after-hook@^3.0.2: + version "3.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/before-after-hook/-/before-after-hook-3.0.2.tgz#d5665a5fa8b62294a5aa0a499f933f4a1016195d" + integrity sha1-1WZaX6i2IpSlqgpJn5M/ShAWGV0= big.js@^5.2.2: version "5.2.2" @@ -1184,15 +1222,15 @@ browser-stdout@^1.3.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= -browserslist@^4.21.10: - version "4.24.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" - integrity sha1-oTJf5LyAtk/aFpYp/AGz1s7NONQ= +browserslist@^4.24.0: + version "4.24.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" + integrity sha1-xrKGWj8IvLhgoOgnOJADuf5obks= dependencies: - caniuse-lite "^1.0.30001663" - electron-to-chromium "^1.5.28" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" buffer-equal@^1.0.0: version "1.0.1" @@ -1212,16 +1250,31 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha1-BgFlmcQMVkmMGHadJzC+JCtvo7k= +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha1-S1QowiK+mF15w9gmV0edvgtZstY= dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha1-BzapZg9TfjOIgm9EDV7EX3ROqkw= + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681" + integrity sha1-Qc/QMrWT45F2pxUzq084SqBP1oE= + dependencies: + call-bind-apply-helpers "^1.0.1" + get-intrinsic "^1.2.6" callsites@^3.0.0: version "3.1.0" @@ -1233,10 +1286,10 @@ camelcase@^6.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo= -caniuse-lite@^1.0.30001663: - version "1.0.30001664" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz#d588d75c9682d3301956b05a3749652a80677df4" - integrity sha1-1YjXXJaC0zAZVrBaN0llKoBnffQ= +caniuse-lite@^1.0.30001688: + version "1.0.30001700" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz#26cd429cf09b4fd4e745daf4916039c794d720f6" + integrity sha1-Js1CnPCbT9TnRdr0kWA5x5TXIPY= chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" @@ -1247,9 +1300,9 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: supports-color "^7.1.0" chalk@^5.0.0, chalk@^5.3.0: - version "5.3.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha1-Z8IKfr73Dn85cKAfkPohDLaGA4U= + version "5.4.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha1-G0i/CWPsFY3OKqz2nAk64t0gktg= chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" @@ -1453,30 +1506,30 @@ d@1, d@^1.0.1, d@^1.0.2: es5-ext "^0.10.64" type "^2.7.2" -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha1-jqYybv7Bei5CYgaW5nHX1ai8ZrI= +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha1-IRoDupXsr3eYqMcZjXlTYhH4hXA= dependencies: - call-bind "^1.0.6" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha1-kHIcqV/ygGd+t5N0n84QETR2aeI= +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha1-noD3ylJFPOPpPSWjUxh2fqdwRzU= dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha1-Xgu/tIKO0tG5tADNin0Rm8oP8Yo= +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha1-BoMH+bcat2274QKROJ4CCFZgYZE= dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" @@ -1497,9 +1550,9 @@ debug@3.X, debug@^3.2.7: ms "^2.1.1" debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: - version "4.3.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha1-h5RbQVGgEddtlaGY1xEchlw2ClI= + version "4.4.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha1-Kz8q6i/+t3ZHdGAmc3fchxD6uoo= dependencies: ms "^2.1.3" @@ -1527,7 +1580,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.1: version "1.2.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha1-EHgcxhbrlRqAoDS6/Kpzd/avK2w= @@ -1541,11 +1594,6 @@ delayed-stream@~1.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -deprecation@^2.0.0: - version "2.3.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha1-Y2jL20Cr8zc7UlrIfkomDDpwCRk= - detect-file@^1.0.0: version "1.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" @@ -1592,6 +1640,15 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha1-165mfh3INIL4tw/Q9u78UNow9Yo= + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -1620,10 +1677,10 @@ eastasianwidth@^0.2.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s= -electron-to-chromium@^1.5.28: - version "1.5.29" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz#aa592a3caa95d07cc26a66563accf99fa573a1ee" - integrity sha1-qlkqPKqV0HzCamZWOsz5n6Vzoe4= +electron-to-chromium@^1.5.73: + version "1.5.102" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz#81a452ace8e2c3fa7fba904ea4fed25052c53d3f" + integrity sha1-gaRSrOjiw/p/upBOpP7SUFLFPT8= emoji-regex@^10.2.1: version "10.4.0" @@ -1648,14 +1705,14 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.4: once "^1.4.0" enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha1-Z7+7zC+B1RG+d9aGqQJn73+JihU= + version "5.18.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha1-coqwgvi3toNt5R8WN6q107lWj68= dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -entities@^4.4.0: +entities@^4.5.0: version "4.5.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha1-XSaOpecRPsdMTQM7eepaNaSI+0g= @@ -1665,106 +1722,110 @@ envinfo@^7.7.3: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" integrity sha1-JtrF21RBjypMEVkVOgsq6YCDiq4= -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha1-jwxaNc0hUxJXPFonyH39bIgaCqA= +es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" + integrity sha1-W0WZS33nja2lwb6/E3lkazK51gY= dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha1-x/rvvf+LJpbPX0aSHt+3fMS6OEU= - dependencies: - get-intrinsic "^1.2.4" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha1-mD6y+aZyTpMD9hrd8BHHLgngsPo= -es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha1-BfdaJdq5jk+x3NXhRywFRtUFfI8= es-module-lexer@^1.2.1, es-module-lexer@^1.5.3: - version "1.5.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha1-qO/sOj2pkeYO+mtjOnytarjSa3g= + version "1.6.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha1-2kn1h/2eaO4kBP5OJWwMfTqBviE= es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha1-3bVc1HrC4kBwEmC8Ko4x7LZD2UE= + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha1-HE8sSDcydZfOadLKGQp/3RcjOME= dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha1-i7YPCkQMLkKBliQoQ41YVFrzl3c= +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha1-8x274MGDsAptJutjJcgQwP0YvU0= dependencies: - get-intrinsic "^1.2.4" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" has-tostringtag "^1.0.2" - hasown "^2.0.1" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha1-H2lC5x7MeDXtHIqDAG2HcaY6N2M= +es-shim-unscopables@^1.0.2: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha1-Q43zVSDaxdEF85Q9knVJ6jsA9LU= dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha1-lsicgsxJ/YeUokg1uj4f+H8hThg= dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2: version "0.10.64" @@ -1827,7 +1888,7 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" -eslint-module-utils@^2.9.0: +eslint-module-utils@^2.12.0: version "2.12.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" integrity sha1-/kz7lI1h9JID17CIcZgrZbmvCws= @@ -1840,9 +1901,9 @@ eslint-plugin-header@^3.1.1: integrity sha1-bOUSQy1XZ1Jl+sRykrUNHv8RrNY= eslint-plugin-import@^2.29.1: - version "2.30.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz#21ceea0fc462657195989dd780e50c92fe95f449" - integrity sha1-Ic7qD8RiZXGVmJ3XgOUMkv6V9Ek= + version "2.31.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha1-MQzn5yDKHZwLs/aa39HGvdfZ4Oc= dependencies: "@rtsao/scc" "^1.1.0" array-includes "^3.1.8" @@ -1852,7 +1913,7 @@ eslint-plugin-import@^2.29.1: debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.9.0" + eslint-module-utils "^2.12.0" hasown "^2.0.2" is-core-module "^2.15.1" is-glob "^4.0.3" @@ -1861,6 +1922,7 @@ eslint-plugin-import@^2.29.1: object.groupby "^1.0.3" object.values "^1.2.0" semver "^6.3.1" + string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" eslint-plugin-jsdoc@^48.2.8: @@ -1896,15 +1958,15 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha1-DNcv6FUOPC6uFWqWpN3c0cisWAA= -eslint-visitor-keys@^4.1.0: - version "4.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz#1f785cc5e81eb7534523d85922248232077d2f8c" - integrity sha1-H3hcxeget1NFI9hZIiSCMgd9L4w= +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha1-aHussq+IT83aim59ZcYG9GoUzUU= eslint@^8.45.0: version "8.57.1" @@ -1961,13 +2023,13 @@ esniff@^2.0.1: type "^2.7.2" espree@^10.1.0: - version "10.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/espree/-/espree-10.2.0.tgz#f4bcead9e05b0615c968e85f83816bc386a45df6" - integrity sha1-9Lzq2eBbBhXJaOhfg4Frw4akXfY= + version "10.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha1-KSZ89bDLmHNbZeZLoH4O1J0e7Yo= dependencies: - acorn "^8.12.0" + acorn "^8.14.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.1.0" + eslint-visitor-keys "^4.2.0" espree@^9.6.0, espree@^9.6.1: version "9.6.1" @@ -2088,6 +2150,11 @@ fancy-log@^1.3.3: parse-node-version "^1.0.0" time-stamp "^1.0.0" +fast-content-type-parse@^2.0.0: + version "2.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz#c236124534ee2cb427c8d8e5ba35a4856947847b" + integrity sha1-wjYSRTTuLLQnyNjlujWkhWlHhHs= + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2099,15 +2166,15 @@ fast-fifo@^1.3.2: integrity sha1-KG4x3pbrltOKl4mYFXQLoqTzZAw= fast-glob@^3.2.9: - version "3.3.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha1-qQRQHlfP3S/83tRemaVP71XkYSk= + version "3.3.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha1-0G1YXOjbqQoWsFBcVDw8z7OuuBg= dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -2126,15 +2193,20 @@ fast-levenshtein@^3.0.0: dependencies: fastest-levenshtein "^1.0.7" +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha1-iPEwt3z66iN41Wv5cN6iElemh0g= + fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: version "1.0.16" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha1-IQ5htv8YHekeqbPRuE/e3UfgNOU= fastq@^1.13.0, fastq@^1.6.0: - version "1.17.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha1-KlI/B6TnsegaQrkbi/IlQQd1O0c= + version "1.19.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastq/-/fastq-1.19.0.tgz#a82c6b7c2bb4e44766d865f07997785fecfdcb89" + integrity sha1-qCxrfCu05Edm2GXweZd4X+z9y4k= dependencies: reusify "^1.0.4" @@ -2217,9 +2289,9 @@ flat@^5.0.2: integrity sha1-jKb+MyBp/6nTJMMnGYxZglnOskE= flatted@^3.2.9: - version "3.3.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha1-IdtHBymmc01JlwAvQ5yzCJh/Vno= + version "3.3.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha1-Z8j62VRUp8er6/dLt47nSkQCM1g= flush-write-stream@^1.0.2: version "1.1.1" @@ -2230,11 +2302,11 @@ flush-write-stream@^1.0.2: readable-stream "^2.3.6" for-each@^0.3.3: - version "0.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha1-abRH6IoKXTLD5whPPxcQA0shN24= + version "0.3.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha1-1lBogCeCaSD+6wr3R+57lCGkHUc= dependencies: - is-callable "^1.1.3" + is-callable "^1.2.7" for-in@^1.0.1: version "1.0.2" @@ -2249,12 +2321,13 @@ for-own@^1.0.0: for-in "^1.0.1" form-data@^4.0.0: - version "4.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha1-k5Gdrq82HuUpWEubMWZNwSyfpFI= + version "4.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha1-Ncq73TDDznPessQtPI0+2cpReUw= dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" mime-types "^2.1.12" from@^0.1.7: @@ -2263,9 +2336,9 @@ from@^0.1.7: integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= fs-extra@^11.2.0: - version "11.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha1-5w4X361kIyKH0BkpOZ4Op8hrDls= + version "11.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha1-DaztE2u69lpVWjJnGa+TGtx6MU0= dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -2302,15 +2375,17 @@ function-bind@^1.1.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha1-LALYZNl/PqbIgwxGTL0Rq26rehw= -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha1-zfMVt9kO53pMbuIWw8M2LaB1M/0= +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha1-5o4d97JZpclJ7u+Vzb3lPt/6u3g= dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" @@ -2322,30 +2397,38 @@ get-caller-file@^2.0.5: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha1-44X1pLUifUScPqu60FSU7wq76t0= +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7: + version "1.2.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044" + integrity sha1-3PyzPTJy4V9EXRUSS8CiFhibkEQ= dependencies: + call-bind-apply-helpers "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.0.0" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.0" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha1-UzdE1aogrKTgecjl2vf9RCAoIfU= +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha1-FQs/J0OGnvPoUewMSdFbHRTQDuE= dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" -git-config-path@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/git-config-path/-/git-config-path-2.0.0.tgz#62633d61af63af4405a5024efd325762f58a181b" - integrity sha1-YmM9Ya9jr0QFpQJO/TJXYvWKGBs= +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha1-e91U4L7+j/yfO04gMiDZ8eiBtu4= + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -2454,7 +2537,7 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: +globalthis@^1.0.4: version "1.0.4" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha1-dDDtOpddl7+1m8zkH1yruvplEjY= @@ -2481,12 +2564,10 @@ glogg@^2.2.0: dependencies: sparkles "^2.1.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha1-Kf923mnax0ibfAkYpXiOVkd8Myw= - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha1-ifVrghe9vIgCvSmd9tfxCB1+UaE= graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.8: version "4.2.11" @@ -2580,10 +2661,10 @@ gulplog@^2.2.0: dependencies: glogg "^2.2.0" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha1-CHG9Pj1RYm9soJZmaLo11WAtbqo= +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha1-KGB+llrJZ+A80qLHCiY2oe2tSf4= has-flag@^4.0.0: version "4.0.0" @@ -2602,24 +2683,26 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha1-sx3f6bDm6ZFFNqarKGQm0CFPd/0= +has-proto@^1.2.0: + version "1.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha1-XeWm6r2V/f/ZgYtDBV6AZeOf6dU= + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg= +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha1-/JxqeDoISVHQuXH+EBjegTcHozg= -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.2: version "1.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha1-LNxC1AvvLltO6rfAGnPFTOerWrw= dependencies: has-symbols "^1.0.3" -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha1-AD6vkb563DcuhOxZ3DclLO24AAM= @@ -2647,11 +2730,11 @@ http-proxy-agent@^7.0.2: debug "^4.3.4" https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.5: - version "7.0.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" - integrity sha1-notQE4cymeEfq2/VSEBdotbGArI= + version "7.0.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha1-2o3+rH2hMLBcK6S1nJts1mYRprk= dependencies: - agent-base "^7.0.2" + agent-base "^7.1.2" debug "4" iconv-lite@^0.6.3: @@ -2677,9 +2760,9 @@ immediate@~3.0.5: integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= import-fresh@^3.2.1: - version "3.3.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + version "3.3.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha1-nOy1ZQPAraHydB271lRuSxO1fM8= dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -2710,19 +2793,19 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= -ini@^1.3.4, ini@^1.3.5: +ini@^1.3.4: version "1.3.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha1-wG3Mo+2HQkmIEAewpVI7FyoZCAI= +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha1-HqyRdilH0vcFa8g42T4TsulgSWE= dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" interpret@^3.1.1: version "3.1.1" @@ -2737,20 +2820,32 @@ is-absolute@^1.0.0: is-relative "^1.0.0" is-windows "^1.0.1" -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha1-eh+Ss9Ye3SvGXSTxMFMOqT1/rpg= +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha1-ZXQuHmh70sxmYlMGj9hwf+TUQoA= dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM= +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha1-PmkBjI4E5ztzh5PQIL/ohLn9NSM= dependencies: - has-bigints "^1.0.1" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha1-3aejRF31ekJYPbQihoLrp8QXBnI= + dependencies: + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -2759,44 +2854,47 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk= +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha1-cGf0dwmAmjk8cf9bs+E12KkhXZ4= dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-buffer@^1.1.5: version "1.1.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha1-76ouqdqg16suoTqXsritUf776L4= -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha1-O8KoXqdC2eNiBdys3XLKH9xRsFU= -is-core-module@^2.13.0, is-core-module@^2.15.1: - version "2.15.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha1-pzY6Jb7pQv76sN4Tv2qjcsgtzDc= +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ= dependencies: hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha1-S006URtw89wm1CwDypylFdhHdZ8= +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha1-uuCkG5aImGwhiN2mZX5WuPnmO44= dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8= +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha1-rYVUGZb8eqiycpcB0ntzGfldgvc= dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-extendable@^1.0.1: version "1.0.1" @@ -2810,11 +2908,28 @@ is-extglob@^2.1.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha1-7v3NxslN3QZ02chYh7+T+USpfJA= + dependencies: + call-bound "^1.0.3" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha1-vz7tqTEgE5T1e126KAD5GiODCco= + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -2827,22 +2942,23 @@ is-interactive@^2.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" integrity sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA= +is-map@^2.0.3: + version "2.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha1-7elrf+HicLPERl46RlZYdkkm1i4= + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha1-ztkDoCespjgbd3pXQwadc3akl0c= - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha1-WdUK2kxFJReE6ZBPUkbHQvB6Qvw= +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha1-FEsh6VobwUggXcwoFKkTTsQbJUE= dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" @@ -2881,13 +2997,15 @@ is-promise@^2.2.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha1-OauVnMv5p3TPB597QMeib3YxNfE= -is-regex@^1.1.4: - version "1.1.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg= +is-regex@^1.2.1: + version "1.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha1-dtcKPtEO+b5I61d4h9dCBb8MrSI= dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-relative@^1.0.0: version "1.0.0" @@ -2896,33 +3014,41 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha1-Ejfxy6BZzbYkMdN43MN9loAYFog= +is-set@^2.0.3: + version "2.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha1-irIJ6kJGCBQTct7W4MsgDvHZ0B0= + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha1-m2eES9m38ka6BwjDqT40Jpx3T28= dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0= +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha1-kuo/PVxbbgOcqGd+WsjQfqdzy7k= dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha1-9HdhJ59TLisFpwJKdQbbvtrNBjQ= dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha1-1sXKVt9iM0lZMi19fdHMpQ3r4ik= +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha1-S/tKRbYc7oOlpG+6d45OjVnAzgs= dependencies: - which-typed-array "^1.1.14" + which-typed-array "^1.1.16" is-unc-path@^1.0.0: version "1.0.0" @@ -2951,12 +3077,25 @@ is-valid-glob@^1.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha1-lSnzg6kzggXol2XgOS78LxAPBvI= +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha1-v3JhXWSd/l9pkHnFS4PkfRrhnP0= + +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha1-7qQwGCvo1kF0vZa/+8RvIb8/kpM= dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha1-yfXesLwZBsbW8QJ/KE3fRZJJ2so= + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-windows@^1.0.1: version "1.0.2" @@ -3024,6 +3163,11 @@ json-schema-traverse@^0.4.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -3139,7 +3283,7 @@ loader-runner@^4.2.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha1-wbShY7mfYUgwNTsWdV5xSawjFOE= -loader-utils@^2.0.0: +loader-utils@^2.0.3: version "2.0.4" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha1-i1yzi1w0qaAY7h/A5qBm0d/MUow= @@ -3210,6 +3354,11 @@ map-stream@0.0.7: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha1-oN10voHiqlwvJ+Zc4oNgXuTit/k= + memoizee@0.4.X: version "0.4.17" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/memoizee/-/memoizee-0.4.17.tgz#942a5f8acee281fa6fb9c620bddc57e3b7382949" @@ -3239,7 +3388,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= -micromatch@^4.0.0, micromatch@^4.0.4: +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha1-1m+hjzpHB2eJMgubGvMr2G2fogI= @@ -3280,8 +3429,8 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: minimatch@^4.2.0: version "4.2.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.3.tgz#b4dcece1d674dee104bb0fb833ebb85a78cbbca6" - integrity sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng== + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-4.2.3.tgz#b4dcece1d674dee104bb0fb833ebb85a78cbbca6" + integrity sha1-tNzs4dZ03uEEuw+4M+u4WnjLvKY= dependencies: brace-expansion "^1.1.7" @@ -3303,9 +3452,9 @@ mkdirp@^3.0.1: integrity sha1-5E5MVgf7J5wWgkFxPMbg/qmty1A= mocha@^10.4.0: - version "10.7.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" - integrity sha1-rjIAPKu9UrWa7OF4RgVqaOtLB1I= + version "10.8.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y= dependencies: ansi-colors "^4.1.3" browser-stdout "^1.3.1" @@ -3354,7 +3503,7 @@ mute-stdout@^2.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mute-stdout/-/mute-stdout-2.0.0.tgz#c6a9b4b6185d3b7f70d3ffcb734cbfc8b0f38761" integrity sha1-xqm0thhdO39w0//Lc0y/yLDzh2E= -nanoid@^3.3.7: +nanoid@^3.3.8: version "3.3.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha1-sb4wML7jaq/xi6yzdeXM5SFoS68= @@ -3393,16 +3542,16 @@ node-fetch@^2.7.0: whatwg-url "^5.0.0" node-loader@^2.0.0: - version "2.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-loader/-/node-loader-2.0.0.tgz#9109a6d828703fd3e0aa03c1baec12a798071562" - integrity sha1-kQmm2ChwP9PgqgPBuuwSp5gHFWI= + version "2.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-loader/-/node-loader-2.1.0.tgz#8c4eb926e8bdcacb7349d17b40ebcc49fd2458d5" + integrity sha1-jE65Jui9ystzSdF7QOvMSf0kWNU= dependencies: - loader-utils "^2.0.0" + loader-utils "^2.0.3" -node-releases@^2.0.18: - version "2.0.18" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha1-8BDo014v6NaylE8D9wIT7O3Eyj8= +node-releases@^2.0.19: + version "2.0.19" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha1-nkRaUpUJUexNF32EOvNwtBHK8xQ= node-stream-zip@^1.15.0: version "1.15.0" @@ -3440,24 +3589,26 @@ object-assign@4.X: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha1-3qAIhGf7mR5nr0BYFHokgkowQ/8= +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha1-g3UmXiG8IND6WCwi4bE0hdbgAhM= object-keys@^1.1.1: version "1.1.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= -object.assign@^4.0.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha1-OoM/mrf9uA/J6NIwDIA9IW2P27A= +object.assign@^4.0.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha1-jBTKGkJMalYbC7KiL2b1BJqUXT0= dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" object.defaults@^1.1.0: @@ -3497,11 +3648,12 @@ object.pick@^1.3.0: isobject "^3.0.1" object.values@^1.2.0: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha1-ZUBanZLO5orC0wMALguEcKTZqxs= + version "1.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha1-3u1SClCAn/f3Wnz9S8ZMegOMYhY= dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -3553,6 +3705,15 @@ ordered-read-streams@^1.0.0: dependencies: readable-stream "^2.0.1" +own-keys@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha1-5ABpEKK/kTWFKJZ27r1vOQz1E1g= + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-limit@^2.2.0: version "2.3.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -3607,14 +3768,6 @@ parse-filepath@^1.0.2: map-cache "^0.2.0" path-root "^0.1.1" -parse-git-config@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse-git-config/-/parse-git-config-3.0.0.tgz#4a2de08c7b74a2555efa5ae94d40cd44302a6132" - integrity sha1-Si3gjHt0olVe+lrpTUDNRDAqYTI= - dependencies: - git-config-path "^2.0.0" - ini "^1.3.5" - parse-imports@^2.1.1: version "2.2.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse-imports/-/parse-imports-2.2.1.tgz#0a6e8b5316beb5c9905f50eb2bbb8c64a4805642" @@ -3639,11 +3792,11 @@ parse5-traverse@^1.0.3: integrity sha1-6RJ2Kh+IefNRB71uQ35xqX7JOMc= parse5@^7.1.2: - version "7.1.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha1-Bza+u/13eTgjJAojt/xeAQt/jjI= + version "7.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" + integrity sha1-iSj1WRXmEl9DDMRDCXZb8XVWozo= dependencies: - entities "^4.4.0" + entities "^4.5.0" path-exists@^4.0.0: version "4.0.0" @@ -3694,10 +3847,10 @@ pause-stream@^0.0.11: dependencies: through "~2.3" -picocolors@^1.1.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha1-U1i3anjN5IO6XO9qnclnFECyfVk= +picocolors@^1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s= picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" @@ -3736,17 +3889,17 @@ posix-getopt@^1.2.1: integrity sha1-vFDmczXrXkvo2TchC5WiEbwm8IM= possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha1-ibtjxvraLD6QrcSmR77us5zHv48= + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha1-k+NYK8DlQmWG2dB7ee5A/IQd5K4= postcss@^7.0.16, postcss@^8.4.31: - version "8.4.47" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha1-W/bJoBDz5yTFA78D73lH3LD+o2U= + version "8.5.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha1-FGO28cf7Fv4lhzbLopot41I36vs= dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" + nanoid "^3.3.8" + picocolors "^1.1.1" source-map-js "^1.2.1" prelude-ls@^1.2.1: @@ -3803,11 +3956,6 @@ queue-microtask@^1.2.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha1-9vB6yCwf1g+C4Ji0F6gOUvH0wUI= - randombytes@^2.1.0: version "2.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3851,20 +3999,36 @@ rechoir@^0.8.0: dependencies: resolve "^1.20.0" +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha1-xikhnnijMW2LYEx2XvaJlpZOe/k= + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha1-E49kSjNQ+YGoWMRPa7GmH/Wb4zQ= +regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha1-GtbGLUSiWQB+VbOXDgD3Ru+8qhk= dependencies: - call-bind "^1.0.6" + call-bind "^1.0.8" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" remove-bom-buffer@^3.0.0: version "3.0.0" @@ -3913,6 +4077,11 @@ require-directory@^2.1.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -3953,11 +4122,11 @@ resolve-options@^2.0.0: value-or-function "^4.0.0" resolve@^1.11.1, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.8" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha1-tsh6nyqgbfq1Lj1wrIzeMh+lpI0= + version "1.22.10" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha1-tmPoP/sJu/I4aURza6roAwKbizk= dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -3988,14 +4157,15 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha1-gdd+4MTouGNjUifHISeN1STCDts= +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha1-yeVOxPYDsLu45+UAel7nrs0VOMM= dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" safe-buffer@^5.1.0, safe-buffer@~5.2.0: @@ -4008,14 +4178,22 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha1-pbTA8G4KtQ6iw5XBTYNxIykkw3c= +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha1-AYUOmBwWAtOYyFCB82Dk5tA9J/U= dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - is-regex "^1.1.4" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha1-f4fftnoxUHguqvGFg/9dFxGsEME= + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" @@ -4027,14 +4205,15 @@ sax@>=0.6.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" integrity sha1-RMyJiDd/EmME07P8EBDHM7kp7w8= -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha1-9QqIh3w8AWUqFbYirp6Xld96YP4= +schema-utils@^4.3.0: + version "4.3.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha1-O2afBPcf8t+1q6fOLVqdebNWIsA= dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" semver-greatest-satisfied-range@^2.0.0: version "2.0.0" @@ -4049,18 +4228,18 @@ semver@^6.3.0, semver@^6.3.1: integrity sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ= semver@^7.3.4, semver@^7.3.7, semver@^7.5.4, semver@^7.6.2, semver@^7.6.3: - version "7.6.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha1-mA97VVC8F1+03AlAMIVif56zMUM= + version "7.7.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha1-q9UJjYKxjGyB9gdP8mR/0+ciDJ8= -serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: +serialize-javascript@^6.0.2: version "6.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha1-3voeBVyDv21Z6oBdjahiJU62psI= dependencies: randombytes "^2.1.0" -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha1-qscjFBmOrtl1z3eyw7a4gGleVEk= @@ -4072,7 +4251,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1: +set-function-name@^2.0.2: version "2.0.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha1-FqcFxaDcL15jjKltiozU4cK5CYU= @@ -4082,6 +4261,15 @@ set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +set-proto@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha1-B2Dbz/MLLX6AH9bhmYPlbaM3Vl4= + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + setimmediate@^1.0.5: version "1.0.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -4107,19 +4295,49 @@ shebang-regex@^3.0.0: integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= shell-quote@^1.8.1: - version "1.8.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha1-bb9Nt1UVrVusY7TxiUw6FUx2ZoA= + version "1.8.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha1-0tg+BXlZ1T7CYTEenpuPUdyyk0o= -side-channel@^1.0.4: - version "1.0.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha1-q9Jft80kuvRUZkBrEJa3gxySFfI= +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha1-EMtZhCYxFdO3oOM2WR4pCoMK+K0= dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha1-1rtrN5Asb+9RdOX1M/q0xzKib0I= + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha1-Ed2hnVNo5Azp7CvcH7DsvAeQ7Oo= + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha1-w/z/nE2pMnhIczNeyXZfqU/2a8k= + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.2: version "3.0.7" @@ -4203,9 +4421,9 @@ spdx-expression-parse@^4.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.20" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" - integrity sha1-5E7RntMY3R5YiPkzJc7oAPD1G4k= + version "3.0.21" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3" + integrity sha1-bW6YDJ3ytvyQU0OjstcCpiOVNsM= split@^1.0.1: version "1.0.1" @@ -4259,12 +4477,11 @@ streamfilter@^3.0.0: readable-stream "^3.0.6" streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: - version "2.20.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/streamx/-/streamx-2.20.1.tgz#471c4f8b860f7b696feb83d5b125caab2fdbb93c" - integrity sha1-RxxPi4YPe2lv64PVsSXKqy/buTw= + version "2.22.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/streamx/-/streamx-2.22.0.tgz#cd7b5e57c95aaef0ff9b2aef7905afa62ec6e4a7" + integrity sha1-zXteV8larvD/myrveQWvpi7G5Kc= dependencies: fast-fifo "^1.3.2" - queue-tick "^1.0.1" text-decoder "^1.1.0" optionalDependencies: bare-events "^2.2.0" @@ -4287,22 +4504,26 @@ string-width@^6.1.0: emoji-regex "^10.2.1" strip-ansi "^7.0.1" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha1-tvoybXLSx4tt8C93Wcc/j2J0+qQ= +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha1-QLLdXulMlZtNz7HWXOcukNpIDIE= dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha1-NlG4UTcZ6Kn0jefy93ZAsmZSsik= +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha1-YuJzEnLNKFBBs2WWBU6fZlabaUI= dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -4385,9 +4606,9 @@ sver@^1.8.3: semver "^6.3.0" synckit@^0.9.1: - version "0.9.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88" - integrity sha1-/rv7tmSZeUUBMfZHNao/bBRXXIg= + version "0.9.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" + integrity sha1-o6k17KeSLUi559bGGCLubDrk7GI= dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" @@ -4409,21 +4630,21 @@ teex@^1.0.1: dependencies: streamx "^2.12.5" -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha1-kE9MkZPG/SoD9pOiFQxiqS9A0Zk= +terser-webpack-plugin@^5.3.11: + version "5.3.11" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz#93c21f44ca86634257cac176f884f942b7ba3832" + integrity sha1-k8IfRMqGY0JXysF2+IT5Qre6ODI= dependencies: - "@jridgewell/trace-mapping" "^0.3.20" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.26.0: - version "5.34.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/terser/-/terser-5.34.1.tgz#af40386bdbe54af0d063e0670afd55c3105abeb6" - integrity sha1-r0A4a9vlSvDQY+BnCv1VwxBavrY= +terser@^5.31.1: + version "5.39.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/terser/-/terser-5.39.0.tgz#0e82033ed57b3ddf1f96708d123cca717d86ca3a" + integrity sha1-DoIDPtV7Pd8flnCNEjzKcX2Gyjo= dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -4431,9 +4652,9 @@ terser@^5.26.0: source-map-support "~0.5.20" text-decoder@^1.1.0: - version "1.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/text-decoder/-/text-decoder-1.2.0.tgz#85f19d4d5088e0b45cd841bdfaeac458dbffeefc" - integrity sha1-hfGdTVCI4LRc2EG9+urEWNv/7vw= + version "1.2.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/text-decoder/-/text-decoder-1.2.3.tgz#b19da364d981b2326d5f43099c310cc80d770c65" + integrity sha1-sZ2jZNmBsjJtX0MJnDEMyA13DGU= dependencies: b4a "^1.6.4" @@ -4530,14 +4751,14 @@ tr46@~0.0.3: integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha1-S0kOJxKfHo5oa0XMSrY3FNxg7qE= + version "1.4.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha1-v8IhX+ZSj+yrKw+6VwouikJjsGQ= ts-loader@^9.5.1: - version "9.5.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" - integrity sha1-Y9WRKoYxLx++Ms7whZ+4shk9m4k= + version "9.5.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-loader/-/ts-loader-9.5.2.tgz#1f3d7f4bb709b487aaa260e8f19b301635d08020" + integrity sha1-Hz1/S7cJtIeqomDo8ZswFjXQgCA= dependencies: chalk "^4.1.0" enhanced-resolve "^5.0.0" @@ -4575,9 +4796,9 @@ tsconfig-paths@^3.15.0: strip-bom "^3.0.0" tslib@^2.6.2: - version "2.7.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha1-2bQMXECrWehzjyl98wh78aJpDAE= + version "2.8.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8= type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -4606,49 +4827,50 @@ type@^2.7.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" integrity sha1-Q2mBZSEpKFzDupTzkohsJjfqBIY= -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha1-GGfF2Dsg/LXM8yZJ5eL8dCRHT/M= +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha1-pyOVRQpIaewDP9VJNxtHrzou5TY= dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha1-2Sly08/5mj+i52Wij83A8did7Gc= +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha1-hAegT314aE89JSqhoUPSt3tBYM4= dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha1-+eway5JZ85UJPkVn6zwopYDQIGM= +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha1-rjaYuOyRqKuUUBYQiu8A1b/xI1U= dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha1-VxVSB8duZKNFdILf3BydHTxMc6M= +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha1-7k3v+YS2S+HhGLDejJyHfVznPT0= dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typescript@^4.5.4: version "4.9.5" @@ -4656,19 +4878,19 @@ typescript@^4.5.4: integrity sha1-CVl5+bzA0J2jJNWNA86Pg3TL5lo= typescript@^5.4.5: - version "5.6.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0" - integrity sha1-0d5ntr73fEGCP4It+PCzvP9gpaA= + version "5.7.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" + integrity sha1-kZtEp9u4WDqbhW0WK+JKVL+ABz4= -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha1-KQMgIQV9Xmzb0IxRKcIm3/jtb54= +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha1-jZ0snt7qhGDH81AzqIhnlEk00eI= dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" unc-path-regex@^0.1.2: version "0.1.2" @@ -4695,6 +4917,11 @@ undici-types@~6.19.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha1-NREcnRQ3q4OnzcCrri8m2I7aCgI= +undici-types@~6.20.0: + version "6.20.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha1-gXG/IsH1iNFVTVW/IEvGJK84hDM= + unique-stream@^2.0.2: version "2.3.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" @@ -4703,23 +4930,23 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" -universal-user-agent@^6.0.0: - version "6.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" - integrity sha1-FfIPVdo8kwxXvdvxc0xmVNX9Nao= +universal-user-agent@^7.0.0, universal-user-agent@^7.0.2: + version "7.0.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/universal-user-agent/-/universal-user-agent-7.0.2.tgz#52e7d0e9b3dc4df06cc33cb2b9fd79041a54827e" + integrity sha1-UufQ6bPcTfBswzyyuf15BBpUgn4= universalify@^2.0.0: version "2.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha1-Fo78IYCWTmOG0GHglN9hr+I5sY0= -update-browserslist-db@^1.1.0: - version "1.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha1-gIRvuh156CVH+2YfjRQeCUV1X+U= +update-browserslist-db@^1.1.1: + version "1.1.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580" + integrity sha1-l+nJarCue8rAjprlFR0m5rxrVYA= dependencies: escalade "^3.2.0" - picocolors "^1.1.0" + picocolors "^1.1.1" uri-js@^4.2.2: version "4.4.1" @@ -4862,6 +5089,11 @@ vscode-jsonrpc@8.1.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94" integrity sha1-y5mJxl4hnhhTPMOOdnYRJy0nTJQ= +vscode-jsonrpc@8.2.0: + version "8.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz#f43dfa35fb51e763d17cd94dcca0c9458f35abf9" + integrity sha1-9D36NftR52PRfNlNzKDJRY81q/k= + vscode-languageclient@^8.1.0: version "8.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f" @@ -4879,11 +5111,24 @@ vscode-languageserver-protocol@3.17.3: vscode-jsonrpc "8.1.0" vscode-languageserver-types "3.17.3" +vscode-languageserver-protocol@^3.17.5: + version "3.17.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz#864a8b8f390835572f4e13bd9f8313d0e3ac4bea" + integrity sha1-hkqLjzkINVcvThO9n4MT0OOsS+o= + dependencies: + vscode-jsonrpc "8.2.0" + vscode-languageserver-types "3.17.5" + vscode-languageserver-types@3.17.3: version "3.17.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64" integrity sha1-ctBeR7c76TrLhNbjEbV4Y5DxP2Q= +vscode-languageserver-types@3.17.5: + version "3.17.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" + integrity sha1-MnNnbwzy6rQLP0TQhay7fwijnYo= + vscode-nls-dev@^4.0.4: version "4.0.4" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-nls-dev/-/vscode-nls-dev-4.0.4.tgz#1d842a809525990aca5346f8031a0a0bf63e01ef" @@ -4961,17 +5206,17 @@ webpack-sources@^3.2.3: integrity sha1-LU2quEUf1LJAzCcFX/agwszqDN4= webpack@^5.94.0: - version "5.95.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" - integrity sha1-j9jEVPpg2tGG++NsQApVhIMHtMA= - dependencies: - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" + version "5.98.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/webpack/-/webpack-5.98.0.tgz#44ae19a8f2ba97537978246072fb89d10d1fbd17" + integrity sha1-RK4ZqPK6l1N5eCRgcvuJ0Q0fvRc= + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" @@ -4983,9 +5228,9 @@ webpack@^5.94.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" + terser-webpack-plugin "^5.3.11" watchpack "^2.4.1" webpack-sources "^3.2.3" @@ -4997,26 +5242,56 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha1-127Cfff6Fl8Y1YCDdKX+I8KbF24= + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha1-iRg9obSQerCJprAgKcxdjWV0Jw4= + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: version "1.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha1-Yn73YkOSChB+fOjpYZHevksWwqA= dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" -which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha1-JkhZ6bEaZJs4i/qvT3Z98fd5s40= +which-typed-array@^1.1.16, which-typed-array@^1.1.18: + version "1.1.18" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/which-typed-array/-/which-typed-array-1.1.18.tgz#df2389ebf3fbb246a71390e90730a9edb6ce17ad" + integrity sha1-3yOJ6/P7skanE5DpBzCp7bbOF60= dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" for-each "^0.3.3" - gopd "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^1.2.14: diff --git a/ExtensionPack/.npmrc b/ExtensionPack/.npmrc new file mode 100644 index 000000000..d8324806f --- /dev/null +++ b/ExtensionPack/.npmrc @@ -0,0 +1,2 @@ +registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ +always-auth=true \ No newline at end of file diff --git a/ExtensionPack/README.md b/ExtensionPack/README.md index 5bd2fa971..0dc789c83 100644 --- a/ExtensionPack/README.md +++ b/ExtensionPack/README.md @@ -3,5 +3,4 @@ This extension pack includes a set of popular extensions for C++ development in Visual Studio Code: * [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) * [C/C++ Themes](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-themes) -* [CMake](https://marketplace.visualstudio.com/items?itemName=twxs.cmake) * [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) diff --git a/ExtensionPack/package.json b/ExtensionPack/package.json index 3b2bcb247..bb95f463c 100644 --- a/ExtensionPack/package.json +++ b/ExtensionPack/package.json @@ -9,12 +9,13 @@ "name": "Microsoft Corporation" }, "license": "SEE LICENSE IN LICENSE.txt", - "version": "1.3.0", + "version": "1.3.1", "engines": { "vscode": "^1.48.0" }, "categories": [ - "Extension Packs" + "Extension Packs", + "Programming Languages" ], "activationEvents": [ "onCommand:ms-vscode.cpptools-extension-pack.unavailableCommand" diff --git a/Themes/.npmrc b/Themes/.npmrc new file mode 100644 index 000000000..d8324806f --- /dev/null +++ b/Themes/.npmrc @@ -0,0 +1,2 @@ +registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ +always-auth=true \ No newline at end of file