$ the-wire · showcase
eslint-plugin-vue stops flagging toRefs spreads, builds reserved-name sets once
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Two fixes to vuejs/eslint-plugin-vue: no-undef-properties now understands a `...toRefs(reactive({}))` spread out of `setup()`, and no-reserved-component-names no longer rebuilds its name Sets for every file.
fix(no-undef-properties): support `...toRefs(reactive({}))` in setup() return vuejs/eslint-plugin-vue
Components that expose state as `...toRefs(data)` out of `setup()`, with `data` bound to `reactive({ ... })`, previously had every template reference reported as undefined; the rule now walks the `setup()` return object for `SpreadElement`s wrapping a `toRefs(...)` call. If you had the rule disabled on those files, you can turn it back on.
perf(no-reserved-component-names): build reserved name sets once at module scope vuejs/eslint-plugin-vue
The rule rebuilt its HTML, SVG and deprecated element Sets, their capitalized and PascalCase forms, and a combined Set on every file; the base and capitalized Sets are now module-scope constants checked directly against the configured options. No behaviour change, and the existing tests already cover the different option combinations.
fix(no-undef-properties): support `...toRefs(reactive({}))` in setup() return (#3134) vuejs/eslint-plugin-vue
The same toRefs spread fix, landed as the squash-merged commit behind it.