Skip to content

Conversation

@JoshuaKGoldberg
Copy link
Member

@JoshuaKGoldberg JoshuaKGoldberg commented Oct 20, 2025

PR Checklist

Overview

Adds a new strict-interface-implementation rule as described in #277 (comment) & #277 (comment). Any class that implements an interface -including through extending a base class- must have assignable properties and method parameters.

💖

@netlify
Copy link

netlify bot commented Oct 20, 2025

Deploy Preview for typescript-eslint ready!

Name Link
🔨 Latest commit a6dd377
🔍 Latest deploy log https://app.netlify.com/projects/typescript-eslint/deploys/6929d0e777ae210008f20fb6
😎 Deploy Preview https://deploy-preview-11711--typescript-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 80 (🔴 down 18 from production)
Accessibility: 97 (no change from production)
Best Practices: 100 (no change from production)
SEO: 92 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@nx-cloud
Copy link

nx-cloud bot commented Oct 20, 2025

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit a6dd377

Command Status Duration Result
nx test eslint-plugin --coverage=false ❌ Failed 5m 11s View ↗
nx run-many -t typecheck ❌ Failed 1m 59s View ↗
nx test eslint-plugin ❌ Failed 4m 39s View ↗
nx test eslint-plugin-internal --coverage=false ✅ Succeeded 4s View ↗
nx run integration-tests:test ✅ Succeeded 5s View ↗
nx test typescript-estree --coverage=false ✅ Succeeded 1s View ↗
nx run types:build ✅ Succeeded 2s View ↗
nx run generate-configs ✅ Succeeded 8s View ↗
Additional runs (27) ✅ Succeeded ... View ↗

☁️ Nx Cloud last updated this comment at 2025-11-28 16:51:00 UTC

@codecov
Copy link

codecov bot commented Nov 27, 2025

Codecov Report

❌ Patch coverage is 87.85714% with 34 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.47%. Comparing base (17601fc) to head (2a0e405).
⚠️ Report is 12 commits behind head on main.

⚠️ Current head 2a0e405 differs from pull request most recent head a6dd377

Please upload reports for the commit a6dd377 to get more accurate results.

Files with missing lines Patch % Lines
...e-implementation-utils/checkMethodAssignability.ts 75.60% 20 Missing ⚠️
...lugin/src/rules/strict-interface-implementation.ts 95.03% 8 Missing ⚠️
packages/eslint-plugin/src/util/misc.ts 57.14% 6 Missing ⚠️

❌ Your patch status has failed because the patch coverage (87.85%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11711      +/-   ##
==========================================
- Coverage   90.49%   90.47%   -0.02%     
==========================================
  Files         522      525       +3     
  Lines       53357    53640     +283     
  Branches     8909     8971      +62     
==========================================
+ Hits        48284    48532     +248     
- Misses       5057     5093      +36     
+ Partials       16       15       -1     
Flag Coverage Δ
unittest 90.47% <87.85%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/eslint-plugin/src/configs/eslintrc/all.ts 100.00% <100.00%> (ø)
...lugin/src/configs/eslintrc/disable-type-checked.ts 100.00% <100.00%> (ø)
...n/src/configs/eslintrc/strict-type-checked-only.ts 100.00% <100.00%> (ø)
...plugin/src/configs/eslintrc/strict-type-checked.ts 100.00% <100.00%> (ø)
packages/eslint-plugin/src/configs/flat/all.ts 100.00% <100.00%> (ø)
...nt-plugin/src/configs/flat/disable-type-checked.ts 100.00% <100.00%> (ø)
...lugin/src/configs/flat/strict-type-checked-only.ts 100.00% <100.00%> (ø)
...int-plugin/src/configs/flat/strict-type-checked.ts 100.00% <100.00%> (ø)
...ementation-utils/isTypeOrConstraintAssignableTo.ts 100.00% <100.00%> (ø)
packages/eslint-plugin/src/util/misc.ts 89.00% <57.14%> (-2.40%) ⬇️
... and 2 more

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rule proposal: Strict interface implementation

1 participant