Skip to content
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

bug: light dom custom element with comment node causes retainer #28189

Open
3 tasks done
terslada opened this issue Sep 17, 2023 · 28 comments
Open
3 tasks done

bug: light dom custom element with comment node causes retainer #28189

terslada opened this issue Sep 17, 2023 · 28 comments
Labels
bug: external Bugs in non-Ionic software that impact Ionic apps (I.e. WebKit, Angular, Android etc)

Comments

@terslada
Copy link

Prerequisites

Ionic Framework Version

v7.x

Current Behavior

When navigating between pages that should not be reused, there are leaks in both nodes and listeners, which makes the application unusable after a while.

Expected Behavior

Pages should be disposed correctly

Steps to Reproduce

Reproducible even inside your ionic conference app example. Simply navigate between schedule and support pages and watch the performance monitor.
Untitled_ Sep 17, 2023 11_13 AM

Code Reproduction URL

https://github.com/ionic-team/ionic-conference-app

Ionic Info

  • ionic info from conference app

Ionic:

Ionic CLI : 6.19.0
Ionic Framework : not installed
@angular-devkit/build-angular : 16.0.0
@angular-devkit/schematics : 16.0.0
@angular/cli : 16.0.0
@ionic/angular-toolkit : 6.1.0

Capacitor:

Capacitor CLI : 4.6.3
@capacitor/android : 4.6.3
@capacitor/core : 4.6.3
@capacitor/ios : 4.6.3

Utility:

cordova-res : 0.15.4
native-run : 1.7.1

System:

NodeJS : v18.16.1 (C:\Program Files\nodejs\node.exe)
npm : 9.7.2
OS : Windows 10

Additional Information

No response

@ionitron-bot ionitron-bot bot added the triage label Sep 17, 2023
@liamdebeasi liamdebeasi self-assigned this Sep 18, 2023
@liamdebeasi
Copy link
Contributor

liamdebeasi commented Sep 18, 2023

Thanks for the report. I can reproduce this on the latest version of Ionic, but I need to take a closer look to understand why this is happening.

Is this happening in an app you are building?

@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 18, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 18, 2023
@terslada
Copy link
Author

Yes, it does.

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 18, 2023
@liamdebeasi
Copy link
Contributor

Do you have a minimal reproduction of the issue happening in that app?

@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 18, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 18, 2023
@terslada
Copy link
Author

It is a production application that I can not really share, but It happens consistently every time I close a page that should be destroyed. Same as in the example app.

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 18, 2023
@liamdebeasi
Copy link
Contributor

Any minimal reproduction you can provide will make it easier for us to diagnose and potentially fix the issue. Otherwise, I'll keep working through the conference app. However, it is a big app so it will likely delay any results.

@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 18, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 18, 2023
@terslada
Copy link
Author

Tried to recreate the behavior on a new app, but no luck there. My application is pretty similar to the conference app, but couldnt figure out what is the root cause.

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 18, 2023
@liamdebeasi
Copy link
Contributor

It might be best to start with your production application since you know the bug reproduces there. Then you can start removing code until you have a minimal working example. There does seem to be an issue in the Ionic conference app, but at the moment I have no way of knowing if this is the same bug that is impacting your app.

@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 18, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 18, 2023
@terslada
Copy link
Author

terslada commented Sep 18, 2023

My application is bigger then the conference one, but I will give it a try once I have time for it... I would be very surprised if it were two different bugs though.

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 18, 2023
@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 18, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 18, 2023
@liamdebeasi liamdebeasi removed their assignment Sep 20, 2023
@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 28, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 28, 2023
@terslada
Copy link
Author

Well, this is how it looks on my side. The same repository. What am I missing?

image
screen-capture.1.webm

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 28, 2023
@liamdebeasi
Copy link
Contributor

What version of Chrome are you using? I'm on 117.0.5938.92.

@terslada
Copy link
Author

terslada commented Sep 28, 2023

117.0.5938.132

Tested it also in Firefox and also on different PC. All results the same.

How come that even the heap size is so much different on the first snapshot I wonder

@liamdebeasi
Copy link
Contributor

liamdebeasi commented Sep 28, 2023

Do you have an example of this happening in Firefox? (i.e. the heap snapshot)

@liamdebeasi liamdebeasi added the needs: reply the issue needs a response from the user label Sep 28, 2023
@ionitron-bot ionitron-bot bot removed the triage label Sep 28, 2023
@terslada
Copy link
Author

Not rly familiar with Firefox devtools. But this is how it looks. Could not find GC trigger, but hopefully it runs automatically before heap snapshot as in chrome.

screen-capture.2.webm

@ionitron-bot ionitron-bot bot added triage and removed needs: reply the issue needs a response from the user labels Sep 28, 2023
@terslada
Copy link
Author

Got some interesting findings now.

Chrome behavior:

  • every time I navigate to the page and back, there are more and more nodes leaked.

