Skip to content

fix(typescript-estree): forbid invalid extends and implements in interface declaration#11935

Merged
bradzacher merged 6 commits intotypescript-eslint:mainfrom
fisker:interface-invalid
Jan 7, 2026
Merged

fix(typescript-estree): forbid invalid extends and implements in interface declaration#11935
bradzacher merged 6 commits intotypescript-eslint:mainfrom
fisker:interface-invalid

Conversation

@fisker
Copy link
Copy Markdown
Contributor

@fisker fisker commented Jan 6, 2026

PR Checklist

Overview

@typescript-eslint
Copy link
Copy Markdown
Contributor

Thanks for the PR, @fisker!

typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community.

The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately.

Thanks again!


🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint.

@netlify
Copy link
Copy Markdown

netlify bot commented Jan 6, 2026

Deploy Preview for typescript-eslint ready!

Name Link
🔨 Latest commit 0d5e0ac
🔍 Latest deploy log https://app.netlify.com/projects/typescript-eslint/deploys/695da5c755abca000830e543
😎 Deploy Preview https://deploy-preview-11935--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: 99 (🟢 up 9 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
Copy Markdown

nx-cloud bot commented Jan 6, 2026

View your CI Pipeline Execution ↗ for commit 0d5e0ac

Command Status Duration Result
nx run-many -t lint ✅ Succeeded 3m 17s View ↗
nx run-many -t typecheck ✅ Succeeded 1m 56s View ↗
nx test typescript-estree --coverage=false ✅ Succeeded 21s View ↗
nx test eslint-plugin-internal --coverage=false ✅ Succeeded 10s View ↗
nx run integration-tests:test ✅ Succeeded 5s View ↗
nx run generate-configs ✅ Succeeded 13s View ↗
nx run types:build ✅ Succeeded 6s View ↗
nx run-many --target=build --parallel --exclude... ✅ Succeeded 14s View ↗
Additional runs (28) ✅ Succeeded ... View ↗

☁️ Nx Cloud last updated this comment at 2026-01-07 00:30:07 UTC

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 6, 2026

Codecov Report

❌ Patch coverage is 0% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.73%. Comparing base (674a76a) to head (0d5e0ac).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...kages/typescript-estree/src/check-syntax-errors.ts 0.00% 12 Missing ⚠️

❌ Your patch status has failed because the patch coverage (0.00%) 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   #11935      +/-   ##
==========================================
- Coverage   90.74%   90.73%   -0.02%     
==========================================
  Files         527      527              
  Lines       53651    53659       +8     
  Branches     9021     9021              
==========================================
  Hits        48685    48685              
- Misses       4953     4961       +8     
  Partials       13       13              
Flag Coverage Δ
unittest 90.73% <0.00%> (-0.02%) ⬇️

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

Files with missing lines Coverage Δ
...kages/typescript-estree/src/check-syntax-errors.ts 18.93% <0.00%> (-0.27%) ⬇️
🚀 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.

