Skip to content

Conversation

@tylerbutler
Copy link
Member

@tylerbutler tylerbutler commented Oct 10, 2025

Replace the Rushstack rule with the equivalent TypeScript ESLint rule
as recommended by the TypeScript ESLint migration guide.

Blocked by

Blocking

…ript-eslint/no-restricted-types

Replace the Rushstack rule with the equivalent TypeScript ESLint rule
as recommended by the TypeScript ESLint migration guide.
Copilot AI review requested due to automatic review settings October 10, 2025 00:18
@github-actions github-actions bot added the area: build Build related issues label Oct 10, 2025
Copy link
Contributor

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 migrates from the Rushstack ESLint plugin rule @rushstack/no-new-null to the equivalent TypeScript ESLint rule @typescript-eslint/no-restricted-types as part of a broader effort to migrate away from Rushstack plugins. The migration maintains the same functionality of preventing the use of null in favor of undefined.

  • Replaces @rushstack/no-new-null with @typescript-eslint/no-restricted-types configured to restrict null usage
  • Updates both the recommended and minimal-deprecated ESLint configurations
  • Maintains the same error/warning levels and provides equivalent functionality with auto-fix support

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
common/build/eslint-config-fluid/recommended.js Migrates the rule from Rushstack to TypeScript ESLint with "error" severity
common/build/eslint-config-fluid/minimal-deprecated.js Migrates the rule from Rushstack to TypeScript ESLint with "warn" severity and updates documentation

@github-actions github-actions bot added the dependencies Pull requests that update a dependency file label Nov 6, 2025
@tylerbutler tylerbutler requested review from a team as code owners December 2, 2025 20:37
Copy link
Contributor

@alexvy86 alexvy86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only quick glance so far: I see several new disables. Double checking that they are legit new hits, like we know can happen from more up-to-date rules, and not copilot pattern-matching on places that might have had a package-level disable or similar?

@tylerbutler
Copy link
Member Author

Only quick glance so far: I see several new disables. Double checking that they are legit new hits, like we know can happen from more up-to-date rules, and not copilot pattern-matching on places that might have had a package-level disable or similar?

Good question. The old rushstack no-new-null rule apparently is not as sensitive as the replacement rule. At first I thought that was a good thing, but because we have so many types that go over the wire, we have a lot of legitimate null usage.

Anyway, I originally thought the rushstack replacement was needed because it wasn't compatible with eslint9. But I was wrong about that, so I am leaning towards just upgrading it and postponing any further related work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build related issues base: main PRs targeted against main branch dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants