Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/compiler-vapor
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/runtime-vapor
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
Size ReportBundles
Usages
|
|
This remains a Draft reference implementation of RFC 823, based on CI passed at The SFC top-level Scope regressions also cover setup/prop/loop/slot shadowing, Top-level preprocessing, external |
Implement the compiler portion of RFC 823, based on
minor.v-matchevaluates its subject once and selects the firstv-whenwhose pattern and guard succeed. Bindings are local to that arm; an unmatched value renders nothing.VDOM, SSR and Vapor share the parser and selector. The selector checks the pattern, copies bound rest, introduces bindings, then evaluates the guard. Lexical scope code generation preserves branch identity, keys,
v-once, slot bindings and hydration. The compiler validates pattern syntax and placement; semantic narrowing and exhaustiveness belong to language-tools #6207.This is a Draft reference implementation for RFC discussion. It implements the current long-form syntax. Property presence uses
in Object(value), following the RFC pseudocode; the RFC's own-property versusinquestion remains open. Companion documentation: docs #3465.The SFC top-level form,
<template v-match="result">, uses the same lowering as an inner match. The descriptor retains the directive for AST reuse, import usage, HMR, and header source maps. Vite integration requires vite-plugin-vue #847, which fixes the compiler-version check that otherwise drops this AST.The top-level reference implementation currently supports inline HTML templates. Preprocessing, external
srctemplates, and custom compilers that discard the descriptor AST still need integration.Validation:
v-once, scoped slots, root attribute fallthrough and SSR hydration.Two existing Transition E2E cases now poll for their final DOM state instead of assuming it after a fixed delay. CI read transition classes before they were removed. The expected DOM, lifecycle assertions, and tests of intermediate transition states are unchanged.