Skip to content

feat: #232 Signals based JSX compilation (prototype)#233

Merged
thescientist13 merged 40 commits intomasterfrom
feat/issue-232-signals-based-compilation
Apr 16, 2026
Merged

feat: #232 Signals based JSX compilation (prototype)#233
thescientist13 merged 40 commits intomasterfrom
feat/issue-232-signals-based-compilation

Conversation

@thescientist13
Copy link
Copy Markdown
Member

@thescientist13 thescientist13 commented Feb 1, 2026

Related Issue

resolves #232

Summary of Changes

  1. renamed getValue -> static parseAttribute
  2. Signals based JSX transformation for inferredObservability
  3. Adds querySelector and querySelectorAll DOM shim methods (address part of expand (no-op) support of DOM shim for DOM traversal methods #37 )
  4. Updated / cleaned up sandbox page examples

TODO

  1. Get basic Signals example working
  2. Implement "shallow" effect based reactivity
    • How to do query selecting / templating?
    • attributes
    • multiple different tags
    • multiple same tags
    • top level tag text / attribute based reactivity
  3. implement deeply nested reactivity - support depthful reactivity for JSX + Signals and efficient effects grouping (MVP) #256
  4. validate SSR (how do we ignore effects?)
  5. restore full sandbox / test cases (and refactor for Signals)
  6. Runtime handling / bundling (e.g. polyfill, effect, compiler flag?)
    • do we even need the _wcc template tag? - no longer needed, just need to refactor parseAttributes a bit
    • Signal - defer to userland
    • effect - autogenerated and will require an import map
  7. Ignore computeds for reflecting attributes to properties
  8. Downstream testing
  9. Clean up effects / disconnectedCallback
  10. Types / TypeScript support
  11. address all TODO items / clean up console logs
  12. Docs
    • import map for Signal polyfill / effect runtime imports
    • Relationship between template (effects) + constructor members (observed attributes / signals vs computeds)
    • reinforce one component definition per file (e.g. export default)
    • refresh regular JSX docs
    • nod to svelte / solid / Lit / Stencil
    • polyfill / effect / runtime
    • querySelector / querySelectorAll DOM shims
  13. Update website (home page)

  1. clean up .includes(name)? (nice to have / GFI) - - part of the update function, which is getting removed
  2. Rename the inferredObservability export? - not a big deal
  3. Strip inferred observability boolean (nice to have / GFI) - remove inferredObservability export const from compiled JSX output #257
  4. How to do loops / rich data? (own PR) - not now, tracking in JSX Syntax Enhancements and Features #84
  5. handle local Greenwood overrides (e.g. reference local version of WCC when building the docs website #235 ) - won't do now

@thescientist13 thescientist13 self-assigned this Feb 1, 2026
@thescientist13 thescientist13 added documentation Improvements or additions to the website and / or documentation feature New feature or request breaking JSX labels Feb 1, 2026
@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from b1d8322 to 3e2e5f2 Compare February 7, 2026 19:40
@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 7, 2026

Deploy Preview for merry-caramel-524e61 failed.

Name Link
🔨 Latest commit c7fd576
🔍 Latest deploy log https://app.netlify.com/projects/merry-caramel-524e61/deploys/698795e9abb6c700087255df

@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from 617b435 to 07d331b Compare February 16, 2026 15:50
@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from 7896365 to f218762 Compare February 19, 2026 03:38
@thescientist13 thescientist13 linked an issue Feb 22, 2026 that may be closed by this pull request
4 tasks
@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from baf40dd to 006dde9 Compare February 28, 2026 23:51
@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from 006dde9 to dc9e4d5 Compare March 14, 2026 18:25
@thescientist13 thescientist13 force-pushed the feat/issue-232-signals-based-compilation branch from dc9e4d5 to f0222a7 Compare March 15, 2026 00:57
@thescientist13 thescientist13 changed the title feat: #232 Signals based JSX compilation feat: #232 Signals based JSX compilation (prototype) Mar 28, 2026
@thescientist13 thescientist13 marked this pull request as ready for review April 12, 2026 00:06
@thescientist13 thescientist13 merged commit 6f00ce1 into master Apr 16, 2026
17 checks passed
@thescientist13 thescientist13 deleted the feat/issue-232-signals-based-compilation branch April 16, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking documentation Improvements or additions to the website and / or documentation feature New feature or request InferredObservability JSX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

expand (no-op) support of DOM shim for DOM traversal methods Signals Based JSX compilation (prototype)

1 participant