Firefox behavior:

  • first time I navigate to the page and back, the same nodes are leaked. But with each consequent navigation, there are no more leaked nodes.

If I remove the footer component that I mentioned before, the Chrome starts to behave same way as Firefox. Leaking only for the first time and stay consistent after.

@liamdebeasi liamdebeasi changed the title bug: Leaks when navigating between pages bug: light dom custom element with comment node causes retainer Dec 8, 2023
@liamdebeasi
Copy link
Contributor

Hey there! Apologies for the delay. I can confirm that certain components are being retained in memory when they should not be. I was able to determine that ion-footer is being retained by the comment node inside of it. Stencil renders this comment node for Light DOM components that use <slot></slot>. I've sent this over to the Stencil team to take a closer look at. I'll follow up here when I have more to share.

@liamdebeasi liamdebeasi added the bug: external Bugs in non-Ionic software that impact Ionic apps (I.e. WebKit, Angular, Android etc) label Dec 8, 2023
@ionitron-bot ionitron-bot bot removed the triage label Dec 8, 2023
@terslada
Copy link
Author

terslada commented Dec 8, 2023

Great, I got rid of the footer because of this. looking forward to a fix.
Thanks

@terslada
Copy link
Author

terslada commented Feb 6, 2024

Any news on this?

@liamdebeasi
Copy link
Contributor

Can you give this a try in Ionic 7.7.0? The underlying Stencil bug should have been resolved in Stencil 4.11.0.

@terslada
Copy link
Author

terslada commented Feb 6, 2024

Sadly still behaves the same way

@liamdebeasi
Copy link
Contributor

Thanks for testing. I spoke with the Stencil team, and it sounds like there may be multiple bugs in Stencil that need resolving. I'll work with them to see if we can find a good resolution here.

@terslada
Copy link
Author

Lately I look a bit into the memory leaks again. There are leaks everywhere caused by using ionic components. I dont rly know what to do, because the application gets unusable after a while. It is ment to be running for many hours, but now it has to be restarted often to be usable.

image
image

@aeharding
Copy link
Contributor

Thanks for testing. I spoke with the Stencil team, and it sounds like there may be multiple bugs in Stencil that need resolving. I'll work with them to see if we can find a good resolution here.

@liamdebeasi, are there Github issues for these Stencil bugs?

@liamdebeasi
Copy link
Contributor

The issues that are potentially related are stenciljs/core#5181 and stenciljs/core#5172. The Stencil team is still investigating these issues.

@christian-bromann
Copy link
Member

@terslada @aeharding we have just published a fix for this in Stencil and will continue to work with the Ionic team to get this updated in Ionic Framework as well.

