Conversation
tslint has been deprecated since 2019 and crashes on TypeScript 5; its recommended config also demanded spaces while the codebase uses tabs, so `npm run lint` reported 2679 indent errors and nobody ran it. Switch to ESLint + typescript-eslint recommended, fix the 21 findings and drop the dead tslint directives, then run lint on every push. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
npm run linthas been unusable: tslint 5 (deprecated since 2019) crashes on TypeScript 5 (no-shadowed-variable"threw an error" ×20), andtslint:recommendeddemands space indentation while.editorconfigand every file use tabs, so it reported 2679indenterrors plus 132 others. It is not run in CI, so nothing caught this.Changes
tslint→eslint+typescript-eslint, bothrecommendedpresets, in a flateslint.config.mjs. The stale.eslintrc.json/.eslintignorecopied from vscode-objectscript years ago (and never wired up) are removed withtslint.json.no-explicit-anyoff, unused function args and catch bindings allowed (tsconfigalready hasnoUnusedParameters: false),ignoreRestSiblingsfor the{ accessToken: _, ...rest }idiom, emptycatch {}allowed. Everything else is default.Function→ aGetChildrensignature,namespace StorageIds→ a const object,{}header type →Record<string, string>,hasOwnPropertyvia ahasServerhelper,new Array()→[], onelet→const, one non-null assertion on an optional chain, and a targeted disable for the lazyrequire("node-cmd"). 13 dead// tslint:disable-next-linecomments removed.npm run lintadded tomain.ymlandprerelease.ymlbefore compile.skipLibCheckintsconfig.json: ESLint 10's bundled types conflict with@types/eslint-scopepulled in by webpack. (Integration tests against IRIS containers for release-preparation PRs #359 needs the same flag for@vscode/test-electron3, so the two PRs will touch the same line.)Not changed
Formatting is left to
.editorconfig; no Prettier, so no reformatting diff.tsfmt.jsonis untouched.🤖 Generated with Claude Code