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

fix(typescript): use Proxy instead of modifying LanguageService instance #216

Merged
merged 9 commits into from
Jun 29, 2024

Conversation

johnsoncodehk
Copy link
Member

Referring to microsoft/typescript-template-language-service-decorator#31, we found that some TS plugins use Proxy but do not implement the set method, which causes the method of decorateLanguageService to override LanguageService functions to be invalid.

This PR attempts to change decorateLanguageService to use Proxy to solve this problem without requiring modification of other TS plugins to improve Volar TS plugin compatibility.

cc @volarjs/core-team, @piotrtomiak (Please let me know if you think this is potentially breaking in WebStorm.)

@johnsoncodehk
Copy link
Member Author

johnsoncodehk commented Jun 29, 2024

This makes the following TS plugins now compatible. 🎉 (From vuejs/language-tools#4206)
螢幕截圖 2024-06-29 上午9 30 23

@johnsoncodehk johnsoncodehk merged commit 45b6625 into master Jun 29, 2024
6 checks passed
@johnsoncodehk johnsoncodehk deleted the try-proxy-ts-ls branch June 29, 2024 01:45
Viijay-Kr added a commit to Viijay-Kr/typescript-cleanup-definitions that referenced this pull request Jul 1, 2024
Viijay-Kr added a commit to Viijay-Kr/typescript-cleanup-definitions that referenced this pull request Jul 1, 2024
renovate bot referenced this pull request in slipmatio/logger Jul 8, 2024
[![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.45.0` ->
`1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.45.0/1.45.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.45.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.45.0/1.45.1?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/tree/HEAD/types/node))
| [`20.14.9` ->
`20.14.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.9/20.14.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://github.com/Microsoft/TypeScript)) | [`5.5.2` ->
`5.5.3`](https://renovatebot.com/diffs/npm/typescript/5.5.2/5.5.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vitejs.dev)
([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.3.2` -> `5.3.3`](https://renovatebot.com/diffs/npm/vite/5.3.2/5.3.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://github.com/vuejs/language-tools)
([source](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`2.0.22` ->
`2.0.26`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.22/2.0.26) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.22/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.22/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.45.1`](https://github.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare
Source](https://github.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

</details>

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

###
[`v5.5.3`](https://github.com/Microsoft/TypeScript/compare/v5.5.2...f0e992167440686f948965e5441a918b34251886)

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.3.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small533-2024-07-03-small)

[Compare
Source](https://github.com/vitejs/vite/compare/v5.3.2...v5.3.3)

- fix: lazily evaluate \__vite\_\_mapDeps files
([#&#8203;17602](https://github.com/vitejs/vite/issues/17602))
([dafff4a](https://github.com/vitejs/vite/commit/dafff4a)), closes
[#&#8203;17602](https://github.com/vitejs/vite/issues/17602)
- fix(deps): update all non-major dependencies
([#&#8203;17590](https://github.com/vitejs/vite/issues/17590))
([012490c](https://github.com/vitejs/vite/commit/012490c)), closes
[#&#8203;17590](https://github.com/vitejs/vite/issues/17590)
- fix(lib): remove pure CSS dynamic import
([#&#8203;17601](https://github.com/vitejs/vite/issues/17601))
([055f1c1](https://github.com/vitejs/vite/commit/055f1c1)), closes
[#&#8203;17601](https://github.com/vitejs/vite/issues/17601)
- fix(proxy): replace changeOrigin changes in 5.3.0 with new
rewriteWsOrigin option
([#&#8203;17563](https://github.com/vitejs/vite/issues/17563))
([14c3d49](https://github.com/vitejs/vite/commit/14c3d49)), closes
[#&#8203;17563](https://github.com/vitejs/vite/issues/17563)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.26`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2026-supofficialsup-2027-supinsiderssup-2024-07-04)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.24...v2.0.26)

##### Features

- **language-service:** Support auto-complete for more preprocessing
languages.
- **language-core:** Improve type compatibility with Vue 3.5.
([#&#8203;4474](https://github.com/vuejs/language-tools/issues/4474))
- Thanks, [@&#8203;zhiyuanzmj](https://github.com/zhiyuanzmj).

##### Bug Fixes

- **vscode:** Fix insider version display condition. <sup>Insiders</sup>
- **language-service:** Fix `vue-twoslash-queries` not working in LSP
mode.
- **language-service:** Add null handling for script tag completion
items.
([#&#8203;4520](https://github.com/vuejs/language-tools/issues/4520))
- **language-core:** Fix `any` in templates if the first checked file
was not root.
([#&#8203;4526](https://github.com/vuejs/language-tools/issues/4526))
- Thanks, [@&#8203;daniluk4000](https://github.com/daniluk4000).

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.2` to `v2.4.0-alpha.14`:
- Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue
files not included in tsconfig may be missing.
- Improved the consistency of `vue-tsc` and `tsc` behavior.
([#&#8203;3526](https://github.com/vuejs/language-tools/issues/3526))
    -   Fixed the `--clean` flag support for `vue-tsc`.
-   Updated the high-level overview mermaid diagram.
- Added 'expected' and 'actually happening' sections to the bug report
template.
([#&#8203;4515](https://github.com/vuejs/language-tools/issues/4515))
- Thanks, [@&#8203;davidmatter](https://github.com/davidmatter).

###
[`v2.0.24`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2024-supofficialsup-2025-supinsiderssup-2024-06-30)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.22...v2.0.24)

##### Features

- **vscode:** pop message box if new insiders version available
<sup>insiders</sup>
- **vscode:** if insiders versions information failed to fetch from
GitHub, try to fetch from CDN <sup>insiders</sup>
- **language-service:** better sfc-level tag name completion
([#&#8203;4506](https://github.com/vuejs/language-tools/issues/4506))
- Thanks [@&#8203;KermanX](https://github.com/KermanX)

##### Bug Fixes

- **tsc:** update required volar version
([#&#8203;4498](https://github.com/vuejs/language-tools/issues/4498))
- Thanks [@&#8203;davidmatter](https://github.com/davidmatter)
- **tsc:** bump peer typescript version
([#&#8203;4513](https://github.com/vuejs/language-tools/issues/4513))
- Thanks [@&#8203;so1ve](https://github.com/so1ve)

##### Refactors

- **language-server:** reorganize the code structure
([#&#8203;4507](https://github.com/vuejs/language-tools/issues/4507))

##### Other Changes

-   Upgrade Volar from `v2.3.1` to `v2.4.0-alpha.2`.
- Hybrid Mode compatibility improvements with other TS plugins
([https://github.com/volarjs/volar.js/issues/216](https://github.com/volarjs/volar.js/issues/216))
- **docs:** add nvim-cmp integration
([#&#8203;4463](https://github.com/vuejs/language-tools/issues/4463))
- Thanks [@&#8203;RayGuo-ergou](https://github.com/RayGuo-ergou)
-   **docs:** update mermaid
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist
([#&#8203;4206](https://github.com/vuejs/language-tools/issues/4206)):
    -   `p42ai.refactor`
    -   `nrwl.angular-console`
    -   `styled-components.vscode-styled-components`
    -   `Divlo.vscode-styled-jsx-languageserver`

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in slipmatio/toolbelt Jul 8, 2024
[![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.45.0` ->
`1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.45.0/1.45.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.45.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.45.0/1.45.1?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/tree/HEAD/types/node))
| [`20.14.9` ->
`20.14.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.9/20.14.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.9/20.14.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://github.com/Microsoft/TypeScript)) | [`5.5.2` ->
`5.5.3`](https://renovatebot.com/diffs/npm/typescript/5.5.2/5.5.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.2/5.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vitejs.dev)
([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.3.2` -> `5.3.3`](https://renovatebot.com/diffs/npm/vite/5.3.2/5.3.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://github.com/vuejs/language-tools)
([source](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`2.0.22` ->
`2.0.26`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.22/2.0.26) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.22/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.22/2.0.26?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.45.1`](https://github.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare
Source](https://github.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

</details>

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

###
[`v5.5.3`](https://github.com/Microsoft/TypeScript/compare/v5.5.2...f0e992167440686f948965e5441a918b34251886)

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.3.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small533-2024-07-03-small)

[Compare
Source](https://github.com/vitejs/vite/compare/v5.3.2...v5.3.3)

- fix: lazily evaluate \__vite\_\_mapDeps files
([#&#8203;17602](https://github.com/vitejs/vite/issues/17602))
([dafff4a](https://github.com/vitejs/vite/commit/dafff4a)), closes
[#&#8203;17602](https://github.com/vitejs/vite/issues/17602)
- fix(deps): update all non-major dependencies
([#&#8203;17590](https://github.com/vitejs/vite/issues/17590))
([012490c](https://github.com/vitejs/vite/commit/012490c)), closes
[#&#8203;17590](https://github.com/vitejs/vite/issues/17590)
- fix(lib): remove pure CSS dynamic import
([#&#8203;17601](https://github.com/vitejs/vite/issues/17601))
([055f1c1](https://github.com/vitejs/vite/commit/055f1c1)), closes
[#&#8203;17601](https://github.com/vitejs/vite/issues/17601)
- fix(proxy): replace changeOrigin changes in 5.3.0 with new
rewriteWsOrigin option
([#&#8203;17563](https://github.com/vitejs/vite/issues/17563))
([14c3d49](https://github.com/vitejs/vite/commit/14c3d49)), closes
[#&#8203;17563](https://github.com/vitejs/vite/issues/17563)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.26`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2026-supofficialsup-2027-supinsiderssup-2024-07-04)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.24...v2.0.26)

##### Features

- **language-service:** Support auto-complete for more preprocessing
languages.
- **language-core:** Improve type compatibility with Vue 3.5.
([#&#8203;4474](https://github.com/vuejs/language-tools/issues/4474))
- Thanks, [@&#8203;zhiyuanzmj](https://github.com/zhiyuanzmj).

##### Bug Fixes

- **vscode:** Fix insider version display condition. <sup>Insiders</sup>
- **language-service:** Fix `vue-twoslash-queries` not working in LSP
mode.
- **language-service:** Add null handling for script tag completion
items.
([#&#8203;4520](https://github.com/vuejs/language-tools/issues/4520))
- **language-core:** Fix `any` in templates if the first checked file
was not root.
([#&#8203;4526](https://github.com/vuejs/language-tools/issues/4526))
- Thanks, [@&#8203;daniluk4000](https://github.com/daniluk4000).

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.2` to `v2.4.0-alpha.14`:
- Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue
files not included in tsconfig may be missing.
- Improved the consistency of `vue-tsc` and `tsc` behavior.
([#&#8203;3526](https://github.com/vuejs/language-tools/issues/3526))
    -   Fixed the `--clean` flag support for `vue-tsc`.
-   Updated the high-level overview mermaid diagram.
- Added 'expected' and 'actually happening' sections to the bug report
template.
([#&#8203;4515](https://github.com/vuejs/language-tools/issues/4515))
- Thanks, [@&#8203;davidmatter](https://github.com/davidmatter).

###
[`v2.0.24`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2024-supofficialsup-2025-supinsiderssup-2024-06-30)

[Compare
Source](https://github.com/vuejs/language-tools/compare/v2.0.22...v2.0.24)

##### Features

- **vscode:** pop message box if new insiders version available
<sup>insiders</sup>
- **vscode:** if insiders versions information failed to fetch from
GitHub, try to fetch from CDN <sup>insiders</sup>
- **language-service:** better sfc-level tag name completion
([#&#8203;4506](https://github.com/vuejs/language-tools/issues/4506))
- Thanks [@&#8203;KermanX](https://github.com/KermanX)

##### Bug Fixes

- **tsc:** update required volar version
([#&#8203;4498](https://github.com/vuejs/language-tools/issues/4498))
- Thanks [@&#8203;davidmatter](https://github.com/davidmatter)
- **tsc:** bump peer typescript version
([#&#8203;4513](https://github.com/vuejs/language-tools/issues/4513))
- Thanks [@&#8203;so1ve](https://github.com/so1ve)

##### Refactors

- **language-server:** reorganize the code structure
([#&#8203;4507](https://github.com/vuejs/language-tools/issues/4507))

##### Other Changes

-   Upgrade Volar from `v2.3.1` to `v2.4.0-alpha.2`.
- Hybrid Mode compatibility improvements with other TS plugins
([https://github.com/volarjs/volar.js/issues/216](https://github.com/volarjs/volar.js/issues/216))
- **docs:** add nvim-cmp integration
([#&#8203;4463](https://github.com/vuejs/language-tools/issues/4463))
- Thanks [@&#8203;RayGuo-ergou](https://github.com/RayGuo-ergou)
-   **docs:** update mermaid
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist
([#&#8203;4206](https://github.com/vuejs/language-tools/issues/4206)):
    -   `p42ai.refactor`
    -   `nrwl.angular-console`
    -   `styled-components.vscode-styled-components`
    -   `Divlo.vscode-styled-jsx-languageserver`

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant