-
Notifications
You must be signed in to change notification settings - Fork 1
Remove deprecated TSLint from project #2637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
TSLint has been deprecated since 2019 and is no longer maintained. All linting is now handled exclusively by ESLint. Changes: - Removed tslint package from devDependencies - Removed tslint.json configuration file - Updated lint:typescript script to remove tslint command - Removed tslint.json mount from docker-compose.yml ESLint continues to provide comprehensive TypeScript linting via the react-app configuration. Related to CORE-1458 (tooling modernization) and CORE-1459 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Adds comma-dangle and space-before-function-paren rules to .eslintrc to maintain the code style that was previously enforced by TSLint. Rules added: - comma-dangle: Requires trailing commas in multiline arrays/objects, but not in function parameters (matches TSLint config) - space-before-function-paren: No space before function parentheses (matches TSLint config) These rules ensure consistent code formatting now that TSLint has been removed from the project. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Removed 831 TSLint directive comments from 261 files across the codebase, including both standalone comment lines and inline comments. This cleanup follows the removal of the deprecated TSLint package. These comments are now obsolete since all linting is handled by ESLint. Changes: - Removed standalone TSLint directive comments (e.g., // tslint:disable-next-line:no-console) - Removed inline TSLint comments while preserving code (e.g., code; // tslint:disable-line:rule) - Updated script/add-page-map.ts to not generate TSLint comments in output files All code logic remains unchanged - only comments were removed. Related to CORE-1459 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
27cd5e8 to
d0b1bc5
Compare
|
I have added back a couple of rules that Claude didn't. It looks like they're a little smarter than the tslint rules, so we don't have to put in as many disabling comments. no-console appears to recognize which files are Node vs app, and the replacement for variable-name is ok with the const declarations of components. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR removes the deprecated TSLint linter and configuration from the rex-web project, fully transitioning to ESLint for TypeScript linting. TSLint was deprecated in 2019 and is no longer maintained by the TypeScript team.
Key changes:
- Removed
tslintpackage from devDependencies and cleaned up yarn.lock - Deleted
tslint.jsonconfiguration file - Updated lint:typescript script to remove tslint execution
- Replaced TSLint disable comments with ESLint equivalents throughout codebase
- Enhanced .eslintrc with rules to replace key TSLint functionality
Reviewed changes
Copilot reviewed 287 out of 289 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Removed tslint from devDependencies and updated lint:typescript script |
| yarn.lock | Cleaned up tslint package and all its dependencies |
| tslint.json | Deleted entire TSLint configuration file |
| .eslintrc | Added ESLint rules to replace TSLint functionality (naming-convention, comma-dangle, max-len, no-console, etc.) |
| docker-compose.yml | Removed tslint.json volume mount |
| 200+ source files | Replaced // tslint:disable comments with // eslint-disable or removed unnecessary ones |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Removes the deprecated TSLint package and configuration from rex-web. All TypeScript linting is now handled exclusively by ESLint.
Changes Made
devDependenciesin package.jsontslint -p ./tsconfig.jsoncommandWhy This Change?
TSLint has been deprecated since 2019 and is no longer maintained. The TypeScript team officially recommends using ESLint for TypeScript projects.
Impact
react-appconfigurationTesting
The
lint:typescriptscript now runs:eslint src && tscThis still provides:
Note on Inline Comments
There are TSLint disable comments in the codebase (e.g.,
// tslint:disable:no-console). These are harmless and will simply be ignored. They can be cleaned up in a future PR if desired, but they don't affect functionality.Related Issues
🤖 Generated with Claude Code