-
Notifications
You must be signed in to change notification settings - Fork 556
feat(eslint-config-fluid): Replace deprecated @typescript-eslint
rules
#25451
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?
feat(eslint-config-fluid): Replace deprecated @typescript-eslint
rules
#25451
Conversation
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 updates the @fluidframework/eslint-config-fluid
package to replace deprecated TypeScript ESLint rules with their modern equivalents. The deprecated rules ban-types
and no-empty-interface
are disabled and replaced with three new rules: no-empty-object-type
, no-unsafe-function-type
, and no-wrapper-object-types
.
- Updates TypeScript ESLint plugin dependencies to version 7.18.0
- Replaces deprecated ESLint rules with their modern equivalents
- Pre-applies appropriate rule disables throughout the codebase to maintain existing behavior
Reviewed Changes
Copilot reviewed 43 out of 44 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
common/build/eslint-config-fluid/base.js |
Core configuration changes - disables deprecated rules and enables their replacements |
common/build/eslint-config-fluid/package.json |
Updates TypeScript ESLint dependencies to v7.18.0 and bumps package version to 7.0.0 |
Various source files | Adds new rule disables alongside existing deprecated rule disables |
common/build/eslint-config-fluid/printed-configs/*.json |
Updates generated configuration files with new rule settings |
common/build/eslint-config-fluid/CHANGELOG.md |
Documents the breaking changes and rule replacements |
Files not reviewed (1)
- common/build/eslint-config-fluid/pnpm-lock.yaml: Language not supported
packages/common/core-interfaces/src/test/jsonSerializable.spec.ts
Outdated
Show resolved
Hide resolved
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output
|
@typescript-eslint/eslint-plugin
and@typescript-eslint/parser
have been updated.These updates includes the deprecation and replacement of a couple of rules that were included in this library.
The following rules have been deprecated and disabled in this library:
They are replaced by the following new rules, which are now configured as errors in this library:
Note: Biome's config, which our
strict-biome
config extends, disablesno-empty-interface
, but does not disableno-empty-object-type
. As a result, ourstrict-biome
config now enables the latter rule when the former was not enabled.This PR also enables the no-new-native-nonconstructor rule. This rule would otherwise have been enabled, but was disabled by the typescript-eslint configuration. That configuration no longer disables this rule.
This PR also pre-applies the appropriate rule disables where appropriate in the code. The existing disables of the deprecated rules may be removed after the repo has been updated to consume the next version of this package.