From 4c318234fac0c7ae9d8cacda4fd3ab24783e2fc7 Mon Sep 17 00:00:00 2001 From: Abhishiv Saxena Date: Tue, 9 Jul 2024 00:07:05 +0530 Subject: [PATCH 1/3] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d5059c..390ec48 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ const Page = component("HomePage", (props, { signal, wire, store }) => { // with explicit subscription using the $ token param // NB: also makes code easy to reason about and prevents those pesky untrack/sample related errors const $doubleCount = wire(($) => $count($) * 2); + return (

Hey, {props.name}

From c1660642fb02a9dd840cd7d4a593ec18b030fb4c Mon Sep 17 00:00:00 2001 From: Abhishiv Saxena Date: Tue, 9 Jul 2024 00:07:50 +0530 Subject: [PATCH 2/3] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 390ec48..59abf97 100644 --- a/README.md +++ b/README.md @@ -46,9 +46,9 @@ import { component, h, render } from "alfama"; // 1) The signal/wire/store functions are passed as a param to // component definition -const Page = component("HomePage", (props, { signal, wire, store }) => { +const Page = component("HomePage", (props, { signal, wire }) => { - // 2) Name signals for rock solid HMR + // 2) Named signals for stable HMR const $count = signal("count", 0); // 3) Most importantly: wire reactivity to signals From e8baee4ed49b0a9d63d95a7d81ce28c30c489bde Mon Sep 17 00:00:00 2001 From: Abhishiv Saxena Date: Fri, 12 Jul 2024 05:44:15 +0530 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 59abf97..4d10680 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,13 @@ #### Features +- **Rich and Complete:** From support for `SVG` to popular patterns like `dangerouslySetInnerHTML`, `ref` to `` and `` alfama has you covered. - **Small:** Fully featured at `~9kB` gzip. - **Truly reactive and fine grained:** Unlike VDOM libraries which use diffing to compute changes, it uses fine grained updates to target only the DOM which needs to update. - **No Magic:** Explicit subscriptions obviate the need of [`sample`](https://github.com/luwes/sinuous/blob/8d1aa0cdb8a25e6bfcdf34f022523564a9adb533/src/observable.js#L34-L49)/[`untrack`](https://github.com/vobyjs/voby#untrack) methods found in other fine grained reactive libraries like solid/sinuous. _Importantly, many feel that this also makes your code easy to reason about._ - **Signals and Stores:** Signals for primitives and Stores for deeply nested objects/arrays. - **First class HMR:** Preserves Signals/Stores across HMR loads for a truly stable HMR experience. - **DevEx:** no compile step needed if you want: choose your view syntax: `h` for plain javascript or `` for babel/typescript. -- **Rich and Complete:** From support for `SVG` to popular patterns like `dangerouslySetInnerHTML`, `ref` to `` and `` alfama has you covered. #### Ecosystem