$ the-wire · showcase
eslint-plugin-vue tightens IIFE reactivity checks and drops defineModel default warnings
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Three rule fixes to eslint-plugin-vue change what the linter reports on ref reads inside IIFEs, defineModel props, and props typed as never, while the rest of the Vue org shipped chores and dependency bumps.
fix(no-ref-object-reactivity-loss): improve IIFE handling vuejs/eslint-plugin-vue
The no-ref-object-reactivity-loss rule now reports ref or computed reads taken inside an immediately invoked function expression, since an IIFE body runs synchronously in the enclosing scope and loses reactivity the same way a direct read does. Previously only the bare count.value form was flagged, so lint-clean code could still hold a dead reactive read.
fix(require-default-prop): don't report on `defineModel` vuejs/eslint-plugin-vue
require-default-prop no longer reports on defineModel. The rule's defineModel checks were reverted because a model without a default has no valid fix: Vue's types reject default: undefined, a real default causes the parent/child de-sync the Vue docs warn about, and required: true changes runtime behavior. require-valid-default-prop still checks defineModel.
fix(no-unused-properties): ignore props typed as `never` vuejs/eslint-plugin-vue
no-unused-properties now stays silent for props explicitly typed as never, such as min?: never and max?: never on an interface extending TextareaHTMLAttributes. A never-typed prop forbids its own usage by design, so reporting it was noise; the change also covers the merged commit ref 7.
chore: update deps vuejs/devtools
Two chore-only commits in vuejs/devtools: a solid border on the settings button and a dependency refresh. No behavior to plan around.