microsoft / microsoft/vscode

Remove bracket-notation ESLint allowlist entries

Open
#334,760 0 comments 0 reactions 2 assignees Assigned to @alexdima View on GitHub
debt engineering
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Summary

#334756 enables `local/code-no-bracket-notation-for-identifiers` for new JavaScript and TypeScript code while preserving the 509 files with existing violations in `.eslint-allowed-bracket-notation-files`.

This issue tracks removing that baseline by feature area. The suggested owners below are recommendations only and are intentionally written without mentions.

## Cleanup groups

- [ ] **Agent Host platform** — 89 files — suggested owner: @roblourens
- [ ] **Copilot extension** — 90 files — suggested owner: @lramos15
- [ ] **Workbench chat and agents** — 40 files — suggested owner: @connor4312
- [ ] **Agents Window** — 11 files — suggested owner: @ulugbekna
- [ ] **Build, CI, and scripts** — 48 files — suggested owner: @dmitrivMS
- [ ] **Application bootstrap, server, and environment** — 41 files — suggested owner: @dmitrivMS
- [ ] **Base and editor** — 27 files — suggested owner: @alexdima
- [ ] **Terminal and tasks** — 22 files — suggested owner: @meganrogge
- [ ] **Debug** — 7 files — suggested owner: @connor4312
- [ ] **Notebooks** — 6 files — suggested owner: @aamunger
- [ ] **Extension host, API, and extension management** — 20 files — suggested owner: @sandy081
- [ ] **Configuration, profiles, and sync** — 14 files — suggested owner: @sandy081
- [ ] **Telemetry, OTel, and performance** — 14 files — suggested owner: @zhichli
- [ ] **Remote, tunnels, networking, and authentication** — 10 files — suggested owner: @dmitrivMS
- [ ] **GitHub authentication service and tests** — 1 allowlisted test file plus 1 supporting production file — suggested owner: @TylerLeonhardt
- [ ] **Language feature extensions** — 22 files — suggested owner: @dmitrivMS
- [ ] **Git extension** — 6 files — suggested owner: @lszomoru
- [ ] **Test infrastructure** — 18 files — suggested owner: @dmitrivMS
- [ ] **Workbench UI and remaining services** — 22 files — suggested owner: @dmitrivMS
- [ ] **Default account service and tests** — 1 allowlisted test file plus 1 supporting production file — suggested owner: @TylerLeonhardt

Total: **509 allowlisted files**.

## Completion criteria

For each group:

1. Convert applicable bracket notation such as `value['property']` to property access such as `value.property`.
2. Keep bracket notation where it is required, including computed keys and property names that are not valid identifiers.
3. Address type errors exposed by the conversion rather than weakening type safety. Test-only access to private members may require a deliberate test seam or other component-appropriate solution.
4. Remove every cleaned path in the group from `.eslint-allowed-bracket-notation-files`.
5. Run targeted ESLint plus the relevant type checks and tests for the affected area.

A group can be checked off when all of its applicable violations are resolved and all of its paths have been removed from the allowlist.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.