Patch Changes
-
ba9db171417a3f9eb5726763eb693ca3f0cdce0d#611 Thanks @JoviDeCroock! - Add workaround for Oxc transforming differently than babel -
f6129bbef1db5db70e292b56a6b8fff734ba2cc2#613 Thanks @JoviDeCroock! - Align$RefreshSig$ with React's HOC-chain design to fix memo-wrapped componentsBoth Babel and Oxc emit two
_s(…, key)calls for a memo-wrapped component
(_s(memo(_c = _s(inner, key)), key)). The previous status-machine approach
mishandled the second keyed call, crashing with "Cannot set properties of
undefined" because the outer type had not yet been registered whensignwas
called with'needsHooks'.The new implementation follows the same pattern as
createSignatureFunctionForTransforminvite-plugin-react:- Discriminate by
typeof key === 'string'instead of a mutablestatusvariable. - Always call
signwith'begin'for every keyed call, regardless of position
in the HOC chain. - Track
savedType(the innermost type) and defer'needsHooks'collection to
the first no-argument body call, guarded by adidCollectHooksflag.
@prefresh/core'ssignis also made idempotent on the'begin'path so that
the inner type'sgetCustomHooksis never overwritten by an outer HOC call that
carries no hook information, and the'needsHooks'path is guarded against a
missing signature entry. - Discriminate by
-
Updated dependencies [
f6129bbef1db5db70e292b56a6b8fff734ba2cc2]:- @prefresh/core@1.5.10