Why: npm test runs lint first (pretest), and ESLint 7 with @typescript-eslint 4 fails on every file with Parsing error: DeprecationError: 'originalKeywordKind' has been deprecated. No test can run until this is fixed. The current Vitest and @vscode/test-electron releases need Node 22, and CI uses Node 20.
What:
- Move to ESLint 9+ with a flat
eslint.config.mjs and typescript-eslint 8.
- Take
lint out of pretest; it becomes its own CI step.
- Remove unused devDependencies (
ftp, rimraf, mkdirp, get-port, old vsce), and use @vscode/vsce.
- Use Node 22 in
publish.yml.
- Remove the
test script that points at the missing out/test/runTest.js.
Done when: npm run lint passes locally.
References:
Why:
npm testrunslintfirst (pretest), and ESLint 7 with @typescript-eslint 4 fails on every file withParsing error: DeprecationError: 'originalKeywordKind' has been deprecated. No test can run until this is fixed. The current Vitest and@vscode/test-electronreleases need Node 22, and CI uses Node 20.What:
eslint.config.mjsandtypescript-eslint8.lintout ofpretest; it becomes its own CI step.ftp,rimraf,mkdirp,get-port, oldvsce), and use@vscode/vsce.publish.yml.testscript that points at the missingout/test/runTest.js.Done when:
npm run lintpasses locally.References:
yo codegenerator shipseslint.config.mjs(flat config): https://github.com/microsoft/vscode-generator-code/blob/main/generators/app/templates/ext-command-ts/eslint.config.mjs