Socket
Book a DemoInstallSign in
Socket

vel

Package Overview
Dependencies
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vel

Create and render virtual-dom elements with ease

latest
Source
npmnpm
Version
1.2.0
Version published
Maintainers
2
Created
Source

vel

NPM version build status Test coverage Downloads js-standard-style

Efficiently create and render virtual-dom elements.

Installation

$ npm install vel

Usage

const vel = require('vel')

const el = vel((h, state) => h.html(`<p>hello ${state.type} world</p>`))
const node = el({ type: 'cruel' })

document.body.appendChild(node)
// <p>hello cruel world</p>

API

el = vel(cb(h, state))

Initialize a new virtual element. Listen to the render event. Expects a vdom tree to be returned. h accepts virtual-dom elements, h.html accepts HTML strings and h.svg accepts virtual-dom SVG elements.

el([state])

Render the element's vdom tree to DOM nodes which can be mounted on the DOM. Uses main-loop under the hood. Calling the method again will re-render the DOM nodes with the new state. Alias: el.render([state]).

el.toString([state])

Render the element's vdom tree to a string. For example useful to pre-render HTML on the server, or save to a static file.

vtree = el.vtree([data])

Get the element's vdom tree. Useful for element composition.

FAQ

why did you write this?

Using virtual-dom requires quite some boilerplate. vel removes the need for that boilerplate without adding extra features, making it easier to write virtual-dom systems.

why is there no state transport mechanism included?

vel does one thing, and only one thing. Instead of including a state transport mechanism I felt it made more sense to let users decide for themselves how they want their state to flow between components.

what's the difference between virtual-dom and react?

react is an opinionated framework that uses non-standard syntax to create systems. It forces users to write JS in OO style and is hard to switch from once you buy into it. virtual-dom does away with those opinions, giving users a blazingly fast rendering engine without the overhead of a framework.

this module sound lot like base-element!

Yeah, definitely! I'm actually a huge fan of base-element. However I wanted something a little more barebone favoring composition over inheritance. If inheritance is your thing, definitely check out base-element (and say hi to @shama for me :grin:).

See Also

License

MIT

Keywords

helper

FAQs

Package last updated on 18 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts