-
-
Notifications
You must be signed in to change notification settings - Fork 53
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
fix: performance issue with o(n^2) complexity of directoryExists() #66
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Akryum
changed the title
fix: performance issue with o2 complexity of directoryExists()
fix: performance issue with o(n^2) complexity of directoryExists()
Oct 4, 2023
With caching comes the obvious potential negative side effect of cache getting stale and resulting in incorrect behavior. Would that be a concern here? (I'm asking because I'm not that familiar with the code) |
LGTM, thanks for investigating! @rchl It's fine because |
renovate bot
referenced
this pull request
in slipmatio/logger
Oct 9, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`20.7.2` -> `20.8.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.7.2/20.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.7.2/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.7.2/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.3.4` -> `4.4.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://github.com/capricorn86/happy-dom) | [`12.2.1` -> `12.9.0`](https://renovatebot.com/diffs/npm/happy-dom/12.2.1/12.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/12.2.1/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/12.2.1/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://github.com/vitejs/vite/tree/main/#readme) ([source](https://github.com/vitejs/vite)) | [`4.4.9` -> `4.4.11`](https://renovatebot.com/diffs/npm/vite/4.4.9/4.4.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://github.com/vuejs/language-tools) | [`1.8.15` -> `1.8.16`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.15/1.8.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.15/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.15/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary> ### [`v4.4.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#440-2023-10-02) - fix(plugin-vue): re-create filters after updating options ([#​246](https://github.com/vitejs/vite-plugin-vue/issues/246)) ([c383503](https://github.com/vitejs/vite-plugin-vue/commit/c383503)), closes [#​246](https://github.com/vitejs/vite-plugin-vue/issues/246) - feat: support generated JS imports for external scoped style ([#​196](https://github.com/vitejs/vite-plugin-vue/issues/196)) ([bd5055d](https://github.com/vitejs/vite-plugin-vue/commit/bd5055d)), closes [#​196](https://github.com/vitejs/vite-plugin-vue/issues/196) - chore: add `@ts-ignore` when accessing `legacy?.buildSsrCjsExternalHeuristics` ([#​255](https://github.com/vitejs/vite-plugin-vue/issues/255)) ([04c3b0b](https://github.com/vitejs/vite-plugin-vue/commit/04c3b0b)), closes [#​255](https://github.com/vitejs/vite-plugin-vue/issues/255) - refactor(plugin-vue): deprecate reactivity transform ([38f8ea5](https://github.com/vitejs/vite-plugin-vue/commit/38f8ea5)) - refactor(plugin-vue): use source-map-js ([#​247](https://github.com/vitejs/vite-plugin-vue/issues/247)) ([b43690d](https://github.com/vitejs/vite-plugin-vue/commit/b43690d)), closes [#​247](https://github.com/vitejs/vite-plugin-vue/issues/247) </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v12.9.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.9.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.1...v12.9.0) ##### 🎨 Features - Improves performance of the async task manager. This will improve performance of timers in general as they have less logic executed related to the async task manager. ([#​1114](https://github.com/capricorn86/happy-dom/issues/1114)) ### [`v12.8.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.0...v12.8.1) ##### 👷♂️ Patch fixes - Adds missing second parameter in callbacks from `MutationObserver`. ([#​1113](https://github.com/capricorn86/happy-dom/issues/1113)) *** Thank you [@​wojtekmaj](https://github.com/wojtekmaj) for your contribution! ### [`v12.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.7.0...v12.8.0) ##### 🎨 Features - Adds support for `Clipboard`, `ClipboardItem`, `Permissions` and `PermissionStatus`, which are used by the `Window.navigator.clipboard` and `Window.navigator.permissions` properties. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds support for `ClipboardEvent`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Improves support for `DataTransfer`, `DataTransferItemList` and `DataTransferItem`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds `MutationRecord` class to `Window` as a property. ([#​1112](https://github.com/capricorn86/happy-dom/issues/1112)) ##### 👷♂️ Patch fixes - Restores `HTMLInputElement.checked` state when `Event.preventDefault()` is called on a dispatched "click" event. ### [`v12.7.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.7.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.6.0...v12.7.0) ##### 🎨 Features - Adds support for `Element.scrollWidth`. ([#​1109](https://github.com/capricorn86/happy-dom/issues/1109)) ### [`v12.6.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.6.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.1...v12.6.0) ##### 🎨 Features - Adds support for dispatching a click event on the control element when clicking on a label. ([#​1023](https://github.com/capricorn86/happy-dom/issues/1023)) ### [`v12.5.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.0...v12.5.1) ##### 🎨 Features - Adds support for `DocumentFragment` as a constructor (e.g. `new DocumentFragment()`). ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ##### 👷♂️ Patch fixes - Fixes issue related to `ownerDocument` being null when executing `ownerDocument.createElement()` in React 18. The error occurred when rendering a Radix UI component. The root cause was that React 18 uses `DocumentFragment` as a constructor which was not supported. ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ### [`v12.5.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.4.0...v12.5.0) ##### 🎨 Features - Add `FocusEvent.relatedTarget` to blur and focus events. ([#​1094](https://github.com/capricorn86/happy-dom/issues/1094)) *** Thank you [@​artursvonda](https://github.com/artursvonda) for your contribution! ### [`v12.4.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.4.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.3.0...v12.4.0) ##### 🎨 Features - Add support for `Document.currentScript`. ([#​1099](https://github.com/capricorn86/happy-dom/issues/1099)) *** Thank you [@​ckhampus](https://github.com/ckhampus) for your contribution! ### [`v12.3.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.3.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.2...v12.3.0) ##### 🎨 Features - Uses `vm.Script` for setting globals instead of a string to improve performance. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ##### 👷♂️ Patch fixes - Improves logic in `Window.happyDOM.whenAsyncComplete()`. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ### [`v12.2.2`](https://github.com/capricorn86/happy-dom/releases/tag/v12.2.2) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.1...v12.2.2) ##### 👷♂️ Patch fixes - Makes `PointerEvent` implementation more specification compliant. ([#​1092](https://github.com/capricorn86/happy-dom/issues/1092)) *** Thank you [@​tkrotoff](https://github.com/tkrotoff) for your contribution! </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v4.4.11`](https://github.com/vitejs/vite/releases/tag/v4.4.11) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.10...v4.4.11) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.11/packages/vite/CHANGELOG.md) for details. ### [`v4.4.10`](https://github.com/vitejs/vite/releases/tag/v4.4.10) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.9...v4.4.10) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.10/packages/vite/CHANGELOG.md) for details. </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v1.8.16`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1816-2023107) [Compare Source](https://github.com/vuejs/language-tools/compare/v1.8.15...f9e281db3f47f9a3f94c79dbbf81102cba01eb5d) - fix: merge default export's properties properly ([#​3600](https://github.com/vuejs/language-tools/issues/3600)) - thanks [@​so1ve](https://github.com/so1ve) - fix: accurate exposed type with refs in generic component ([#​3604](https://github.com/vuejs/language-tools/issues/3604)) - thanks [@​so1ve](https://github.com/so1ve) - fix: make emits type correct when user assigns emit function a custom name ([#​3624](https://github.com/vuejs/language-tools/issues/3624)) - thanks [@​so1ve](https://github.com/so1ve) ##### Volar.js 1.10.3 updates: - fix: performance issue with o(n^2) complexity of `directoryExists()` ([https://github.com/volarjs/volar.js/issues/66](https://github.com/volarjs/volar.js/issues/66)) - thanks [@​Akryum](https://github.com/Akryum) - fix: directory named "constructor" could crash ([https://github.com/volarjs/volar.js/issues/65](https://github.com/volarjs/volar.js/issues/65)) - thanks [@​Dmitrigar](https://github.com/Dmitrigar), [@​franz-bendezu](https://github.com/franz-bendezu) ##### Full-time Support by <table> <tbody> <tr> <td> <a href="https://stackblitz.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/StackBlitz.png" height="80" /></a> </td> <td><h4><a href="https://blog.stackblitz.com/posts/webcontainer-api-is-here/">WebContainer API is here.</a></h4></td> </tr> </tbody> </table> ##### Our Platinum Sponsors <table> <tbody> <tr> <td> <a href="https://nuxt.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/nuxt.svg" height="60" /></a> </td> <td>The Intuitive Web Framework</td> </tr> <tr> <td> <a href="https://vuejs.org/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/vue.png" height="80" /></a> </td> <td>The Progressive JavaScript Framework</td> </tr> </tbody> </table> ##### Our Silver Sponsors <table> <tbody> <tr> <td> <p align="center"> <a href="https://www.prefect.io/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/prefect.svg" height="40" /></a> </p> </td> </tr> </tbody> </table> <h5> Add you via <a href="https://github.com/sponsors/johnsoncodehk">GitHub Sponsors</a> or <a href="https://opencollective.com/volarjs">Open Collective</a> </h5> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/logger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot
referenced
this pull request
in slipmatio/toolbelt
Oct 9, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`20.7.2` -> `20.8.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.7.2/20.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.7.2/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.7.2/20.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.3.4` -> `4.4.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://github.com/capricorn86/happy-dom) | [`12.2.1` -> `12.9.0`](https://renovatebot.com/diffs/npm/happy-dom/12.2.1/12.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/12.2.1/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/12.2.1/12.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://github.com/vitejs/vite/tree/main/#readme) ([source](https://github.com/vitejs/vite)) | [`4.4.9` -> `4.4.11`](https://renovatebot.com/diffs/npm/vite/4.4.9/4.4.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://github.com/vuejs/language-tools) | [`1.8.15` -> `1.8.16`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.15/1.8.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.15/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.15/1.8.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary> ### [`v4.4.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#440-2023-10-02) - fix(plugin-vue): re-create filters after updating options ([#​246](https://github.com/vitejs/vite-plugin-vue/issues/246)) ([c383503](https://github.com/vitejs/vite-plugin-vue/commit/c383503)), closes [#​246](https://github.com/vitejs/vite-plugin-vue/issues/246) - feat: support generated JS imports for external scoped style ([#​196](https://github.com/vitejs/vite-plugin-vue/issues/196)) ([bd5055d](https://github.com/vitejs/vite-plugin-vue/commit/bd5055d)), closes [#​196](https://github.com/vitejs/vite-plugin-vue/issues/196) - chore: add `@ts-ignore` when accessing `legacy?.buildSsrCjsExternalHeuristics` ([#​255](https://github.com/vitejs/vite-plugin-vue/issues/255)) ([04c3b0b](https://github.com/vitejs/vite-plugin-vue/commit/04c3b0b)), closes [#​255](https://github.com/vitejs/vite-plugin-vue/issues/255) - refactor(plugin-vue): deprecate reactivity transform ([38f8ea5](https://github.com/vitejs/vite-plugin-vue/commit/38f8ea5)) - refactor(plugin-vue): use source-map-js ([#​247](https://github.com/vitejs/vite-plugin-vue/issues/247)) ([b43690d](https://github.com/vitejs/vite-plugin-vue/commit/b43690d)), closes [#​247](https://github.com/vitejs/vite-plugin-vue/issues/247) </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v12.9.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.9.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.1...v12.9.0) ##### 🎨 Features - Improves performance of the async task manager. This will improve performance of timers in general as they have less logic executed related to the async task manager. ([#​1114](https://github.com/capricorn86/happy-dom/issues/1114)) ### [`v12.8.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.0...v12.8.1) ##### 👷♂️ Patch fixes - Adds missing second parameter in callbacks from `MutationObserver`. ([#​1113](https://github.com/capricorn86/happy-dom/issues/1113)) *** Thank you [@​wojtekmaj](https://github.com/wojtekmaj) for your contribution! ### [`v12.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.7.0...v12.8.0) ##### 🎨 Features - Adds support for `Clipboard`, `ClipboardItem`, `Permissions` and `PermissionStatus`, which are used by the `Window.navigator.clipboard` and `Window.navigator.permissions` properties. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds support for `ClipboardEvent`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Improves support for `DataTransfer`, `DataTransferItemList` and `DataTransferItem`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds `MutationRecord` class to `Window` as a property. ([#​1112](https://github.com/capricorn86/happy-dom/issues/1112)) ##### 👷♂️ Patch fixes - Restores `HTMLInputElement.checked` state when `Event.preventDefault()` is called on a dispatched "click" event. ### [`v12.7.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.7.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.6.0...v12.7.0) ##### 🎨 Features - Adds support for `Element.scrollWidth`. ([#​1109](https://github.com/capricorn86/happy-dom/issues/1109)) ### [`v12.6.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.6.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.1...v12.6.0) ##### 🎨 Features - Adds support for dispatching a click event on the control element when clicking on a label. ([#​1023](https://github.com/capricorn86/happy-dom/issues/1023)) ### [`v12.5.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.0...v12.5.1) ##### 🎨 Features - Adds support for `DocumentFragment` as a constructor (e.g. `new DocumentFragment()`). ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ##### 👷♂️ Patch fixes - Fixes issue related to `ownerDocument` being null when executing `ownerDocument.createElement()` in React 18. The error occurred when rendering a Radix UI component. The root cause was that React 18 uses `DocumentFragment` as a constructor which was not supported. ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ### [`v12.5.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.4.0...v12.5.0) ##### 🎨 Features - Add `FocusEvent.relatedTarget` to blur and focus events. ([#​1094](https://github.com/capricorn86/happy-dom/issues/1094)) *** Thank you [@​artursvonda](https://github.com/artursvonda) for your contribution! ### [`v12.4.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.4.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.3.0...v12.4.0) ##### 🎨 Features - Add support for `Document.currentScript`. ([#​1099](https://github.com/capricorn86/happy-dom/issues/1099)) *** Thank you [@​ckhampus](https://github.com/ckhampus) for your contribution! ### [`v12.3.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.3.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.2...v12.3.0) ##### 🎨 Features - Uses `vm.Script` for setting globals instead of a string to improve performance. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ##### 👷♂️ Patch fixes - Improves logic in `Window.happyDOM.whenAsyncComplete()`. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ### [`v12.2.2`](https://github.com/capricorn86/happy-dom/releases/tag/v12.2.2) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.1...v12.2.2) ##### 👷♂️ Patch fixes - Makes `PointerEvent` implementation more specification compliant. ([#​1092](https://github.com/capricorn86/happy-dom/issues/1092)) *** Thank you [@​tkrotoff](https://github.com/tkrotoff) for your contribution! </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v4.4.11`](https://github.com/vitejs/vite/releases/tag/v4.4.11) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.10...v4.4.11) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.11/packages/vite/CHANGELOG.md) for details. ### [`v4.4.10`](https://github.com/vitejs/vite/releases/tag/v4.4.10) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.9...v4.4.10) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.10/packages/vite/CHANGELOG.md) for details. </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v1.8.16`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1816-2023107) [Compare Source](https://github.com/vuejs/language-tools/compare/v1.8.15...f9e281db3f47f9a3f94c79dbbf81102cba01eb5d) - fix: merge default export's properties properly ([#​3600](https://github.com/vuejs/language-tools/issues/3600)) - thanks [@​so1ve](https://github.com/so1ve) - fix: accurate exposed type with refs in generic component ([#​3604](https://github.com/vuejs/language-tools/issues/3604)) - thanks [@​so1ve](https://github.com/so1ve) - fix: make emits type correct when user assigns emit function a custom name ([#​3624](https://github.com/vuejs/language-tools/issues/3624)) - thanks [@​so1ve](https://github.com/so1ve) ##### Volar.js 1.10.3 updates: - fix: performance issue with o(n^2) complexity of `directoryExists()` ([https://github.com/volarjs/volar.js/issues/66](https://github.com/volarjs/volar.js/issues/66)) - thanks [@​Akryum](https://github.com/Akryum) - fix: directory named "constructor" could crash ([https://github.com/volarjs/volar.js/issues/65](https://github.com/volarjs/volar.js/issues/65)) - thanks [@​Dmitrigar](https://github.com/Dmitrigar), [@​franz-bendezu](https://github.com/franz-bendezu) ##### Full-time Support by <table> <tbody> <tr> <td> <a href="https://stackblitz.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/StackBlitz.png" height="80" /></a> </td> <td><h4><a href="https://blog.stackblitz.com/posts/webcontainer-api-is-here/">WebContainer API is here.</a></h4></td> </tr> </tbody> </table> ##### Our Platinum Sponsors <table> <tbody> <tr> <td> <a href="https://nuxt.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/nuxt.svg" height="60" /></a> </td> <td>The Intuitive Web Framework</td> </tr> <tr> <td> <a href="https://vuejs.org/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/vue.png" height="80" /></a> </td> <td>The Progressive JavaScript Framework</td> </tr> </tbody> </table> ##### Our Silver Sponsors <table> <tbody> <tr> <td> <p align="center"> <a href="https://www.prefect.io/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/prefect.svg" height="40" /></a> </p> </td> </tr> </tbody> </table> <h5> Add you via <a href="https://github.com/sponsors/johnsoncodehk">GitHub Sponsors</a> or <a href="https://opencollective.com/volarjs">Open Collective</a> </h5> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/toolbelt). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot
referenced
this pull request
in slipmatio/ui
Oct 16, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://github.com/microsoft/playwright)) | [`1.38.1` -> `1.39.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.38.1/1.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.38.1/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.38.1/1.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`20.7.2` -> `20.8.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.7.2/20.8.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.7.2/20.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.7.2/20.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://github.com/vitejs/vite-plugin-vue)) | [`4.3.4` -> `4.4.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.3.4/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://github.com/capricorn86/happy-dom) | [`12.2.1` -> `12.9.1`](https://renovatebot.com/diffs/npm/happy-dom/12.2.1/12.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/12.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/12.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/12.2.1/12.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/12.2.1/12.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://github.com/vitejs/vite/tree/main/#readme) ([source](https://github.com/vitejs/vite)) | [`4.4.9` -> `4.4.11`](https://renovatebot.com/diffs/npm/vite/4.4.9/4.4.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.4.9/4.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://github.com/vuejs/language-tools) | [`1.8.15` -> `1.8.19`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.15/1.8.19) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/1.8.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/1.8.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.15/1.8.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.15/1.8.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.39.0`](https://github.com/microsoft/playwright/releases/tag/v1.39.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.38.1...v1.39.0) #### Add custom matchers to your expect You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object. ```js import { expect as baseExpect } from '@​playwright/test'; export const expect = baseExpect.extend({ async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) { // ... see documentation for how to write matchers. }, }); test('pass', async ({ page }) => { await expect(page.getByTestId('cart')).toHaveAmount(5); }); ``` See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend). #### Merge test fixtures You can now merge test fixtures from multiple files or modules: ```js import { mergeTests } from '@​playwright/test'; import { test as dbTest } from 'database-test-utils'; import { test as a11yTest } from 'a11y-test-utils'; export const test = mergeTests(dbTest, a11yTest); ``` ```js import { test } from './fixtures'; test('passes', async ({ database, page, a11y }) => { // use database and a11y fixtures. }); ``` #### Merge custom expect matchers You can now merge custom expect matchers from multiple files or modules: ```js import { mergeTests, mergeExpects } from '@​playwright/test'; import { test as dbTest, expect as dbExpect } from 'database-test-utils'; import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils'; export const test = mergeTests(dbTest, a11yTest); export const expect = mergeExpects(dbExpect, a11yExpect); ``` ```js import { test, expect } from './fixtures'; test('passes', async ({ page, database }) => { await expect(database).toHaveDatabaseUser('admin'); await expect(page).toPassA11yAudit(); }); ``` #### Hide implementation details: box test steps You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site. ```js async function login(page) { await test.step('login', async () => { // ... }, { box: true }); // Note the "box" option here. } ``` ```txt Error: Timed out 5000ms waiting for expect(locator).toBeVisible() ... error details omitted ... 14 | await page.goto('https://github.com/login'); > 15 | await login(page); | ^ 16 | }); ``` See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example. #### New APIs - [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2) #### Browser Versions - Chromium 119.0.6045.9 - Mozilla Firefox 118.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 118 - Microsoft Edge 118 </details> <details> <summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary> ### [`v4.4.0`](https://github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#440-2023-10-02) - fix(plugin-vue): re-create filters after updating options ([#​246](https://github.com/vitejs/vite-plugin-vue/issues/246)) ([c383503](https://github.com/vitejs/vite-plugin-vue/commit/c383503)), closes [#​246](https://github.com/vitejs/vite-plugin-vue/issues/246) - feat: support generated JS imports for external scoped style ([#​196](https://github.com/vitejs/vite-plugin-vue/issues/196)) ([bd5055d](https://github.com/vitejs/vite-plugin-vue/commit/bd5055d)), closes [#​196](https://github.com/vitejs/vite-plugin-vue/issues/196) - chore: add `@ts-ignore` when accessing `legacy?.buildSsrCjsExternalHeuristics` ([#​255](https://github.com/vitejs/vite-plugin-vue/issues/255)) ([04c3b0b](https://github.com/vitejs/vite-plugin-vue/commit/04c3b0b)), closes [#​255](https://github.com/vitejs/vite-plugin-vue/issues/255) - refactor(plugin-vue): deprecate reactivity transform ([38f8ea5](https://github.com/vitejs/vite-plugin-vue/commit/38f8ea5)) - refactor(plugin-vue): use source-map-js ([#​247](https://github.com/vitejs/vite-plugin-vue/issues/247)) ([b43690d](https://github.com/vitejs/vite-plugin-vue/commit/b43690d)), closes [#​247](https://github.com/vitejs/vite-plugin-vue/issues/247) </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v12.9.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.9.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.9.0...v12.9.1) ##### 👷♂️ Patch fixes - Fixes typo in documentation. ([#​1123](https://github.com/capricorn86/happy-dom/issues/1123)) *** Thank you [@​goring](https://github.com/goring) for your contribution! ### [`v12.9.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.9.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.1...v12.9.0) ##### 🎨 Features - Improves performance of the async task manager. This will improve performance of timers in general as they have less logic executed related to the async task manager. ([#​1114](https://github.com/capricorn86/happy-dom/issues/1114)) ### [`v12.8.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.8.0...v12.8.1) ##### 👷♂️ Patch fixes - Adds missing second parameter in callbacks from `MutationObserver`. ([#​1113](https://github.com/capricorn86/happy-dom/issues/1113)) *** Thank you [@​wojtekmaj](https://github.com/wojtekmaj) for your contribution! ### [`v12.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.8.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.7.0...v12.8.0) ##### 🎨 Features - Adds support for `Clipboard`, `ClipboardItem`, `Permissions` and `PermissionStatus`, which are used by the `Window.navigator.clipboard` and `Window.navigator.permissions` properties. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds support for `ClipboardEvent`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Improves support for `DataTransfer`, `DataTransferItemList` and `DataTransferItem`. ([#​833](https://github.com/capricorn86/happy-dom/issues/833)) - Adds `MutationRecord` class to `Window` as a property. ([#​1112](https://github.com/capricorn86/happy-dom/issues/1112)) ##### 👷♂️ Patch fixes - Restores `HTMLInputElement.checked` state when `Event.preventDefault()` is called on a dispatched "click" event. ### [`v12.7.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.7.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.6.0...v12.7.0) ##### 🎨 Features - Adds support for `Element.scrollWidth`. ([#​1109](https://github.com/capricorn86/happy-dom/issues/1109)) ### [`v12.6.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.6.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.1...v12.6.0) ##### 🎨 Features - Adds support for dispatching a click event on the control element when clicking on a label. ([#​1023](https://github.com/capricorn86/happy-dom/issues/1023)) ### [`v12.5.1`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.1) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.5.0...v12.5.1) ##### 🎨 Features - Adds support for `DocumentFragment` as a constructor (e.g. `new DocumentFragment()`). ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ##### 👷♂️ Patch fixes - Fixes issue related to `ownerDocument` being null when executing `ownerDocument.createElement()` in React 18. The error occurred when rendering a Radix UI component. The root cause was that React 18 uses `DocumentFragment` as a constructor which was not supported. ([#​940](https://github.com/capricorn86/happy-dom/issues/940)) ### [`v12.5.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.5.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.4.0...v12.5.0) ##### 🎨 Features - Add `FocusEvent.relatedTarget` to blur and focus events. ([#​1094](https://github.com/capricorn86/happy-dom/issues/1094)) *** Thank you [@​artursvonda](https://github.com/artursvonda) for your contribution! ### [`v12.4.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.4.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.3.0...v12.4.0) ##### 🎨 Features - Add support for `Document.currentScript`. ([#​1099](https://github.com/capricorn86/happy-dom/issues/1099)) *** Thank you [@​ckhampus](https://github.com/ckhampus) for your contribution! ### [`v12.3.0`](https://github.com/capricorn86/happy-dom/releases/tag/v12.3.0) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.2...v12.3.0) ##### 🎨 Features - Uses `vm.Script` for setting globals instead of a string to improve performance. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ##### 👷♂️ Patch fixes - Improves logic in `Window.happyDOM.whenAsyncComplete()`. ([#​1102](https://github.com/capricorn86/happy-dom/issues/1102)) ### [`v12.2.2`](https://github.com/capricorn86/happy-dom/releases/tag/v12.2.2) [Compare Source](https://github.com/capricorn86/happy-dom/compare/v12.2.1...v12.2.2) ##### 👷♂️ Patch fixes - Makes `PointerEvent` implementation more specification compliant. ([#​1092](https://github.com/capricorn86/happy-dom/issues/1092)) *** Thank you [@​tkrotoff](https://github.com/tkrotoff) for your contribution! </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v4.4.11`](https://github.com/vitejs/vite/releases/tag/v4.4.11) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.10...v4.4.11) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.11/packages/vite/CHANGELOG.md) for details. ### [`v4.4.10`](https://github.com/vitejs/vite/releases/tag/v4.4.10) [Compare Source](https://github.com/vitejs/vite/compare/v4.4.9...v4.4.10) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v4.4.10/packages/vite/CHANGELOG.md) for details. </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v1.8.19`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1819-20231011) [Compare Source](https://github.com/vuejs/language-tools/compare/46ef0d608f43569a8e370d1105bfcf334fcaec13...2e17f3c9cfa827c71e1ed07331730b3ee2596b76) - feat: no longer checking save time ([#​3650](https://github.com/vuejs/language-tools/issues/3650)) - fix(ts-plugin): tsserver doesnt have updated list of external files when new vue files are added (required TS 5.3) ([#​3555](https://github.com/vuejs/language-tools/issues/3555)) ([#​3649](https://github.com/vuejs/language-tools/issues/3649)) - fix: false positive error when accessing local variables in defineProps parameter ([#​3643](https://github.com/vuejs/language-tools/issues/3643)) ([#​3644](https://github.com/vuejs/language-tools/issues/3644)) - thanks [@​so1ve](https://github.com/so1ve) ##### Full-time Support by <table> <tbody> <tr> <td> <a href="https://stackblitz.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/StackBlitz.png" height="80" /></a> </td> <td><h4><a href="https://blog.stackblitz.com/posts/webcontainer-api-is-here/">WebContainer API is here.</a></h4></td> </tr> </tbody> </table> ##### Our Platinum Sponsors <table> <tbody> <tr> <td> <a href="https://nuxt.com/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/nuxt.svg" height="60" /></a> </td> <td>The Intuitive Web Framework</td> </tr> <tr> <td> <a href="https://vuejs.org/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/vue.png" height="80" /></a> </td> <td>The Progressive JavaScript Framework</td> </tr> </tbody> </table> ##### Our Silver Sponsors <table> <tbody> <tr> <td> <p align="center"> <a href="https://www.prefect.io/"><img src="https://raw.githubusercontent.com/vuejs/language-tools/HEAD/.github/sponsors/prefect.svg" height="40" /></a> </p> </td> </tr> </tbody> </table> <h5> Add you via <a href="https://github.com/sponsors/johnsoncodehk">GitHub Sponsors</a> or <a href="https://opencollective.com/volarjs">Open Collective</a> </h5> ### [`v1.8.18`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1818-2023109) [Compare Source](https://github.com/vuejs/language-tools/compare/v1.8.17...46ef0d608f43569a8e370d1105bfcf334fcaec13) ##### Upgrade required VSCode version to 1.82.0 ([#​3642](https://github.com/vuejs/language-tools/issues/3642)) ### [`v1.8.17`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1817-2023109) [Compare Source](https://github.com/vuejs/language-tools/compare/f9e281db3f47f9a3f94c79dbbf81102cba01eb5d...v1.8.17) - fix: extension cannot run on vscode versions lower than 1.82.0 ([#​3631](https://github.com/vuejs/language-tools/issues/3631)) ([#​3635](https://github.com/vuejs/language-tools/issues/3635)) - fix: make `defineProps` work when reading a property from `defineProps()` ([#​3633](https://github.com/vuejs/language-tools/issues/3633)) - thanks [@​so1ve](https://github.com/so1ve) - fix: avoid reading `props` from `__VLS_ctx` ([#​3636](https://github.com/vuejs/language-tools/issues/3636)) - thanks [@​so1ve](https://github.com/so1ve) - fix: regression with `defineExpose` ([#​3639](https://github.com/vuejs/language-tools/issues/3639)) - thanks [@​so1ve](https://github.com/so1ve) ### [`v1.8.16`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1816-2023107) [Compare Source](https://github.com/vuejs/language-tools/compare/v1.8.15...f9e281db3f47f9a3f94c79dbbf81102cba01eb5d) - fix: merge default export's properties properly ([#​3600](https://github.com/vuejs/language-tools/issues/3600)) - thanks [@​so1ve](https://github.com/so1ve) - fix: accurate exposed type with refs in generic component ([#​3604](https://github.com/vuejs/language-tools/issues/3604)) - thanks [@​so1ve](https://github.com/so1ve) - fix: make emits type correct when user assigns emit function a custom name ([#​3624](https://github.com/vuejs/language-tools/issues/3624)) - thanks [@​so1ve](https://github.com/so1ve) ##### Volar.js 1.10.3 updates: - fix: performance issue with o(n^2) complexity of `directoryExists()` ([https://github.com/volarjs/volar.js/issues/66](https://github.com/volarjs/volar.js/issues/66)) - thanks [@​Akryum](https://github.com/Akryum) - fix: directory named "constructor" could crash ([https://github.com/volarjs/volar.js/issues/65](https://github.com/volarjs/volar.js/issues/65)) - thanks [@​Dmitrigar](https://github.com/Dmitrigar), [@​franz-bendezu](https://github.com/franz-bendezu) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slipmatio/ui). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to vuejs/language-tools#2740
Profiling
.vue
file saves on a very big project:Before (notice the 15s-long file save):
Profile:
CPU-20231004T112107.zip
After:
Profile:
CPU-20231004T115709.zip