$ the-wire · showcase
eslint-plugin-vue closes a no-dupe-keys blind spot
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
The day's one substantive change is a rule fix in eslint-plugin-vue, where a too-loose props check was letting real prop-shadowing collisions pass lint; the rest is dependency upkeep.
fix(no-dupe-keys): detect locals aliasing a different prop vuejs/eslint-plugin-vue
The no-dupe-keys rule skipped any local declaration whose initializer touched the props object, a carve-out added so the valid pattern const foo = toRef(props, 'foo') would not be flagged. That check only asked whether props was mentioned, never which prop was read, so const foo = toRef(props, 'bar') slipped through even though the template's foo resolves to props.bar and the real prop foo is s...
fix(no-dupe-keys): detect locals aliasing a different prop (#3124) vuejs/eslint-plugin-vue
The detection fix landed on main. One caveat worth knowing before you upgrade: code that deliberately aliases one prop through a local named after another, as the example in the PR does, may now surface as a new lint error.
chore(deps): update all non-major dependencies vuejs/test-utils
Renovate's non-major dependency sweep in vuejs/test-utils bumps @types/node from 24.19.0 to 24.19.1 and rolls up the remaining non-major updates in one PR.