Skip to content

Instantly share code, notes, and snippets.

@influx6
Forked from WebReflection/dom-libraries.md
Created September 11, 2022 09:20
Show Gist options
  • Select an option

  • Save influx6/e0276f20b55a03f0e5be8fdaec23ad07 to your computer and use it in GitHub Desktop.

Select an option

Save influx6/e0276f20b55a03f0e5be8fdaec23ad07 to your computer and use it in GitHub Desktop.

Revisions

  1. @WebReflection WebReflection revised this gist Feb 17, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -46,7 +46,7 @@ you choose what to use
    | ------------------------- |:----------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 4.8K | 6.8K |
    | brotli min & transpiled | 2.8K | 4.8K | 6.8K |
    | brotli min & ecmascript | 2.5K | 4.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | simple/friendly API ||| |
  2. @WebReflection WebReflection revised this gist Feb 17, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -59,7 +59,7 @@ you choose what to use
    | `.dataset=${obj}` helper ||| |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | boolean `?attr=${...}` || | |
    | boolean `?attr=${...}` || since v4.2 | since v2.34 |
    | has own components too | | ||
    | user-land defined intents | | ||
    | auto keyed nodes ||| |
  3. @WebReflection WebReflection revised this gist Feb 12, 2021. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -59,6 +59,7 @@ you choose what to use
    | `.dataset=${obj}` helper ||| |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | boolean `?attr=${...}` || | |
    | has own components too | | ||
    | user-land defined intents | | ||
    | auto keyed nodes ||| |
    @@ -76,8 +77,8 @@ you choose what to use
    | automatic fragments ||||
    | interpolated HTML content ||||
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5, 11| 1, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 29 | 33.5 | 26.5 |
    | Companions & wrappers | 1, 2, 3, 4, 5, 11| 1, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 30 | 33.5 | 26.5 |

    ### About HTML injection safety

  4. @WebReflection WebReflection revised this gist Jan 7, 2021. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -76,8 +76,8 @@ you choose what to use
    | automatic fragments ||||
    | interpolated HTML content ||||
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5, 11| 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 28.5 | 33.5 | 26.5 |
    | Companions & wrappers | 1, 2, 3, 4, 5, 11| 1, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 29 | 33.5 | 26.5 |

    ### About HTML injection safety

    @@ -89,8 +89,8 @@ Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolati
    ### Companions & wrappers

    1. vanilla JS
    2. [µce](https://github.com/WebReflection/uce#readme)
    3. [µcontent](https://github.com/WebReflection/ucontent#readme)
    2. [µce](https://github.com/WebReflection/uce#readme) / [µce-template](https://github.com/WebReflection/uce-template#readme)
    3. [µhtml-ssr](https://github.com/WebReflection/uhtml-ssr#readme) / [µcontent](https://github.com/WebReflection/ucontent#readme)
    4. [wickedElements](https://github.com/WebReflection/wicked-elements#readme)
    5. [hookedElements](https://github.com/WebReflection/hooked-elements#readme)
    6. [neverland](https://github.com/WebReflection/neverland#readme)
  5. @WebReflection WebReflection revised this gist Jan 7, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -53,7 +53,7 @@ you choose what to use
    | sparse attributes | |||
    | events attribute ||||
    | events options ||| |
    | `style` special case | |||
    | `style` special case | opt-in: [µstyler](https://github.com/WebReflection/ustyler#readme) |||
    | `aria` special case || since v3 | |
    | `ref` special case ||| |
    | `.dataset=${obj}` helper ||| |
  6. @WebReflection WebReflection revised this gist Jan 7, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -65,7 +65,7 @@ you choose what to use
    | manually keyed nodes ||||
    | Custom Elements compat. ||||
    | Shadow DOM compat. ||||
    | NodeJS SSR compat. | [µhtml-ssr](https://github.com/WebReflection/uhtml-ssr#readme) [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | NodeJS SSR compat. | [µhtml-ssr](https://github.com/WebReflection/uhtml-ssr#readme) / [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | hooks friendly ||||
    | `<self-closing-tags />` ||||
    | attributes callbacks | `ref` only |||
  7. @WebReflection WebReflection revised this gist Jan 7, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -65,7 +65,7 @@ you choose what to use
    | manually keyed nodes ||||
    | Custom Elements compat. ||||
    | Shadow DOM compat. ||||
    | NodeJS SSR compat. | [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | NodeJS SSR compat. | [µhtml-ssr](https://github.com/WebReflection/uhtml-ssr#readme) [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | hooks friendly ||||
    | `<self-closing-tags />` ||||
    | attributes callbacks | `ref` only |||
  8. @WebReflection WebReflection revised this gist Oct 15, 2020. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@ do one thing only and do it well
    ## Enriched Libraries
    compromise between small and features rich

    * [µce](https://github.com/WebReflection/uce#readme) Custom Elements via _µhtml_
    * [µce](https://github.com/WebReflection/uce#readme) Custom Elements via _µhtml_ (see a [comparison w/ lit-element](https://gist.github.com/WebReflection/ae3451c17c5e882bbc7f0714c14eefcd))
    * [µce-template](https://github.com/WebReflection/uce-template#readme) a toolless _Vue 3_ like approach
    * [lighterhtml](https://github.com/WebReflection/lighterhtml#readme) (HTML/SVG auto-keyed and manual keyed render)
    * [hyperHTML](https://github.com/WebReflection/hyperHTML#readme) (HTML/SVG with no auto-keyed but optional manually keyed render)
    @@ -191,5 +191,3 @@ However, if the list of items have a unique id, you can always use `<li data-id=

    </div>
    </details>

    P.S. if you'd like to know more about *uce* vs *lit-element* check [this gist](https://gist.github.com/WebReflection/ae3451c17c5e882bbc7f0714c14eefcd) out.
  9. @WebReflection WebReflection revised this gist Oct 15, 2020. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    # My FE/DOM Libraries
    a gist to recap the current status, also available as [library picker](https://codepen.io/WebReflection/full/PoPjJXq)!


    ## Minimalistic Libraries
    do one thing only and do it well

    @@ -189,4 +190,6 @@ render(viewNode, html`
    However, if the list of items have a unique id, you can always use `<li data-id=${item-id}>` in case you need to retrieve the associated data later on.

    </div>
    </details>
    </details>

    P.S. if you'd like to know more about *uce* vs *lit-element* check [this gist](https://gist.github.com/WebReflection/ae3451c17c5e882bbc7f0714c14eefcd) out.
  10. @WebReflection WebReflection revised this gist Oct 15, 2020. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -48,7 +48,6 @@ you choose what to use
    | brotli min & transpiled | 2.7K | 4.8K | 6.8K |
    | brotli min & ecmascript | 2.5K | 4.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |
    | sparse attributes | |||
    | events attribute ||||
  11. @WebReflection WebReflection revised this gist Sep 25, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,7 @@ do one thing only and do it well
    compromise between small and features rich

    * [µce](https://github.com/WebReflection/uce#readme) Custom Elements via _µhtml_
    * [µce-template](https://github.com/WebReflection/uce-template#readme) a toolless _Vue 3_ like approach
    * [lighterhtml](https://github.com/WebReflection/lighterhtml#readme) (HTML/SVG auto-keyed and manual keyed render)
    * [hyperHTML](https://github.com/WebReflection/hyperHTML#readme) (HTML/SVG with no auto-keyed but optional manually keyed render)
    * [HyperHTMLElement](https://github.com/WebReflection/hyperHTML-Element#readme) (custom elements via _hyperHTML_)
  12. @WebReflection WebReflection revised this gist Jun 24, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -33,7 +33,7 @@ you choose what to use

    * _wickedElements_ & _µhtml_ or _lighterhtml_ (easy)
    * _hookedElements_ & _µhtml_ or _lighterhtml_ (even easier)
    * _dom-augmentor_ & _µhtml_ or _lighterhtml_ (not easy at all, try _neverland_ instead)
    * _dom-augmentor_ & _µhtml_ or _lighterhtml_ (not easy at all, try _µland_ or _neverland_ instead)
    * native Custom Elements and _µhtml_ or _lighterhtml_ [are an option too](https://webcomponents.dev/edit/EZjX0ZIN0nnESD0PjQPh)

    - - -
  13. @WebReflection WebReflection revised this gist Jun 21, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -96,8 +96,8 @@ Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolati
    7. [heresy](https://github.com/WebReflection/heresy#readme)
    8. [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme)
    9. [HyperHTMLElement](https://github.com/WebReflection/hyperHTML-Element#readme)
    11. [µland](https://github.com/WebReflection/uland#readme) (_µhtml_ + _dom-augmentor_)

    11. [µland](https://github.com/WebReflection/uland#readme)
    - - -

    ### DOM Engines Summary
  14. @WebReflection WebReflection revised this gist Jun 21, 2020. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -24,6 +24,7 @@ integrated libraries

    * [hookedElements](https://github.com/WebReflection/hooked-elements#readme) (_wickedElements_ + _augmentor_)
    * [neverland](https://github.com/WebReflection/neverland#readme) (_lighterhtml_ + _dom-augmentor_)
    * [µland](https://github.com/WebReflection/uland#readme) (_µhtml_ + _dom-augmentor_)
    * [heresy](https://github.com/WebReflection/heresy#readme) and [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) (_lighterhtml_ + _augmentor_ + Custom Elements)


    @@ -74,8 +75,8 @@ you choose what to use
    | automatic fragments ||||
    | interpolated HTML content ||||
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 27.5 | 33.5 | 26.5 |
    | Companions & wrappers | 1, 2, 3, 4, 5, 11| 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 28.5 | 33.5 | 26.5 |

    ### About HTML injection safety

    @@ -95,6 +96,7 @@ Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolati
    7. [heresy](https://github.com/WebReflection/heresy#readme)
    8. [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme)
    9. [HyperHTMLElement](https://github.com/WebReflection/hyperHTML-Element#readme)
    11. [µland](https://github.com/WebReflection/uland#readme) (_µhtml_ + _dom-augmentor_)

    - - -

  15. @WebReflection WebReflection revised this gist Jun 15, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -43,8 +43,8 @@ you choose what to use
    | ------------------------- |:----------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 6.1K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.2K | not built |
    | brotli min & transpiled | 2.7K | 4.8K | 6.8K |
    | brotli min & ecmascript | 2.5K | 4.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |
  16. @WebReflection WebReflection revised this gist Jun 15, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -53,8 +53,8 @@ you choose what to use
    | events options ||| |
    | `style` special case | |||
    | `aria` special case || since v3 | |
    | `data` special case || since v3 | |
    | `ref` special case ||| |
    | `.dataset=${obj}` helper ||| |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | has own components too | | ||
  17. @WebReflection WebReflection revised this gist Jun 8, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -82,7 +82,7 @@ you choose what to use
    In _hyperHTML_ an array of strings, or primitives, used as interpolation is automatically injected as HTML.
    This was an early design/feature mistake, non existent in other libraries.

    Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolation when injecting HTML is meant, hence not accidental, while _uhtml_ doesn't have any fancy mechanism to directly inject HTML at all.
    Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolation when injecting HTML is meant, hence not accidental, while _uhtml_ can either use `ref=callback(node)` or use `html([txt])` instead of a template literal to parse `[txt]` as if it was a template literal, but it's parsed each time if the array is different each time, hence discouraged, yet possible.

    ### Companions & wrappers

  18. @WebReflection WebReflection revised this gist Jun 8, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -72,10 +72,10 @@ you choose what to use
    | promises placeholders | | ||
    | dis/connected events | | only version plus ||
    | automatic fragments ||||
    | interpolated HTML content | `ref` workaround | explicit | explicit |
    | interpolated HTML content | | | |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 27 | 33.5 | 26.5 |
    | **Features Score** | 27.5 | 33.5 | 26.5 |

    ### About HTML injection safety

  19. @WebReflection WebReflection revised this gist Apr 28, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    # My FE/DOM Libraries
    a gist to recap the current status
    a gist to recap the current status, also available as [library picker](https://codepen.io/WebReflection/full/PoPjJXq)!

    ## Minimalistic Libraries
    do one thing only and do it well
  20. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -75,7 +75,7 @@ you choose what to use
    | interpolated HTML content | `ref` workaround | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 26 | 33.5 | 26.5 |
    | **Features Score** | 27 | 33.5 | 26.5 |

    ### About HTML injection safety

  21. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 35 additions and 35 deletions.
    70 changes: 35 additions & 35 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -39,43 +39,43 @@ you choose what to use

    ## DOM Engines Features Comparison

    | | µhtml | lighterhtml | hyperHTML |
    | ------------------------- |:--------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 6.1K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |
    | sparse attributes | |||
    | events attribute ||||
    | events options ||| |
    | `style` special case | |||
    | `aria` special case || since v3 | |
    | `data` special case || since v3 | |
    | `ref` special case ||| |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | has own components too | | ||
    | user-land defined intents | | ||
    | auto keyed nodes ||| |
    | manually keyed nodes ||||
    | Custom Elements compat. ||||
    | Shadow DOM compat. ||||
    | | µhtml | lighterhtml | hyperHTML |
    | ------------------------- |:----------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 6.1K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API | || |
    | sparse attributes | |||
    | events attribute | |||
    | events options | || |
    | `style` special case | |||
    | `aria` special case | | since v3 | |
    | `data` special case | | since v3 | |
    | `ref` special case | || |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` | || since v2.32 |
    | has own components too | | ||
    | user-land defined intents | | ||
    | auto keyed nodes | || |
    | manually keyed nodes | |||
    | Custom Elements compat. | |||
    | Shadow DOM compat. | |||
    | NodeJS SSR compat. | [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | hooks friendly ||||
    | `<self-closing-tags />` ||||
    | attributes callbacks | `ref` only |||
    | content callbacks | |||
    | promises as content | | ||
    | promises placeholders | | ||
    | dis/connected events | | only version plus ||
    | automatic fragments ||||
    | hooks friendly | |||
    | `<self-closing-tags />` | |||
    | attributes callbacks | `ref` only |||
    | content callbacks | |||
    | promises as content | | ||
    | promises placeholders | | ||
    | dis/connected events | | only version plus ||
    | automatic fragments | |||
    | interpolated HTML content | `ref` workaround | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 26 | 33.5 | 26.5 |
    | HTML injection safety | || **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 26 | 33.5 | 26.5 |

    ### About HTML injection safety

  22. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -75,7 +75,7 @@ you choose what to use
    | interpolated HTML content | `ref` workaround | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 25.5 | 33.5 | 26.5 |
    | **Features Score** | 26 | 33.5 | 26.5 |

    ### About HTML injection safety

  23. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -72,7 +72,7 @@ you choose what to use
    | promises placeholders | | ||
    | dis/connected events | | only version plus ||
    | automatic fragments ||||
    | interpolated HTML content | | explicit | explicit |
    | interpolated HTML content | `ref` workaround | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 25.5 | 33.5 | 26.5 |
  24. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 8 additions and 7 deletions.
    15 changes: 8 additions & 7 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -74,7 +74,7 @@ you choose what to use
    | automatic fragments ||||
    | interpolated HTML content | | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4 | 1, 3, 4, 5, 6, 7 | 1, 7 |
    | Companions & wrappers | 1, 2, 3, 4, 5 | 1, 3, 4, 5, 6, 7, 8 | 1, 9 |
    | **Features Score** | 25.5 | 33.5 | 26.5 |

    ### About HTML injection safety
    @@ -88,12 +88,13 @@ Both _lighterhtml_ and _hyperHTML_ accepts an explicit `{html: ...}` interpolati

    1. vanilla JS
    2. [µce](https://github.com/WebReflection/uce#readme)
    3. [wickedElements](https://github.com/WebReflection/wicked-elements#readme)
    4. [hookedElements](https://github.com/WebReflection/hooked-elements#readme)
    5. [neverland](https://github.com/WebReflection/neverland#readme)
    6. [heresy](https://github.com/WebReflection/heresy#readme)
    7. [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme)
    8. [HyperHTMLElement](https://github.com/WebReflection/hyperHTML-Element#readme)
    3. [µcontent](https://github.com/WebReflection/ucontent#readme)
    4. [wickedElements](https://github.com/WebReflection/wicked-elements#readme)
    5. [hookedElements](https://github.com/WebReflection/hooked-elements#readme)
    6. [neverland](https://github.com/WebReflection/neverland#readme)
    7. [heresy](https://github.com/WebReflection/heresy#readme)
    8. [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme)
    9. [HyperHTMLElement](https://github.com/WebReflection/hyperHTML-Element#readme)

    - - -

  25. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -75,7 +75,7 @@ you choose what to use
    | interpolated HTML content | | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4 | 1, 3, 4, 5, 6, 7 | 1, 7 |
    | **Features Score** | 24.5 | 33.5 | 26.5 |
    | **Features Score** | 25.5 | 33.5 | 26.5 |

    ### About HTML injection safety

  26. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -63,7 +63,7 @@ you choose what to use
    | manually keyed nodes ||||
    | Custom Elements compat. ||||
    | Shadow DOM compat. ||||
    | NodeJS SSR compat. | || |
    | NodeJS SSR compat. | [µcontent](https://github.com/WebReflection/ucontent#readme) | [heresy-ssr](https://github.com/WebReflection/heresy-ssr#readme) | [viperHTML](https://github.com/WebReflection/viperHTML#readme) |
    | hooks friendly ||||
    | `<self-closing-tags />` ||||
    | attributes callbacks | `ref` only |||
  27. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -43,8 +43,8 @@ you choose what to use
    | ------------------------- |:--------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 6.3K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.4K | not built |
    | brotli min & transpiled | 2.7K | 6.1K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.2K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |
  28. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -51,11 +51,11 @@ you choose what to use
    | sparse attributes | |||
    | events attribute ||||
    | events options ||| |
    | style attributes | |||
    | aria special case || since v3 | |
    | data special case || since v3 | |
    | ref special case ||| |
    | data & props setters | | ||
    | `style` special case | |||
    | `aria` special case || since v3 | |
    | `data` special case || since v3 | |
    | `ref` special case ||| |
    | `data` & `props` setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | has own components too | | ||
    | user-land defined intents | | ||
  29. @WebReflection WebReflection revised this gist Mar 27, 2020. 1 changed file with 8 additions and 6 deletions.
    14 changes: 8 additions & 6 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -43,17 +43,19 @@ you choose what to use
    | ------------------------- |:--------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 5.4K | 6.8K |
    | brotli min & ecmascript | 2.4K | 4.9K | not built |
    | brotli min & transpiled | 2.7K | 6.3K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.4K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |
    | sparse attributes | |||
    | events attribute ||||
    | events options ||| |
    | style attributes | |||
    | ref attributes ||| |
    | data/props attributes | |||
    | aria special case || since v3 | |
    | data special case || since v3 | |
    | ref special case ||| |
    | data & props setters | | ||
    | direct `.setters=${...}` ||| since v2.32 |
    | has own components too | | ||
    | user-land defined intents | | ||
    @@ -64,7 +66,7 @@ you choose what to use
    | NodeJS SSR compat. | |||
    | hooks friendly ||||
    | `<self-closing-tags />` ||||
    | attributes callbacks | |||
    | attributes callbacks | `ref` only |||
    | content callbacks | |||
    | promises as content | | ||
    | promises placeholders | | ||
    @@ -73,7 +75,7 @@ you choose what to use
    | interpolated HTML content | | explicit | explicit |
    | HTML injection safety ||| **** |
    | Companions & wrappers | 1, 2, 3, 4 | 1, 3, 4, 5, 6, 7 | 1, 7 |
    | **Features Score** | 22 | 31.5 | 26.5 |
    | **Features Score** | 24.5 | 33.5 | 26.5 |

    ### About HTML injection safety

  30. @WebReflection WebReflection revised this gist Mar 15, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions dom-libraries.md
    Original file line number Diff line number Diff line change
    @@ -43,8 +43,8 @@ you choose what to use
    | ------------------------- |:--------------:|:-----------------:|:-------------:|
    | released | early 2020 | late 2018 | early 2017 |
    | browsers compatibility | IE11+ & mobile | IE9+ & mobile | IE9+ & mobile |
    | brotli min & transpiled | 2.7K | 5.6K | 6.8K |
    | brotli min & ecmascript | 2.5K | 5.1K | not built |
    | brotli min & transpiled | 2.7K | 5.4K | 6.8K |
    | brotli min & ecmascript | 2.4K | 4.9K | not built |
    | performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
    | battle tested | |||
    | simple/friendly API ||| |