Skip to content

notes-demo → React (no-bundle React validated in-browser) - #2

Merged
mkotelnikov merged 1 commit into
mainfrom
phase4-notes-demo-react
Aug 5, 2026
Merged

notes-demo → React (no-bundle React validated in-browser)#2
mkotelnikov merged 1 commit into
mainfrom
phase4-notes-demo-react

Conversation

@mkotelnikov

Copy link
Copy Markdown
Contributor

notes-demo → React (no-bundle React validated in-browser)

Switches the note-taking demo's UI from vanilla DOM back to React (react/react-dom served from npm, transformed CJS→ESM on the fly), now that no-bundle React works.

Verified in a real browser

  • React renders and is interactive — createRoot, hooks, state updates, the FilesApi note store (list/create/save/delete).
  • Tailwind v4 + @themebg-brand/text-brand (#4f46e5) apply.
  • F2 @import at runtime — the plain theme.css → @import "./palette.css" chain: the injected <style> keeps @import "./palette.css", which resolves against <base href="/~/"> to the real emitted /~/palette.css.note-card border is #c7d2fe.
  • F3 asset — the .logo header icon loads url("./logo.svg")/~/logo.svg.
  • No bundler — the browser loads /~/main.js as a plain ES module; React + the app graph are served from the static build tree.

Requires (webrun-modules, all PR-gated)

  • resolveRelativeId project .js.ts/.tsx (merged).
  • webrun-files#6 — JSX prod/dev consistency + NODE_ENV dead-code elimination (the two fixes that make no-bundle React work).

Gate

test/build.test.ts (MemFilesApi, no network) 4/4; tsc + biome clean.

Do not auto-merge — Ready to review per the PR-gate. Depends on webrun-files#6.

🤖 Generated with Claude Code

…2/F3 in-browser

Switches the demo UI back to React (react/react-dom served from npm, CJS→ESM on
the fly) now that no-bundle React works. Verified in a real browser: React
renders + is interactive (createRoot/hooks/state), Tailwind + @theme bg-brand,
F2 runtime @import (.note-card #c7d2fe from palette.css via the injected
<style>), F3 url() asset (logo.svg), FilesApi note store (?mem for tests).

Requires webrun-modules: resolveRelativeId project-ext (merged), JSX prod/dev
consistency, and NODE_ENV dead-code elimination.
@mkotelnikov
mkotelnikov merged commit 06cd5fb into main Aug 5, 2026
1 check failed
@mkotelnikov
mkotelnikov deleted the phase4-notes-demo-react branch August 5, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant