From 7bcfc8e44194327fd65a803377968c8df8eb29f8 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Fri, 27 Jun 2025 00:10:58 +0000 Subject: [PATCH] chore: update examples to new api --- examples/react/src/backend/server.ts | 3 +- examples/react/src/frontend/App.tsx | 74 ++++++++++++++-------------- examples/react/src/frontend/main.tsx | 18 +++---- examples/trpc/scripts/client.ts | 68 ++++++++++++------------- examples/trpc/src/server.ts | 68 ++++++++++++------------- 5 files changed, 115 insertions(+), 116 deletions(-) diff --git a/examples/react/src/backend/server.ts b/examples/react/src/backend/server.ts index 5eb7d1676..4b3ffe3c8 100644 --- a/examples/react/src/backend/server.ts +++ b/examples/react/src/backend/server.ts @@ -1,7 +1,6 @@ import { registry } from "./registry"; -import { serve } from "@rivetkit/nodejs"; -serve(registry, { +registry.runServer({ cors: { // IMPORTANT: Configure origins in production origin: "*", diff --git a/examples/react/src/frontend/App.tsx b/examples/react/src/frontend/App.tsx index 16d803746..c5d451724 100644 --- a/examples/react/src/frontend/App.tsx +++ b/examples/react/src/frontend/App.tsx @@ -1,37 +1,37 @@ -// import { useState } from "react"; -// import { createClient, createRivetKit } from "@rivetkit/react"; -// import type { Registry } from "../backend/registry"; -// -// const client = createClient(`http://localhost:8080/registry`); -// const { useActor } = createRivetKit(client); -// -// function App() { -// const [count, setCount] = useState(0); -// const [counterName, setCounterName] = useState("test-counter"); -// -// const counter = useActor({ -// name: "counter", -// key: [counterName], -// }); -// -// counter.useEvent("newCount", (x: number) => setCount(x)); -// -// const increment = async () => { -// await counter.connection?.increment(1); -// }; -// -// return ( -//
-//

Counter: {count}

-// setCounterName(e.target.value)} -// placeholder="Counter name" -// /> -// -//
-// ); -// } -// -// export default App; +import { useState } from "react"; +import { createClient, createRivetKit } from "@rivetkit/react"; +import type { registry } from "../backend/registry"; + +const client = createClient(`http://localhost:8080/registry`); +const { useActor } = createRivetKit(client); + +function App() { + const [count, setCount] = useState(0); + const [counterName, setCounterName] = useState("test-counter"); + + const counter = useActor({ + name: "counter", + key: [counterName], + }); + + counter.useEvent("newCount", (x: number) => setCount(x)); + + const increment = async () => { + await counter.connection?.increment(1); + }; + + return ( +
+

Counter: {count}

+ setCounterName(e.target.value)} + placeholder="Counter name" + /> + +
+ ); +} + +export default App; diff --git a/examples/react/src/frontend/main.tsx b/examples/react/src/frontend/main.tsx index cd443c7ac..6d0ba7949 100644 --- a/examples/react/src/frontend/main.tsx +++ b/examples/react/src/frontend/main.tsx @@ -1,9 +1,9 @@ -// import React from "react"; -// import ReactDOM from "react-dom/client"; -// import App from "./App"; -// -// ReactDOM.createRoot(document.getElementById("root")!).render( -// -// -// , -// ); +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; + +ReactDOM.createRoot(document.getElementById("root")!).render( + + + , +); diff --git a/examples/trpc/scripts/client.ts b/examples/trpc/scripts/client.ts index f87ec1703..fbbee233c 100644 --- a/examples/trpc/scripts/client.ts +++ b/examples/trpc/scripts/client.ts @@ -1,34 +1,34 @@ -// import { createTRPCClient, httpBatchLink } from "@trpc/client"; -// import type { AppRouter } from "../src/server.js"; -// -// // Create tRPC client -// const client = createTRPCClient({ -// links: [ -// httpBatchLink({ -// url: "http://localhost:3001", -// }), -// ], -// }); -// -// async function main() { -// console.log("🚀 tRPC Client Demo"); -// -// try { -// // Increment counter -// console.log("Incrementing counter 'demo'..."); -// const result = await client.increment.mutate({ name: "demo" }); -// console.log("New count:", result); -// -// // Increment again -// console.log("Incrementing counter 'demo' again..."); -// const result2 = await client.increment.mutate({ name: "demo" }); -// console.log("New count:", result2); -// -// console.log("✅ Demo completed!"); -// } catch (error) { -// console.error("❌ Error:", error); -// process.exit(1); -// } -// } -// -// main().catch(console.error); +import { createTRPCClient, httpBatchLink } from "@trpc/client"; +import type { AppRouter } from "../src/server.js"; + +// Create tRPC client +const client = createTRPCClient({ + links: [ + httpBatchLink({ + url: "http://localhost:3001", + }), + ], +}); + +async function main() { + console.log("🚀 tRPC Client Demo"); + + try { + // Increment counter + console.log("Incrementing counter 'demo'..."); + const result = await client.increment.mutate({ name: "demo" }); + console.log("New count:", result); + + // Increment again + console.log("Incrementing counter 'demo' again..."); + const result2 = await client.increment.mutate({ name: "demo" }); + console.log("New count:", result2); + + console.log("✅ Demo completed!"); + } catch (error) { + console.error("❌ Error:", error); + process.exit(1); + } +} + +main().catch(console.error); diff --git a/examples/trpc/src/server.ts b/examples/trpc/src/server.ts index 8f90f67ba..dc3bc8349 100644 --- a/examples/trpc/src/server.ts +++ b/examples/trpc/src/server.ts @@ -1,34 +1,34 @@ -// import { registry } from "./registry.js"; -// import { initTRPC } from "@trpc/server"; -// import { createHTTPServer } from "@trpc/server/adapters/standalone"; -// import { z } from "zod"; -// -// // Start RivetKit -// const { client } = registry.run(); -// -// // Initialize tRPC -// const t = initTRPC.create(); -// -// // Create tRPC router with RivetKit integration -// const appRouter = t.router({ -// // Increment a named counter -// increment: t.procedure -// .input(z.object({ name: z.string() })) -// .mutation(async ({ input }) => { -// const counter = client.counter.getOrCreate(input.name); -// const newCount = await counter.increment(1); -// return newCount; -// }), -// }); -// -// // Export type for client -// export type AppRouter = typeof appRouter; -// -// // Create HTTP server -// const server = createHTTPServer({ -// router: appRouter, -// }); -// -// server.listen(3001); -// -// console.log("tRPC server listening at http://localhost:3001"); +import { registry } from "./registry.js"; +import { initTRPC } from "@trpc/server"; +import { createHTTPServer } from "@trpc/server/adapters/standalone"; +import { z } from "zod"; + +// Start RivetKit +const { client } = registry.createServer(); + +// Initialize tRPC +const t = initTRPC.create(); + +// Create tRPC router with RivetKit integration +const appRouter = t.router({ + // Increment a named counter + increment: t.procedure + .input(z.object({ name: z.string() })) + .mutation(async ({ input }) => { + const counter = client.counter.getOrCreate(input.name); + const newCount = await counter.increment(1); + return newCount; + }), +}); + +// Export type for client +export type AppRouter = typeof appRouter; + +// Create HTTP server +const server = createHTTPServer({ + router: appRouter, +}); + +server.listen(3001); + +console.log("tRPC server listening at http://localhost:3001");