github solidjs/solid @solidjs/babel-plugin@2.0.0-rc.19

Patch Changes

  • 8cff139: Evaluated negative and non-finite numbers (c={-1}, d={NaN}) are static again. Since Babel 8 support, evaluateAndInline built them with t.valueToNode, which gives -1 / 0 / 0 expressions rather than numeric literals, so they stopped being inlined into templates (SSR emitted ssrAttribute("c", -1) instead of c="-1") and diverged from @solidjs/compiler (the parity probes' "exotic literal holes"). They are now NumericLiteral nodes again, built directly where @babel/types 8's builder would reject the value; both Babel majors print them as before.
  • 55c7329: Support @babel/core 8 alongside 7: the peer range is now ^7.20.12 || ^8.0.0. SSR no longer reads Scope#uids (removed in Babel 8), evaluated negative or non-finite numbers are built with valueToNode, import() parsed as ImportExpression stays dynamic, and TSRX emits the AST shape of the running Babel major (type arguments, type parameter names, import(), enums, heritage). TSRX also keeps import() options and class method type parameters, which it dropped before.
  • 9e1edbc: A lone dynamic spread on an SSR element (<label {...props()} />) now defers behind a thunk like a spread beside other attributes, so it runs after the element's hydration key. A spread that created a memo shifted the element's key on the server only, and hydration missed the element (#4240).

Don't miss a new solid release

NewReleases is sending notifications on new releases.