$ the-wire · showcase
Devtools fixes ambiguous Map keys, eslint-plugin-vue rules move to TypeScript
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
Vue Devtools closed a state-inspector bug that could lock a Map entry out of editing entirely, and eslint-plugin-vue continued its TypeScript migration with eleven directive validators.
fix(state): avoid ambiguous Map keys during edits vuejs/devtools
Renaming a Map entry to a label that already existed (for example a numeric 1 and the string "1") used to pass Map.has and write a second key with the same displayed label, after which state-path resolution rejected the label as ambiguous and neither entry could be edited or deleted through the inspector. The fix now applies the same preview-label rules used during state-path resolution before ...
refactor: migrate simple `valid-v-*` rules to TypeScript vuejs/eslint-plugin-vue
The eleven simple valid-v-* directive validators (valid-v-bind, cloak, html, once, pre, text, show, if, is, else, else-if) are now TypeScript. The changes are mechanical: ESM imports and exports, JSDoc types turned into annotations, plus the lib/plugin.ts imports and "Rule source" links updated. No lint behavior changes are described, so downstream configs need nothing.
fix(kit): keep handle ids unique after the registry is cleared (#1161) vuejs/devtools
Handle ids could repeat after the registry was cleared; they now stay unique across that reset.
chore: remove leftover code (#1163) vuejs/devtools
Dead code from earlier versions is gone: the content script read window.__VUE_DEVTOOLS_VITE_PLUGIN_CLIENT_URL__ into the extension's detection payload, but nothing set that global and nothing read the field. It is removed from shared/detection.ts, content/backend.ts, background/tab-state.ts and the related unit test.