Mini-Van: A minimalist template engine for DOM generation and manipulation, working for both client-side and server-side rendering (SSR)
API update to match VanJS's API simplification in 1.4.0: https://github.com/vanjs-org/van/discussions/280.
Allow Node
(thus DocumentFragment
) type as parameters of tag functions.
BrowserTags
with the help of HTMLElementTagNameMap
.0.5.1
was skipped due to faulty NPM release.
A ~10% performance improvement was observed for webpages with typical complexity. See the benchmark result for details.
Update mini-van.d.ts
in a way similar to VanJS 1.2.1
release.
Version 0.4.1
is skipped due to the faulty release of Deno module.
van.state
, van.derive
, van._
, van.val
, van.oldVal
, state-valued property, state-derived property, state-valued child node, state-derived child node) with the absence of reactivity. This is crucial for cross-platform UI components to work on both VanJS (client-side) and Mini-Van (server-side).props
values in tag functions. From 0.4.0
, we will consistently assign the property values via setAttribute
in Mini-Van. This is because for SSR (server-side rendering), which is Mini-Van's primary use case, setting the properties of a DOM node won't be visible in the rendered HTML string unless the action of setting the property itself will also set the corresponding HTML attribute (e.g.: setting the id
property of a DOM node will also set the id
attribute). This is helpful as input({type: "text", value: "value"})`` can be rendered as
in **Mini-Van**
0.4.0but would be rendered as
`` if we set the property value via DOM property.Record
.Similar to bug fix of https://github.com/vanjs-org/van/issues/47