···11-// Must be first - shims webpack globals for react-server-dom-webpack
22-import "./webpack-shim.js";
33-44-import "./byte-stream-polyfill.js";
55-import "web-streams-polyfill/polyfill";
66-import "text-encoding";
77-88-import React from "react";
99-import { createRoot } from "react-dom/client";
1010-import { App } from "./ui/App.jsx";
1111-1212-// Mount the app
1313-document.addEventListener("DOMContentLoaded", () => {
1414- const root = createRoot(document.getElementById("app"));
1515- root.render(<App />);
1616-});
+18
src/client/index.tsx
···11+// Must be first - shims webpack globals for react-server-dom-webpack
22+import "./webpack-shim.ts";
33+44+import "./byte-stream-polyfill.ts";
55+import "web-streams-polyfill/polyfill";
66+import "text-encoding";
77+88+import { createRoot } from "react-dom/client";
99+import { App } from "./ui/App.tsx";
1010+1111+document.addEventListener("DOMContentLoaded", () => {
1212+ const container = document.getElementById("app");
1313+ if (!container) {
1414+ throw new Error("Could not find #app element");
1515+ }
1616+ const root = createRoot(container);
1717+ root.render(<App />);
1818+});
-3
src/client/runtime/index.js
···11-export { registerClientModule, evaluateClientModule } from "./module-registry.js";
22-export { SteppableStream } from "./steppable-stream.js";
33-export { Timeline } from "./timeline.js";
+15
src/client/runtime/index.ts
···11+export { registerClientModule, evaluateClientModule } from "./module-registry.ts";
22+export {
33+ SteppableStream,
44+ type SteppableStreamOptions,
55+ type Thenable,
66+ type CallServerCallback,
77+} from "./steppable-stream.ts";
88+export {
99+ Timeline,
1010+ type TimelineEntry,
1111+ type RenderEntry,
1212+ type ActionEntry,
1313+ type TimelineSnapshot,
1414+ type TimelinePosition,
1515+} from "./timeline.ts";
-18
src/client/runtime/module-registry.js
···11-import React from "react";
22-33-export function registerClientModule(moduleId, moduleExports) {
44- if (typeof __webpack_module_cache__ !== "undefined") {
55- __webpack_module_cache__[moduleId] = { exports: moduleExports };
66- }
77-}
88-99-export function evaluateClientModule(compiledCode) {
1010- const module = { exports: {} };
1111- const require = (id) => {
1212- if (id === "react") return React;
1313- throw new Error(`Module "${id}" not found in client context`);
1414- };
1515- const fn = new Function("module", "exports", "require", "React", compiledCode);
1616- fn(module, module.exports, require, React);
1717- return module.exports;
1818-}