$ the-wire · showcase
language-tools drops a @ts-ignore for inline handler $event
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Vue's language tooling stopped suppressing types on the $event parameter of multi-statement and v-model inline handlers, typing it explicitly from the handler's own parameters instead, with one narrowing caveat for overloaded handlers.
fix(language-core): type the `$event` parameter of inline handlers explicitly vuejs/language-tools
Multi-statement inline handlers like `@foo="a(); b()"` and v-model handlers used to be generated under a `@ts-ignore` because their `$event` parameter could fail to type-check; it is now typed explicitly from the handler's parameters. The type stays the same except for overloaded handlers, where overloads with different parameters now yield `any`.
fix(language-core): map the whole hyphenated directive name in the auto-import access vuejs/language-tools
The auto-import access for a hyphenated directive mapped its camelized name (`vOnClickOutside`) onto an equal-length source range, so the range fell short of `v-on-click-outside` by the number of hyphens. The access now keeps the source name and maps segment-wise like component tags, which should fix go-to-definition and rename on hyphenated directives.
test(language-core): cover the construct call of components and document its @ts-ignores vuejs/language-tools
Two `@ts-ignore`s around `new Comp({ ...props })` stay in place: that construct call is how overloaded and generic components such as Vuetify's get their types from props. The change documents why in a code comment and adds tests for the cases that broke when removal was attempted.
chore: bump @volar/* to 2.4.30 vuejs/language-tools
An explicit `typescript` devDependency was added to packages depending on @volar packages with a typescript peer, so the workspace override to typescript-native-bridge wins instead of pnpm auto-installing a standalone TypeScript release. The @volar/* packages moved to 2.4.30.
chore(deps): update dependency oxfmt to v0.74.0 vuejs/test-utils
Quiet elsewhere: test-utils took a Renovate bump of the oxfmt formatter from 0.73.0 to 0.74.0, with no test-facing behavior described.