├── src ├── jsx-dev-runtime.ts ├── tests │ ├── server │ │ ├── components.client.tsx │ │ ├── components.server.tsx │ │ ├── ssr-escaping.test.tsx │ │ ├── server-client-parity.test.tsx │ │ ├── ssr-render.test.tsx │ │ ├── ssr-basic.test.tsx │ │ ├── parity │ │ │ ├── ssr-parity-attributes-styles.test.tsx │ │ │ └── ssr-parity-probe.test.tsx │ │ └── ssr-props-events.test.tsx │ ├── custom-input.test.tsx │ ├── e2e.test.tsx │ ├── subcomponent-regeneration.test.tsx │ ├── abort-signal.test.tsx │ ├── connect-events.test.tsx │ ├── root-update.test.tsx │ ├── drummer.test.tsx │ ├── create-element.test.tsx │ ├── memo-props.test.tsx │ ├── closure.test.tsx │ ├── counter.test.tsx │ ├── root-reconcile.test.tsx │ ├── update-traversal.test.tsx │ ├── mutation.test.tsx │ ├── tabber-form.test.tsx │ ├── keyed-elements.test.tsx │ ├── prop-store-subscribe.test.tsx │ ├── style-observable.test.tsx │ ├── non-keyed-table-large.test.tsx │ ├── error-handling.test.tsx │ ├── keyed-table-large.test.tsx │ ├── create-list.test.tsx │ └── keyed-components.test.tsx ├── error.ts ├── bench │ ├── table │ │ ├── entries.ts │ │ ├── clear.bench.tsx │ │ ├── create-1000-rows.bench.tsx │ │ ├── create-10000-rows.bench.tsx │ │ ├── append-1000-rows.bench.tsx │ │ ├── update-every-10th-row.bench.tsx │ │ ├── swap-rows.bench.tsx │ │ └── frameworks │ │ │ ├── preact.tsx │ │ │ └── react.tsx │ ├── bench.utils.ts │ ├── render.bench.tsx │ └── update.bench.tsx ├── server │ ├── jsx-dev-runtime.ts │ └── jsx-runtime.ts ├── symbols.ts ├── signal.ts ├── types.ts ├── jsx-runtime.ts ├── server.ts └── channel.ts ├── .gitignore ├── .editorconfig ├── check-size.ts ├── deno.json ├── .zed └── settings.json ├── test └── utils.ts ├── tsconfig.json ├── LICENSE ├── playground ├── www │ ├── async.html │ ├── full.html │ └── table.html └── async.tsx └── AGENTS.md /src/jsx-dev-runtime.ts: -------------------------------------------------------------------------------- 1 | export * from "./jsx-runtime.ts"; 2 | -------------------------------------------------------------------------------- /src/tests/server/components.client.tsx: -------------------------------------------------------------------------------- 1 | /** @jsxImportSource ../../ */ 2 | 3 | export function App() { 4 | return
content
"); 75 | }); 76 | 77 | test("ssr: text content escaping retains structure", () => { 78 | const raw = 'A&B| {r.id} | 172 |{r.label} | 173 |
This component resolved immediately
30 |Name: {user.name}
56 |Email: {user.email}
57 |This component loaded successfully!
77 |Load count: {firstCount}
104 | // //Load count: {firstCount}
123 || {r.id} | 176 |{r.label} | 177 |