From d8278cbc021b335384a6cfffb7e30f0feb3fa602 Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Sat, 5 Sep 2026 22:04:20 -0700 Subject: [PATCH 1/5] eslint: enable no bracket notation rule Enable code-no-bracket-notation-for-identifiers for JavaScript and TypeScript files while grandfathering the 509 files with existing violations in a CODEOWNERS-gated allowlist. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .eslint-allowed-bracket-notation-files | 519 +++++++++++++++++++++++++ .github/CODEOWNERS | 4 + eslint.config.js | 20 + 3 files changed, 543 insertions(+) create mode 100644 .eslint-allowed-bracket-notation-files diff --git a/.eslint-allowed-bracket-notation-files b/.eslint-allowed-bracket-notation-files new file mode 100644 index 0000000000000..1bbbb1db8262f --- /dev/null +++ b/.eslint-allowed-bracket-notation-files @@ -0,0 +1,519 @@ +# Allowlist of files containing pre-existing bracket notation for identifier properties. +# +# This file is consumed by eslint.config.js and gates the +# `local/code-no-bracket-notation-for-identifiers` lint rule. +# +# DO NOT ADD NEW ENTRIES. Use dot notation for identifier properties instead. +# Modifications to this file require sign-off from the CODEOWNERS. +# +# Lines starting with `#` are comments. Blank lines are ignored. + +build/azure-pipelines/common/apply-sdk-canary-override.ts +build/azure-pipelines/common/createBuild.ts +build/azure-pipelines/common/downloadNotice.ts +build/azure-pipelines/common/getPublishAuthTokens.ts +build/azure-pipelines/common/publish.ts +build/azure-pipelines/common/releaseBuild.ts +build/azure-pipelines/common/sign-win32.ts +build/azure-pipelines/common/sign.ts +build/azure-pipelines/distro/mixin-quality.ts +build/azure-pipelines/oss/audit-notices.ts +build/azure-pipelines/oss/merge-notices.ts +build/azure-pipelines/oss/scan-licenses.ts +build/azure-pipelines/upload-cdn.ts +build/azure-pipelines/upload-nlsmetadata.ts +build/azure-pipelines/upload-sourcemaps.ts +build/azure-pipelines/win32/codesign.ts +build/darwin/create-dmg.ts +build/darwin/create-universal-app.ts +build/darwin/sign-server.ts +build/darwin/sign.ts +build/darwin/verify-macho.ts +build/gulpfile.reh.ts +build/gulpfile.vscode.linux.ts +build/gulpfile.vscode.ts +build/gulpfile.vscode.win32.ts +build/hygiene.ts +build/lib/builtInExtensions.ts +build/lib/compilation.ts +build/lib/electron.ts +build/lib/fetch.ts +build/lib/getVersion.ts +build/lib/i18n.ts +build/lib/policies/exportPolicyData.ts +build/lib/preLaunch.ts +build/lib/test/render.test.ts +build/linux/debian/install-sysroot.ts +build/linux/libcxx-fetcher.ts +build/npm/postinstall.ts +build/npm/preinstall.ts +build/npm/update-localization-extension.ts +build/rspack/rspack.serve-out.config.mts +build/win32/explorer-dll-fetcher.ts +extensions/configuration-editing/src/configurationEditingMain.ts +extensions/copilot/.esbuild.mts +extensions/copilot/script/alternativeAction/index.ts +extensions/copilot/script/setup/getEnv.mts +extensions/copilot/script/testGeneration/editFromPatchTests.ts +extensions/copilot/src/extension/byok/common/test/geminiFunctionDeclarationConverter.spec.ts +extensions/copilot/src/extension/byok/node/azureOpenAIEndpoint.ts +extensions/copilot/src/extension/byok/node/openAIEndpoint.ts +extensions/copilot/src/extension/byok/node/test/azureOpenAIEndpoint.spec.ts +extensions/copilot/src/extension/byok/vscode-node/customEndpointProvider.ts +extensions/copilot/src/extension/byok/vscode-node/test/customEndpointProvider.spec.ts +extensions/copilot/src/extension/chat/test/vscode-node/chatHookService.spec.ts +extensions/copilot/src/extension/chat/vscode-node/chatHookService.ts +extensions/copilot/src/extension/chatSessions/copilotcli/common/copilotCLIPrompt.ts +extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotCli.ts +extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotcliSessionService.ts +extensions/copilot/src/extension/chatSessions/copilotcli/node/test/copilotCliBridgeSpanProcessor.spec.ts +extensions/copilot/src/extension/chatSessions/copilotcli/vscode-node/test/chatSessionMetadataStoreImpl.spec.ts +extensions/copilot/src/extension/chatSessions/vscode-node/copilotCLITerminalLinkProvider.ts +extensions/copilot/src/extension/chronicle/vscode-node/sessionStoreTracker.ts +extensions/copilot/src/extension/completions-core/vscode-node/extension/src/lib/panelShared/common.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/openai/fetch.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/openai/test/fetch.test.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/test/completionsPromptFactory.test.tsx +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/prompt/test/contextProviderRegistryTs.test.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/telemetry.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/test/inlineCompletion.test.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/test/textDocument.ts +extensions/copilot/src/extension/completions-core/vscode-node/lib/src/util/runtimeMode.ts +extensions/copilot/src/extension/context/node/resolvers/promptWorkspaceLabels.ts +extensions/copilot/src/extension/conversation/common/languageModelAccess.ts +extensions/copilot/src/extension/conversation/vscode-node/remoteAgents.ts +extensions/copilot/src/extension/conversation/vscode-node/userActions.ts +extensions/copilot/src/extension/githubMcp/common/githubMcpDefinitionProvider.ts +extensions/copilot/src/extension/githubMcp/test/node/githubMcpDefinitionProvider.spec.ts +extensions/copilot/src/extension/inlineChat/node/rendererVisualization.ts +extensions/copilot/src/extension/inlineEdits/test/node/nextEditProviderTelemetry.spec.ts +extensions/copilot/src/extension/intents/node/agentIntent.ts +extensions/copilot/src/extension/linkify/common/filePathLinkifier.ts +extensions/copilot/src/extension/linkify/common/modelFilePathLinkifier.ts +extensions/copilot/src/extension/log/vscode-node/loggingActions.ts +extensions/copilot/src/extension/mcp/test/vscode-node/nuget.integration.spec.ts +extensions/copilot/src/extension/mcp/test/vscode-node/nuget.mapping.spec.ts +extensions/copilot/src/extension/mcp/vscode-node/nuget.ts +extensions/copilot/src/extension/onboardDebug/node/parseLaunchConfigFromResponse.ts +extensions/copilot/src/extension/prompt/node/chatMLFetcher.ts +extensions/copilot/src/extension/prompt/test/node/conversation.spec.ts +extensions/copilot/src/extension/prompts/node/inline/summarizedDocument/implementation.ts +extensions/copilot/src/extension/prompts/node/panel/vscode.tsx +extensions/copilot/src/extension/telemetry/vscode/githubTelemetryForwardingContrib.ts +extensions/copilot/src/extension/tools/node/test/searchSubagentTool.spec.ts +extensions/copilot/src/extension/tools/test/node/virtualTools/virtualToolGrouper.spec.ts +extensions/copilot/src/extension/tools/test/node/virtualTools/virtualToolGrouping.spec.ts +extensions/copilot/src/platform/authentication/test/node/simulationTestCopilotTokenManager.ts +extensions/copilot/src/platform/chat/common/chatQuotaServiceImpl.ts +extensions/copilot/src/platform/customInstructions/common/customInstructionsService.ts +extensions/copilot/src/platform/endpoint/node/chatEndpoint.ts +extensions/copilot/src/platform/endpoint/test/node/azureEndpoint.ts +extensions/copilot/src/platform/endpoint/test/node/openaiCompatibleEndpoint.ts +extensions/copilot/src/platform/env/common/envService.ts +extensions/copilot/src/platform/git/common/utils.ts +extensions/copilot/src/platform/github/common/githubAPI.ts +extensions/copilot/src/platform/networking/test/node/networking.spec.ts +extensions/copilot/src/platform/otel/common/agentOTelEnv.ts +extensions/copilot/src/platform/otel/common/otelConfig.ts +extensions/copilot/src/platform/otel/common/test/agentOTelEnv.spec.ts +extensions/copilot/src/platform/otel/common/test/genAiEvents.spec.ts +extensions/copilot/src/platform/telemetry/common/telemetryData.ts +extensions/copilot/src/platform/telemetry/node/azureInsightsReporter.ts +extensions/copilot/src/platform/telemetry/test/node/telemetry2.spec.ts +extensions/copilot/src/platform/telemetry/vscode-node/microsoftExperimentationService.ts +extensions/copilot/src/shared-fetch-utils/common/middleware/authBlockedMiddleware.ts +extensions/copilot/test/base/cachingChatMLFetcher.ts +extensions/copilot/test/base/simulationOptions.ts +extensions/copilot/test/cacheSalt.ts +extensions/copilot/test/codeMapper/codeMapper.stest.ts +extensions/copilot/test/inline/multiFileEdit.stest.ts +extensions/copilot/test/intent/inlineChatIntent.stest.ts +extensions/copilot/test/intent/intentTest.ts +extensions/copilot/test/intent/panelChatIntent.stest.ts +extensions/copilot/test/pipeline/parseInput.ts +extensions/copilot/test/pipeline/scoredEditsOutput.ts +extensions/copilot/test/pipeline/test/pipeline.spec.ts +extensions/copilot/test/pipeline/workspaceRecording/workspaceRecording.ts +extensions/copilot/test/simulation/workbench/initArgs.ts +extensions/copilot/test/simulationMain.ts +extensions/copilot/test/testExecutor.ts +extensions/copilot/test/testVisualizationRunner.ts +extensions/copilot/test/testVisualizationRunnerSTest.ts +extensions/css-language-features/client/src/node/cssClientMain.ts +extensions/css-language-features/server/src/cssServer.ts +extensions/css-language-features/server/src/node/cssServerNodeMain.ts +extensions/emmet/src/abbreviationActions.ts +extensions/emmet/src/defaultCompletionProvider.ts +extensions/emmet/src/splitJoinTag.ts +extensions/emmet/src/util.ts +extensions/git/src/askpass-main.ts +extensions/git/src/askpassManager.ts +extensions/git/src/git.ts +extensions/git/src/ipc/ipcClient.ts +extensions/git/src/ipc/ipcServer.ts +extensions/git/src/util.ts +extensions/github-authentication/src/test/github.test.ts +extensions/html-language-features/client/src/autoInsertion.ts +extensions/html-language-features/client/src/node/htmlClientMain.ts +extensions/html-language-features/server/src/modes/languageModes.ts +extensions/html-language-features/server/src/node/htmlServerNodeMain.ts +extensions/ipynb/src/deserializers.ts +extensions/json-language-features/client/src/node/jsonClientMain.ts +extensions/json-language-features/server/src/node/jsonServerNodeMain.ts +extensions/markdown-language-features/src/extension.ts +extensions/markdown-language-features/src/languageFeatures/copyFiles/copyFiles.ts +extensions/markdown-language-features/src/languageFeatures/copyFiles/snippets.ts +extensions/markdown-language-features/src/markdownEngine.ts +extensions/merge-conflict/src/mergeDecorator.ts +extensions/microsoft-authentication/src/common/experimentation.ts +extensions/terminal-suggest/src/completions/npm.ts +extensions/terminal-suggest/src/completions/yarn.ts +extensions/typescript-language-features/src/logging/telemetry.ts +extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts +extensions/typescript-language-features/src/typescriptServiceClient.ts +extensions/typescript-language-features/src/utils/platform.ts +extensions/vscode-api-tests/src/singlefolder-tests/browser.cdp.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/browser.tools.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/chat.runInTerminal.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/configuration.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts +extensions/vscode-test-resolver/src/extension.ts +scripts/code-agent-host.js +scripts/code-server.js +scripts/code-sessions-web.js +scripts/code-web.js +scripts/sync-agent-host-protocol.ts +scripts/test-agent-host-e2e.ts +src/bootstrap-cli.ts +src/bootstrap-esm.ts +src/bootstrap-fork.ts +src/bootstrap-meta.ts +src/bootstrap-node.ts +src/bootstrap-server.ts +src/cli.ts +src/main.ts +src/server-cli.ts +src/server-main.ts +src/vs/base/browser/dom.ts +src/vs/base/browser/markdownRenderer.ts +src/vs/base/common/desktopEnvironmentInfo.ts +src/vs/base/common/event.ts +src/vs/base/common/observableInternal/index.ts +src/vs/base/common/platform.ts +src/vs/base/common/process.ts +src/vs/base/common/strings.ts +src/vs/base/node/nls.ts +src/vs/base/node/powershell.ts +src/vs/base/node/processes.ts +src/vs/base/node/shell.ts +src/vs/base/node/terminalEncoding.ts +src/vs/base/parts/ipc/node/ipc.net.ts +src/vs/base/parts/ipc/test/node/testApp.ts +src/vs/base/parts/sandbox/electron-browser/preload.ts +src/vs/base/test/browser/markdownRenderer.test.ts +src/vs/base/test/common/decorators.test.ts +src/vs/base/test/common/keyCodes.test.ts +src/vs/base/test/common/oauth.test.ts +src/vs/base/test/common/processes.test.ts +src/vs/base/test/node/port.test.ts +src/vs/base/test/node/processes/processes.integrationTest.ts +src/vs/code/electron-browser/workbench/workbench.ts +src/vs/code/electron-main/app.ts +src/vs/code/electron-main/main.ts +src/vs/code/node/cli.ts +src/vs/code/node/cliProcessMain.ts +src/vs/code/test/node/bootstrapESM.test.ts +src/vs/editor/common/languages/supports/languageBracketsConfiguration.ts +src/vs/editor/common/services/findSectionHeaders.ts +src/vs/editor/contrib/colorPicker/browser/colorDetector.ts +src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.ts +src/vs/platform/agentHost/browser/webPubSubRelayTransport.ts +src/vs/platform/agentHost/common/automationMigration.ts +src/vs/platform/agentHost/common/copilotHome.ts +src/vs/platform/agentHost/common/meta/agentChangesetFileMeta.ts +src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.ts +src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.ts +src/vs/platform/agentHost/common/meta/agentCustomizationMeta.ts +src/vs/platform/agentHost/common/meta/agentErrorMeta.ts +src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.ts +src/vs/platform/agentHost/common/meta/agentMessageDelegationMeta.ts +src/vs/platform/agentHost/common/meta/agentPermissionRequestMeta.ts +src/vs/platform/agentHost/common/meta/agentSystemNotificationMeta.ts +src/vs/platform/agentHost/common/meta/agentToolCallMeta.ts +src/vs/platform/agentHost/common/sessionArtifactCollection.ts +src/vs/platform/agentHost/common/sessionArtifacts.ts +src/vs/platform/agentHost/common/state/protocolUpgrade.ts +src/vs/platform/agentHost/common/state/sessionState.ts +src/vs/platform/agentHost/common/taskEventReplay.ts +src/vs/platform/agentHost/common/webPubSub/framing.ts +src/vs/platform/agentHost/node/agentHostAutomationService.ts +src/vs/platform/agentHost/node/agentHostCustomizationEnablementService.ts +src/vs/platform/agentHost/node/agentHostMain.ts +src/vs/platform/agentHost/node/agentHostMicrosoftTelemetry.ts +src/vs/platform/agentHost/node/agentHostRepoInfoTelemetry.ts +src/vs/platform/agentHost/node/agentHostRestrictedTelemetry.ts +src/vs/platform/agentHost/node/agentHostServerMain.ts +src/vs/platform/agentHost/node/agentHostTerminalManager.ts +src/vs/platform/agentHost/node/appNodeModules.ts +src/vs/platform/agentHost/node/claude/claudeProxyAuth.ts +src/vs/platform/agentHost/node/claude/claudeSdkOptions.ts +src/vs/platform/agentHost/node/claude/claudeToolDisplay.ts +src/vs/platform/agentHost/node/claude/customizations/scan/claudeNativePluginScan.ts +src/vs/platform/agentHost/node/codex/codexAgent.ts +src/vs/platform/agentHost/node/codex/codexDelegation.ts +src/vs/platform/agentHost/node/codex/codexProxyService.ts +src/vs/platform/agentHost/node/codex/codexThreadCoordination.ts +src/vs/platform/agentHost/node/copilot/agentHostSandboxEngine.ts +src/vs/platform/agentHost/node/copilot/copilotAgent.ts +src/vs/platform/agentHost/node/copilot/copilotAgentSession.ts +src/vs/platform/agentHost/node/copilot/copilotCliEnvironment.ts +src/vs/platform/agentHost/node/copilot/copilotToolDisplay.ts +src/vs/platform/agentHost/node/copilot/mapSessionEvents.ts +src/vs/platform/agentHost/node/nodeAgentHostStarter.ts +src/vs/platform/agentHost/node/protocolServerHandler.ts +src/vs/platform/agentHost/node/shared/worktreeIsolation.ts +src/vs/platform/agentHost/node/sshRemoteAgentHostService.ts +src/vs/platform/agentHost/node/wslRemoteAgentHostHelpers.ts +src/vs/platform/agentHost/test/browser/webPubSubRelayTransport.test.ts +src/vs/platform/agentHost/test/common/partialToolInput.test.ts +src/vs/platform/agentHost/test/common/sessionFolderPickerMeta.test.ts +src/vs/platform/agentHost/test/common/sessionWorkspacelessMeta.test.ts +src/vs/platform/agentHost/test/common/state/hostBuildInfoMeta.test.ts +src/vs/platform/agentHost/test/electron-browser/agentHostProtocolClient.test.ts +src/vs/platform/agentHost/test/node/agentHostInternalTelemetry.test.ts +src/vs/platform/agentHost/test/node/agentHostRequestService.test.ts +src/vs/platform/agentHost/test/node/agentHostSessionTitleController.test.ts +src/vs/platform/agentHost/test/node/agentSideEffects.test.ts +src/vs/platform/agentHost/test/node/ahpSurfaceCoverage.ts +src/vs/platform/agentHost/test/node/byokResponsesTranslation.test.ts +src/vs/platform/agentHost/test/node/claudeAgent.integrationTest.ts +src/vs/platform/agentHost/test/node/claudeAgent.test.ts +src/vs/platform/agentHost/test/node/codex/codexCreateChat.test.ts +src/vs/platform/agentHost/test/node/codex/codexModelRefresh.test.ts +src/vs/platform/agentHost/test/node/codex/codexPrewarmEviction.test.ts +src/vs/platform/agentHost/test/node/codex/codexProfileImage.test.ts +src/vs/platform/agentHost/test/node/codex/codexSessionConfigKeys.test.ts +src/vs/platform/agentHost/test/node/codex/codexSessionTitleSpans.test.ts +src/vs/platform/agentHost/test/node/copilotAgent.test.ts +src/vs/platform/agentHost/test/node/copilotAgentSession.test.ts +src/vs/platform/agentHost/test/node/copilotPluginConverters.test.ts +src/vs/platform/agentHost/test/node/e2e/harness/agentHostE2ETestHarness.ts +src/vs/platform/agentHost/test/node/e2e/harness/capiReplayProxy.ts +src/vs/platform/agentHost/test/node/e2e/harness/capiWireCodec.ts +src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostLive.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotOtelAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotPromptsE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/suites/agentHostE2ESuites.ts +src/vs/platform/agentHost/test/node/e2e/suites/copilotCoverageSuite.ts +src/vs/platform/agentHost/test/node/e2e/suites/multiChatSuite.ts +src/vs/platform/agentHost/test/node/e2e/suites/sessionPersistenceSuite.ts +src/vs/platform/agentHost/test/node/mapSessionEvents.perf.test.ts +src/vs/platform/agentHost/test/node/mockAgent.ts +src/vs/platform/agentHost/test/node/serverIntegrationTestHelpers.ts +src/vs/platform/agentHost/test/node/shared/agentHostOctoKitService.test.ts +src/vs/platform/agentHost/test/node/shared/copilotApiService.test.ts +src/vs/platform/agentHost/test/node/sshHostKeyVerification.test.ts +src/vs/platform/agentHost/test/node/sshRemoteAgentHostService.test.ts +src/vs/platform/agentPlugins/common/agentPluginParser.ts +src/vs/platform/agentPlugins/common/pluginParsers.ts +src/vs/platform/configuration/test/common/configurationModels.test.ts +src/vs/platform/configuration/test/common/configurationRegistry.test.ts +src/vs/platform/configuration/test/common/policyConfiguration.test.ts +src/vs/platform/contextkey/browser/contextKeyService.ts +src/vs/platform/diagnostics/node/diagnosticsService.ts +src/vs/platform/dialogs/electron-browser/dialog.ts +src/vs/platform/environment/common/environmentService.ts +src/vs/platform/environment/electron-main/environmentMainService.ts +src/vs/platform/environment/node/argvHelper.ts +src/vs/platform/environment/node/userDataPath.ts +src/vs/platform/environment/test/electron-main/environmentMainService.test.ts +src/vs/platform/environment/test/node/userDataPath.test.ts +src/vs/platform/extensionManagement/common/extensionGalleryService.ts +src/vs/platform/extensionManagement/common/extensionTipsService.ts +src/vs/platform/extensionManagement/node/extensionLifecycle.ts +src/vs/platform/github/common/githubTransport.ts +src/vs/platform/instantiation/test/common/instantiationServiceMock.ts +src/vs/platform/launch/electron-main/launchMainService.ts +src/vs/platform/mcp/test/common/mcpManagementService.test.ts +src/vs/platform/native/electron-main/auth.ts +src/vs/platform/otel/test/node/otlp/otlpJsonDecode.test.ts +src/vs/platform/otel/test/node/otlp/outboundForwarder.test.ts +src/vs/platform/policy/test/common/policy.test.ts +src/vs/platform/product/common/product.ts +src/vs/platform/remote/node/wsl.ts +src/vs/platform/request/node/requestService.ts +src/vs/platform/shell/node/shellEnv.ts +src/vs/platform/telemetry/common/1dsAppender.ts +src/vs/platform/telemetry/common/commonProperties.ts +src/vs/platform/telemetry/common/telemetryService.ts +src/vs/platform/telemetry/test/browser/1dsAppender.test.ts +src/vs/platform/telemetry/test/browser/telemetryService.test.ts +src/vs/platform/terminal/node/ptyService.ts +src/vs/platform/terminal/node/terminalEnvironment.ts +src/vs/platform/terminal/node/terminalProcess.ts +src/vs/platform/terminal/node/terminalProfiles.ts +src/vs/platform/terminal/test/node/terminalEnvironment.test.ts +src/vs/platform/tunnel/node/tunnelProxy.ts +src/vs/platform/tunnel/test/node/tunnelProxy.test.ts +src/vs/platform/userDataProfile/electron-main/userDataProfile.ts +src/vs/platform/userDataSync/common/abstractSynchronizer.ts +src/vs/platform/userDataSync/common/userDataSyncStoreService.ts +src/vs/platform/utilityProcess/electron-main/utilityProcess.ts +src/vs/platform/webContentExtractor/electron-main/webPageLoader.ts +src/vs/platform/webContentExtractor/test/electron-main/webPageLoader.test.ts +src/vs/platform/windows/electron-main/windowImpl.ts +src/vs/platform/windows/electron-main/windowsMainService.ts +src/vs/server/node/remoteAgentEnvironmentImpl.ts +src/vs/server/node/remoteExtensionHostAgentCli.ts +src/vs/server/node/remoteExtensionHostAgentServer.ts +src/vs/server/node/remoteExtensionsScanner.ts +src/vs/server/node/remoteTerminalChannel.ts +src/vs/server/node/server.cli.ts +src/vs/server/node/server.cliAgent.ts +src/vs/server/node/server.main.ts +src/vs/server/node/serverEnvironmentService.ts +src/vs/server/node/webClientServer.ts +src/vs/sessions/contrib/automations/browser/automationService.ts +src/vs/sessions/contrib/github/browser/githubApiClient.ts +src/vs/sessions/contrib/github/common/utils.ts +src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostAutomationStore.test.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostSettingsFileSystemProvider.test.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentSessionSettingsFileSystemProvider.test.ts +src/vs/sessions/contrib/providers/copilotChatSessions/test/browser/permissionPicker.test.ts +src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxApiService.ts +src/vs/sessions/electron-browser/sessions.ts +src/vs/sessions/test/browser/chatGroupsView.test.ts +src/vs/workbench/api/common/extHostDebugService.ts +src/vs/workbench/api/common/extHostMcp.ts +src/vs/workbench/api/common/extHostVariableResolverService.ts +src/vs/workbench/api/node/extensionHostProcess.ts +src/vs/workbench/api/node/extHostExtensionService.ts +src/vs/workbench/api/test/browser/extHostConfiguration.test.ts +src/vs/workbench/api/test/browser/extHostTreeViews.test.ts +src/vs/workbench/api/worker/extensionHostWorker.ts +src/vs/workbench/browser/parts/editor/editor.ts +src/vs/workbench/browser/parts/editor/editorGroupView.ts +src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts +src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.ts +src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts +src/vs/workbench/contrib/chat/browser/actions/createPluginAction.ts +src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.ts +src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.ts +src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/stateToProgressAdapter.ts +src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.ts +src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.ts +src/vs/workbench/contrib/chat/browser/githubRepoFetcher.ts +src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.ts +src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.ts +src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.ts +src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.ts +src/vs/workbench/contrib/chat/common/chatArtifactExtraction.ts +src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.ts +src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.ts +src/vs/workbench/contrib/chat/common/tools/builtinTools/resolveDebugEventDetailsTool.ts +src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.ts +src/vs/workbench/contrib/chat/common/voiceClient/voiceClientService.ts +src/vs/workbench/contrib/chat/test/browser/actions/createPluginAction.test.ts +src/vs/workbench/contrib/chat/test/browser/agentSessions/agentHostChatInputPicker.test.ts +src/vs/workbench/contrib/chat/test/browser/agentSessions/agentHostSettingsFileSystemProvider.test.ts +src/vs/workbench/contrib/chat/test/browser/agentSessions/agentHostUntitledProvisionalSessionService.test.ts +src/vs/workbench/contrib/chat/test/browser/agentSessions/agentSessionSettingsFileSystemProvider.test.ts +src/vs/workbench/contrib/chat/test/browser/agentSessions/convertCarouselAnswers.test.ts +src/vs/workbench/contrib/chat/test/browser/chatSessions/chatSessionsService.test.ts +src/vs/workbench/contrib/chat/test/browser/voiceClient/voiceSessionController.test.ts +src/vs/workbench/contrib/chat/test/browser/voiceClient/voiceToolDispatchService.test.ts +src/vs/workbench/contrib/chat/test/browser/widget/input/chatModelConfigurationStore.test.ts +src/vs/workbench/contrib/chat/test/common/plugins/agentPluginFormatDetection.test.ts +src/vs/workbench/contrib/chat/test/common/tools/builtinTools/askQuestionsTool.test.ts +src/vs/workbench/contrib/chat/test/common/tools/builtinTools/manageTodoListTool.test.ts +src/vs/workbench/contrib/chat/test/common/tools/builtinTools/runSubagentTool.test.ts +src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts +src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts +src/vs/workbench/contrib/debug/common/debugger.ts +src/vs/workbench/contrib/debug/node/debugAdapter.ts +src/vs/workbench/contrib/debug/test/browser/repl.test.ts +src/vs/workbench/contrib/debug/test/node/debugAdapter.test.ts +src/vs/workbench/contrib/debug/test/node/debugger.test.ts +src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts +src/vs/workbench/contrib/issue/electron-browser/nativeGitHubUploadService.ts +src/vs/workbench/contrib/localization/electron-browser/localization.contribution.ts +src/vs/workbench/contrib/mcp/common/mcpSandboxService.ts +src/vs/workbench/contrib/mcp/common/mcpServer.ts +src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.ts +src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.ts +src/vs/workbench/contrib/notebook/browser/notebookEditor.ts +src/vs/workbench/contrib/notebook/browser/notebookOptions.ts +src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +src/vs/workbench/contrib/performance/browser/performance.contribution.ts +src/vs/workbench/contrib/performance/test/browser/perfviewEditor.test.ts +src/vs/workbench/contrib/policyExport/electron-browser/policyExport.contribution.ts +src/vs/workbench/contrib/policyExport/test/node/policyExport.integrationTest.ts +src/vs/workbench/contrib/remote/browser/remoteStartEntry.ts +src/vs/workbench/contrib/remoteTunnel/test/electron-browser/remoteTunnel.contribution.test.ts +src/vs/workbench/contrib/search/browser/replaceService.ts +src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts +src/vs/workbench/contrib/tags/electron-browser/workspaceTagsService.ts +src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts +src/vs/workbench/contrib/tasks/browser/taskQuickPick.ts +src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts +src/vs/workbench/contrib/tasks/common/jsonSchema_v1.ts +src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts +src/vs/workbench/contrib/tasks/common/problemMatcher.ts +src/vs/workbench/contrib/telemetry/browser/telemetry.contribution.ts +src/vs/workbench/contrib/terminal/browser/terminalActions.ts +src/vs/workbench/contrib/terminal/common/terminalEnvironment.ts +src/vs/workbench/contrib/terminal/test/browser/terminalInstance.test.ts +src/vs/workbench/contrib/terminal/test/common/terminalEnvironment.test.ts +src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.ts +src/vs/workbench/contrib/terminalContrib/chatAgentTools/test/electron-browser/runInTerminalTool.test.ts +src/vs/workbench/contrib/terminalContrib/history/common/history.ts +src/vs/workbench/contrib/terminalContrib/history/test/common/history.test.ts +src/vs/workbench/contrib/terminalContrib/suggest/test/browser/terminalCompletionService.test.ts +src/vs/workbench/contrib/themes/browser/themes.contribution.ts +src/vs/workbench/contrib/themes/test/node/colorRegistry.releaseTest.ts +src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.ts +src/vs/workbench/contrib/update/common/updateInfoParser.ts +src/vs/workbench/contrib/webview/browser/pre/service-worker.js +src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.ts +src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.ts +src/vs/workbench/services/accounts/test/browser/defaultAccount.test.ts +src/vs/workbench/services/actions/common/menusExtensionPoint.ts +src/vs/workbench/services/agentHost/test/common/agentHostResourceService.test.ts +src/vs/workbench/services/chat/common/chatEntitlementService.ts +src/vs/workbench/services/configuration/common/configurationModels.ts +src/vs/workbench/services/configuration/test/browser/configurationEditing.test.ts +src/vs/workbench/services/configuration/test/common/configurationModels.test.ts +src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts +src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.ts +src/vs/workbench/services/extensions/common/extensionsRegistry.ts +src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts +src/vs/workbench/services/keybinding/common/keybindingEditing.ts +src/vs/workbench/services/telemetry/browser/workbenchCommonProperties.ts +src/vs/workbench/services/telemetry/common/workbenchCommonProperties.ts +src/vs/workbench/services/telemetry/test/browser/commonProperties.test.ts +src/vs/workbench/services/telemetry/test/node/commonProperties.test.ts +src/vs/workbench/services/textfile/test/node/encoding/encoding.integrationTest.ts +src/vs/workbench/services/themes/common/colorThemeData.ts +src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts +src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts +src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts +test/automation/src/electron.ts +test/automation/src/scm.ts +test/automation/src/search.ts +test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts +test/componentFixtures/playwright/tests/utils.ts +test/monaco/esm-check/esm-check.js +test/sanity/src/context.ts +test/sanity/src/main.ts +test/smoke/src/areas/agentsWindow/agentsWindow.test.ts +test/smoke/src/areas/preferences/preferences.test.ts +test/smoke/test/index.js +test/unit/electron/index.js +test/unit/electron/preload.js +test/unit/electron/renderer.js diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 78e7f13c6f975..e6f6d656c1606 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -19,3 +19,7 @@ src/vs/workbench/services/extensions/common/extensionPoints.json @TylerLeonhardt # review is required to make sure TypeScript is not a better choice. .eslint-allowed-javascript-files @alexr00 @alexdima @sbatten @TylerLeonhardt +# Allowlist for the `local/code-no-bracket-notation-for-identifiers` lint rule. +# Adding entries here permits bracket notation for identifier properties; +# review is required to make sure dot notation cannot be used instead. +.eslint-allowed-bracket-notation-files @alexr00 @alexdima @sbatten @TylerLeonhardt diff --git a/eslint.config.js b/eslint.config.js index b9221655462a0..6b65c3d8f1d91 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -30,6 +30,12 @@ const allowedJavaScriptFiles = fs.readFileSync(path.join(import.meta.dirname, '. .map(line => line.trim()) .filter(line => line && !line.startsWith('#')); +const allowedBracketNotationFiles = fs.readFileSync(path.join(import.meta.dirname, '.eslint-allowed-bracket-notation-files'), 'utf8') + .toString() + .split(/\r\n|\n/) + .map(line => line.trim()) + .filter(line => line && !line.startsWith('#')); + export default defineConfig( // Global ignores { @@ -144,6 +150,20 @@ export default defineConfig( ] }, }, + // Disallow bracket notation for property names that can use dot notation. + { + files: [ + '**/*.{js,cjs,mjs,ts,tsx,mts,cts}', + '.eslint-plugin-local/**/*.ts', + ], + ignores: allowedBracketNotationFiles, + plugins: { + 'local': pluginLocal, + }, + rules: { + 'local/code-no-bracket-notation-for-identifiers': 'warn', + }, + }, // TS { files: [ From 2e0b353223d2fa5914516c8ffbb3682d1c9a134e Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Sat, 5 Sep 2026 22:08:01 -0700 Subject: [PATCH 2/5] eslint: update bracket allowlist owners Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e6f6d656c1606..9598b45a74936 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,4 +22,4 @@ src/vs/workbench/services/extensions/common/extensionPoints.json @TylerLeonhardt # Allowlist for the `local/code-no-bracket-notation-for-identifiers` lint rule. # Adding entries here permits bracket notation for identifier properties; # review is required to make sure dot notation cannot be used instead. -.eslint-allowed-bracket-notation-files @alexr00 @alexdima @sbatten @TylerLeonhardt +.eslint-allowed-bracket-notation-files @alexdima @dmitrivMS From cda7e1c8297cbce83bbc6afd4323ac0ff4779295 Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Sat, 5 Sep 2026 22:18:36 -0700 Subject: [PATCH 3/5] eslint: group bracket notation exclusions Organize the existing baseline by feature area so cleanup can be tracked and assigned without changing the excluded file set. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .eslint-allowed-bracket-notation-files | 717 +++++++++++++------------ 1 file changed, 376 insertions(+), 341 deletions(-) diff --git a/.eslint-allowed-bracket-notation-files b/.eslint-allowed-bracket-notation-files index 1bbbb1db8262f..8231ea35a7f52 100644 --- a/.eslint-allowed-bracket-notation-files +++ b/.eslint-allowed-bracket-notation-files @@ -8,49 +8,98 @@ # # Lines starting with `#` are comments. Blank lines are ignored. -build/azure-pipelines/common/apply-sdk-canary-override.ts -build/azure-pipelines/common/createBuild.ts -build/azure-pipelines/common/downloadNotice.ts -build/azure-pipelines/common/getPublishAuthTokens.ts -build/azure-pipelines/common/publish.ts -build/azure-pipelines/common/releaseBuild.ts -build/azure-pipelines/common/sign-win32.ts -build/azure-pipelines/common/sign.ts -build/azure-pipelines/distro/mixin-quality.ts -build/azure-pipelines/oss/audit-notices.ts -build/azure-pipelines/oss/merge-notices.ts -build/azure-pipelines/oss/scan-licenses.ts -build/azure-pipelines/upload-cdn.ts -build/azure-pipelines/upload-nlsmetadata.ts -build/azure-pipelines/upload-sourcemaps.ts -build/azure-pipelines/win32/codesign.ts -build/darwin/create-dmg.ts -build/darwin/create-universal-app.ts -build/darwin/sign-server.ts -build/darwin/sign.ts -build/darwin/verify-macho.ts -build/gulpfile.reh.ts -build/gulpfile.vscode.linux.ts -build/gulpfile.vscode.ts -build/gulpfile.vscode.win32.ts -build/hygiene.ts -build/lib/builtInExtensions.ts -build/lib/compilation.ts -build/lib/electron.ts -build/lib/fetch.ts -build/lib/getVersion.ts -build/lib/i18n.ts -build/lib/policies/exportPolicyData.ts -build/lib/preLaunch.ts -build/lib/test/render.test.ts -build/linux/debian/install-sysroot.ts -build/linux/libcxx-fetcher.ts -build/npm/postinstall.ts -build/npm/preinstall.ts -build/npm/update-localization-extension.ts -build/rspack/rspack.serve-out.config.mts -build/win32/explorer-dll-fetcher.ts -extensions/configuration-editing/src/configurationEditingMain.ts +# Agent Host platform (89 files) +src/vs/platform/agentHost/browser/webPubSubRelayTransport.ts +src/vs/platform/agentHost/common/automationMigration.ts +src/vs/platform/agentHost/common/copilotHome.ts +src/vs/platform/agentHost/common/meta/agentChangesetFileMeta.ts +src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.ts +src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.ts +src/vs/platform/agentHost/common/meta/agentCustomizationMeta.ts +src/vs/platform/agentHost/common/meta/agentErrorMeta.ts +src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.ts +src/vs/platform/agentHost/common/meta/agentMessageDelegationMeta.ts +src/vs/platform/agentHost/common/meta/agentPermissionRequestMeta.ts +src/vs/platform/agentHost/common/meta/agentSystemNotificationMeta.ts +src/vs/platform/agentHost/common/meta/agentToolCallMeta.ts +src/vs/platform/agentHost/common/sessionArtifactCollection.ts +src/vs/platform/agentHost/common/sessionArtifacts.ts +src/vs/platform/agentHost/common/state/protocolUpgrade.ts +src/vs/platform/agentHost/common/state/sessionState.ts +src/vs/platform/agentHost/common/taskEventReplay.ts +src/vs/platform/agentHost/common/webPubSub/framing.ts +src/vs/platform/agentHost/node/agentHostAutomationService.ts +src/vs/platform/agentHost/node/agentHostCustomizationEnablementService.ts +src/vs/platform/agentHost/node/agentHostMain.ts +src/vs/platform/agentHost/node/agentHostMicrosoftTelemetry.ts +src/vs/platform/agentHost/node/agentHostRepoInfoTelemetry.ts +src/vs/platform/agentHost/node/agentHostRestrictedTelemetry.ts +src/vs/platform/agentHost/node/agentHostServerMain.ts +src/vs/platform/agentHost/node/agentHostTerminalManager.ts +src/vs/platform/agentHost/node/appNodeModules.ts +src/vs/platform/agentHost/node/claude/claudeProxyAuth.ts +src/vs/platform/agentHost/node/claude/claudeSdkOptions.ts +src/vs/platform/agentHost/node/claude/claudeToolDisplay.ts +src/vs/platform/agentHost/node/claude/customizations/scan/claudeNativePluginScan.ts +src/vs/platform/agentHost/node/codex/codexAgent.ts +src/vs/platform/agentHost/node/codex/codexDelegation.ts +src/vs/platform/agentHost/node/codex/codexProxyService.ts +src/vs/platform/agentHost/node/codex/codexThreadCoordination.ts +src/vs/platform/agentHost/node/copilot/agentHostSandboxEngine.ts +src/vs/platform/agentHost/node/copilot/copilotAgent.ts +src/vs/platform/agentHost/node/copilot/copilotAgentSession.ts +src/vs/platform/agentHost/node/copilot/copilotCliEnvironment.ts +src/vs/platform/agentHost/node/copilot/copilotToolDisplay.ts +src/vs/platform/agentHost/node/copilot/mapSessionEvents.ts +src/vs/platform/agentHost/node/nodeAgentHostStarter.ts +src/vs/platform/agentHost/node/protocolServerHandler.ts +src/vs/platform/agentHost/node/shared/worktreeIsolation.ts +src/vs/platform/agentHost/node/sshRemoteAgentHostService.ts +src/vs/platform/agentHost/node/wslRemoteAgentHostHelpers.ts +src/vs/platform/agentHost/test/browser/webPubSubRelayTransport.test.ts +src/vs/platform/agentHost/test/common/partialToolInput.test.ts +src/vs/platform/agentHost/test/common/sessionFolderPickerMeta.test.ts +src/vs/platform/agentHost/test/common/sessionWorkspacelessMeta.test.ts +src/vs/platform/agentHost/test/common/state/hostBuildInfoMeta.test.ts +src/vs/platform/agentHost/test/electron-browser/agentHostProtocolClient.test.ts +src/vs/platform/agentHost/test/node/agentHostInternalTelemetry.test.ts +src/vs/platform/agentHost/test/node/agentHostRequestService.test.ts +src/vs/platform/agentHost/test/node/agentHostSessionTitleController.test.ts +src/vs/platform/agentHost/test/node/agentSideEffects.test.ts +src/vs/platform/agentHost/test/node/ahpSurfaceCoverage.ts +src/vs/platform/agentHost/test/node/byokResponsesTranslation.test.ts +src/vs/platform/agentHost/test/node/claudeAgent.integrationTest.ts +src/vs/platform/agentHost/test/node/claudeAgent.test.ts +src/vs/platform/agentHost/test/node/codex/codexCreateChat.test.ts +src/vs/platform/agentHost/test/node/codex/codexModelRefresh.test.ts +src/vs/platform/agentHost/test/node/codex/codexPrewarmEviction.test.ts +src/vs/platform/agentHost/test/node/codex/codexProfileImage.test.ts +src/vs/platform/agentHost/test/node/codex/codexSessionConfigKeys.test.ts +src/vs/platform/agentHost/test/node/codex/codexSessionTitleSpans.test.ts +src/vs/platform/agentHost/test/node/copilotAgent.test.ts +src/vs/platform/agentHost/test/node/copilotAgentSession.test.ts +src/vs/platform/agentHost/test/node/copilotPluginConverters.test.ts +src/vs/platform/agentHost/test/node/e2e/harness/agentHostE2ETestHarness.ts +src/vs/platform/agentHost/test/node/e2e/harness/capiReplayProxy.ts +src/vs/platform/agentHost/test/node/e2e/harness/capiWireCodec.ts +src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostLive.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotOtelAgentHostE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/providers/copilotPromptsE2E.integrationTest.ts +src/vs/platform/agentHost/test/node/e2e/suites/agentHostE2ESuites.ts +src/vs/platform/agentHost/test/node/e2e/suites/copilotCoverageSuite.ts +src/vs/platform/agentHost/test/node/e2e/suites/multiChatSuite.ts +src/vs/platform/agentHost/test/node/e2e/suites/sessionPersistenceSuite.ts +src/vs/platform/agentHost/test/node/mapSessionEvents.perf.test.ts +src/vs/platform/agentHost/test/node/mockAgent.ts +src/vs/platform/agentHost/test/node/serverIntegrationTestHelpers.ts +src/vs/platform/agentHost/test/node/shared/agentHostOctoKitService.test.ts +src/vs/platform/agentHost/test/node/shared/copilotApiService.test.ts +src/vs/platform/agentHost/test/node/sshHostKeyVerification.test.ts +src/vs/platform/agentHost/test/node/sshRemoteAgentHostService.test.ts + +# Copilot extension (90 files) extensions/copilot/.esbuild.mts extensions/copilot/script/alternativeAction/index.ts extensions/copilot/script/setup/getEnv.mts @@ -141,266 +190,11 @@ extensions/copilot/test/simulationMain.ts extensions/copilot/test/testExecutor.ts extensions/copilot/test/testVisualizationRunner.ts extensions/copilot/test/testVisualizationRunnerSTest.ts -extensions/css-language-features/client/src/node/cssClientMain.ts -extensions/css-language-features/server/src/cssServer.ts -extensions/css-language-features/server/src/node/cssServerNodeMain.ts -extensions/emmet/src/abbreviationActions.ts -extensions/emmet/src/defaultCompletionProvider.ts -extensions/emmet/src/splitJoinTag.ts -extensions/emmet/src/util.ts -extensions/git/src/askpass-main.ts -extensions/git/src/askpassManager.ts -extensions/git/src/git.ts -extensions/git/src/ipc/ipcClient.ts -extensions/git/src/ipc/ipcServer.ts -extensions/git/src/util.ts -extensions/github-authentication/src/test/github.test.ts -extensions/html-language-features/client/src/autoInsertion.ts -extensions/html-language-features/client/src/node/htmlClientMain.ts -extensions/html-language-features/server/src/modes/languageModes.ts -extensions/html-language-features/server/src/node/htmlServerNodeMain.ts -extensions/ipynb/src/deserializers.ts -extensions/json-language-features/client/src/node/jsonClientMain.ts -extensions/json-language-features/server/src/node/jsonServerNodeMain.ts -extensions/markdown-language-features/src/extension.ts -extensions/markdown-language-features/src/languageFeatures/copyFiles/copyFiles.ts -extensions/markdown-language-features/src/languageFeatures/copyFiles/snippets.ts -extensions/markdown-language-features/src/markdownEngine.ts -extensions/merge-conflict/src/mergeDecorator.ts -extensions/microsoft-authentication/src/common/experimentation.ts -extensions/terminal-suggest/src/completions/npm.ts -extensions/terminal-suggest/src/completions/yarn.ts -extensions/typescript-language-features/src/logging/telemetry.ts -extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts -extensions/typescript-language-features/src/typescriptServiceClient.ts -extensions/typescript-language-features/src/utils/platform.ts -extensions/vscode-api-tests/src/singlefolder-tests/browser.cdp.test.ts -extensions/vscode-api-tests/src/singlefolder-tests/browser.tools.test.ts -extensions/vscode-api-tests/src/singlefolder-tests/chat.runInTerminal.test.ts -extensions/vscode-api-tests/src/singlefolder-tests/configuration.test.ts -extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts -extensions/vscode-test-resolver/src/extension.ts -scripts/code-agent-host.js -scripts/code-server.js -scripts/code-sessions-web.js -scripts/code-web.js -scripts/sync-agent-host-protocol.ts -scripts/test-agent-host-e2e.ts -src/bootstrap-cli.ts -src/bootstrap-esm.ts -src/bootstrap-fork.ts -src/bootstrap-meta.ts -src/bootstrap-node.ts -src/bootstrap-server.ts -src/cli.ts -src/main.ts -src/server-cli.ts -src/server-main.ts -src/vs/base/browser/dom.ts -src/vs/base/browser/markdownRenderer.ts -src/vs/base/common/desktopEnvironmentInfo.ts -src/vs/base/common/event.ts -src/vs/base/common/observableInternal/index.ts -src/vs/base/common/platform.ts -src/vs/base/common/process.ts -src/vs/base/common/strings.ts -src/vs/base/node/nls.ts -src/vs/base/node/powershell.ts -src/vs/base/node/processes.ts -src/vs/base/node/shell.ts -src/vs/base/node/terminalEncoding.ts -src/vs/base/parts/ipc/node/ipc.net.ts -src/vs/base/parts/ipc/test/node/testApp.ts -src/vs/base/parts/sandbox/electron-browser/preload.ts -src/vs/base/test/browser/markdownRenderer.test.ts -src/vs/base/test/common/decorators.test.ts -src/vs/base/test/common/keyCodes.test.ts -src/vs/base/test/common/oauth.test.ts -src/vs/base/test/common/processes.test.ts -src/vs/base/test/node/port.test.ts -src/vs/base/test/node/processes/processes.integrationTest.ts -src/vs/code/electron-browser/workbench/workbench.ts -src/vs/code/electron-main/app.ts -src/vs/code/electron-main/main.ts -src/vs/code/node/cli.ts -src/vs/code/node/cliProcessMain.ts -src/vs/code/test/node/bootstrapESM.test.ts -src/vs/editor/common/languages/supports/languageBracketsConfiguration.ts -src/vs/editor/common/services/findSectionHeaders.ts -src/vs/editor/contrib/colorPicker/browser/colorDetector.ts -src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.ts -src/vs/platform/agentHost/browser/webPubSubRelayTransport.ts -src/vs/platform/agentHost/common/automationMigration.ts -src/vs/platform/agentHost/common/copilotHome.ts -src/vs/platform/agentHost/common/meta/agentChangesetFileMeta.ts -src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.ts -src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.ts -src/vs/platform/agentHost/common/meta/agentCustomizationMeta.ts -src/vs/platform/agentHost/common/meta/agentErrorMeta.ts -src/vs/platform/agentHost/common/meta/agentFeedbackAnnotations.ts -src/vs/platform/agentHost/common/meta/agentMessageDelegationMeta.ts -src/vs/platform/agentHost/common/meta/agentPermissionRequestMeta.ts -src/vs/platform/agentHost/common/meta/agentSystemNotificationMeta.ts -src/vs/platform/agentHost/common/meta/agentToolCallMeta.ts -src/vs/platform/agentHost/common/sessionArtifactCollection.ts -src/vs/platform/agentHost/common/sessionArtifacts.ts -src/vs/platform/agentHost/common/state/protocolUpgrade.ts -src/vs/platform/agentHost/common/state/sessionState.ts -src/vs/platform/agentHost/common/taskEventReplay.ts -src/vs/platform/agentHost/common/webPubSub/framing.ts -src/vs/platform/agentHost/node/agentHostAutomationService.ts -src/vs/platform/agentHost/node/agentHostCustomizationEnablementService.ts -src/vs/platform/agentHost/node/agentHostMain.ts -src/vs/platform/agentHost/node/agentHostMicrosoftTelemetry.ts -src/vs/platform/agentHost/node/agentHostRepoInfoTelemetry.ts -src/vs/platform/agentHost/node/agentHostRestrictedTelemetry.ts -src/vs/platform/agentHost/node/agentHostServerMain.ts -src/vs/platform/agentHost/node/agentHostTerminalManager.ts -src/vs/platform/agentHost/node/appNodeModules.ts -src/vs/platform/agentHost/node/claude/claudeProxyAuth.ts -src/vs/platform/agentHost/node/claude/claudeSdkOptions.ts -src/vs/platform/agentHost/node/claude/claudeToolDisplay.ts -src/vs/platform/agentHost/node/claude/customizations/scan/claudeNativePluginScan.ts -src/vs/platform/agentHost/node/codex/codexAgent.ts -src/vs/platform/agentHost/node/codex/codexDelegation.ts -src/vs/platform/agentHost/node/codex/codexProxyService.ts -src/vs/platform/agentHost/node/codex/codexThreadCoordination.ts -src/vs/platform/agentHost/node/copilot/agentHostSandboxEngine.ts -src/vs/platform/agentHost/node/copilot/copilotAgent.ts -src/vs/platform/agentHost/node/copilot/copilotAgentSession.ts -src/vs/platform/agentHost/node/copilot/copilotCliEnvironment.ts -src/vs/platform/agentHost/node/copilot/copilotToolDisplay.ts -src/vs/platform/agentHost/node/copilot/mapSessionEvents.ts -src/vs/platform/agentHost/node/nodeAgentHostStarter.ts -src/vs/platform/agentHost/node/protocolServerHandler.ts -src/vs/platform/agentHost/node/shared/worktreeIsolation.ts -src/vs/platform/agentHost/node/sshRemoteAgentHostService.ts -src/vs/platform/agentHost/node/wslRemoteAgentHostHelpers.ts -src/vs/platform/agentHost/test/browser/webPubSubRelayTransport.test.ts -src/vs/platform/agentHost/test/common/partialToolInput.test.ts -src/vs/platform/agentHost/test/common/sessionFolderPickerMeta.test.ts -src/vs/platform/agentHost/test/common/sessionWorkspacelessMeta.test.ts -src/vs/platform/agentHost/test/common/state/hostBuildInfoMeta.test.ts -src/vs/platform/agentHost/test/electron-browser/agentHostProtocolClient.test.ts -src/vs/platform/agentHost/test/node/agentHostInternalTelemetry.test.ts -src/vs/platform/agentHost/test/node/agentHostRequestService.test.ts -src/vs/platform/agentHost/test/node/agentHostSessionTitleController.test.ts -src/vs/platform/agentHost/test/node/agentSideEffects.test.ts -src/vs/platform/agentHost/test/node/ahpSurfaceCoverage.ts -src/vs/platform/agentHost/test/node/byokResponsesTranslation.test.ts -src/vs/platform/agentHost/test/node/claudeAgent.integrationTest.ts -src/vs/platform/agentHost/test/node/claudeAgent.test.ts -src/vs/platform/agentHost/test/node/codex/codexCreateChat.test.ts -src/vs/platform/agentHost/test/node/codex/codexModelRefresh.test.ts -src/vs/platform/agentHost/test/node/codex/codexPrewarmEviction.test.ts -src/vs/platform/agentHost/test/node/codex/codexProfileImage.test.ts -src/vs/platform/agentHost/test/node/codex/codexSessionConfigKeys.test.ts -src/vs/platform/agentHost/test/node/codex/codexSessionTitleSpans.test.ts -src/vs/platform/agentHost/test/node/copilotAgent.test.ts -src/vs/platform/agentHost/test/node/copilotAgentSession.test.ts -src/vs/platform/agentHost/test/node/copilotPluginConverters.test.ts -src/vs/platform/agentHost/test/node/e2e/harness/agentHostE2ETestHarness.ts -src/vs/platform/agentHost/test/node/e2e/harness/capiReplayProxy.ts -src/vs/platform/agentHost/test/node/e2e/harness/capiWireCodec.ts -src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostE2E.integrationTest.ts -src/vs/platform/agentHost/test/node/e2e/providers/codexAgentHostLive.integrationTest.ts -src/vs/platform/agentHost/test/node/e2e/providers/copilotAgentHostE2E.integrationTest.ts -src/vs/platform/agentHost/test/node/e2e/providers/copilotOtelAgentHostE2E.integrationTest.ts -src/vs/platform/agentHost/test/node/e2e/providers/copilotPromptsE2E.integrationTest.ts -src/vs/platform/agentHost/test/node/e2e/suites/agentHostE2ESuites.ts -src/vs/platform/agentHost/test/node/e2e/suites/copilotCoverageSuite.ts -src/vs/platform/agentHost/test/node/e2e/suites/multiChatSuite.ts -src/vs/platform/agentHost/test/node/e2e/suites/sessionPersistenceSuite.ts -src/vs/platform/agentHost/test/node/mapSessionEvents.perf.test.ts -src/vs/platform/agentHost/test/node/mockAgent.ts -src/vs/platform/agentHost/test/node/serverIntegrationTestHelpers.ts -src/vs/platform/agentHost/test/node/shared/agentHostOctoKitService.test.ts -src/vs/platform/agentHost/test/node/shared/copilotApiService.test.ts -src/vs/platform/agentHost/test/node/sshHostKeyVerification.test.ts -src/vs/platform/agentHost/test/node/sshRemoteAgentHostService.test.ts + +# Workbench chat and agents (40 files) src/vs/platform/agentPlugins/common/agentPluginParser.ts src/vs/platform/agentPlugins/common/pluginParsers.ts -src/vs/platform/configuration/test/common/configurationModels.test.ts -src/vs/platform/configuration/test/common/configurationRegistry.test.ts -src/vs/platform/configuration/test/common/policyConfiguration.test.ts -src/vs/platform/contextkey/browser/contextKeyService.ts -src/vs/platform/diagnostics/node/diagnosticsService.ts -src/vs/platform/dialogs/electron-browser/dialog.ts -src/vs/platform/environment/common/environmentService.ts -src/vs/platform/environment/electron-main/environmentMainService.ts -src/vs/platform/environment/node/argvHelper.ts -src/vs/platform/environment/node/userDataPath.ts -src/vs/platform/environment/test/electron-main/environmentMainService.test.ts -src/vs/platform/environment/test/node/userDataPath.test.ts -src/vs/platform/extensionManagement/common/extensionGalleryService.ts -src/vs/platform/extensionManagement/common/extensionTipsService.ts -src/vs/platform/extensionManagement/node/extensionLifecycle.ts -src/vs/platform/github/common/githubTransport.ts -src/vs/platform/instantiation/test/common/instantiationServiceMock.ts -src/vs/platform/launch/electron-main/launchMainService.ts src/vs/platform/mcp/test/common/mcpManagementService.test.ts -src/vs/platform/native/electron-main/auth.ts -src/vs/platform/otel/test/node/otlp/otlpJsonDecode.test.ts -src/vs/platform/otel/test/node/otlp/outboundForwarder.test.ts -src/vs/platform/policy/test/common/policy.test.ts -src/vs/platform/product/common/product.ts -src/vs/platform/remote/node/wsl.ts -src/vs/platform/request/node/requestService.ts -src/vs/platform/shell/node/shellEnv.ts -src/vs/platform/telemetry/common/1dsAppender.ts -src/vs/platform/telemetry/common/commonProperties.ts -src/vs/platform/telemetry/common/telemetryService.ts -src/vs/platform/telemetry/test/browser/1dsAppender.test.ts -src/vs/platform/telemetry/test/browser/telemetryService.test.ts -src/vs/platform/terminal/node/ptyService.ts -src/vs/platform/terminal/node/terminalEnvironment.ts -src/vs/platform/terminal/node/terminalProcess.ts -src/vs/platform/terminal/node/terminalProfiles.ts -src/vs/platform/terminal/test/node/terminalEnvironment.test.ts -src/vs/platform/tunnel/node/tunnelProxy.ts -src/vs/platform/tunnel/test/node/tunnelProxy.test.ts -src/vs/platform/userDataProfile/electron-main/userDataProfile.ts -src/vs/platform/userDataSync/common/abstractSynchronizer.ts -src/vs/platform/userDataSync/common/userDataSyncStoreService.ts -src/vs/platform/utilityProcess/electron-main/utilityProcess.ts -src/vs/platform/webContentExtractor/electron-main/webPageLoader.ts -src/vs/platform/webContentExtractor/test/electron-main/webPageLoader.test.ts -src/vs/platform/windows/electron-main/windowImpl.ts -src/vs/platform/windows/electron-main/windowsMainService.ts -src/vs/server/node/remoteAgentEnvironmentImpl.ts -src/vs/server/node/remoteExtensionHostAgentCli.ts -src/vs/server/node/remoteExtensionHostAgentServer.ts -src/vs/server/node/remoteExtensionsScanner.ts -src/vs/server/node/remoteTerminalChannel.ts -src/vs/server/node/server.cli.ts -src/vs/server/node/server.cliAgent.ts -src/vs/server/node/server.main.ts -src/vs/server/node/serverEnvironmentService.ts -src/vs/server/node/webClientServer.ts -src/vs/sessions/contrib/automations/browser/automationService.ts -src/vs/sessions/contrib/github/browser/githubApiClient.ts -src/vs/sessions/contrib/github/common/utils.ts -src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.ts -src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostAutomationStore.test.ts -src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostSettingsFileSystemProvider.test.ts -src/vs/sessions/contrib/providers/agentHost/test/browser/agentSessionSettingsFileSystemProvider.test.ts -src/vs/sessions/contrib/providers/copilotChatSessions/test/browser/permissionPicker.test.ts -src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxApiService.ts -src/vs/sessions/electron-browser/sessions.ts -src/vs/sessions/test/browser/chatGroupsView.test.ts -src/vs/workbench/api/common/extHostDebugService.ts -src/vs/workbench/api/common/extHostMcp.ts -src/vs/workbench/api/common/extHostVariableResolverService.ts -src/vs/workbench/api/node/extensionHostProcess.ts -src/vs/workbench/api/node/extHostExtensionService.ts -src/vs/workbench/api/test/browser/extHostConfiguration.test.ts -src/vs/workbench/api/test/browser/extHostTreeViews.test.ts -src/vs/workbench/api/worker/extensionHostWorker.ts -src/vs/workbench/browser/parts/editor/editor.ts -src/vs/workbench/browser/parts/editor/editorGroupView.ts -src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts -src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.ts -src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts src/vs/workbench/contrib/chat/browser/actions/createPluginAction.ts src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.ts src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.ts @@ -432,40 +226,162 @@ src/vs/workbench/contrib/chat/test/common/plugins/agentPluginFormatDetection.tes src/vs/workbench/contrib/chat/test/common/tools/builtinTools/askQuestionsTool.test.ts src/vs/workbench/contrib/chat/test/common/tools/builtinTools/manageTodoListTool.test.ts src/vs/workbench/contrib/chat/test/common/tools/builtinTools/runSubagentTool.test.ts -src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts -src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts -src/vs/workbench/contrib/debug/common/debugger.ts -src/vs/workbench/contrib/debug/node/debugAdapter.ts -src/vs/workbench/contrib/debug/test/browser/repl.test.ts -src/vs/workbench/contrib/debug/test/node/debugAdapter.test.ts -src/vs/workbench/contrib/debug/test/node/debugger.test.ts -src/vs/workbench/contrib/extensions/browser/extensionsActions.ts src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts -src/vs/workbench/contrib/issue/electron-browser/nativeGitHubUploadService.ts -src/vs/workbench/contrib/localization/electron-browser/localization.contribution.ts src/vs/workbench/contrib/mcp/common/mcpSandboxService.ts src/vs/workbench/contrib/mcp/common/mcpServer.ts -src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.ts -src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.ts -src/vs/workbench/contrib/notebook/browser/notebookEditor.ts -src/vs/workbench/contrib/notebook/browser/notebookOptions.ts -src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts -src/vs/workbench/contrib/performance/browser/performance.contribution.ts -src/vs/workbench/contrib/performance/test/browser/perfviewEditor.test.ts -src/vs/workbench/contrib/policyExport/electron-browser/policyExport.contribution.ts -src/vs/workbench/contrib/policyExport/test/node/policyExport.integrationTest.ts -src/vs/workbench/contrib/remote/browser/remoteStartEntry.ts -src/vs/workbench/contrib/remoteTunnel/test/electron-browser/remoteTunnel.contribution.test.ts -src/vs/workbench/contrib/search/browser/replaceService.ts -src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts -src/vs/workbench/contrib/tags/electron-browser/workspaceTagsService.ts +src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.ts +src/vs/workbench/services/agentHost/test/common/agentHostResourceService.test.ts +src/vs/workbench/services/chat/common/chatEntitlementService.ts + +# Agents Window (11 files) +src/vs/sessions/contrib/automations/browser/automationService.ts +src/vs/sessions/contrib/github/browser/githubApiClient.ts +src/vs/sessions/contrib/github/common/utils.ts +src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostAutomationStore.test.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostSettingsFileSystemProvider.test.ts +src/vs/sessions/contrib/providers/agentHost/test/browser/agentSessionSettingsFileSystemProvider.test.ts +src/vs/sessions/contrib/providers/copilotChatSessions/test/browser/permissionPicker.test.ts +src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxApiService.ts +src/vs/sessions/electron-browser/sessions.ts +src/vs/sessions/test/browser/chatGroupsView.test.ts + +# Build, CI, and scripts (48 files) +build/azure-pipelines/common/apply-sdk-canary-override.ts +build/azure-pipelines/common/createBuild.ts +build/azure-pipelines/common/downloadNotice.ts +build/azure-pipelines/common/getPublishAuthTokens.ts +build/azure-pipelines/common/publish.ts +build/azure-pipelines/common/releaseBuild.ts +build/azure-pipelines/common/sign-win32.ts +build/azure-pipelines/common/sign.ts +build/azure-pipelines/distro/mixin-quality.ts +build/azure-pipelines/oss/audit-notices.ts +build/azure-pipelines/oss/merge-notices.ts +build/azure-pipelines/oss/scan-licenses.ts +build/azure-pipelines/upload-cdn.ts +build/azure-pipelines/upload-nlsmetadata.ts +build/azure-pipelines/upload-sourcemaps.ts +build/azure-pipelines/win32/codesign.ts +build/darwin/create-dmg.ts +build/darwin/create-universal-app.ts +build/darwin/sign-server.ts +build/darwin/sign.ts +build/darwin/verify-macho.ts +build/gulpfile.reh.ts +build/gulpfile.vscode.linux.ts +build/gulpfile.vscode.ts +build/gulpfile.vscode.win32.ts +build/hygiene.ts +build/lib/builtInExtensions.ts +build/lib/compilation.ts +build/lib/electron.ts +build/lib/fetch.ts +build/lib/getVersion.ts +build/lib/i18n.ts +build/lib/policies/exportPolicyData.ts +build/lib/preLaunch.ts +build/lib/test/render.test.ts +build/linux/debian/install-sysroot.ts +build/linux/libcxx-fetcher.ts +build/npm/postinstall.ts +build/npm/preinstall.ts +build/npm/update-localization-extension.ts +build/rspack/rspack.serve-out.config.mts +build/win32/explorer-dll-fetcher.ts +scripts/code-agent-host.js +scripts/code-server.js +scripts/code-sessions-web.js +scripts/code-web.js +scripts/sync-agent-host-protocol.ts +scripts/test-agent-host-e2e.ts + +# Application bootstrap, server, and environment (41 files) +src/bootstrap-cli.ts +src/bootstrap-esm.ts +src/bootstrap-fork.ts +src/bootstrap-meta.ts +src/bootstrap-node.ts +src/bootstrap-server.ts +src/cli.ts +src/main.ts +src/server-cli.ts +src/server-main.ts +src/vs/code/electron-browser/workbench/workbench.ts +src/vs/code/electron-main/app.ts +src/vs/code/electron-main/main.ts +src/vs/code/node/cli.ts +src/vs/code/node/cliProcessMain.ts +src/vs/code/test/node/bootstrapESM.test.ts +src/vs/platform/diagnostics/node/diagnosticsService.ts +src/vs/platform/dialogs/electron-browser/dialog.ts +src/vs/platform/environment/common/environmentService.ts +src/vs/platform/environment/electron-main/environmentMainService.ts +src/vs/platform/environment/node/argvHelper.ts +src/vs/platform/environment/node/userDataPath.ts +src/vs/platform/environment/test/electron-main/environmentMainService.test.ts +src/vs/platform/environment/test/node/userDataPath.test.ts +src/vs/platform/launch/electron-main/launchMainService.ts +src/vs/platform/native/electron-main/auth.ts +src/vs/platform/product/common/product.ts +src/vs/platform/shell/node/shellEnv.ts +src/vs/platform/utilityProcess/electron-main/utilityProcess.ts +src/vs/platform/windows/electron-main/windowImpl.ts +src/vs/platform/windows/electron-main/windowsMainService.ts +src/vs/server/node/remoteAgentEnvironmentImpl.ts +src/vs/server/node/remoteExtensionHostAgentCli.ts +src/vs/server/node/remoteExtensionHostAgentServer.ts +src/vs/server/node/remoteExtensionsScanner.ts +src/vs/server/node/remoteTerminalChannel.ts +src/vs/server/node/server.cli.ts +src/vs/server/node/server.cliAgent.ts +src/vs/server/node/server.main.ts +src/vs/server/node/serverEnvironmentService.ts +src/vs/server/node/webClientServer.ts + +# Base and editor (27 files) +src/vs/base/browser/dom.ts +src/vs/base/browser/markdownRenderer.ts +src/vs/base/common/desktopEnvironmentInfo.ts +src/vs/base/common/event.ts +src/vs/base/common/observableInternal/index.ts +src/vs/base/common/platform.ts +src/vs/base/common/process.ts +src/vs/base/common/strings.ts +src/vs/base/node/nls.ts +src/vs/base/node/powershell.ts +src/vs/base/node/processes.ts +src/vs/base/node/shell.ts +src/vs/base/node/terminalEncoding.ts +src/vs/base/parts/ipc/node/ipc.net.ts +src/vs/base/parts/ipc/test/node/testApp.ts +src/vs/base/parts/sandbox/electron-browser/preload.ts +src/vs/base/test/browser/markdownRenderer.test.ts +src/vs/base/test/common/decorators.test.ts +src/vs/base/test/common/keyCodes.test.ts +src/vs/base/test/common/oauth.test.ts +src/vs/base/test/common/processes.test.ts +src/vs/base/test/node/port.test.ts +src/vs/base/test/node/processes/processes.integrationTest.ts +src/vs/editor/common/languages/supports/languageBracketsConfiguration.ts +src/vs/editor/common/services/findSectionHeaders.ts +src/vs/editor/contrib/colorPicker/browser/colorDetector.ts +src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.ts + +# Terminal and tasks (22 files) +extensions/terminal-suggest/src/completions/npm.ts +extensions/terminal-suggest/src/completions/yarn.ts +src/vs/platform/terminal/node/ptyService.ts +src/vs/platform/terminal/node/terminalEnvironment.ts +src/vs/platform/terminal/node/terminalProcess.ts +src/vs/platform/terminal/node/terminalProfiles.ts +src/vs/platform/terminal/test/node/terminalEnvironment.test.ts src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts src/vs/workbench/contrib/tasks/browser/taskQuickPick.ts src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts src/vs/workbench/contrib/tasks/common/jsonSchema_v1.ts src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts src/vs/workbench/contrib/tasks/common/problemMatcher.ts -src/vs/workbench/contrib/telemetry/browser/telemetry.contribution.ts src/vs/workbench/contrib/terminal/browser/terminalActions.ts src/vs/workbench/contrib/terminal/common/terminalEnvironment.ts src/vs/workbench/contrib/terminal/test/browser/terminalInstance.test.ts @@ -475,31 +391,125 @@ src/vs/workbench/contrib/terminalContrib/chatAgentTools/test/electron-browser/ru src/vs/workbench/contrib/terminalContrib/history/common/history.ts src/vs/workbench/contrib/terminalContrib/history/test/common/history.test.ts src/vs/workbench/contrib/terminalContrib/suggest/test/browser/terminalCompletionService.test.ts -src/vs/workbench/contrib/themes/browser/themes.contribution.ts -src/vs/workbench/contrib/themes/test/node/colorRegistry.releaseTest.ts -src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.ts -src/vs/workbench/contrib/update/common/updateInfoParser.ts -src/vs/workbench/contrib/webview/browser/pre/service-worker.js -src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.ts -src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.ts -src/vs/workbench/services/accounts/test/browser/defaultAccount.test.ts -src/vs/workbench/services/actions/common/menusExtensionPoint.ts -src/vs/workbench/services/agentHost/test/common/agentHostResourceService.test.ts -src/vs/workbench/services/chat/common/chatEntitlementService.ts + +# Debug (7 files) +src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts +src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts +src/vs/workbench/contrib/debug/common/debugger.ts +src/vs/workbench/contrib/debug/node/debugAdapter.ts +src/vs/workbench/contrib/debug/test/browser/repl.test.ts +src/vs/workbench/contrib/debug/test/node/debugAdapter.test.ts +src/vs/workbench/contrib/debug/test/node/debugger.test.ts + +# Notebooks (6 files) +extensions/ipynb/src/deserializers.ts +src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.ts +src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.ts +src/vs/workbench/contrib/notebook/browser/notebookEditor.ts +src/vs/workbench/contrib/notebook/browser/notebookOptions.ts +src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts + +# Extension host, API, and extension management (20 files) +extensions/vscode-api-tests/src/singlefolder-tests/browser.cdp.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/browser.tools.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/chat.runInTerminal.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/configuration.test.ts +extensions/vscode-api-tests/src/singlefolder-tests/window.test.ts +extensions/vscode-test-resolver/src/extension.ts +src/vs/platform/extensionManagement/common/extensionGalleryService.ts +src/vs/platform/extensionManagement/common/extensionTipsService.ts +src/vs/platform/extensionManagement/node/extensionLifecycle.ts +src/vs/workbench/api/common/extHostDebugService.ts +src/vs/workbench/api/common/extHostMcp.ts +src/vs/workbench/api/common/extHostVariableResolverService.ts +src/vs/workbench/api/node/extensionHostProcess.ts +src/vs/workbench/api/node/extHostExtensionService.ts +src/vs/workbench/api/test/browser/extHostConfiguration.test.ts +src/vs/workbench/api/test/browser/extHostTreeViews.test.ts +src/vs/workbench/api/worker/extensionHostWorker.ts +src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +src/vs/workbench/services/extensions/common/extensionsRegistry.ts +src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts + +# Configuration, profiles, and sync (14 files) +extensions/configuration-editing/src/configurationEditingMain.ts +src/vs/platform/configuration/test/common/configurationModels.test.ts +src/vs/platform/configuration/test/common/configurationRegistry.test.ts +src/vs/platform/configuration/test/common/policyConfiguration.test.ts +src/vs/platform/contextkey/browser/contextKeyService.ts +src/vs/platform/policy/test/common/policy.test.ts +src/vs/platform/userDataProfile/electron-main/userDataProfile.ts +src/vs/platform/userDataSync/common/abstractSynchronizer.ts +src/vs/platform/userDataSync/common/userDataSyncStoreService.ts src/vs/workbench/services/configuration/common/configurationModels.ts src/vs/workbench/services/configuration/test/browser/configurationEditing.test.ts src/vs/workbench/services/configuration/test/common/configurationModels.test.ts src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts -src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.ts -src/vs/workbench/services/extensions/common/extensionsRegistry.ts -src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts src/vs/workbench/services/keybinding/common/keybindingEditing.ts + +# Telemetry, OTel, and performance (14 files) +src/vs/platform/otel/test/node/otlp/otlpJsonDecode.test.ts +src/vs/platform/otel/test/node/otlp/outboundForwarder.test.ts +src/vs/platform/telemetry/common/1dsAppender.ts +src/vs/platform/telemetry/common/commonProperties.ts +src/vs/platform/telemetry/common/telemetryService.ts +src/vs/platform/telemetry/test/browser/1dsAppender.test.ts +src/vs/platform/telemetry/test/browser/telemetryService.test.ts +src/vs/workbench/contrib/performance/browser/performance.contribution.ts +src/vs/workbench/contrib/performance/test/browser/perfviewEditor.test.ts +src/vs/workbench/contrib/telemetry/browser/telemetry.contribution.ts src/vs/workbench/services/telemetry/browser/workbenchCommonProperties.ts src/vs/workbench/services/telemetry/common/workbenchCommonProperties.ts src/vs/workbench/services/telemetry/test/browser/commonProperties.test.ts src/vs/workbench/services/telemetry/test/node/commonProperties.test.ts -src/vs/workbench/services/textfile/test/node/encoding/encoding.integrationTest.ts -src/vs/workbench/services/themes/common/colorThemeData.ts + +# Remote, tunnels, networking, and authentication (11 files) +extensions/github-authentication/src/test/github.test.ts +extensions/microsoft-authentication/src/common/experimentation.ts +src/vs/platform/github/common/githubTransport.ts +src/vs/platform/remote/node/wsl.ts +src/vs/platform/request/node/requestService.ts +src/vs/platform/tunnel/node/tunnelProxy.ts +src/vs/platform/tunnel/test/node/tunnelProxy.test.ts +src/vs/platform/webContentExtractor/electron-main/webPageLoader.ts +src/vs/platform/webContentExtractor/test/electron-main/webPageLoader.test.ts +src/vs/workbench/contrib/remote/browser/remoteStartEntry.ts +src/vs/workbench/contrib/remoteTunnel/test/electron-browser/remoteTunnel.contribution.test.ts + +# Language feature extensions (22 files) +extensions/css-language-features/client/src/node/cssClientMain.ts +extensions/css-language-features/server/src/cssServer.ts +extensions/css-language-features/server/src/node/cssServerNodeMain.ts +extensions/emmet/src/abbreviationActions.ts +extensions/emmet/src/defaultCompletionProvider.ts +extensions/emmet/src/splitJoinTag.ts +extensions/emmet/src/util.ts +extensions/html-language-features/client/src/autoInsertion.ts +extensions/html-language-features/client/src/node/htmlClientMain.ts +extensions/html-language-features/server/src/modes/languageModes.ts +extensions/html-language-features/server/src/node/htmlServerNodeMain.ts +extensions/json-language-features/client/src/node/jsonClientMain.ts +extensions/json-language-features/server/src/node/jsonServerNodeMain.ts +extensions/markdown-language-features/src/extension.ts +extensions/markdown-language-features/src/languageFeatures/copyFiles/copyFiles.ts +extensions/markdown-language-features/src/languageFeatures/copyFiles/snippets.ts +extensions/markdown-language-features/src/markdownEngine.ts +extensions/merge-conflict/src/mergeDecorator.ts +extensions/typescript-language-features/src/logging/telemetry.ts +extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts +extensions/typescript-language-features/src/typescriptServiceClient.ts +extensions/typescript-language-features/src/utils/platform.ts + +# Git extension (6 files) +extensions/git/src/askpass-main.ts +extensions/git/src/askpassManager.ts +extensions/git/src/git.ts +extensions/git/src/ipc/ipcClient.ts +extensions/git/src/ipc/ipcServer.ts +extensions/git/src/util.ts + +# Test infrastructure (18 files) +src/vs/platform/instantiation/test/common/instantiationServiceMock.ts src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts @@ -517,3 +527,28 @@ test/smoke/test/index.js test/unit/electron/index.js test/unit/electron/preload.js test/unit/electron/renderer.js + +# Workbench UI and remaining services (23 files) +src/vs/workbench/browser/parts/editor/editor.ts +src/vs/workbench/browser/parts/editor/editorGroupView.ts +src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts +src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.ts +src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.ts +src/vs/workbench/contrib/issue/electron-browser/nativeGitHubUploadService.ts +src/vs/workbench/contrib/localization/electron-browser/localization.contribution.ts +src/vs/workbench/contrib/policyExport/electron-browser/policyExport.contribution.ts +src/vs/workbench/contrib/policyExport/test/node/policyExport.integrationTest.ts +src/vs/workbench/contrib/search/browser/replaceService.ts +src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts +src/vs/workbench/contrib/tags/electron-browser/workspaceTagsService.ts +src/vs/workbench/contrib/themes/browser/themes.contribution.ts +src/vs/workbench/contrib/themes/test/node/colorRegistry.releaseTest.ts +src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.ts +src/vs/workbench/contrib/update/common/updateInfoParser.ts +src/vs/workbench/contrib/webview/browser/pre/service-worker.js +src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.ts +src/vs/workbench/services/accounts/test/browser/defaultAccount.test.ts +src/vs/workbench/services/actions/common/menusExtensionPoint.ts +src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.ts +src/vs/workbench/services/textfile/test/node/encoding/encoding.integrationTest.ts +src/vs/workbench/services/themes/common/colorThemeData.ts From 0a13539ae890a804f896eabac0a8b4d0739aab6a Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Sat, 5 Sep 2026 21:48:08 -0700 Subject: [PATCH 4/5] eslint: test no bracket notation rule Add RuleTester coverage for valid accesses, diagnostics, and autofix edge cases. Preserve escaped string-literal property names by checking their raw source before reporting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ...ode-no-bracket-notation-for-identifiers.ts | 8 +- ...odeNoBracketNotationForIdentifiers.test.ts | 80 +++++++++++++++++++ 2 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 build/lib/test/codeNoBracketNotationForIdentifiers.test.ts diff --git a/.eslint-plugin-local/code-no-bracket-notation-for-identifiers.ts b/.eslint-plugin-local/code-no-bracket-notation-for-identifiers.ts index 2b8004851ce47..55d9748332c8d 100644 --- a/.eslint-plugin-local/code-no-bracket-notation-for-identifiers.ts +++ b/.eslint-plugin-local/code-no-bracket-notation-for-identifiers.ts @@ -39,9 +39,6 @@ export default new class NoBracketNotationForIdentifiers implements eslint.Rule. * Check if a string is a valid JavaScript identifier */ function isValidIdentifier(str: string): boolean { - if (str.includes('\\')) { - return false; - } const scanner = ts.createScanner(ts.ScriptTarget.Latest, false, ts.LanguageVariant.Standard, str); const token = scanner.scan(); const isIdentifierName = token === ts.SyntaxKind.Identifier @@ -63,6 +60,11 @@ export default new class NoBracketNotationForIdentifiers implements eslint.Rule. return; } + // Preserve escaped property names instead of replacing their authored representation. + if (memberExpr.property.raw.includes('\\')) { + return; + } + const propertyName = memberExpr.property.value; // If it's a valid identifier, report it diff --git a/build/lib/test/codeNoBracketNotationForIdentifiers.test.ts b/build/lib/test/codeNoBracketNotationForIdentifiers.test.ts new file mode 100644 index 0000000000000..cfb1bac25a5b7 --- /dev/null +++ b/build/lib/test/codeNoBracketNotationForIdentifiers.test.ts @@ -0,0 +1,80 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { RuleTester } from 'eslint'; +import { suite, test } from 'node:test'; +import rule from '../../../.eslint-plugin-local/code-no-bracket-notation-for-identifiers.ts'; + +RuleTester.describe = suite; +RuleTester.it = test; + +new RuleTester().run('code-no-bracket-notation-for-identifiers', rule, { + valid: [ + 'object.property;', + 'object[computedProperty];', + 'object[42];', + 'object["property-with-dashes"];', + 'object["property with spaces"];', + 'object[`property`];', + String.raw`object["\u0061"];`, + String.raw`object["a\x62"];`, + ], + invalid: [ + { + name: 'normal property', + code: 'object["property"];', + output: 'object.property;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'property' } }], + }, + { + name: 'private property', + code: 'object["_privateProperty"];', + output: 'object._privateProperty;', + errors: [{ messageId: 'noBracketNotation', data: { property: '_privateProperty' } }], + }, + { + name: 'keyword property', + code: 'object["default"];', + output: 'object.default;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'default' } }], + }, + { + name: 'Unicode property', + code: 'object["π"];', + output: 'object.π;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'π' } }], + }, + { + name: 'optional property access', + code: 'object?.["property"];', + output: 'object?.property;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'property' } }], + }, + { + name: 'integer literal property access', + code: '1["toString"];', + output: '(1).toString;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'toString' } }], + }, + { + name: 'decimal literal property access', + code: '1.5["toString"];', + output: '(1.5).toString;', + errors: [{ messageId: 'noBracketNotation', data: { property: 'toString' } }], + }, + { + name: 'comment before property', + code: 'object[/* comment */"property"];', + output: null, + errors: [{ messageId: 'noBracketNotation', data: { property: 'property' } }], + }, + { + name: 'comment after property', + code: 'object["property"/* comment */];', + output: null, + errors: [{ messageId: 'noBracketNotation', data: { property: 'property' } }], + }, + ], +}); From 1521370ae805c793f5cd4029303665c9054bb8a4 Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Sun, 6 Sep 2026 00:41:58 -0700 Subject: [PATCH 5/5] eslint: fix bracket notation in test infrastructure Replace identifier-safe bracket notation across test infrastructure and remove the completed group from the temporary allowlist. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .eslint-allowed-bracket-notation-files | 20 -------------- .../test/common/instantiationServiceMock.ts | 6 ++--- .../chat/chatWidget.fixture.ts | 10 +++---- .../multiDiffEditorScroll.fixture.ts | 26 +++++++++---------- .../resizeObserver.fixture.ts | 6 ++--- test/automation/src/electron.ts | 8 +++--- test/automation/src/scm.ts | 2 +- test/automation/src/search.ts | 4 +-- .../tests/chatResizeObserver.spec.ts | 2 +- .../playwright/tests/utils.ts | 2 +- test/monaco/esm-check/esm-check.js | 2 +- test/sanity/src/context.ts | 8 +++--- test/sanity/src/main.ts | 2 +- .../areas/agentsWindow/agentsWindow.test.ts | 8 +++--- .../src/areas/preferences/preferences.test.ts | 4 +-- test/smoke/test/index.js | 4 +-- test/unit/electron/index.js | 2 +- test/unit/electron/preload.js | 2 +- test/unit/electron/renderer.js | 4 +-- 19 files changed, 51 insertions(+), 71 deletions(-) diff --git a/.eslint-allowed-bracket-notation-files b/.eslint-allowed-bracket-notation-files index 8231ea35a7f52..4f06ad658e78f 100644 --- a/.eslint-allowed-bracket-notation-files +++ b/.eslint-allowed-bracket-notation-files @@ -508,26 +508,6 @@ extensions/git/src/ipc/ipcClient.ts extensions/git/src/ipc/ipcServer.ts extensions/git/src/util.ts -# Test infrastructure (18 files) -src/vs/platform/instantiation/test/common/instantiationServiceMock.ts -src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts -src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts -src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts -test/automation/src/electron.ts -test/automation/src/scm.ts -test/automation/src/search.ts -test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts -test/componentFixtures/playwright/tests/utils.ts -test/monaco/esm-check/esm-check.js -test/sanity/src/context.ts -test/sanity/src/main.ts -test/smoke/src/areas/agentsWindow/agentsWindow.test.ts -test/smoke/src/areas/preferences/preferences.test.ts -test/smoke/test/index.js -test/unit/electron/index.js -test/unit/electron/preload.js -test/unit/electron/renderer.js - # Workbench UI and remaining services (23 files) src/vs/workbench/browser/parts/editor/editor.ts src/vs/workbench/browser/parts/editor/editorGroupView.ts diff --git a/src/vs/platform/instantiation/test/common/instantiationServiceMock.ts b/src/vs/platform/instantiation/test/common/instantiationServiceMock.ts index deaefef16e7d7..47b7f5e1e6c31 100644 --- a/src/vs/platform/instantiation/test/common/instantiationServiceMock.ts +++ b/src/vs/platform/instantiation/test/common/instantiationServiceMock.ts @@ -122,10 +122,10 @@ export class TestInstantiationService extends InstantiationService implements ID private _getOrCreateService(serviceMock: IServiceMock, opts: SinonOptions, reset?: boolean): any { const service: any = this._serviceCollection.get(serviceMock.id); if (!reset && service) { - if (opts.mock && service['sinonOptions'] && !!service['sinonOptions'].mock) { + if (opts.mock && service.sinonOptions && !!service.sinonOptions.mock) { return service; } - if (opts.stub && service['sinonOptions'] && !!service['sinonOptions'].stub) { + if (opts.stub && service.sinonOptions && !!service.sinonOptions.stub) { return service; } } @@ -135,7 +135,7 @@ export class TestInstantiationService extends InstantiationService implements ID private _createService(serviceMock: IServiceMock, opts: SinonOptions): any { serviceMock.service = serviceMock.service ? serviceMock.service : this._servciesMap.get(serviceMock.id); const service = opts.mock ? sinon.mock(serviceMock.service) : this._createStub(serviceMock.service); - service['sinonOptions'] = opts; + service.sinonOptions = opts; return service; } diff --git a/src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts b/src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts index b3667b63df9f0..1ea5f53a5e624 100644 --- a/src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts +++ b/src/vs/workbench/test/browser/componentFixtures/chat/chatWidget.fixture.ts @@ -482,7 +482,7 @@ export async function renderChatWidget(context: ComponentFixtureContext, options ? Math.max(0, Math.max(116, inputHeight) - inputHeight) : Math.max(0, height - inputHeight); listContainer.style.height = `${contentHeight}px`; - listContainer.dataset['expectedHeight'] = String(contentHeight); + listContainer.dataset.expectedHeight = String(contentHeight); listWidget.layout(contentHeight, width); } finally { layouting = false; @@ -807,7 +807,7 @@ async function renderResizeObserverLoopHarness(context: ComponentFixtureContext, if (event instanceof ErrorEvent && event.message.includes('ResizeObserver loop')) { warningCount++; warnings.textContent = `Warnings: ${warningCount}`; - warnings.dataset['observerContext'] = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? event.message; + warnings.dataset.observerContext = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? event.message; status.textContent = 'Captured ResizeObserver warning'; } })); @@ -908,11 +908,11 @@ async function renderDisabledPetResizeObserverProbe(context: ComponentFixtureCon const status = dom.append(context.container, dom.$('.disabled-pet-resize-observer-status')); status.role = 'status'; status.textContent = 'Running disabled pet observer probe'; - status.dataset['warningCount'] = '0'; + status.dataset.warningCount = '0'; context.disposableStore.add(dom.addDisposableListener(targetWindow, dom.EventType.ERROR, event => { if (event instanceof ErrorEvent && event.message.includes('ResizeObserver loop')) { - status.dataset['warningCount'] = String(Number(status.dataset['warningCount']) + 1); - status.dataset['observerContext'] = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? event.message; + status.dataset.warningCount = String(Number(status.dataset.warningCount) + 1); + status.dataset.observerContext = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? event.message; } })); diff --git a/src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts b/src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts index 7dd57baa92a26..46be783bf473b 100644 --- a/src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts +++ b/src/vs/workbench/test/browser/componentFixtures/multiDiffEditorScroll.fixture.ts @@ -701,7 +701,7 @@ function parseSerializedFixtureState(text: string): ISerializedFixtureState { if (!isJsonObject(value)) { throw new Error('Fixture state must be a JSON object.'); } - const items = value['items']; + const items = value.items; if (!Array.isArray(items)) { throw new Error('Fixture state must contain an items array.'); } @@ -720,24 +720,24 @@ function parseSerializedFixtureItem(value: JsonValue, index: number): ISerialize if (!isJsonObject(value)) { throw new Error(`items[${index}] must be a JSON object.`); } - const bindingPhase = value['bindingPhase']; + const bindingPhase = value.bindingPhase; if (!isBindingPhase(bindingPhase)) { throw new Error(`items[${index}].bindingPhase must be unbound, binding, projecting, or active.`); } const path = `items[${index}]`; - const lineCount = value['lineCount'] === undefined + const lineCount = value.lineCount === undefined ? heightToLineCount(readNonNegativeNumber(value, 'fullHeight', true, path)) : readNonNegativeInteger(value, 'lineCount', path); - const geometryOscillationValue = value['geometryOscillation']; + const geometryOscillationValue = value.geometryOscillation; const geometryOscillation = geometryOscillationValue === undefined ? createDefaultGeometryOscillation() : parseSerializedGeometryOscillation(geometryOscillationValue, index, lineCount); - const topLineCountValue = value['topLineCount']; - const bottomLineCountValue = value['bottomLineCount']; - const legacyContentTopInset = value['contentTopInset']; - const mountLineCountsValue = value['mountLineCounts']; - const legacyMountHeightsValue = value['mountHeights']; - const unmountLineCountResetValue = value['unmountLineCountReset']; + const topLineCountValue = value.topLineCount; + const bottomLineCountValue = value.bottomLineCount; + const legacyContentTopInset = value.contentTopInset; + const mountLineCountsValue = value.mountLineCounts; + const legacyMountHeightsValue = value.mountHeights; + const unmountLineCountResetValue = value.unmountLineCountReset; return { label: readString(value, 'label', path), lineCount, @@ -787,12 +787,12 @@ function parseSerializedGeometryOscillation(value: JsonValue, index: number, lin if (!isJsonObject(value)) { throw new Error(`${path} must be a JSON object.`); } - const ordering = value['ordering']; + const ordering = value.ordering; if (!isGeometryChangeOrdering(ordering)) { throw new Error(`${path}.ordering must be atomic, lines-first, or offset-first.`); } const normalizedOrdering = ordering === 'height-first' ? 'lines-first' : ordering; - if (value['topLineCountA'] !== undefined) { + if (value.topLineCountA !== undefined) { return { enabled: readBoolean(value, 'enabled', path), topLineCountA: readNonNegativeInteger(value, 'topLineCountA', path), @@ -802,7 +802,7 @@ function parseSerializedGeometryOscillation(value: JsonValue, index: number, lin ordering: normalizedOrdering, }; } - const location = value['location']; + const location = value.location; if (location !== 'above' && location !== 'below') { throw new Error(`${path}.location must be above or below when importing legacy height geometry.`); } diff --git a/src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts b/src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts index 0e7442bd188b9..5552e4fd2dce5 100644 --- a/src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts +++ b/src/vs/workbench/test/browser/componentFixtures/resizeObserver.fixture.ts @@ -15,7 +15,7 @@ function renderLoopContextProbe(context: ComponentFixtureContext): void { const status = dom.append(context.container, dom.$('.resize-observer-context-status')); status.textContent = 'Waiting for ResizeObserver loop warning'; - status.dataset['warningCount'] = '0'; + status.dataset.warningCount = '0'; const observation = context.disposableStore.add(new MutableDisposable()); context.disposableStore.add(dom.addDisposableListener(targetWindow, dom.EventType.ERROR, event => { @@ -23,8 +23,8 @@ function renderLoopContextProbe(context: ComponentFixtureContext): void { return; } - status.dataset['warningCount'] = '1'; - status.dataset['observerContext'] = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? ''; + status.dataset.warningCount = '1'; + status.dataset.observerContext = dom.getRecentDisposableResizeObserverContextForLoopError(event.message, targetWindow) ?? ''; status.textContent = 'Captured ResizeObserver loop warning'; observation.clear(); })); diff --git a/test/automation/src/electron.ts b/test/automation/src/electron.ts index 89a1249b9d16e..d1bb569ccedd8 100644 --- a/test/automation/src/electron.ts +++ b/test/automation/src/electron.ts @@ -74,15 +74,15 @@ export async function resolveElectronConfiguration(options: LaunchOptions): Prom if (userDataDir) { const remoteDataDir = `${userDataDir}-server`; fs.mkdirSync(remoteDataDir, { recursive: true }); - env['TESTRESOLVER_DATA_FOLDER'] = remoteDataDir; + env.TESTRESOLVER_DATA_FOLDER = remoteDataDir; } - env['TESTRESOLVER_LOGS_FOLDER'] = join(logsPath, 'server'); + env.TESTRESOLVER_LOGS_FOLDER = join(logsPath, 'server'); // Exercise the remote server's exit diagnostics (see `installServerProcessExitDiagnostics` // in server-main.ts) so unexpected server exits are explained in the captured logs, // even when running smoke tests locally (where `isCI` is false). - env['VSCODE_SERVER_EXIT_DIAGNOSTICS'] = '1'; + env.VSCODE_SERVER_EXIT_DIAGNOSTICS = '1'; if (options.verbose) { - env['TESTRESOLVER_LOG_LEVEL'] = 'trace'; + env.TESTRESOLVER_LOG_LEVEL = 'trace'; } } diff --git a/test/automation/src/scm.ts b/test/automation/src/scm.ts index 3fdf89752dc22..7019e35b27fd8 100644 --- a/test/automation/src/scm.ts +++ b/test/automation/src/scm.ts @@ -27,7 +27,7 @@ function toChange(element: IElement): Change { const type = element.attributes['data-tooltip'] || ''; const actionElementList = findElements(element, e => /\baction-label\b/.test(e.className)); - const actions = actionElementList.map(e => e.attributes['title']); + const actions = actionElementList.map(e => e.attributes.title); return { name: name.textContent || '', diff --git a/test/automation/src/search.ts b/test/automation/src/search.ts index 8c8000c92dd1d..98440b4a86ace 100644 --- a/test/automation/src/search.ts +++ b/test/automation/src/search.ts @@ -49,8 +49,8 @@ export class Search extends Viewlet { } async getSearchTooltip(): Promise { - const icon = await this.code.waitForElement(`.activitybar .action-label.codicon.codicon-search-view-icon`, (el) => !!el?.attributes?.['title']); - return icon.attributes['title']; + const icon = await this.code.waitForElement(`.activitybar .action-label.codicon.codicon-search-view-icon`, (el) => !!el?.attributes?.title); + return icon.attributes.title; } async searchFor(text: string): Promise { diff --git a/test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts b/test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts index b90e06aa3d1e7..ec92baaf8d8ee 100644 --- a/test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts +++ b/test/componentFixtures/playwright/tests/chatResizeObserver.spec.ts @@ -34,7 +34,7 @@ for (const scenario of scenarios) { const geometry = await page.locator('.interactive-list').evaluate(element => { const list = element.querySelector('.monaco-list'); return { - expectedHeight: Number((element as HTMLElement).dataset['expectedHeight']), + expectedHeight: Number((element as HTMLElement).dataset.expectedHeight), containerHeight: element.getBoundingClientRect().height, listHeight: list?.getBoundingClientRect().height, }; diff --git a/test/componentFixtures/playwright/tests/utils.ts b/test/componentFixtures/playwright/tests/utils.ts index 2fbbdb78dd098..60d007d2c5b27 100644 --- a/test/componentFixtures/playwright/tests/utils.ts +++ b/test/componentFixtures/playwright/tests/utils.ts @@ -6,7 +6,7 @@ import { Page } from '@playwright/test'; function getBaseURL(): string { - const port = process.env['COMPONENT_EXPLORER_PORT']; + const port = process.env.COMPONENT_EXPLORER_PORT; if (!port) { throw new Error('COMPONENT_EXPLORER_PORT is not set. Is the webServer running?'); } diff --git a/test/monaco/esm-check/esm-check.js b/test/monaco/esm-check/esm-check.js index 6b5fdf4fe93e7..6f634b0aa5e50 100644 --- a/test/monaco/esm-check/esm-check.js +++ b/test/monaco/esm-check/esm-check.js @@ -23,7 +23,7 @@ async function run() { await extractSourcesWithoutCSS(); const server = await startServer(); - const browser = await playwright['chromium'].launch({ + const browser = await playwright.chromium.launch({ headless: !DEBUG_TESTS, devtools: DEBUG_TESTS // slowMo: DEBUG_TESTS ? 2000 : 0 diff --git a/test/sanity/src/context.ts b/test/sanity/src/context.ts index 7fb4ac6a8b0d7..3a0d092ff0139 100644 --- a/test/sanity/src/context.ts +++ b/test/sanity/src/context.ts @@ -896,9 +896,9 @@ export class TestContext { private getWindowsInstallDir(type: 'user' | 'system'): string { let parentDir: string; if (type === 'system') { - parentDir = process.env['ProgramW6432'] || process.env['PROGRAMFILES'] || ''; + parentDir = process.env.ProgramW6432 || process.env.PROGRAMFILES || ''; } else { - parentDir = path.join(process.env['LOCALAPPDATA'] || '', 'Programs'); + parentDir = path.join(process.env.LOCALAPPDATA || '', 'Programs'); } switch (this.options.quality) { @@ -1284,13 +1284,13 @@ export class TestContext { return await webkit.launch({ headless }); } case 'win32': { - const executablePath = process.env['PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH'] ?? 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; + const executablePath = process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH ?? 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; this.log(`Using Chromium executable at: ${executablePath}`); return await chromium.launch({ headless, executablePath }); } case 'linux': default: { - const executablePath = process.env['PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH'] ?? '/usr/bin/chromium-browser'; + const executablePath = process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH ?? '/usr/bin/chromium-browser'; this.log(`Using Chromium executable at: ${executablePath}`); return await chromium.launch({ headless, diff --git a/test/sanity/src/main.ts b/test/sanity/src/main.ts index 2b3822a019ebe..bb6569479fed6 100644 --- a/test/sanity/src/main.ts +++ b/test/sanity/src/main.ts @@ -35,7 +35,7 @@ const context = new TestContext({ cleanup: options.cleanup, checkSigning: options['signing-check'], headlessBrowser: options.headless, - downloadOnly: !options['detection'], + downloadOnly: !options.detection, screenshotsDir: options['screenshots-dir'], crashDumpsDir: options['crash-dumps-dir'], artifactsDir: options['artifacts-dir'], diff --git a/test/smoke/src/areas/agentsWindow/agentsWindow.test.ts b/test/smoke/src/areas/agentsWindow/agentsWindow.test.ts index cecf302d772ae..5e8b7476de91b 100644 --- a/test/smoke/src/areas/agentsWindow/agentsWindow.test.ts +++ b/test/smoke/src/areas/agentsWindow/agentsWindow.test.ts @@ -366,10 +366,10 @@ export function setup(logger: Logger) { // "from source" signal: parseQuality() also returns Quality.Dev for // a `--build` product when VSCODE_QUALITY is unset, which would // wrongly hard-fail a packaged build that legitimately lacks Codex. - const isFromSource = process.env['VSCODE_DEV'] === '1'; - const isPublishBuild = (process.env['VSCODE_PUBLISH'] ?? '').toLowerCase() === 'true'; + const isFromSource = process.env.VSCODE_DEV === '1'; + const isPublishBuild = (process.env.VSCODE_PUBLISH ?? '').toLowerCase() === 'true'; if (isFromSource || isPublishBuild) { - throw new Error(`[Agents Window/Codex] Codex session type unexpectedly unavailable (VSCODE_DEV=${process.env['VSCODE_DEV'] ?? ''}, VSCODE_PUBLISH=${process.env['VSCODE_PUBLISH'] ?? ''}) — the SDK should be resolvable from node_modules (from source) or product.agentSdks.codex (publish build)`); + throw new Error(`[Agents Window/Codex] Codex session type unexpectedly unavailable (VSCODE_DEV=${process.env.VSCODE_DEV ?? ''}, VSCODE_PUBLISH=${process.env.VSCODE_PUBLISH ?? ''}) — the SDK should be resolvable from node_modules (from source) or product.agentSdks.codex (publish build)`); } logger.log('[Agents Window/Codex] Codex session type not available in this built product (no product.agentSdks.codex); skipping'); this.skip(); @@ -380,7 +380,7 @@ export function setup(logger: Logger) { // optional dependency that npm silently skips when its install fails. // A stale `node_modules` cache can thus have the shim but no binary, so // fail fast here (from source) instead of timing out at spawn time. - if (process.env['VSCODE_DEV'] === '1') { + if (process.env.VSCODE_DEV === '1') { const repoRoot = path.resolve(process.cwd(), '..', '..'); const platformPkgDir = path.join(repoRoot, 'node_modules', `@openai/codex-${process.platform}-${process.arch}`); const binaryName = process.platform === 'win32' ? 'codex.exe' : 'codex'; diff --git a/test/smoke/src/areas/preferences/preferences.test.ts b/test/smoke/src/areas/preferences/preferences.test.ts index a2088a2771743..7ef9a85d5ba51 100644 --- a/test/smoke/src/areas/preferences/preferences.test.ts +++ b/test/smoke/src/areas/preferences/preferences.test.ts @@ -74,7 +74,7 @@ export function setup(logger: Logger) { await app.code.waitAndClick('.settings-editor .monaco-list-rows .setting-item-control select', 2, 2); await app.code.waitAndClick('.context-view .monaco-list-row:nth-child(1) .option-text', 2, 2); await app.workbench.settingsEditor.searchSettingsUI('test'); - await app.code.waitForElements('.settings-editor .settings-toc-container', false, elements => elements.length === 1 && elements[0].attributes['style'].includes('width: 0px')); + await app.code.waitForElements('.settings-editor .settings-toc-container', false, elements => elements.length === 1 && elements[0].attributes.style.includes('width: 0px')); await app.code.waitForElements('.settings-editor .settings-body .monaco-sash', false, elements => elements.length === 1 && elements[0].className.includes('disabled')); // Show ToC when searching @@ -82,7 +82,7 @@ export function setup(logger: Logger) { await app.code.waitAndClick('.settings-editor .monaco-list-rows .setting-item-control select', 2, 2); await app.code.waitAndClick('.context-view .monaco-list-row:nth-child(2) .option-text', 2, 2); await app.workbench.settingsEditor.searchSettingsUI('test'); - await app.code.waitForElements('.settings-editor .settings-toc-container', false, elements => elements.length === 1 && !elements[0].attributes['style'].includes('width: 0px')); + await app.code.waitForElements('.settings-editor .settings-toc-container', false, elements => elements.length === 1 && !elements[0].attributes.style.includes('width: 0px')); await app.code.waitForElements('.settings-editor .settings-body .monaco-sash', false, elements => elements.length === 1 && !elements[0].className.includes('disabled')); }); }); diff --git a/test/smoke/test/index.js b/test/smoke/test/index.js index d9115a3b2b478..77a9f5fd3ab9b 100644 --- a/test/smoke/test/index.js +++ b/test/smoke/test/index.js @@ -16,13 +16,13 @@ const opts = minimist(args, { string: ['f', 'g'] }); -const suite = opts['web'] ? 'Browser Smoke Tests' : 'Desktop Smoke Tests'; +const suite = opts.web ? 'Browser Smoke Tests' : 'Desktop Smoke Tests'; const options = { color: true, timeout: 2 * 60 * 1000, slow: 30 * 1000, - grep: opts['f'] || opts['g'], + grep: opts.f || opts.g, failZero: opts['fail-zero'] }; diff --git a/test/unit/electron/index.js b/test/unit/electron/index.js index 10678564d5c19..f2d9b7f3fdfb1 100644 --- a/test/unit/electron/index.js +++ b/test/unit/electron/index.js @@ -124,7 +124,7 @@ if (crashReporterDirectory) { crashReporter.start({ companyName: 'Microsoft', - productName: process.env['VSCODE_DEV'] ? `${product.nameShort} Dev` : product.nameShort, + productName: process.env.VSCODE_DEV ? `${product.nameShort} Dev` : product.nameShort, uploadToServer: false, compress: true }); diff --git a/test/unit/electron/preload.js b/test/unit/electron/preload.js index 04439d66ea15f..265feef98ee37 100644 --- a/test/unit/electron/preload.js +++ b/test/unit/electron/preload.js @@ -65,7 +65,7 @@ get execPath() { return process.execPath; }, cwd() { - return process.env['VSCODE_CWD'] || process.execPath.substr(0, process.execPath.lastIndexOf(process.platform === 'win32' ? '\\' : '/')); + return process.env.VSCODE_CWD || process.execPath.substr(0, process.execPath.lastIndexOf(process.platform === 'win32' ? '\\' : '/')); }, getProcessMemoryInfo() { diff --git a/test/unit/electron/renderer.js b/test/unit/electron/renderer.js index ee563e715b51a..9ca33031dd71d 100644 --- a/test/unit/electron/renderer.js +++ b/test/unit/electron/renderer.js @@ -69,8 +69,8 @@ const coverage = require('../coverage'); const { pathToFileURL } = require('url'); // Disabled custom inspect. See #38847 -if (util.inspect && util.inspect['defaultOptions']) { - util.inspect['defaultOptions'].customInspect = false; +if (util.inspect && util.inspect.defaultOptions) { + util.inspect.defaultOptions.customInspect = false; } // VSCODE_GLOBALS: package/product.json