Wondering what’s next for npm?Check out our public roadmap! »

    nanodiff

    1.0.0 • Public • Published

    nanodiff stability

    npm version build status test coverage downloads js-standard-style

    Embeddable DOM diffing algorithm. Currently a fork of morphdom with hooks and IE7 support removed, and event copying added, but will probably change in the future.

    Usage

    const nanodiff = require('nanodiff')
    const bel = require('bel')
     
    var tree = null
     
    var el1 = bel`<div>hello people</div>`
    var el2 = bel`<div>nanananana-na-no</div>`
    var el2 = bel`<div>teeny, tiny, tin bottle</div>`
     
    update(el1)
    update(el2)
    update(el3)
     
    function update (el) {
      if (!tree) {
        tree = el
        document.body.appendChild(tree)
      } else {
        tree = nanodiff(el, tree)
      }
    }

    API

    tree = nanodiff(newTree, oldTree)

    Diff a tree of HTML elements against another tree of HTML elements and create a patched result that can be applied on the DOM.

    FAQ

    Why are you building this?

    Experimentin' is fun - all this is is a take on seeing how small we can get with real DOM node diffing. And if we can make some good heuristics happen for efficient tree updates (Merkle trees, anyone?) that'd be nice.

    Installation

    $ npm install nanodiff

    See Also

    License

    MIT

    Install

    npm i nanodiff

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • avatar