Skip to content

Migrate to ESLint 9 flat config, replace vscode-test with @vscode/test-electron, and add GitHub Actions CI#202

Merged
rzhao271 merged 3 commits into
mainfrom
copilot/migrate-eslint-9-flat-config
Apr 2, 2026
Merged

Migrate to ESLint 9 flat config, replace vscode-test with @vscode/test-electron, and add GitHub Actions CI#202
rzhao271 merged 3 commits into
mainfrom
copilot/migrate-eslint-9-flat-config

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 2, 2026

Summary

This PR migrates the project to ESLint 9 with flat config, replaces the deprecated vscode-test package with @vscode/test-electron, and adds a GitHub Actions CI workflow.

Changes

ESLint 9 migration

  • Updated eslint from ^8.6.0 to ^9.0.0
  • Updated @typescript-eslint/eslint-plugin and @typescript-eslint/parser from ^5.9.0 to ^8.58.0
  • Added typescript-eslint ^8.58.0 (new umbrella package for flat config API)
  • Created eslint.config.mjs (ESLint 9 flat config) with equivalent rules to the old config
  • Deleted .eslintrc.json and .eslintignore (replaced by eslint.config.mjs)
  • Updated lint script: removed --config .eslintrc.json, added --no-warn-ignored

vscode-test replacement

  • Replaced vscode-test ^1.3.0 with @vscode/test-electron ^2.5.2 in devDependencies
  • Updated test/test-integration/runTest.ts import from vscode-test to @vscode/test-electron

GitHub Actions CI

  • Added .github/workflows/ci.yml that runs on pushes and pull requests targeting main
  • Workflow steps: install dependencies (npm ci), build (npm run esbuild), lint (npm run lint), TypeScript compile (npm run ts-compile), and unit tests (npm run unit-test)
  • Integration tests are excluded from this workflow as they require a VS Code/Xvfb environment (handled by the existing Azure Pipelines setup)

@rzhao271 rzhao271 marked this pull request as ready for review April 2, 2026 00:12
@rzhao271 rzhao271 added this to the 1.115.0 milestone Apr 2, 2026
@rzhao271
Copy link
Copy Markdown
Contributor

rzhao271 commented Apr 2, 2026

@copilot Add a new GitHub Actions CI that runs install build test (if applicable) and lint checks.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 2, 2026

@copilot Add a new GitHub Actions CI that runs install build test (if applicable) and lint checks.

Added in commit 5f5ba37. The workflow (.github/workflows/ci.yml) runs on pushes and PRs to main and performs:

  1. Installnpm ci
  2. Buildnpm run esbuild
  3. Lintnpm run lint
  4. TypeScript compilenpm run ts-compile
  5. Unit testsnpm run unit-test

Integration tests are omitted since they require a running VS Code instance (Xvfb + special env), which matches the existing Azure Pipelines setup for that step.

Copilot AI changed the title Migrate to ESLint 9 flat config and replace vscode-test with @vscode/test-electron Migrate to ESLint 9 flat config, replace vscode-test with @vscode/test-electron, and add GitHub Actions CI Apr 2, 2026
Copilot AI requested a review from rzhao271 April 2, 2026 00:15
connor4312
connor4312 previously approved these changes Apr 2, 2026
@rzhao271
Copy link
Copy Markdown
Contributor

rzhao271 commented Apr 2, 2026

@copilot Reapply changes to resolve merge conflict

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
Copilot AI dismissed connor4312’s stale review April 2, 2026 15:24

The merge-base changed after approval.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 2, 2026

@copilot Reapply changes to resolve merge conflict

Done in commit e3626b0. Merged origin/main (the lodash-es bump) into the branch and resolved the package-lock.json conflict — our lock file already had lodash-es 4.18.1 with the newer npm v3 format (no legacy "dependencies" section), so that was kept.

@rzhao271 rzhao271 enabled auto-merge (squash) April 2, 2026 16:17
Copilot AI requested a review from rzhao271 April 2, 2026 16:21
@rzhao271 rzhao271 merged commit b7c9268 into main Apr 2, 2026
5 checks passed
@rzhao271 rzhao271 deleted the copilot/migrate-eslint-9-flat-config branch April 2, 2026 18:01
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