Conversation
Agent-Logs-Url: https://github.com/microsoft/vscode-languageserver-node/sessions/6260df1e-bff6-426a-95fb-0937da67d447 Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/vscode-languageserver-node/sessions/6260df1e-bff6-426a-95fb-0937da67d447 Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
|
@copilot consider replacing the typescript eslint plugins with typescript-eslint package. |
…int package Agent-Logs-Url: https://github.com/microsoft/vscode-languageserver-node/sessions/73495cda-9bfb-4c17-9fd3-3bc9e6403372 Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Done in 60bab62. Replaced |
|
@copilot Double-check whether stylistic is still needed now that there's typescript-eslint. |
|
Summary
Migrates the project from ESLint 8 (legacy
.eslintrc.*configuration format) to ESLint 9 (flat config format).Changes
Dependencies (
package.json)eslint:^8.52.0→^9.39.4@typescript-eslint/eslint-plugin+@typescript-eslint/parserreplaced bytypescript-eslint@^8.57.2— the official unified package that bundles the parser and plugin, plus provides theconfig()andconfigshelpers for flat config@stylistic/eslint-plugin@^2.13.0— replaces formatting rules removed in ESLint 9 core (semi,indent,quotes,no-extra-semi) and in@typescript-eslintv8 (@typescript-eslint/semi,@typescript-eslint/indent,@typescript-eslint/member-delimiter-style)globals@^15.15.0— provides environment globals for flat config (replaces the oldenvkey)Configuration
.eslintrc.json/.eslintrc.base.json/.eslintignorefileseslint.config.base.js— a shared factory function usingtseslint.config()andtseslint.configs.basefor TypeScript package configseslint.config.jsat the root (for root-level JS files) and in each package directoryRule changes
@typescript-eslint/*/ core to@stylistic/*(same behavior, just the canonical ESLint 9 location)no-buffer-constructor— removed from ESLint 9 core (theBuffer()constructor has been deprecated in Node.js since v6)eslint-disable-next-line no-consolecomments injsonrpc/src/common/connection.tsandjsonrpc/src/common/events.ts— the lines useRAL().console, notconsole, so the disable comments were never needed; ESLint 9 correctly flags them as unusedLint scripts
--ext tsfrom alllintscripts (the flag was removed in ESLint 9; file extensions are now controlled viafilesglobs in the flat config)Verification
npm run lint(all packages) — no errors; pre-existing indentation warnings unchangednpm run compile— TypeScript build passesnpm test— all unit/integration tests pass (177 tests across textDocument, types, jsonrpc, protocol, server packages)📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.