Merged
Conversation
Runs lint and tests on every push to main and on pull requests. Tests use xvfb-run on Ubuntu since the VS Code test runner requires a display.
- Replace abandoned tslint with ESLint + @typescript-eslint; rules ported from tslint.json (test/ overrides preserved for chai's unused expressions) - Replace deprecated `vscode` test package with @vscode/test-electron; test/index.ts now exports run() and test/runTests.ts drives the launch - Update TypeScript 3→5, mocha 6→10, sinon 7→19, @types/* to current; raise tsconfig target to ES2019 for named capture group support - Fix pre-existing lint violations surfaced by stricter rules (quotes, semicolons, curly, no-shadow)
Each console.debug/log call is noted as likely redundant and suppressed with eslint-disable-next-line rather than removed, since removal is a behavioral change outside the scope of this tooling PR.
The two calls immediately preceding showWarningMessage note that the same stderr is already surfaced via the proper VS Code notification channel. The rest remain as generic "likely redundant" notes.
joemsak
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a GitHub Actions CI workflow and modernizes the extension's dev tooling, which hadn't been updated since ~2019–2020.
CI
Adds
.github/workflows/ci.ymlwith two parallel jobs —lintandtest— triggered on pushes tomainand PRs. The test job usesxvfb-runsince the VS Code test runner requires a display on headless Linux.Linting
Replaces tslint (abandoned 2019) with ESLint +
@typescript-eslint. Rules fromtslint.jsonare ported to.eslintrc.json; the test-specific override relaxingno-unused-expressionsfor chai is preserved via anoverridesblock.Test runner
Replaces the deprecated
vscodenpm package with@vscode/test-electron.test/index.tsnow exports therun()function the new runner expects, andtest/runTests.tsdrives VS Code download and launch.Dependencies
tsconfigtarget raised to ES2019 for named capture group support in the existing regex@types/*bumped to currentA handful of pre-existing lint violations (missing semicolons, double quotes, missing curly braces, a shadowed variable) were fixed as part of enabling the stricter ruleset.