@fisker fisker marked this pull request as ready for review January 6, 2026 19:07
bradzacher
bradzacher previously approved these changes Jan 6, 2026
Comment on lines 489 to 497
if (token !== SyntaxKind.ExtendsKeyword) {
throw createError(
heritageClause,
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
heritageClause.token === SyntaxKind.ImplementsKeyword
token === SyntaxKind.ImplementsKeyword
? "Interface declaration cannot have 'implements' clause."
: 'Unexpected token.',
);
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

probably should just split this out to avoid the nested condition:

eg

Suggested change
if (token !== SyntaxKind.ExtendsKeyword) {
throw createError(
heritageClause,
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
heritageClause.token === SyntaxKind.ImplementsKeyword
token === SyntaxKind.ImplementsKeyword
? "Interface declaration cannot have 'implements' clause."
: 'Unexpected token.',
);
}
if (token === SyntaxKind.ImplementsKeyword) {
throw createError(
heritageClause,
"Interface declaration cannot have 'implements' clause.",
);
} else if (token !== SyntaxKind.ExtendsKeyword) {
throw createError(
heritageClause,
'Unexpected token.',
);
}

Copy link
Copy Markdown
Contributor Author

@fisker fisker Jan 6, 2026

Choose a reason for hiding this comment

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

Can't apply on website UI,

b08611a (#11935)

@bradzacher bradzacher added the awaiting response Issues waiting for a reply from the OP or another party label Jan 6, 2026
@fisker fisker force-pushed the interface-invalid branch from 5c1bca2 to b361a35 Compare January 6, 2026 23:10
@bradzacher
Copy link
Copy Markdown
Member

just need to resolve conflicts and we can merge

# Conflicts:
#	packages/ast-spec/tests/fixtures-with-differences-ast.shot
#	packages/ast-spec/tests/fixtures-with-differences-errors.shot
@bradzacher bradzacher merged commit 3ac7735 into typescript-eslint:main Jan 7, 2026
63 of 65 checks passed
@fisker fisker deleted the interface-invalid branch January 7, 2026 00:34
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jan 13, 2026
| datasource | package                          | from   | to     |
| ---------- | -------------------------------- | ------ | ------ |
| npm        | @typescript-eslint/eslint-plugin | 8.52.0 | 8.53.0 |
| npm        | @typescript-eslint/parser        | 8.52.0 | 8.53.0 |


## [v8.53.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12)

##### 🚀 Features

- **eslint-plugin:** add rule \[strict-void-return] ([#9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@bradzacher](https://github.com/bradzacher)
- fisker Cheung [@fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@SungHyun627](https://github.com/SungHyun627)
- Will Harney [@wjhsf](https://github.com/wjhsf)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jan 13, 2026
| datasource | package                          | from   | to     |
| ---------- | -------------------------------- | ------ | ------ |
| npm        | @typescript-eslint/eslint-plugin | 8.52.0 | 8.53.0 |
| npm        | @typescript-eslint/parser        | 8.52.0 | 8.53.0 |


## [v8.53.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12)

##### 🚀 Features

- **eslint-plugin:** add rule \[strict-void-return] ([#9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@bradzacher](https://github.com/bradzacher)
- fisker Cheung [@fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@SungHyun627](https://github.com/SungHyun627)
- Will Harney [@wjhsf](https://github.com/wjhsf)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenAPITools/openapi-generator-cli/badge)](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/remix-run/react-router/badge)](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;mui/x-charts)</summary>

### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240)

[Compare Source](mui/mui-x@v8.23.0...v8.24.0)

*Jan 8, 2026*

We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:

- ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars
- 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render
  ![image](https://github.com/user-attachments/assets/4112c09b-d841-42f7-a0c8-d23b61c23ca0)
- 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid

Special thanks go out to these community members for their valuable contributions:
[@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke), [@&#8203;auloin](https://github.com/auloin), [@&#8203;sai6855](https://github.com/sai6855), [@&#8203;yuito-it](https://github.com/yuito-it)

The following team members contributed to this release:
[@&#8203;alelthomas](https://github.com/alelthomas), [@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;flaviendelangle](https://github.com/flaviendelangle), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;siriwatknp](https://github.com/siriwatknp)

##### Data Grid

##### `@mui/[email protected]`

- \[l10n] Improve Danish (da-DK) locale ([#&#8203;20828](mui/mui-x#20828)) [@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke)
- \[l10n] Improve Japanese (ja-JP) locale ([#&#8203;20251](mui/mui-x#20251)) [@&#8203;yuito-it](https://github.com/yuito-it)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[DataGridPro] Fix header filter height for `density="compact"` ([#&#8203;20834](mui/mui-x#20834)) [@&#8203;arminmeh](https://github.com/arminmeh)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Date and Time Pickers

##### `@mui/[email protected]`

- \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#&#8203;20719](mui/mui-x#20719)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Charts

##### `@mui/[email protected]`

- \[charts] Add `VisibilityManager` logic to allow managing series/items ([#&#8203;20571](mui/mui-x#20571)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `identifierSerializer` configuration ([#&#8203;20775](mui/mui-x#20775)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `serializeIdentifier` instance function ([#&#8203;20791](mui/mui-x#20791)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add bar batch renderer ([#&#8203;20457](mui/mui-x#20457)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Allow animating bar, line, and pie elements to hidden state ([#&#8203;20798](mui/mui-x#20798)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix failing lint step ([#&#8203;20813](mui/mui-x#20813)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Fix tooltip anchored to item ([#&#8203;20783](mui/mui-x#20783)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#&#8203;20797](mui/mui-x#20797)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#&#8203;20757](mui/mui-x#20757)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#&#8203;20795](mui/mui-x#20795)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Refactor `useRegisterPointerEventHandlers` ([#&#8203;20824](mui/mui-x#20824)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Update legend types to allow hiding/showing items ([#&#8203;20784](mui/mui-x#20784)) [@&#8203;JCQuintas](https://github.com/JCQuintas)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#&#8203;20796](mui/mui-x#20796)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add range bar chart ([#&#8203;20275](mui/mui-x#20275)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

- \[tree view] Introduce a Tree View Store to clean the internals ([#&#8203;20051](mui/mui-x#20051)) [@&#8203;flaviendelangle](https://github.com/flaviendelangle)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Codemod

##### `@mui/[email protected]`

Internal changes.

##### Docs

- \[docs] Fix axis size default values ([#&#8203;20799](mui/mui-x#20799)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#&#8203;20787](mui/mui-x#20787)) [@&#8203;alelthomas](https://github.com/alelthomas)
- \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#&#8203;20465](mui/mui-x#20465)) [@&#8203;auloin](https://github.com/auloin)
- \[docs] Revise the Charts Brush doc ([#&#8203;20792](mui/mui-x#20792)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Highlighting doc ([#&#8203;20788](mui/mui-x#20788)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Label doc ([#&#8203;20794](mui/mui-x#20794)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Export doc ([#&#8203;20779](mui/mui-x#20779)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)

##### Core

- \[code-infra] Fix v8.23.0 release date ([#&#8203;20767](mui/mui-x#20767)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `glob-gitignore` ([#&#8203;20801](mui/mui-x#20801)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `nyc` ([#&#8203;20804](mui/mui-x#20804)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stream-browserify` and `null-loader` ([#&#8203;20805](mui/mui-x#20805)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stylelint-config-tailwindcss` ([#&#8203;20807](mui/mui-x#20807)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove unused `path` package ([#&#8203;20802](mui/mui-x#20802)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Retry flaky e2e test on webkit ([#&#8203;20806](mui/mui-x#20806)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Add `internal` slot to properly generate components CSS layer ([#&#8203;20763](mui/mui-x#20763)) [@&#8203;siriwatknp](https://github.com/siriwatknp)

</details>

<details>
<summary>OpenAPITools/openapi-generator-cli (@&#8203;openapitools/openapi-generator-cli)</summary>

### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0)

[Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0)

##### Features

- **config:** add support for environment variable placeholders in config ([#&#8203;1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12)

[Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0)

##### 🚀 Features

- **eslint-plugin:** add rule \[strict-void-return] ([#&#8203;9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#&#8203;11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#&#8203;11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#&#8203;11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#&#8203;11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#&#8203;11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#&#8203;11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher)
- fisker Cheung [@&#8203;fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@&#8203;phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@&#8203;SungHyun627](https://github.com/SungHyun627)
- Will Harney [@&#8203;wjhsf](https://github.com/wjhsf)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05)

[Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0)

##### 🚀 Features

- **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#&#8203;11899](typescript-eslint/typescript-eslint#11899))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] detect @&#8203;[@&#8203;toPrimitive](https://github.com/toPrimitive) and valueOf ([#&#8203;11901](typescript-eslint/typescript-eslint#11901))
- **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#&#8203;11908](typescript-eslint/typescript-eslint#11908))

##### ❤️ Thank You

- Josh Goldberg ✨
- Ulrich Stark

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12)

[Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05)

[Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>remix-run/react-router (react-router-dom)</summary>

### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120)

[Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0)

##### Patch Changes

- Updated dependencies:
  - `[email protected]`

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!243

Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 14, 2026
chore(deps): update frontend dependencies (minor) (minor)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@mui/x-charts](https://mui.com/x/react-charts/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-charts)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-charts/8.23.0/8.24.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | minor | [`8.23.0` → `8.24.0`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.23.0/8.24.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.26.0` → `2.27.0`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.26.0/2.27.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenAPITools/openapi-generator-cli/badge)](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.51.0/8.53.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.51.0` → `8.53.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.51.0/8.53.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | dependencies | minor | [`7.11.0` → `7.12.0`](https://renovatebot.com/diffs/npm/react-router-dom/7.11.0/7.12.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/remix-run/react-router/badge)](https://securityscorecards.dev/viewer/?uri=github.com/remix-run/react-router) |

---

### Release Notes

<details>
<summary>mui/mui-x (@&#8203;mui/x-charts)</summary>

### [`v8.24.0`](https://github.com/mui/mui-x/blob/HEAD/CHANGELOG.md#8240)

[Compare Source](mui/mui-x@v8.23.0...v8.24.0)

*Jan 8, 2026*

We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:

- ⚡️Add bar [batch renderer](https://mui.com/x/react-charts/bars/#performance), result in a significant performance improvement when rendering thousands of bars
- 📊 Add [range bar chart](https://mui.com/x/react-charts/range-bar/) to render
  ![image](https://github.com/user-attachments/assets/4112c09b-d841-42f7-a0c8-d23b61c23ca0)
- 🌎 Improved Danish (da-DK) and Japanese (ja-JP) locales on the Data Grid

Special thanks go out to these community members for their valuable contributions:
[@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke), [@&#8203;auloin](https://github.com/auloin), [@&#8203;sai6855](https://github.com/sai6855), [@&#8203;yuito-it](https://github.com/yuito-it)

The following team members contributed to this release:
[@&#8203;alelthomas](https://github.com/alelthomas), [@&#8203;alexfauquette](https://github.com/alexfauquette), [@&#8203;arminmeh](https://github.com/arminmeh), [@&#8203;bernardobelchior](https://github.com/bernardobelchior), [@&#8203;flaviendelangle](https://github.com/flaviendelangle), [@&#8203;JCQuintas](https://github.com/JCQuintas), [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje), [@&#8203;siriwatknp](https://github.com/siriwatknp)

##### Data Grid

##### `@mui/[email protected]`

- \[l10n] Improve Danish (da-DK) locale ([#&#8203;20828](mui/mui-x#20828)) [@&#8203;anders-noerrelykke](https://github.com/anders-noerrelykke)
- \[l10n] Improve Japanese (ja-JP) locale ([#&#8203;20251](mui/mui-x#20251)) [@&#8203;yuito-it](https://github.com/yuito-it)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[DataGridPro] Fix header filter height for `density="compact"` ([#&#8203;20834](mui/mui-x#20834)) [@&#8203;arminmeh](https://github.com/arminmeh)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Date and Time Pickers

##### `@mui/[email protected]`

- \[pickers] Fix Styles applied to PickersDay when MuiPickersDay-dayOutsideMonth is used ([#&#8203;20719](mui/mui-x#20719)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Charts

##### `@mui/[email protected]`

- \[charts] Add `VisibilityManager` logic to allow managing series/items ([#&#8203;20571](mui/mui-x#20571)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `identifierSerializer` configuration ([#&#8203;20775](mui/mui-x#20775)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add `serializeIdentifier` instance function ([#&#8203;20791](mui/mui-x#20791)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Add bar batch renderer ([#&#8203;20457](mui/mui-x#20457)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Allow animating bar, line, and pie elements to hidden state ([#&#8203;20798](mui/mui-x#20798)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[charts] Fix failing lint step ([#&#8203;20813](mui/mui-x#20813)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Fix tooltip anchored to item ([#&#8203;20783](mui/mui-x#20783)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Fix type casting in getCategoryAxisConfig and applySeriesLayout functions ([#&#8203;20797](mui/mui-x#20797)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Let keyboard navigation avoid overflow and handle nullish values ([#&#8203;20757](mui/mui-x#20757)) [@&#8203;alexfauquette](https://github.com/alexfauquette)
- \[charts] Refactor `PieChart` and `PieChartPro` to use `slots` and `slotProps` directly ([#&#8203;20795](mui/mui-x#20795)) [@&#8203;sai6855](https://github.com/sai6855)
- \[charts] Refactor `useRegisterPointerEventHandlers` ([#&#8203;20824](mui/mui-x#20824)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[charts] Update legend types to allow hiding/showing items ([#&#8203;20784](mui/mui-x#20784)) [@&#8203;JCQuintas](https://github.com/JCQuintas)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-pro] Pass `slotProps.toolbar` to `Toolbar` in `PieChartPro` ([#&#8203;20796](mui/mui-x#20796)) [@&#8203;sai6855](https://github.com/sai6855)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-premium] Add range bar chart ([#&#8203;20275](mui/mui-x#20275)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### Tree View

##### `@mui/[email protected]`

- \[tree view] Introduce a Tree View Store to clean the internals ([#&#8203;20051](mui/mui-x#20051)) [@&#8203;flaviendelangle](https://github.com/flaviendelangle)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Codemod

##### `@mui/[email protected]`

Internal changes.

##### Docs

- \[docs] Fix axis size default values ([#&#8203;20799](mui/mui-x#20799)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[docs] Update What's New in MUI X page with post v8 features (DX-118) ([#&#8203;20787](mui/mui-x#20787)) [@&#8203;alelthomas](https://github.com/alelthomas)
- \[docs] Fix `onAccept`'s `context.source` documentation to use 'view' instead of 'picker' ([#&#8203;20465](mui/mui-x#20465)) [@&#8203;auloin](https://github.com/auloin)
- \[docs] Revise the Charts Brush doc ([#&#8203;20792](mui/mui-x#20792)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Highlighting doc ([#&#8203;20788](mui/mui-x#20788)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Label doc ([#&#8203;20794](mui/mui-x#20794)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)
- \[docs] Revise the Charts Export doc ([#&#8203;20779](mui/mui-x#20779)) [@&#8203;mapache-salvaje](https://github.com/mapache-salvaje)

##### Core

- \[code-infra] Fix v8.23.0 release date ([#&#8203;20767](mui/mui-x#20767)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `glob-gitignore` ([#&#8203;20801](mui/mui-x#20801)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `nyc` ([#&#8203;20804](mui/mui-x#20804)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stream-browserify` and `null-loader` ([#&#8203;20805](mui/mui-x#20805)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove `stylelint-config-tailwindcss` ([#&#8203;20807](mui/mui-x#20807)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Remove unused `path` package ([#&#8203;20802](mui/mui-x#20802)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)
- \[code-infra] Retry flaky e2e test on webkit ([#&#8203;20806](mui/mui-x#20806)) [@&#8203;JCQuintas](https://github.com/JCQuintas)
- \[internal] Add `internal` slot to properly generate components CSS layer ([#&#8203;20763](mui/mui-x#20763)) [@&#8203;siriwatknp](https://github.com/siriwatknp)

</details>

<details>
<summary>OpenAPITools/openapi-generator-cli (@&#8203;openapitools/openapi-generator-cli)</summary>

### [`v2.27.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.27.0)

[Compare Source](OpenAPITools/openapi-generator-cli@v2.26.0...v2.27.0)

##### Features

- **config:** add support for environment variable placeholders in config ([#&#8203;1031](OpenAPITools/openapi-generator-cli#1031)) ([1cd2614](OpenAPITools/openapi-generator-cli@1cd2614))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8530-2026-01-12)

[Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0)

##### 🚀 Features

- **eslint-plugin:** add rule \[strict-void-return] ([#&#8203;9707](typescript-eslint/typescript-eslint#9707))
- **eslint-plugin:** \[no-unused-vars] add a fixer to remove unused imports ([#&#8203;11922](typescript-eslint/typescript-eslint#11922))

##### 🩹 Fixes

- **eslint-plugin:** \[no-useless-default-assignment] fix false positive for parameters corresponding to a rest parameter ([#&#8203;11916](typescript-eslint/typescript-eslint#11916))
- **eslint-plugin:** replace unclear "`error` typed" with more helpful description ([#&#8203;11704](typescript-eslint/typescript-eslint#11704))
- **typescript-estree:** forbid invalid `extends` and `implements` in interface declaration ([#&#8203;11935](typescript-eslint/typescript-eslint#11935))
- **typescript-estree:** forbid invalid class implements ([#&#8203;11934](typescript-eslint/typescript-eslint#11934))
- **typescript-estree:** forbid type-only import with both default and named specifiers ([#&#8203;11930](typescript-eslint/typescript-eslint#11930))

##### ❤️ Thank You

- Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher)
- fisker Cheung [@&#8203;fisker](https://github.com/fisker)
- Josh Goldberg
- Josh Goldberg ✨
- Kirk Waiblinger
- Niki [@&#8203;phaux](https://github.com/phaux)
- Nikita
- SungHyun627 [@&#8203;SungHyun627](https://github.com/SungHyun627)
- Will Harney [@&#8203;wjhsf](https://github.com/wjhsf)

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8520-2026-01-05)

[Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0)

##### 🚀 Features

- **eslint-plugin-internal:** \[no-multiple-lines-of-errors] add rule ([#&#8203;11899](typescript-eslint/typescript-eslint#11899))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] detect @&#8203;[@&#8203;toPrimitive](https://github.com/toPrimitive) and valueOf ([#&#8203;11901](typescript-eslint/typescript-eslint#11901))
- **eslint-plugin:** \[no-useless-default-assignment] handle conditional initializer ([#&#8203;11908](typescript-eslint/typescript-eslint#11908))

##### ❤️ Thank You

- Josh Goldberg ✨
- Ulrich Stark

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.53.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8530-2026-01-12)

[Compare Source](typescript-eslint/typescript-eslint@v8.52.0...v8.53.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

### [`v8.52.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8520-2026-01-05)

[Compare Source](typescript-eslint/typescript-eslint@v8.51.0...v8.52.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>remix-run/react-router (react-router-dom)</summary>

### [`v7.12.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#7120)

[Compare Source](https://github.com/remix-run/react-router/compare/[email protected]@7.12.0)

##### Patch Changes

- Updated dependencies:
  - `[email protected]`

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!243

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting response Issues waiting for a reply from the OP or another party

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants