Releases: preactjs/prefresh
@prefresh/vite@3.0.1
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
@prefresh/core@1.5.10
Patch Changes
-
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
@prefresh/vite@3.0.0
Major Changes
117dde9ca19d69bb53f4c410c3fd55cb4b895c97#607 Thanks @JoviDeCroock! - Add true vite 8 support with native rolldown rather than babel
Patch Changes
- Updated dependencies [
06555599cec8198540d221d6a1fd26fdd22de169]:- @prefresh/rolldown@0.1.0
@prefresh/rolldown@0.1.0
Minor Changes
06555599cec8198540d221d6a1fd26fdd22de169#606 Thanks @JoviDeCroock! - Add a Rolldown package that memoizescreateContext()calls so Preact context identity is preserved across hot updates.
@prefresh/web-dev-server@1.1.6
Patch Changes
- Updated dependencies [
2b79884480b19bc02ee06eba59f2882672c0e7f0]:- @prefresh/babel-plugin@0.5.3
@prefresh/vite@2.4.12
Patch Changes
- Updated dependencies [
2b79884480b19bc02ee06eba59f2882672c0e7f0]:- @prefresh/babel-plugin@0.5.3
@prefresh/babel-plugin@0.5.3
Patch Changes
2b79884480b19bc02ee06eba59f2882672c0e7f0#604 Thanks @JoviDeCroock! - Properly support signals
@prefresh/core@1.5.9
Patch Changes
6ad366f68fb445493881c13be98055038aed08a9#599 Thanks @JoviDeCroock! - Cleanup unmounted vnodes
@prefresh/webpack@4.0.6
Patch Changes
e4dbe7ad8701300a018c4e915afce923d2531866#593 Thanks @JoviDeCroock! - Convey information when an update fails
@prefresh/vite@2.4.11
Patch Changes
e4dbe7ad8701300a018c4e915afce923d2531866#593 Thanks @JoviDeCroock! - Convey information when an update fails