Skip to content

chore: migrate to ESLint 9 with flat config#895

Open
Copilot wants to merge 3 commits intomainfrom
copilot/migrate-to-eslint-9
Open

chore: migrate to ESLint 9 with flat config#895
Copilot wants to merge 3 commits intomainfrom
copilot/migrate-to-eslint-9

Conversation

Copy link
Contributor

Copilot AI commented Mar 11, 2026

Summary

Migrates the project from ESLint 6 + @typescript-eslint v2 to ESLint 9 + @typescript-eslint v8, and upgrades TypeScript to v5.

Changes

Config

  • New eslint.config.js (ESLint 9 flat config) replaces the old .eslintrc.js
  • Deleted .eslintrc.js
  • Updated package.json lint script: removed deprecated -c .eslintrc.js and --ext .ts flags (ESLint 9 uses flat config by default and infers extensions from files globs)

Dependencies updated

Package Before After
eslint ^6.8.0 ^9.0.0
@typescript-eslint/eslint-plugin ^2.27.0 ^8.0.0
@typescript-eslint/parser ^2.27.0 ^8.0.0
typescript ^3.8.3 ^5.0.0

Rules updated

Removed rules that were dropped in @typescript-eslint v8 (and replaced with core ESLint equivalents or already covered by other rules):

  • @typescript-eslint/class-name-casing → covered by existing @typescript-eslint/naming-convention
  • @typescript-eslint/interface-name-prefix → covered by existing @typescript-eslint/naming-convention
  • @typescript-eslint/quotes → replaced by core quotes
  • @typescript-eslint/semi → replaced by core semi
  • @typescript-eslint/member-delimiter-style → dropped (formatting-only, removed in v6)
  • @typescript-eslint/type-annotation-spacing → dropped (formatting-only, removed in v6)
  • @typescript-eslint/indent → dropped (not replaced; formatting-only and not enforced)

Source fixes (auto-fixed)

  • src/eventEmitter2.ts: IListener<T>[]Array<IListener<T>> (array-type rule)
  • src/windowsTerminal.ts: { run: () => void }[]Array<{ run: () => void }> (array-type rule)

Verification

  • npm run lint passes
  • npm run build passes
  • ✅ CodeQL: 0 alerts

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits March 11, 2026 19:53
Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
@rzhao271 rzhao271 marked this pull request as ready for review March 11, 2026 20:54
@rzhao271 rzhao271 enabled auto-merge (squash) March 11, 2026 20:54
@vs-code-engineering vs-code-engineering bot added this to the 1.112.0 milestone Mar 11, 2026
aeschli
aeschli previously approved these changes Mar 11, 2026
Comment on lines 49 to 55
switch (message) {
case ConoutWorkerMessage.READY:
this._onReady.fire();
return;
default:
console.warn('Unexpected ConoutWorkerMessage', message);
case ConoutWorkerMessage.READY:
this._onReady.fire();
return;
default:
console.warn('Unexpected ConoutWorkerMessage', message);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove whatever rule caused this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — removed the indent rule from eslint.config.js and reverted the indentation in windowsConoutConnection.ts back to its original state (e178adc).

@rzhao271
Copy link
Contributor

@copilot remove indent rule and undo indentation change in windowsConoutConnection

…n indentation

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 12, 2026

@copilot remove indent rule and undo indentation change in windowsConoutConnection

Removed the indent rule from eslint.config.js and reverted the indentation change in windowsConoutConnection.ts. Lint and build still pass (e178adc).

Copilot AI requested a review from rzhao271 March 12, 2026 16:51
@rzhao271 rzhao271 requested a review from Tyriar March 12, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants