notes-demo → React (no-bundle React validated in-browser) - #2
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
notes-demo → React (no-bundle React validated in-browser)
Switches the note-taking demo's UI from vanilla DOM back to React (
react/react-domserved from npm, transformed CJS→ESM on the fly), now that no-bundle React works.Verified in a real browser
createRoot, hooks, state updates, the FilesApi note store (list/create/save/delete).@theme—bg-brand/text-brand(#4f46e5) apply.@importat runtime — the plaintheme.css → @import "./palette.css"chain: the injected<style>keeps@import "./palette.css", which resolves against<base href="/~/">to the real emitted/~/palette.css→.note-cardborder is#c7d2fe..logoheader icon loadsurl("./logo.svg")→/~/logo.svg./~/main.jsas a plain ES module; React + the app graph are served from the static build tree.Requires (webrun-modules, all PR-gated)
resolveRelativeIdproject.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+biomeclean.🤖 Generated with Claude Code