@liveblocks/codemod
Advanced tools
Changelog
v2.0.0
This major release marks the maturity of Liveblocks. It contains new products
(@liveblocks/react-lexical
) and clarifications (e.g.
@liveblocks/react-comments
is now called @liveblocks/react-ui
).
Also, we bring major DX improvements by allowing you to specify your types globally now. These types will be typed once and shared across all Liveblocks APIs, which includes your Node backend.
// ❌ Before
export const {
suspense: {
RoomProvider,
useRoom,
// etc
},
} = createRoomContext<Presence, Storage>(client);
// ✅ After
declare global {
interface Liveblocks {
Presence: Presence;
Storage: Storage;
}
}
In @liveblocks/react
, you can now import hooks directly:
// ❌ Before: get hooks exported from your Liveblocks config
import { RoomProvider, useRoom, ... } from "./liveblocks.config";
// ✅ After: import hooks directly
import { RoomProvider, useRoom, ... } from "@liveblocks/react";
import { RoomProvider, useRoom, ... } from "@liveblocks/react/suspense";
// ❌ Before
const client = createClient(/* options */);
// ✅ After
<LiveblocksProvider /* options */>
<App />
</LiveblocksProvider>
For full upgrade instructions and codemods, see the 2.0 upgrade guide.
create-liveblocks-app
--upgrade
flag to automatically update all Liveblocks package to their
latest version.@liveblocks/client
@liveblocks/react
<ClientSideSuspense>
no longer needs a function as its
children
LiveblocksProvider
(replaces the need for createClient
)useClient
useMutation
error message to be less confusing.undefined
values.@liveblocks/react-ui
@liveblocks/react-comments
.<CommentsConfig />
to <LiveblocksUIConfig />
.InboxNotification
props types.@liveblocks/react-lexical
@liveblocks/node-lexical
@liveblocks/yjs
LiveblocksProvider
is no longer a default export, it’s now
import { LiveblocksYjsProvider } from "@liveblocks/yjs"
.@liveblocks/node
RoomInfo
to RoomData
.NotificationEvent
’s type can represent multiple kinds of
notifications. ("thread"
, "textMention"
, and custom ones (e.g.
"$myNotification"
))@liveblocks/codemod