Skip to content

@solidjs/babel-plugin@2.0.0-rc.5

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Sep 17:54
· 31 commits to main since this release
5eb3250

Patch Changes

  • 320f1f5: Universal text is text (#3127). The DOM and SSR generators splice static
    text into an HTML template that a parser later unescapes, so they escape
    static values and keep JSX entities as written. The universal generator
    hands strings straight to the host — createTextNode, setProp — with no
    parser downstream, so the escaping rendered literally ({"<b>"} showed as
    &lt;b>) and entities never decoded (&lt; showed as &lt;), leaving no
    spelling that produced a literal < in static text under a custom
    renderer. Universal-rendered element children now pass static values
    through unescaped and decode JSX entities in text and string attributes,
    matching what component children and fragment text always did. The flag
    rides on the element, not the config, so generate: "dynamic" decides per
    renderer. Applied to both compilers; the attribute half closed ten pinned
    cross-mode parity divergences between them. Reported with the fix mapped
    out by @antoinevanwel.
  • 5230666: Fix hydration ids drifting after a reactive lone spread (#3105). A lone spread now passes its accessor straight to spread() on the client — no mergeProps, no memo, no hydration id — matching the server's existing pass-through fast path. The runtime resolves a function props source inside its own tracking scopes.
  • e27dc29: validate now fails the compile instead of warning when a template's markup would be restructured by the browser's HTML parser (#3099). Once the validator fires the emitted positional walk is guaranteed not to match the browser-built DOM (crashed or silently misplaced bindings; desynced hydration under SSR), so warn-and-emit shipped certain breakage with the diagnostic buried in server logs. Errors now point at the offending JSX (code frame in Babel, line:col in the native compiler). validate: false remains the opt-out.