๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
by vuejsTypeScript
Last 12 weeks ยท 92 commits
3 of 6 standards met
After a parent rerenders, unmounting it can skip a component inside . Preserve the block's marker across updates and the cache index when cloning vnodes. During unmount, clear only the current component's cache so removing one slot instance cannot invalidate another. Related to #5154 and the teardown failure in nuxt/nuxt#32154. This retains the whole-block marking approach from #8809. The linked READMEs provide the CLI commands and StackBlitz import links. Results above are from Node with happy-dom; StackBlitz terminal execution could not be verified. Summary by CodeRabbit Bug Fixes** Fixed lifecycle handling for cached and static content during updates, unmounts, and remounts. Improved cleanup when cached content is rendered through multiple slots or duplicated and removed. Preserved cached rendering behavior when content is cloned. Ensured static content remains intact while associated cached content is properly cleared. Improved lifecycle behavior across rerenders and slot updates.
Vue version fd5c001 Link to minimal reproduction https://play.vuejs.org/#eNqlVE1v2zAM/SuELrUBI8HWngInWTf00AHbina3aQfHYVK3smRIcpIi838fJdUf84IMWE8WyafHxw/5yK6rarKrkc1YanJdVBYM2roCkcntnDNrOFtwWZSV0haOoHGTgFX32R4a2GhVwgXdvuCSy1xJY6F8eUALcweMJO6BrOjHuwTeJ3D5M45bWCaVfUR9AuuACVwNsBpNLWwHTemUyrpcoV7AL6jlGjeFxPUi6o50tb28RXsrLWqDuS2UJIrIy//idM5gpZTATL7WdN2p6iIxzBdw5BJ6GZNdJmokpi6fC4d0QuWZ8NwU7xPBMhiRb08giGEWuhXMEUcvpSUaeFq2vos95djneE/L77VOikGLolF+ambDZToN60HLQIbFshKZRbIGzDM4ug1pp7VcAmd9j1hDNA6frmpraRQfclHkz7RkoxlFm0wYTMB/Ytq/O60OL6F1cQLB6suM02kg9GL+SW51PeQejOXt3K/CXYq/dY9H9l+6W+o/ZZ+jTqeDYbGEXjRt2abYTp6MkvTs/W5zlquyKgTqb5XLRq+ehukiLpYJofafvc+raP35I+bPJ/xP5uB8nN3RMqDeIWddzGaaKgvhm4eveKBzFyzVuhaEPhO8R6NE7TQG2EdaMJI9wHm1t/6HVcjtd3NzsChNW5QT6pCNx3NGf69PZ0rv5V5Orvw9eg2s+Q0+UdCt Steps to reproduce 1. Create a set with Proxy, such as 2. Call What is expected? It shouldn't throw an error What is actually happening? It throws error: "Set operation called on non-Set object" System Info Any additional comments? There is a workaround: does not throw error.
Fixes #13037. ### Problem SSR-compiled `isTransitionGroupssrRenderAttrsv-bindidclassdata-mode_attrstagmode` remain available. Improved handling of camelCase and kebab-case attributes, nested groups, fragments, and ordinary elements. Tests* Expanded coverage for transition-group rendering, attribute filtering, dynamic bindings, fallthrough attributes, and edge cases.
close #15365, partially addresses #6435 The SSR compiler registers no / directive transform, so and were only handled inside . On a component node drops them as built-in directives with no transform, which is why `:innerHTML="html"innerHTMLtextContentssrRenderAttrsv-htmlv-textv-htmlv-text` now correctly renders bound content with HTML escaping in static and dynamic components. Improved handling of these directives when rendering dynamic component tags during server-side generation. Added coverage to verify correct HTML insertion and text escaping across supported component scenarios.
Repository: vuejs/core. Description: ๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. Stars: 54311, Forks: 9190. Primary language: TypeScript. Languages: TypeScript (96.7%), JavaScript (1.7%), HTML (1.1%), Vue (0.5%), CSS (0%). License: MIT. Homepage: https://vuejs.org/ Latest release: v3.5.42 (1w ago). Open PRs: 100, open issues: 807. Last activity: 44m ago. Community health: 62%. Top contributors: yyx990803, dependabot-preview[bot], renovate[bot], edison1105, sxzz, HcySunYang, pikax, underfin, dependabot[bot], Alfred-Skyblue and others.