Releases: vuejs/language-tools
Releases · vuejs/language-tools
v2.2.0
Features
- feat(language-core): support
@vue-generic
(#4971) - Thanks to @KazariEX! - feat(vscode): add configuration for skipping automatic detection of Hybrid Mode (#5046) - Thanks to @KazariEX!
- feat(language-service): crawl html data of
data-allow-mismatch
- Thanks to @KazariEX! - feat(language-core): type support of
$attrs
(#5076) - Thanks to @KazariEX! - feat(language-core): type support of
useSlots
and$slots
(#5055) - Thanks to @KazariEX! - feat(language-core): type support of
v-model
modifiers (#5061) - Thanks to @KazariEX! - feat(language-service): process references data at runtime to reduce bundle size (#5054) - Thanks to @KazariEX!
- feat(language-core): support the use of sfc root comment to configure
vueCompilerOptions
(#4987) - Thanks to @KazariEX! - feat(vscode): add timeout logic for insiders fetching (#5048) - Thanks to @KazariEX!
- feat(vscode): add examples to inlay hints configuration (#5068) - Thanks to @KazariEX!
Performance
- perf(typescript-plugin): use named pipe servers more efficiently (#5070)
Bug Fixes
- fix(language-core): generate script setup starting from last leading comment without
@ts-check
- Thanks to @KazariEX! - fix(language-core): make model modifiers optional (#4978) - Thanks to @stafyniaksacha!
- fix(language-core): always report missing props on
<slot>
(#4982) - Thanks to @KazariEX! - fix(language-core): avoid unchecked index access when parsing
defineEmits
(#5028) - Thanks to @KazariEX! - fix(language-service): handle text edit of special closing tags completion correctly (#5016) - Thanks to @KazariEX!
- fix(language-core): don't generate variable access of template refs using
useTemplateRef
(#5032) - Thanks to @KazariEX! - fix(vscode): update
enabledHybridMode
before activate extension (#5019) - Thanks to @nieyuyao! - fix(tsc): point to shimmed tsc entry point to support ts 5.7 (#5020) - Thanks to @davidmatter!
- fix(vscode): add
GitHub.copilot-chat
to hybrid mode compatible list (#5047) - Thanks to @KazariEX! - fix(language-core): generate generics normally when
useTemplateRef
has no parameters (#5051) - Thanks to @KazariEX! - fix(language-core): avoid clipping prop name using
.prop
or.attr
onv-model
- Thanks to @KazariEX! - fix(language-core): handle named default import of components correctly (#5066) - Thanks to @KazariEX!
- fix(language-core): disable navigation feature on non-binding prop values (#5040) - Thanks to @KazariEX!
- fix(language-core): do not generate
useTemplateRef
parameter repeatedly (#5009) - fix(language-core): generate macros after script setup content (#5071) - Thanks to @KazariEX!
- fix(language-core): correct type and completion support of
vue:
event (#4969) - Thanks to @KazariEX! - fix(language-core): prevent visiting functional components for
parseScriptSetupRanges
(#5049) - Thanks to @zhiyuanzmj! - fix(language-service): don't provide modifier completion for
@
and:
(#5052) - Thanks to @KazariEX! - fix(language-core): consistent interpolation behavior of shorthand binding (#4975) - Thanks to @KazariEX!
- fix(language-core): resolve components with various name cases correctly (#5067) - Thanks to @KazariEX!
- fix(language-core): map
v-slot
correctly to report error when missing default slot - Thanks to @KazariEX! - fix(language-core): map component loc to instance variable for verification - Thanks to @KazariEX!
Other Changes
- refactor: improve code consistency (#4976) - Thanks to @KazariEX!
- docs: update nvim guide (#4984) - Thanks to @zeromask1337!
- docs: fix broken marketplace page (#5004) - Thanks to @rioj7!
- chore: upgrade
reactive-vscode
to v0.2.7 (#4997) - Thanks to @KermanX! - refactor(language-service): consistent style of source and virtual code operation (#5053) - Thanks to @KazariEX!
- refactor(language-core): remove unnecessary linked code mappings of
defineProp
(#5058) - Thanks to @KazariEX! - refactor(language-core): simplify current component info passing (#5078) - Thanks to @KazariEX!
- Upgraded Volar from
v2.4.8
tov2.4.11
:- fix(typescript): avoid crash when converting relatedInformation from overly large files
- fix(typescript): fix interactive refactors (volarjs/volar.js#244) - Thanks to @andrewbranch!
- fix(typescript): should not suppressing getLanguageId crashes (volarjs/volar.js#253)
- fix(typescript): force update the opened script snapshot after the language plugin is ready (volarjs/volar.js#254)
- feat(typescript): add typescriptObject option to runTsc (volarjs/volar.js#245) - Thanks to @zhiyuanzmj!
- fix(typescript): fix issue with transpiled TypeScript files not being registered with a project at all (volarjs/volar.js#250) - Thanks to @piotrtomiak!
- docs(source-map): updated API section based on #207 (volarjs/volar.js#248) - Thanks to @alamhubb!
- fix(typescript): resolve the shim used for tsc in Typescript v5.7 and up (#252) - Thanks to @kitsune7!
Please refer to CHANGELOG.md for details.
Sponsors
🥚
v2.1.10
Features
Bug Fixes
- language-core: revert #4902
- language-core: inject
as
assertion ofuseCssModule
into correct location (#4952) - Thanks to @KazariEX! - language-core: hold prev track id correctly (#4961) - Thanks to @KazariEX!
- language-core: generate style modules type as needed (#4953) - Thanks to @KazariEX!
- language-core: reference global types file with relative path (#4966)
Refactors
- vscode: rewrite with Reactive VSCode (#4945) - Thanks to @KazariEX, @KermanX!
Please refer to CHANGELOG.md for details.
Sponsors
v2.1.8
Features
- vscode: reactions visualization now identifies more use cases Insiders
- language-core: auto infer
$el
type (#4805) - Thanks to @KazariEX! - language-core: typed directive arg and modifiers (#4813) - Thanks to @KazariEX!
Bug Fixes
- language-core: avoid generic type loss due to destructured props (#4821) - Thanks to @KazariEX!
- language-core: handle
v-for
withv-once
correctly (#4830) - Thanks to @KazariEX! - language-core: avoid generating zero-length mappings for interpolation edges
- language-core: don't assign
this
to__VLS_ctx
(#4845) - Thanks to @KazariEX! - language-service: initialize scope with null prototype object (#4855) - Thanks to @KazariEX!
- language-core: inlay hints for
<component :is>
and<slot :name>
(#4661) - Thanks to @KazariEX, @so1ve! - language-core: should error when invalid syntax at script end (#4692) - Thanks to @KazariEX!
- language-core: correct type inference of
defineModel
&defineEmits
in generic (#4823) - Thanks to @KazariEX! - language-core: inject generics of
useTemplateRef
into correct location (#4829) - Thanks to @KazariEX! - language-core: prevent the generation of generics in JS (#4836) - Thanks to @KazariEX, @zhiyuanzmj!
- language-core: generate correct reference for
v-on
on<slot>
(#4864) - Thanks to @KazariEX! - language-core: match classname before
)
(#4887) - Thanks to @KazariEX! - language-service: handle internal item key with leading slash correctly (#4894) - Thanks to @KazariEX!
- language-core: correctly obtain the index of style modules (#4907) - Thanks to @KazariEX!
- language-core: refer absolute path of global types file (#4924) - Thanks to @depressedX!
- component-meta: error when signatures is undefined (#4930) - Thanks to @Hannesrasmussen!
- language-core: intersect props of generic component with attrs (#4886) - Thanks to @KazariEX!
- language-core: fix incorrect syntax for class component virtual code
- language-core: generate
value
instead of model name into tuple (#4892) - Thanks to @KazariEX! - language-core: infer template ref's type of native elements with
v-for
correctly (#4933) - Thanks to @KazariEX! - language-core: should wrap item with
Reactive
onv-for
(#4902) - Thanks to @KazariEX!
Performance
Other Changes
- Upgraded Volar from
v2.4.1
tov2.4.8
: - chore: fix nvim config snippet in README (#4881) - Thanks to @LiamEderzeel!
- chore: remove side effects (#4871) - Thanks to @vikingair!
- chore: remove
importsNotUsedAsValues
(#4897) - Thanks to @KazariEX! - chore(vscode): switch to
"module": "CommonJS"
(#4944) - Thanks to @KazariEX! - test: fix incorrect default value (#4934) - Thanks to @jh-leong!
- test(tsc): add a test case for class component
Please refer to CHANGELOG.md for details.
Sponsors
v2.1.6
Features
- language-plugin-pug: support initial indentation (#4774)
- language-service: JSDoc display support when typing props on component template (#4796) - Thanks to @joy-yu!
- language-core: typed directives in template (#4807) - Thanks to @KazariEX!
Bug Fixes
- language-core: wrap template refs with
unref
in interpolation (#4777) - Thanks to @KazariEX! - language-core: ensure to pass tsc on inline global types (#4782) - Thanks to @KazariEX!
- language-core: infer native template ref as build-in element interface (#4786) - Thanks to @KazariEX!
- language-core: generate
__VLS_StyleModules
after template (#4790) - Thanks to @KazariEX! - language-core: make
expose
of non-generic template ref required (#4795) - Thanks to @zhiyuanzmj! - language-core: avoid using
__typeProps
with runtime props (#4800) - Thanks to @KazariEX! - language-core: ignore unknown attrs error when strictTemplates is not enabled (#4785)
- language-core: prevent append globalTypes to virtual file (#4806) - Thanks to @zhiyuanzmj!
- language-core: prevent type error when use defineSlots and non-template (#4809) - Thanks to @zhiyuanzmj!
- typescript-plugin: disconnect socket on error (#4672)
Performance
Other Changes
- language-core: split
__VLS_templateResult
(#4781) - Thanks to @KazariEX! - language-core: wrap template virtual code into a function (#4784)
- language-core: move
templateRef
intocomposibles
(#4791) - Thanks to @KazariEX! - language-core: generate global types for the first parsed Vue component if cannot write global types file
Tests
- language-server: add renaming case for template
ref()
(#4794) - Thanks to @KazariEX! - tsc: update to Vue 3.5 (#4725)
- tsc: unknown props on non-strict generic component (#4792)
Please refer to CHANGELOG.md for details.
Sponsors
v2.1.4
Features
- typescript-plugin, language-server: generate global types file into
node_modules/.vue-global-types
(#4752) - Thanks to @KazariEX! - language-core: navigation support for template-ref (#4726) - Thanks to @KazariEX!
Bug Fixes
- language-core, typescript-plugin, language-server: apply snake case on globalTypes filename (#4749) - Thanks to @KazariEX!
- language-core: hoist
$refs
type (#4763) - language-core: disable lib check on global types file (#4767) - Thanks to @KazariEX!
- language-core: prevent circular reference of templateRef (#4768) - Thanks to @zhiyuanzmj!
- language-core: using interface merging for
GlobalComponents
- language-core:
fallthroughAttributes
causes global components to be self-referential (#4761) - language-core: auto-completion for the last line of template block (#4771) - Thanks to @zhiyuanzmj!
- language-core: update ast correctly on repeated
v-for
modifications (#4772) - Thanks to @KazariEX! - language-server: leaking named pipes (#4672)
- typescript-plugin: compatible with Yarn PnP (#4751)
- vscode: whitelist
ms-dynamics-smb.al
extension for Vue Hybrid Mode. (#4765) - Thanks to @kyleweishaupt!
Other Changes
- Add optional "dependencies" textarea to issue template (#4758) - Thanks to @davidmatter!
Please refer to CHANGELOG.md for details.
Sponsors
v2.1.2
Bug Fixes
- language-core, typescript-plugin, language-server: write globalTypes into dist for correct export (#4740) (#4737) (#4738) (#4739) - Thanks to @KazariEX!
- language-core: don't default
vueCompilerOptions.lib
to@vue/runtime-dom
for Vue 2
Please refer to CHANGELOG.md for details.
Sponsors
v2.1.0
Features
- language-core: inlay hints for destructured props (#4634) - Thanks to @KazariEX!
- language-core: typed fallthrough attributes (#4103) - Thanks to @A5rocks, @so1ve!
- language-core: document links for classname within
:class
(#4642) - Thanks to @KazariEX! - language-core: auto infer type for $refs & useTemplateRef (#4644) - Thanks to @zhiyuanzmj!
- language-core: type support for CSS Modules API (#4674) - Thanks to @KazariEX!
- language-service: better completion for directives (#4640) - Thanks to @KazariEX!
- language-service: better sorting & filtering of completion (#4671) - Thanks to @KazariEX!
- language-service: add style scoped and module completion (#4705) - Thanks to @runyasak!
Bug Fixes
- vscode: type of
vue.server.hybridMode
config (#4703) - Thanks to @KermanX! - language-core: dependency on vulnerable version of
vue-template-compiler
(#4613) - Thanks to @yyx990803! - language-core: support parse method to access ctx var in object (#4609) - Thanks to @linghaoSu!
- language-core: escape \ and ' in className avoid type error (#4619) - Thanks to @linghaoSu!
- language-core: semantic highlight of the end tag of namespaced elements (#4623) - Thanks to @KermanX!
- language-core: nullable modelvalues (#4648) - Thanks to @davidmatter!
- language-core: should try casting dynamic slot name into constant (#4669) - Thanks to @KermanX!
- language-core: local name support for prop using runtime api (#4650) - Thanks to @KazariEX!
- language-core: optimize matching of scoped class and
v-bind()
(#4679) - Thanks to @KazariEX! - language-core: should preserve generic info in directive (#4686) - Thanks to @KermanX!
- language-core: generate
ref
as identifier instead of interpolation (#4688) - Thanks to @KazariEX! - language-core: correct type narrowing from script to template (#4689) - Thanks to @KazariEX!
- language-core: should camelize prop name in
experimentalModelPropName
(#4691) - Thanks to @KermanX! - language-core: drop duplicate hints on incomplete tag (#4696) - Thanks to @KazariEX!
- language-core: correct inlay hints for v-bind with modifier (#4721) - Thanks to @KazariEX!
- language-core: transform range of
file-md
correctly (#4735) - Thanks to @KazariEX! - language-plugin-pug: should cache proxyed object (#4626) - Thanks to @KermanX!
- language-plugin-pug: compute offset correctly of pug class (#4652) - Thanks to @KazariEX!
- language-service: completion documentations for binding attributes (#4667) - Thanks to @KazariEX!
- language-service: avoid converting internal id of special tags (#4643) - Thanks to @KazariEX!
- language-service: reinstate the completion for modifiers (#4639) - Thanks to @KazariEX!
- language-service: consistent data from provider for sfc completion (#4645) - Thanks to @KazariEX!
- typescript-plugin: unknown request type warning (#4715) - Thanks to @davidmatter!
Refactors
- language-core: extract SFC root tags to separate virtual code
- language-core: removed
__hint
trick from codegen - language-core: rewrite a part of confusing codegen code
- language-core: reduce virtual code generated by component tags (#4714)
- language-core: do not wrap template virtual code with function (#4731)
- language-core: write real files to FS for shared global types (#4736)
- component-meta: remove deprecated
createComponentMetaCheckerByJsonConfig
,createComponentMetaChecker
api
Other Changes
- Upgraded Volar from
v2.4.0-alpha.18
tov2.4.1
:- Ensure unopened files are synced to project (#4711) (#4632) - Thanks to @davidmatter!
- ci: integrated pkg.pr.new
- tsc: test all typecheck cases in one tsconfig (#4723)
- tsc: add test for TS-next (#4724)
- tsc: add tests for for #3779, #3820 (#3838) - Thanks to @so1ve!
- vscode: add grammar test (#3861) - Thanks to @so1ve!
- language-service: migrate tests to
@volar/test-utils
(#4719) - language-core: add scoped classes renaming case (#4727) - Thanks to @KazariEX!
Please refer to CHANGELOG.md for details.
Sponsors
v2.0.28
Features
- vscode: focus mode Insiders (volarjs/insiders#24)
- language-core: Plugin API 2.1
- Added plugin hooks:
getLanguageId
,isValidFile
,parseSFC2
- Improve backward compatibility (#4585) - Thanks @zhiyuanzmj
- Added plugin hooks:
- language-core: support default prop when using __typeProps (#4602) - Thanks @zhiyuanzmj
- language-core: improve nested plugins (#4581) - Thanks @zhiyuanzmj
- language-service: remove
v-bind
code action (#4601) - vscode: add empty pattern to codeblock attributes scope (#4590) - Thanks @KermanX
Fixes
- tsc: errors should be thrown instead of being console.log printed
- language-server: observe named pipes changes when server startup (#4292)
- language-core: infer define model type from options type (#4545) - Thanks @davidmatter
- language-core: type-checking not working with hyphen in slot name with JS (#4478) - Thanks @KermanX
- language-core: add type check for v-model without argument (#4598) - Thanks @zhiyuanzmj
- language-service: filter special tags (#4596) - Thanks @so1ve
- typescript-plugin: improve named pipes reliability (#4603)
- language-core: property access is incorrectly identified as compound expression (#4600)
- language-core: fix compatibility of generic component virtual code with TS 5.5 (#4577)
- tsc: TS4082 not reported for functional component (#4569)
Other Changes
- Upgraded Volar from
v2.4.0-alpha.15
tov2.4.0-alpha.18
: - Fix yarn 4 compatibility (#4587)
- Add vue vine to hybrid mode compatible list (#4543) - Thanks @so1ve
- Add global components prop validation test (#4542) - Thanks @davidmatter
Please refer to CHANGELOG.md for details.
Sponsors
v2.0.26
Features
- language-service: Support auto-complete for more preprocessing languages.
- language-core: Improve type compatibility with Vue 3.5. (#4474) - Thanks, @zhiyuanzmj.
Bug Fixes
- vscode: Fix insider version display condition. Insiders
- language-service: Fix
vue-twoslash-queries
not working in LSP mode. - language-service: Add null handling for script tag completion items. (#4520)
- language-core: Fix
any
in templates if the first checked file was not root. (#4526) - Thanks, @daniluk4000.
Other Changes
- Upgraded Volar from
v2.4.0-alpha.2
tov2.4.0-alpha.15
:- 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
andtsc
behavior. (#3526) - Fixed the
--clean
flag support forvue-tsc
.
- Updated the high-level overview mermaid diagram.
- Added 'expected' and 'actually happening' sections to the bug report template. (#4515) - Thanks, @davidmatter.
Please refer to CHANGELOG.md for details.
Sponsors
v2.0.24
Features
- vscode: pop message box if new insiders version available insiders
- vscode: if insiders versions information failed to fetch from GitHub, try to fetch from CDN insiders
- language-service: better sfc-level tag name completion (#4506) - Thanks @KermanX
Bug Fixes
- tsc: update required volar version (#4498) - Thanks @davidmatter
- tsc: bump peer typescript version (#4513) - Thanks @so1ve
Refactors
- language-server: reorganize the code structure (#4507)
Other Changes
- Upgrade Volar from
v2.3.1
tov2.4.0-alpha.2
.- Hybrid Mode compatibility improvements with other TS plugins (volarjs/volar.js#216)
- docs: add nvim-cmp integration (#4463) - Thanks @RayGuo-ergou
- docs: update mermaid
- The following extensions have been added to Hybrid Mode’s compatibility whitelist (#4206):
p42ai.refactor
nrwl.angular-console
styled-components.vscode-styled-components
Divlo.vscode-styled-jsx-languageserver
Please refer to CHANGELOG.md for details.