Lulalaby added a commit to Aiko-IT-Systems/Discord-React-Components that referenced this issue Jan 27, 2025
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@lerna-lite/cli](https://redirect.github.com/lerna-lite/lerna-lite)
([source](https://redirect.github.com/lerna-lite/lerna-lite/tree/HEAD/packages/cli))
| [`3.10.1` ->
`3.11.0`](https://renovatebot.com/diffs/npm/@lerna-lite%2fcli/3.10.1/3.11.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@lerna-lite%2fcli/3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lerna-lite%2fcli/3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lerna-lite%2fcli/3.10.1/3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lerna-lite%2fcli/3.10.1/3.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@stencil/core](https://stenciljs.com/)
([source](https://redirect.github.com/ionic-team/stencil)) | [`4.23.0`
->
`4.25.1`](https://renovatebot.com/diffs/npm/@stencil%2fcore/4.23.0/4.25.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@stencil%2fcore/4.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@stencil%2fcore/4.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@stencil%2fcore/4.23.0/4.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@stencil%2fcore/4.23.0/4.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@stencil/react-output-target](https://stenciljs.com/)
([source](https://redirect.github.com/ionic-team/stencil-ds-output-targets))
| [`0.8.1` ->
`0.8.2`](https://renovatebot.com/diffs/npm/@stencil%2freact-output-target/0.8.1/0.8.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@stencil%2freact-output-target/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@stencil%2freact-output-target/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@stencil%2freact-output-target/0.8.1/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@stencil%2freact-output-target/0.8.1/0.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`22.10.2` ->
`22.10.10`](https://renovatebot.com/diffs/npm/@types%2fnode/22.10.2/22.10.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.10.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.10.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.10.2/22.10.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.10.2/22.10.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`19.0.2` ->
`19.0.8`](https://renovatebot.com/diffs/npm/@types%2freact/19.0.2/19.0.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.0.2/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.0.2/19.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react-dom](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom))
| [`19.0.2` ->
`19.0.3`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.0.2/19.0.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/19.0.2/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/19.0.2/19.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`8.18.2` ->
`8.22.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.18.2/8.22.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/8.18.2/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.18.2/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`8.18.2` ->
`8.22.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.18.2/8.22.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.18.2/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.18.2/8.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`9.17.0` ->
`9.19.0`](https://renovatebot.com/diffs/npm/eslint/9.17.0/9.19.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/9.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/9.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.17.0/9.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.17.0/9.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier)
| [`5.2.1` ->
`5.2.3`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.2.1/5.2.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-prettier/5.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-prettier/5.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-prettier/5.2.1/5.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-prettier/5.2.1/5.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-react](https://redirect.github.com/jsx-eslint/eslint-plugin-react)
| [`7.37.3` ->
`7.37.4`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.37.3/7.37.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.37.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.37.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.37.3/7.37.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.37.3/7.37.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [highlight.js](https://highlightjs.org/)
([source](https://redirect.github.com/highlightjs/highlight.js)) |
[`11.11.0` ->
`11.11.1`](https://renovatebot.com/diffs/npm/highlight.js/11.11.0/11.11.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/highlight.js/11.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/highlight.js/11.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/highlight.js/11.11.0/11.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/highlight.js/11.11.0/11.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) |
[`15.2.11` ->
`15.4.3`](https://renovatebot.com/diffs/npm/lint-staged/15.2.11/15.4.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.11/15.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.11/15.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.7.2`
-> `5.7.3`](https://renovatebot.com/diffs/npm/typescript/5.7.2/5.7.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.7.2/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.7.2/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>lerna-lite/lerna-lite (@&#8203;lerna-lite/cli)</summary>

###
[`v3.11.0`](https://redirect.github.com/lerna-lite/lerna-lite/blob/HEAD/packages/cli/CHANGELOG.md#3110-2025-01-02)

[Compare
Source](https://redirect.github.com/lerna-lite/lerna-lite/compare/v3.10.1...v3.11.0)

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;966](https://redirect.github.com/lerna-lite/lerna-lite/issues/966))
([956ad09](https://redirect.github.com/lerna-lite/lerna-lite/commit/956ad098754c6869263afb92ec629be1ad968bbc))
- by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot]

</details>

<details>
<summary>ionic-team/stencil (@&#8203;stencil/core)</summary>

###
[`v4.25.1`](https://redirect.github.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4251-2025-01-25)

[Compare
Source](https://redirect.github.com/ionic-team/stencil/compare/v4.25.0...v4.25.1)

##### Bug Fixes

- **dist-custom-elements:** stop duplicate `@stencil/core`
([#&#8203;6109](https://redirect.github.com/ionic-team/stencil/issues/6109))
([dc4c88f](https://redirect.github.com/ionic-team/stencil/commit/dc4c88f998de33c53fb94b73bffb913adf953cf3)),
closes
[#&#8203;6040](https://redirect.github.com/ionic-team/stencil/issues/6040),
closes
[#&#8203;4135](https://redirect.github.com/ionic-team/stencil/issues/4135)
- **runtime:** allow classList to be null
([#&#8203;6118](https://redirect.github.com/ionic-team/stencil/issues/6118))
([749fab9](https://redirect.github.com/ionic-team/stencil/commit/749fab9636d70429f67e61af92f4d932bf475ea5)),
closes
[#&#8203;6117](https://redirect.github.com/ionic-team/stencil/issues/6117)
- **runtime:** fix NotFoundError in addStyle function with referenceNode
parent check
([#&#8203;6107](https://redirect.github.com/ionic-team/stencil/issues/6107))
([26ceed6](https://redirect.github.com/ionic-team/stencil/commit/26ceed69570761ed17c66e4bc38ff9d88ebe819c)),
closes
[#&#8203;6106](https://redirect.github.com/ionic-team/stencil/issues/6106)
- **runtime:** SSR class handling breaks normal class handling
([#&#8203;6116](https://redirect.github.com/ionic-team/stencil/issues/6116))
([1e8a2d2](https://redirect.github.com/ionic-team/stencil/commit/1e8a2d228810d92e3b2b6b271d547087df911ce7)),
closes
[#&#8203;6114](https://redirect.github.com/ionic-team/stencil/issues/6114),
closes
[#&#8203;6115](https://redirect.github.com/ionic-team/stencil/issues/6115)

##### Thanks

🎉# Thanks for
[@&#8203;johnjenkins](https://redirect.github.com/johnjenkins) for their
contributions! 🎉

###
[`v4.25.0`](https://redirect.github.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4250-2025-01-23)

[Compare
Source](https://redirect.github.com/ionic-team/stencil/compare/v4.24.0...v4.25.0)

##### Bug Fixes

- **SSR:** class prop / state reactivity for target es2022
([#&#8203;6099](https://redirect.github.com/ionic-team/stencil/issues/6099))
([07dcfa8](https://redirect.github.com/ionic-team/stencil/commit/07dcfa84e223820046fef2e0eab91c313f26fa81)),
closes
[#&#8203;6095](https://redirect.github.com/ionic-team/stencil/issues/6095)
- **test:** stop re-running prototype augment in spec tests.
([#&#8203;6105](https://redirect.github.com/ionic-team/stencil/issues/6105))
([a7d3873](https://redirect.github.com/ionic-team/stencil/commit/a7d38735a8572303fa2ea7e154e9a9dc3bf7eecb)),
closes
[#&#8203;6104](https://redirect.github.com/ionic-team/stencil/issues/6104)

##### Features

- **mock-doc:** `assignednodes` and `assignedElements`
([#&#8203;6108](https://redirect.github.com/ionic-team/stencil/issues/6108))
([777aafd](https://redirect.github.com/ionic-team/stencil/commit/777aafd57b6b03dc972e0f0bada648bf8af1f42f))
- **runtime:** Add element to component error handler. Enables error
boundaries
([#&#8203;2979](https://redirect.github.com/ionic-team/stencil/issues/2979))
([5605d48](https://redirect.github.com/ionic-team/stencil/commit/5605d48d1c9f42279ab3442b625007edcd7a9e3f))

##### Reverts

- Revert "fix(custom-elements): hydrate on client side
([#&#8203;5317](https://redirect.github.com/ionic-team/stencil/issues/5317))"
([#&#8203;6111](https://redirect.github.com/ionic-team/stencil/issues/6111))
([375fa8b](https://redirect.github.com/ionic-team/stencil/commit/375fa8b8a9bac61afbef5dfd69f4e641bae45533))

###
[`v4.24.0`](https://redirect.github.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4240-2025-01-17)

[Compare
Source](https://redirect.github.com/ionic-team/stencil/compare/v4.23.2...v4.24.0)

##### Bug Fixes

- **runtime:** clean up ancestor nodes on resolve
([#&#8203;6094](https://redirect.github.com/ionic-team/stencil/issues/6094))
([2503dc5](https://redirect.github.com/ionic-team/stencil/commit/2503dc5293479f2fc161cdaee61846dffb4dcea6))
- **testing:** update puppeteer, default to 'new' headless
([#&#8203;6098](https://redirect.github.com/ionic-team/stencil/issues/6098))
([6537869](https://redirect.github.com/ionic-team/stencil/commit/6537869f917449c59e88b8bf57f3dcfdf0f2d077))

##### Features

- **runtime:** `@Prop` / `@State` now work with runtime decorators
([#&#8203;6084](https://redirect.github.com/ionic-team/stencil/issues/6084))
([82fc857](https://redirect.github.com/ionic-team/stencil/commit/82fc857518883cc75b265f2381e36777e8047840))
- **slot-polyfill:** patch insertBefore & slotted node parentNode
([#&#8203;6096](https://redirect.github.com/ionic-team/stencil/issues/6096))
([efb40d5](https://redirect.github.com/ionic-team/stencil/commit/efb40d598d3c5e5d4ae58780e03ea0ae9816b211)),
closes
[#&#8203;6043](https://redirect.github.com/ionic-team/stencil/issues/6043)

##### Thanks

🎉# Thanks for
[@&#8203;johnjenkins](https://redirect.github.com/johnjenkins) for their
contributions! 🎉

#### 🌮
[4.23.2](https://redirect.github.com/ionic-team/stencil/compare/v4.23.1...v4.23.2)
(2025-01-10)

##### Bug Fixes

- **runtime:** clear up rootAppliedStyles
([#&#8203;6087](https://redirect.github.com/ionic-team/stencil/issues/6087))
([c4a9c9e](https://redirect.github.com/ionic-team/stencil/commit/c4a9c9e7bd168d6e0e6b6d83ad338c0179c1e731)),
refs
[@&#8203;ionic-team/ionic-framework#28189](https://redirect.github.com/ionic-team/ionic-framework/issues/28189),
closes
[#&#8203;5181](https://redirect.github.com/ionic-team/stencil/issues/5181),
closes
[#&#8203;5172](https://redirect.github.com/ionic-team/stencil/issues/5172),
closes
[#&#8203;3607](https://redirect.github.com/ionic-team/stencil/issues/3607),
closes
[#&#8203;3158](https://redirect.github.com/ionic-team/stencil/issues/3158)

#### 🌯
[4.23.1](https://redirect.github.com/ionic-team/stencil/compare/v4.23.0...v4.23.1)
(2025-01-06)

##### Bug Fixes

- correctly handle svg class attribute within `parseClassList`
([#&#8203;6085](https://redirect.github.com/ionic-team/stencil/issues/6085))
([5d29255](https://redirect.github.com/ionic-team/stencil/commit/5d2925593410fc53ef2fc989c3d33ceb4cf9b503))
- **mock-doc:** don't force template tags to have a shadowroot
([#&#8203;6078](https://redirect.github.com/ionic-team/stencil/issues/6078))
([b63039f](https://redirect.github.com/ionic-team/stencil/commit/b63039f10c2c4e01114e2d11bc29b60ba1e486d9))
- runtime decorators
([#&#8203;6076](https://redirect.github.com/ionic-team/stencil/issues/6076))
([9e6483a](https://redirect.github.com/ionic-team/stencil/commit/9e6483a3f41718c46f13cdc1528c8138110688d0)),
closes
[#&#8203;3831](https://redirect.github.com/ionic-team/stencil/issues/3831)
- **scoped:** fixes for `<slot />` and slotted nodes
([#&#8203;6082](https://redirect.github.com/ionic-team/stencil/issues/6082))
([13ee704](https://redirect.github.com/ionic-team/stencil/commit/13ee7049d3e30ee17135965ad7e2c6172e637c09)),
closes
[#&#8203;6080](https://redirect.github.com/ionic-team/stencil/issues/6080),
[#&#8203;6081](https://redirect.github.com/ionic-team/stencil/issues/6081)
and
[#&#8203;6088](https://redirect.github.com/ionic-team/stencil/issues/6088)
- **SSR:** patch `scoped: true` SSR-ed, slotted nodes next/prev sibling
accessors
([#&#8203;6057](https://redirect.github.com/ionic-team/stencil/issues/6057))
([af102ce](https://redirect.github.com/ionic-team/stencil/commit/af102ce8c7faaf1f999c09faefb4aeb55145dade)),
closes
[#&#8203;6056](https://redirect.github.com/ionic-team/stencil/issues/6056)

###
[`v4.23.2`](https://redirect.github.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4232-2025-01-10)

[Compare
Source](https://redirect.github.com/ionic-team/stencil/compare/v4.23.1...v4.23.2)

##### Bug Fixes

- **runtime:** clear up rootAppliedStyles
([#&#8203;6087](https://redirect.github.com/ionic-team/stencil/issues/6087))
([c4a9c9e](https://redirect.github.com/ionic-team/stencil/commit/c4a9c9e7bd168d6e0e6b6d83ad338c0179c1e731)),
refs
[@&#8203;ionic-team/ionic-framework#28189](https://redirect.github.com/ionic-team/ionic-framework/issues/28189),
closes
[#&#8203;5181](https://redirect.github.com/ionic-team/stencil/issues/5181),
closes
[#&#8203;5172](https://redirect.github.com/ionic-team/stencil/issues/5172),
closes
[#&#8203;3607](https://redirect.github.com/ionic-team/stencil/issues/3607),
closes
[#&#8203;3158](https://redirect.github.com/ionic-team/stencil/issues/3158)

###
[`v4.23.1`](https://redirect.github.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4231-2025-01-06)

[Compare
Source](https://redirect.github.com/ionic-team/stencil/compare/v4.23.0...v4.23.1)

##### Bug Fixes

- correctly handle svg class attribute within `parseClassList`
([#&#8203;6085](https://redirect.github.com/ionic-team/stencil/issues/6085))
([5d29255](https://redirect.github.com/ionic-team/stencil/commit/5d2925593410fc53ef2fc989c3d33ceb4cf9b503))
- **mock-doc:** don't force template tags to have a shadowroot
([#&#8203;6078](https://redirect.github.com/ionic-team/stencil/issues/6078))
([b63039f](https://redirect.github.com/ionic-team/stencil/commit/b63039f10c2c4e01114e2d11bc29b60ba1e486d9))
- runtime decorators
([#&#8203;6076](https://redirect.github.com/ionic-team/stencil/issues/6076))
([9e6483a](https://redirect.github.com/ionic-team/stencil/commit/9e6483a3f41718c46f13cdc1528c8138110688d0)),
closes
[#&#8203;3831](https://redirect.github.com/ionic-team/stencil/issues/3831)
- **scoped:** fixes for `<slot />` and slotted nodes
([#&#8203;6082](https://redirect.github.com/ionic-team/stencil/issues/6082))
([13ee704](https://redirect.github.com/ionic-team/stencil/commit/13ee7049d3e30ee17135965ad7e2c6172e637c09)),
closes
[#&#8203;6080](https://redirect.github.com/ionic-team/stencil/issues/6080),
[#&#8203;6081](https://redirect.github.com/ionic-team/stencil/issues/6081)
and
[#&#8203;6088](https://redirect.github.com/ionic-team/stencil/issues/6088)
- **SSR:** patch `scoped: true` SSR-ed, slotted nodes next/prev sibling
accessors
([#&#8203;6057](https://redirect.github.com/ionic-team/stencil/issues/6057))
([af102ce](https://redirect.github.com/ionic-team/stencil/commit/af102ce8c7faaf1f999c09faefb4aeb55145dade)),
closes
[#&#8203;6056](https://redirect.github.com/ionic-team/stencil/issues/6056)

</details>

<details>
<summary>ionic-team/stencil-ds-output-targets
(@&#8203;stencil/react-output-target)</summary>

###
[`v0.8.2`](https://redirect.github.com/ionic-team/stencil-ds-output-targets/releases/tag/v0.8.2)

[Compare
Source](https://redirect.github.com/ionic-team/stencil-ds-output-targets/compare/v0.8.1...v0.8.2)

#### What's Changed

- fix(vue): apply vue component name to wrapper by
[@&#8203;sean-perkins](https://redirect.github.com/sean-perkins) &
[@&#8203;liamdebeasi](https://redirect.github.com/liamdebeasi) in
[https://github.com/ionic-team/stencil-ds-output-targets/pull/257](https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/257)

**Full Changelog**:
stenciljs/output-targets@v0.8.1...v0.8.2

</details>

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

###
[`v8.22.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8220-2025-01-27)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.21.0...v8.22.0)

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-template-expression] handle
template literal type
([#&#8203;10612](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10612))
- **eslint-plugin:** \[prefer-readonly] autofixer doesn't add type to
property that is mutated in the constructor
([#&#8203;10552](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10552))
- **eslint-plugin:** \[no-extraneous-class] handle accessor keyword
([#&#8203;10678](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10678))
- **eslint-plugin:** \[no-shadow] don't report unnecessarily on valid
ways of using module augmentation
([#&#8203;10616](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10616))
- **eslint-plugin:** \[no-duplicate-type-constituents] handle nested
types
([#&#8203;10638](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10638))
- **eslint-plugin:** \[prefer-nullish-coalescing] doesn't report on
ternary but on equivalent ||
([#&#8203;10517](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10517))

##### ❤️ Thank You

-   mdm317
- Olivier Zalmanski
[@&#8203;OlivierZal](https://redirect.github.com/OlivierZal)
-   Ronen Amiel
-   YeonJuan [@&#8203;yeonjuan](https://redirect.github.com/yeonjuan)

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

###
[`v8.21.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8210-2025-01-20)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.20.0...v8.21.0)

##### 🩹 Fixes

- **eslint-plugin:** \[no-duplicate-enum-values] handle template literal
([#&#8203;10675](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10675))
- **eslint-plugin:** \[no-base-to-string] don't crash for recursive
array or tuple types
([#&#8203;10633](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10633))
- **eslint-plugin:** \[no-for-in-array] report on any type which may be
an array or array-like
([#&#8203;10535](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10535))
- **eslint-plugin:** check JSX spread elements for misused spread usage
([#&#8203;10653](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10653))
- **eslint-plugin:** \[no-unnecessary-type-arguments] handle type args
on jsx
([#&#8203;10630](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10630))

##### ❤️ Thank You

-   Ronen Amiel
-   YeonJuan [@&#8203;yeonjuan](https://redirect.github.com/yeonjuan)

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

###
[`v8.20.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8200-2025-01-13)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.1...v8.20.0)

##### 🚀 Features

- **eslint-plugin:** \[consistent-type-assertions] add
arrayLiteralTypeAssertions options
([#&#8203;10565](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10565))
- **eslint-plugin:** \[no-deprecated] add allow options
([#&#8203;10585](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10585))
- **eslint-plugin:** \[no-misused-spread] add new rule
([#&#8203;10551](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10551))

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-condition] don't flag optional
chaining for union types with an unconstrained type parameters
([#&#8203;10602](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10602))
- **eslint-plugin:** \[no-shadow] ignore ordering of type declarations
([#&#8203;10593](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10593))

##### ❤️ Thank You

-   Josh Goldberg ✨
-   Ronen Amiel
-   YeonJuan [@&#8203;yeonjuan](https://redirect.github.com/yeonjuan)

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

###
[`v8.19.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8191-2025-01-06)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.0...v8.19.1)

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-type-assertion] handle literal
types
([#&#8203;10523](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10523))
- **eslint-plugin:** \[no-deprecated] doesn't report on shorthand
property in an object expression
([#&#8203;10550](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10550))
- **eslint-plugin:** \[strict-boolean-expressions] remove remaining
(unsafe) autofixes
([#&#8203;10548](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10548))
- **eslint-plugin:** \[no-shadow] report correctly on parameters of
functions declared with the `declare` keyword
([#&#8203;10543](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10543))
- **eslint-plugin:** \[no-base-to-string] check array generic type
([#&#8203;10437](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10437))

##### ❤️ Thank You

-   Kirk Waiblinger
-   mdm317
-   Ronen Amiel
- Yukihiro Hasegawa [@&#8203;y-hsgw](https://redirect.github.com/y-hsgw)

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

###
[`v8.19.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8190-2024-12-30)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.2...v8.19.0)

##### 🚀 Features

- **eslint-plugin:** \[strict-boolean-expressions] check array predicate
functions' return statements
([#&#8203;10106](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10106))

##### 🩹 Fixes

- **eslint-plugin:** \[member-ordering] ignore method overloading
([#&#8203;10536](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10536))
- **eslint-plugin:** \[consistent-indexed-object-style] don't report on
indirect circular references
([#&#8203;10537](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10537))
- **eslint-plugin:** \[array-type] autofix with conditional types needs
parentheses
([#&#8203;10522](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10522))
- **eslint-plugin:** add getConstraintInfo to handle generic constraints
better
([#&#8203;10496](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10496))

##### ❤️ Thank You

-   Karl Werner
- Kirk Waiblinger
[@&#8203;kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
-   Ronen Amiel
-   YeonJuan [@&#8203;yeonjuan](https://redirect.github.com/yeonjuan)

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

</details>

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

###
[`v8.22.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8220-2025-01-27)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.21.0...v8.22.0)

##### 🚀 Features

- **parser:** add standalone isolatedDeclarations option
([#&#8203;10499](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10499))

##### ❤️ Thank You

-   Josh Goldberg ✨

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

###
[`v8.21.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8210-2025-01-20)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.20.0...v8.21.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://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v8.20.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8200-2025-01-13)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.1...v8.20.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://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v8.19.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8191-2025-01-06)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.0...v8.19.1)

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://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v8.19.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8190-2024-12-30)

[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.2...v8.19.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://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

###
[`v9.19.0`](https://redirect.github.com/eslint/eslint/compare/v9.18.0...208e0b199f5d5f9dd173e58e3f5db19c1f0c38ed)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.18.0...v9.19.0)

###
[`v9.18.0`](https://redirect.github.com/eslint/eslint/compare/v9.17.0...1c87b415313b4aacda496b3b26efc4e0b93dc13a)

[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.17.0...v9.18.0)

</details>

<details>
<summary>prettier/eslint-plugin-prettier
(eslint-plugin-prettier)</summary>

###
[`v5.2.3`](https://redirect.github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#523)

[Compare
Source](https://redirect.github.com/prettier/eslint-plugin-prettier/compare/v5.2.2...v5.2.3)

##### Patch Changes

-
[#&#8203;703](https://redirect.github.com/prettier/eslint-plugin-prettier/pull/703)
[`9c6141f`](https://redirect.github.com/prettier/eslint-plugin-prettier/commit/9c6141f2436de0bf379bef91b30fe1b0bc737cf2)
Thanks [@&#8203;BPScott](https://redirect.github.com/BPScott)! - Add
name field to recommended flat config

###
[`v5.2.2`](https://redirect.github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#522)

[Compare
Source](https://redirect.github.com/prettier/eslint-plugin-prettier/compare/v5.2.1...v5.2.2)

##### Patch Changes

-
[#&#8203;700](https://redirect.github.com/prettier/eslint-plugin-prettier/pull/700)
[`aa5b59f`](https://redirect.github.com/prettier/eslint-plugin-prettier/commit/aa5b59f7d98431bdb9559d079619065f812a2420)
Thanks [@&#8203;ntnyq](https://redirect.github.com/ntnyq)! - fix: report
node when loc not found

</details>

<details>
<summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary>

###
[`v7.37.4`](https://redirect.github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7374---20250112)

[Compare
Source](https://redirect.github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.3...v7.37.4)

##### Fixed

- \[`no-unknown-property`]: support `onBeforeToggle`, `popoverTarget`,
`popoverTargetAction` attributes ([#&#8203;3865][]
[@&#8203;acusti](https://redirect.github.com/acusti))
- \[types] fix types of flat configs ([#&#8203;3874][]
[@&#8203;ljharb](https://redirect.github.com/ljharb))

[7.37.4]:
https://redirect.github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.3...v7.37.4

[#&#8203;3874]:
https://redirect.github.com/jsx-eslint/eslint-plugin-react/pull/3874

[#&#8203;3865]:
https://redirect.github.com/jsx-eslint/eslint-plugin-react/pull/3865

</details>

<details>
<summary>highlightjs/highlight.js (highlight.js)</summary>

###
[`v11.11.1`](https://redirect.github.com/highlightjs/highlight.js/blob/HEAD/CHANGES.md#Version-11111)

[Compare
Source](https://redirect.github.com/highlightjs/highlight.js/compare/11.11.0...11.11.1)

-   Fixes regression with Rust grammar.

</details>

<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>

###
[`v15.4.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1543)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.2...v15.4.3)

##### Patch Changes

-
[#&#8203;1512](https://redirect.github.com/lint-staged/lint-staged/pull/1512)
[`cbfed1d`](https://redirect.github.com/lint-staged/lint-staged/commit/cbfed1dfd2465c4198c692955281f0836600bea1)
Thanks [@&#8203;tarik02](https://redirect.github.com/tarik02)! - Adjust
TypeScript types for the default export so that it can be used as a
value without error TS2693.

###
[`v15.4.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1542)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.1...v15.4.2)

##### Patch Changes

-
[#&#8203;1509](https://redirect.github.com/lint-staged/lint-staged/pull/1509)
[`8827ebf`](https://redirect.github.com/lint-staged/lint-staged/commit/8827ebf29dc8f25149a36450b4a0023425202e18)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Change
*lint-staged*'s dependencies to use [caret (`^`)
ranges](https://docs.npmjs.com/cli/v6/using-npm/semver#caret-ranges-123-025-004)
instead of [tilde
(`~`)](https://docs.npmjs.com/cli/v6/using-npm/semver#tilde-ranges-123-12-1).
This makes it easier for package managers to perform dependency
management when minor-level updates are also permitted instead of just
patch-level.

###
[`v15.4.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1541)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.0...v15.4.1)

##### Patch Changes

-
[#&#8203;1504](https://redirect.github.com/lint-staged/lint-staged/pull/1504)
[`1c7a45e`](https://redirect.github.com/lint-staged/lint-staged/commit/1c7a45ed2c7fee9d5f55337be16a51e4c9b240e1)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Default
TypeScript config filenames match JS equivalents.

-
[#&#8203;1504](https://redirect.github.com/lint-staged/lint-staged/pull/1504)
[`9cc18c9`](https://redirect.github.com/lint-staged/lint-staged/commit/9cc18c9debb185490f9ae4f9c1d21ec8c2587393)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Add missing
conditional exports syntax for TypeScript types.

###
[`v15.4.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1540)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.3.0...v15.4.0)

##### Minor Changes

-
[#&#8203;1500](https://redirect.github.com/lint-staged/lint-staged/pull/1500)
[`a8ec1dd`](https://redirect.github.com/lint-staged/lint-staged/commit/a8ec1ddb587d2c1c2420dbb4baff8160f0ac46c9)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* now provides TypeScript types for the configuration and
main Node.js API. You can use the JSDoc syntax in your JS configuration
files:

    ```js
    /**
     * @&#8203;filename: lint-staged.config.js
     * @&#8203;type {import('lint-staged').Configuration}
     */
    export default {
      '*': 'prettier --write',
    }
    ```

It's also possible to use the `.ts` file extension for the configuration
if your Node.js version supports it. The `--experimental-strip-types`
flag was introduced in [Node.js
v22.6.0](https://redirect.github.com/nodejs/node/releases/tag/v22.6.0)
and unflagged in
[v23.6.0](https://redirect.github.com/nodejs/node/releases/tag/v23.6.0),
enabling Node.js to execute TypeScript files without additional
configuration.

    ```shell
    export NODE_OPTIONS="--experimental-strip-types"

    npx lint-staged --config lint-staged.config.ts
    ```

##### Patch Changes

-
[#&#8203;1501](https://redirect.github.com/lint-staged/lint-staged/pull/1501)
[`9b79364`](https://redirect.github.com/lint-staged/lint-staged/commit/9b793640e1f87b46e4f40fcfc1ecf9d6f6013ac9)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Handle
possible failures when logging user shell for debug info.

###
[`v15.3.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1530)

[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.11...v15.3.0)

##### Minor Changes

-
[#&#8203;1495](https://redirect.github.com/lint-staged/lint-staged/pull/1495)
[`e69da9e`](https://redirect.github.com/lint-staged/lint-staged/commit/e69da9e614db2d45f56e113d45d5ec0157813423)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Added more
info to the debug logs so that "environment" info doesn't need to be
added separately to GitHub issues.

-
[#&#8203;1493](https://redirect.github.com/lint-staged/lint-staged/pull/1493)
[`fa0fe98`](https://redirect.github.com/lint-staged/lint-staged/commit/fa0fe98104f8885f673b98b8b49ae586de699c5e)
Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Added more
help messages around the automatic `git stash` that *lint-staged*
creates as a backup (by default). The console output also displays the
short git *hash* of the stash so that it's easier to recover lost files
in case some fatal errors are encountered, or the process is killed
before completing.

    For example:

        % npx lint-staged
        ✔ Backed up original state in git stash (20addf8)
        ✔ Running tasks for staged files...
        ✔ Applying modifications from tasks...
        ✔ Cleaning up temporary files...

where the backup can be seen with `git show 20addf8`, or `git stash
list`:

        % git stash list
        stash@{0}: lint-staged automatic backup (20addf8)

</details>

<details>
<summary>microsoft/TypeScript (typescript)</summary>

###
[`v5.7.3`](https://redirect.github.com/microsoft/TypeScript/compare/v5.7.2...a5e123d9e0690fcea92878ea8a0a382922009fc9)

[Compare
Source](https://redirect.github.com/microsoft/TypeScript/compare/v5.7.2...v5.7.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Aiko-IT-Systems/Discord-React-Components).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTI1LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: external Bugs in non-Ionic software that impact Ionic apps (I.e. WebKit, Angular, Android etc)
Projects
None yet
Development

No branches or pull requests

4 participants