finds.dev← search

// the find

remy/bind.js

★ 694 · JavaScript · updated Nov 2020

bind.js - simple two way data binding to HTML and callbacks

A minimal two-way data binding library that maps JavaScript object properties to DOM elements via CSS selectors, with optional transform/parse functions for formatting. Predates React/Vue's dominance and was built when lightweight alternatives to Knockout were worth having. At 694 stars and last touched in 2020, it is effectively unmaintained.

The API is genuinely simple — one constructor call with a data object and a mapping, and you're done. The transform/parse pattern for handling display formatting vs. stored value is well-designed and avoids the common trap of mixing concerns. Cypress E2E test coverage is broader than you'd expect for a project this size. Node.js compatibility is there if you need SSR-adjacent use cases.

Abandoned since 2020 — no issues triaged, no PRs merged, and the GitHub Actions badge in the README links to a workflow that may not even run anymore. The delete-then-reassign primitive bug documented under Restrictions is a fundamental limitation of the Proxy/Object.defineProperty approach and won't be fixed. No TypeScript types, so integrating this into a modern TS project means writing your own declarations. At ~700 stars in 2026, the ecosystem has completely passed this by — Alpine.js, Petite Vue, and even vanilla web components do the same job with active maintenance and better browser support.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →