Skip to content

Conversation

Josmithr
Copy link
Contributor

@Josmithr Josmithr commented Sep 12, 2025

@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, disables no-empty-interface, but does not disable no-empty-object-type. As a result, our strict-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.

@Josmithr Josmithr requested review from a team and Copilot September 12, 2025 23:24
@Josmithr Josmithr requested review from a team as code owners September 12, 2025 23:24
@github-actions github-actions bot added area: build Build related issues area: dds Issues related to distributed data structures base: main PRs targeted against main branch area: dds: tree area: driver Driver related issues area: examples Changes that focus on our examples area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: odsp-driver area: runtime Runtime related issues labels Sep 12, 2025
Copy link
Contributor

@Copilot Copilot AI left a 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

@Josmithr Josmithr requested a review from alexvy86 September 16, 2025 18:06
Copy link
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> [email protected] ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> [email protected] serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> [email protected] check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  235713 links
    1720 destination URLs
    1953 URLs ignored
       0 warnings
       0 errors


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: build Build related issues area: dds: tree area: dds Issues related to distributed data structures area: driver Driver related issues area: examples Changes that focus on our examples area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: odsp-driver area: runtime Runtime related issues base: main PRs targeted against main branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants